mesonpy embeds random path into .o files for debug build
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- build-system
Piste de recherche
Lisez mesonpy/init.py autour de la ligne 965 et examinez comment TemporaryDirectory introduit son nom aléatoire dans les chemins du compilateur. Comparez ce comportement avec l’approche suggérée pathlib.Path(os.path.join(source_dir, '.mesonpy')) et déterminez comment des chemins déterministes peuvent conserver le nettoyage automatique. Le travail est terminé lorsque les builds répétés n’intègrent plus de chemins .mesonpy variables dans les fichiers objet de débogage.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 181
- Forks
- 96
- Merge moyen
- 18 h 23 min
- PR mergées (30 j)
- 12
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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.
Autres issues de mesonbuild/meson-python
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
mesonbuild/meson-python#541 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
mesonbuild/meson-python#473 · 6 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
documentation enhancement tests
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
mesonbuild/meson-python#903 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 52/100
mesonbuild/meson-python#871 · 7 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
pip install overrides existing build configurationPeut-être pris @Alvaro-Kothe l’a pris il y a 132 jours. Ouvertequestion
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
mesonbuild/meson-python#851 · 6 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de mesonbuild/meson-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Arekkazu/sgpmp-backend#744 ·
Les mainteneurs répondent en général sous 1 jour
-
Review backlog (security): master-branch remote guard trusts unbound provenance package fieldOuverteagent/reviewer
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
projectbluefin/utah-packages#634 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue help wanted
Difficulté 2/5 1-2 jours Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
home-assistant/core#188613 ·
Les mainteneurs répondent en général sous 1 jour
-
WebsiteOuvertegood first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 91/100
TanbirRamim/open-source-radar#314 ·
Les mainteneurs répondent en général sous 1 jour