mesonpy embeds random path into .o files for debug build
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- build-system
Direção de pesquisa
Leia mesonpy/init.py próximo à linha 965 e inspecione como TemporaryDirectory contribui com seu nome aleatório para os caminhos do compilador. Compare esse comportamento com a abordagem sugerida pathlib.Path(os.path.join(source_dir, '.mesonpy')) e determine como caminhos determinísticos podem manter a limpeza automática. Considera-se concluído quando builds repetidos não incorporarem mais caminhos .mesonpy variáveis nos arquivos de objeto de depuração.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
While working on reproducible builds for openSUSE (sponsored by the NLnet NGI0 fund), I found that various python packages (python-pandas, python-scikit-learn, python-scipy, python-contourpy, python-gobject) have variations in every build.
I am pretty certain this comes from
https://github.com/mesonbuild/meson-python/blob/04e00668ae869ab42579cc5bfa8264d0475e83fc/mesonpy/__init__.py#L965
but don't know how to best make this deterministic.
Is there a variant of tempfile.TemporaryDirectory that does not add randomness? I tried with pathlib.Path(os.path.join(source_dir, '.mesonpy')) but that lacks the automatic cleanup.
Here is a typical diff:
--- old /usr/lib/debug/.dwz/python-pandas-2.2.2-1.1.x86_64 (objdump)
+++ new /usr/lib/debug/.dwz/python-pandas-2.2.2-1.1.x86_64 (objdump)
@@ -14923,7 +14923,7 @@
0010 01010101 081e3c64 777a3e00 2f757372 ......<dwz>./usr
0020 2f737263 2f646562 75672f70 616e6461 /src/debug/panda
0030 732d322e 322e322f 2e6d6573 6f6e7079 s-2.2.2/.mesonpy
- 0040 2d6e7777 6b673134 74002f75 73722f6c -nwwkg14t./usr/l
+ 0040 2d73615f 6761376e 33002f75 73722f6c -sa_ga7n3./usr/l
0050 69623634 2f676363 2f783836 5f36342d ib64/gcc/x86_64-
0060 73757365 2d6c696e 75782f31 342f696e suse-linux/14/in
0070 636c7564 65002f75 73722f69 6e636c75 clude./usr/inclu
@@ -14965,7 +14965,7 @@
02b0 2f6e756d 70792f64 61746574 696d6500 /numpy/datetime.
02c0 2f757372 2f737263 2f646562 75672f70 /usr/src/debug/p
02d0 616e6461 732d322e 322e322f 2e6d6573 andas-2.2.2/.mes
- 02e0 6f6e7079 2d757868 63736133 66002f75 onpy-uxhcsa3f./u
+ 02e0 6f6e7079 2d713166 36397136 61002f75 onpy-q1f69q6a./u
02f0 73722f69 6e636c75 64652f70 7974686f sr/include/pytho
0300 6e332e31 31002f75 73722f69 6e636c75 n3.11./usr/inclu
- Linguagem predominante
- Python
- Estrelas
- 182
- Forks
- 97
- Merge médio
- 4h 52min
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
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.
Mais de mesonbuild/meson-python
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
mesonbuild/meson-python#541 ·
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
mesonbuild/meson-python#473 · 6 comentários ·
-
documentation enhancement tests
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 45/100
mesonbuild/meson-python#903 · 3 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
mesonbuild/meson-python#871 · 7 comentários · 1 reação ·
-
pip install overrides existing build configurationTalvez já em andamento @Alvaro-Kothe assumiu há 139 dias. Abertaquestion
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
mesonbuild/meson-python#851 · 6 comentários ·
Todas as issues de mesonbuild/meson-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
pytest-dev/pyfakefs#1367 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
IFEvalG exclude_word_harder misses the keyword next to punctuation, at the start or end of the text, and in other letter caseTalvez já em andamento @damienen assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
allenai/open-instruct#2151 ·
Mantenedores costumam responder em até 1 dia
-
feat(plan): support convertorLabels and convertorAffinity in Plan resourceTalvez já em andamento @AmenB assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
RedHatQE/openshift-python-wrapper#2849 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 25 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
libnativeapi/nativeapi#21 ·