zippapp/ macOS: .DS_Store files should be excluded from the generated archives
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
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
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece com o comando python3.12 -m zipapp mostrado no relatório e reproduza o problema no macOS usando um diretório temporário de aplicativo que contenha arquivos .DS_Store. Está concluído quando os arquivos gerados não incluírem mais esses arquivos; verifique o conteúdo do arquivo com unzip -l conforme mostrado.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- cli
- Tipo de issue
- Bug
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 25/100