Lo estoy usando pbuilder-dist
para probar una compilación con una versión y arquitectura específicas de Ubuntu. cuando construyoSeda 3.10.2para i386 en 14.04 (confiable), una de las pruebas de fabricación falla:
make[5]: Ingresando al directorio `/tmp/buildd/silk-3.10.2/src/rwconvert' PASA: tests/rwallformats-help.pl PASA: tests/rwallformats-version.pl PASA: tests/rwallformats-lone-command.pl PASA: pruebas/rwrtd2split-help.pl PASA: pruebas/rwrtd2split-version.pl PASA: pruebas/rwrtd2split-lone-command.pl FALLO: pruebas/rwallformats-all.pl ==================================================== ============================ Resumen del conjunto de pruebas para SiLK 3.10.2 ==================================================== ============================ #TOTAL: 7 # PASO: 6 # SALTAR: 0 #XFALLO: 0 # FALLO: 1 # XPASS: 0 #ERROR: 0 ==================================================== ============================ Consulte src/rwconvert/test-suite.log Por favor informe a[correo electrónico protegido] ==================================================== ============================ hacer[5]: *** [test-suite.log] Error 1 make[5]: Saliendo del directorio `/tmp/buildd/silk-3.10.2/src/rwconvert' make[4]: *** [verificar-PRUEBAS] Error 2 make[4]: Saliendo del directorio `/tmp/buildd/silk-3.10.2/src/rwconvert' hacer[3]: *** [verificar-am] Error 2 make[3]: Saliendo del directorio `/tmp/buildd/silk-3.10.2/src/rwconvert' make[2]: *** [verificación-recursiva] Error 1 make[2]: Saliendo del directorio `/tmp/buildd/silk-3.10.2/src' make[1]: *** [comprobación-recursiva] Error 1 make[1]: Saliendo del directorio `/tmp/buildd/silk-3.10.2' dh_auto_test: make -j1 check devolvió el código de salida 2 hacer: *** [compilación] Error 2 dpkg-buildpackage: error: la compilación de Debian/rules dio un estado de salida de error 2 E: Error en la creación automática del paquete I: desmontar el sistema de archivos dev/pts I: desmontar el sistema de archivos run/shm I: desmontar el sistema de archivos proc I: limpiando el entorno de compilación I: eliminando el directorio /var/cache/pbuilder/build//37742 y sus subdirectorios
Me gustaría obtener el archivo de registro src/rwconvert/test-suite.log
al que se refiere el resultado anterior, pero ¿cómo puedo extraer este archivo del entorno de compilación chroot o generar pbuilder-dist
este archivo también?
PD: mi $HOME/pbuilder/trusty-i386_result/
directorio solo contiene la salida de la consola y un archivo de registro llamado last_operation.log
. Pero last_operation.log
solo enumera el resultado de la limpieza del entorno de compilación (que se ejecuta después de que falló la compilación).
Respuesta1
Encontré una manera de resolver esto, así que responderé mi propia pregunta.
La solución fue utilizar unguión de ganchoa pbuilder. El artículo vinculado lo describe bien, pero para que esté completo, rehaceré los pasos aquí:
Primero cree un directorio para sus scripts de enlace:
sudo mkdir /var/cache/pbuilder/hook.d
Luego agregue este directorio a la configuración de pbuilder:
echo HOOKDIR=\"/var/cache/pbuilder/hook.d\" >> ~/.pbuilderrc
Cree un script de enlace llamado C10shell con el siguiente contenido:
#!/bin/sh
# invoke shell if build fails.
apt-get install -y --force-yes vim less bash
cd /tmp/buildd/*/debian/..
/bin/bash < /dev/tty > /dev/tty 2> /dev/tty
Guárdalo en tu HOOKDIR
y hazlo ejecutable.
sudo chmod a+x /var/cache/pbuilder/hook.d/C10shell
Ahora, si la compilación falla, se le presentará un shell raíz dentro del entorno chroot de pbuilder.