web-dev-qa-db-fra.com

Comment déboguer un échec de build qui ne peut pas être reproduit en dehors d'un environnement de build Launchpad?

J'essaye de construire un paquet libdbusmenu modifié. Il se construit correctement si je le construis localement:

Sudo apt-get build-dep libdbusmenu
wget https://launchpad.net/~a-j-buxton/+archive/dbusmenu/+files/libdbusmenu_12.10.3%2B13.10.20130913-0ubuntu2.1.diff.gz
wget https://launchpad.net/~a-j-buxton/+archive/dbusmenu/+files/libdbusmenu_12.10.3%2B13.10.20130913-0ubuntu2.1.dsc
wget https://launchpad.net/~a-j-buxton/+archive/dbusmenu/+files/libdbusmenu_12.10.3%2B13.10.20130913.orig.tar.gz
dpkg-source -x libdbusmenu*.dsc
cd libdbusmenu*
dpkg-buildpackage

Cependant, dans un PPA, l'un des tests ne s'exécute pas, ce qui entraîne l'échec de la génération. La sortie de test réelle n'est pas écrite dans le buildlog:

https://launchpadlibrarian.net/155471644/buildlog_ubuntu-saucy-AMD64.libdbusmenu_12.10.3%2B13.10.20130913-0ubuntu2.1_FAILEDTOBUILD.txt.gz

Comment puis-je résoudre ce problème?

Cela pourrait se résumer à reproduire plus fidèlement l'environnement de génération utilisé par les constructeurs PPA. Si oui, comment dois-je procéder?

J'ai essayé de construire en utilisant un chroot pbuilder - cela fonctionne correctement sur mon système local.

Lintian génère les avertissements suivants sur le package:

W: libdbusmenu source: quilt-build-dep-but-no-series-file
W: libdbusmenu source: patch-system-but-no-source-readme
W: libdbusmenu source: ancient-standards-version 3.9.2 (current is 3.9.4)
8
Alistair Buxton

En parcourant le journal, il y a quelques avertissements, que vous devriez probablement regarder, surtout si vous ne les obtenez pas sur la machine locale, mais je pense que le gros indice sur ce qui se passe est le nom du test qui a échoué: glib -événements.

les événements sont presque toujours liés aux E/S, donc pour essayer de forcer l'erreur sur la machine locale, désactivez XAUTHORITY et DISPLAY, fermez l'entrée standard ou redirigez-la vers/dev/null et redirigez la sortie standard et l'erreur vers un fichier. Nohup fera la redirection pour vous, mais ne touchera pas l'environnement, ou vous pourriez utiliser at ou batch au lieu de Nohup qui offre également l'avantage de changer le leader de la session.

1
hildred