zippapp/ macOS: .DS_Store files should be excluded from the generated archives
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Bug report
Bug description:
When generating a zipapp under macOS then random ".DS_Store" files get included into the generated archive.
e.g.
$ python3.12 -m zipapp --output cfv.pyz --compress --python /usr/local/bin/python3 zipapptempdir
$ unzip -l cfv.pyz
Archive: cfv.pyz
Length Date Time Name
--------- ---------- ----- ----
6148 04-13-2024 00:17 .DS_Store
186 04-13-2024 00:20 __main__.py
0 04-13-2024 00:17 cfv/
6148 04-13-2024 00:17 cfv/.DS_Store
…
--------- -------
137783 20 files
Those files quickly get regenerated by Finder, so it's hard to entirely avoid them getting added to the archive by trying to pre-delete them before executing zipapp. .DS_Store files can add significantly to the size of the archive, possible have privacy implications (e.g. leaked spotlight comments), and serve zero purpose for the python app.
CPython versions tested on:
3.12
Operating systems tested on:
macOS
Linked PRs
- gh-120537
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la commande python3.12 -m zipapp indiquée dans le rapport et reproduisez le problème sur macOS à l’aide d’un répertoire d’application temporaire contenant des fichiers .DS_Store. C’est terminé lorsque les archives générées n’incluent plus ces fichiers ; vérifiez le contenu de l’archive avec unzip -l comme indiqué.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- cli
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 25/100