[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ siguiente ]


Guía del nuevo desarrollador de Debian
Capítulo 7 - Cómo comprobar tu paquete para encontrar fallos


7.1 Los paquetes lintian

Ejecuta lintian(1) sobre tu fichero de cambios .changes. Estos programas comprobarán muchos errores comunes al empaquetar. Las órdenes es:

       lintian -i gentoo_0.9.12-1_i386.changes

Por supuesto, cambia el nombre de fichero con el nombre del fichero de cambios generado por tu paquete. Si parece que hay algunos errores (líneas que comienzan por E:), lee la explicación (líneas N:), corrige errores, y reconstruye como se describe en Reconstrucción completa, Sección 6.1. Las líneas que comienzan con W: son sólo avisos (warnings, N. del T.), así que afina el paquete o verifica que los avisos son falsos (y haz que lintian los acepte, consulta la documentación para más detalles).

Observa que puedes construir el paquete con dpkg-buildpackage y ejecutar lintian todo con sólo una orden si utilizas debuild(1).


7.2 La orden mc

Puedes descomprimir el contenido del paquete *.deb con la orden dpkg-deb(1). Puedes listar el contenido de un paquete Debian con debc(1).

Este proceso puede ser muy intuitivo si empleamos un gestor de ficheros como mc(1), que permite visionar tanto el contenido del paquete *.deb, como el de los ficheros *.diff.gz y *.tar.gz.

Vigila que no haya ficheros innecesarios extra o de tamaño cero, tanto en el binario como en el paquete fuente. A veces, hay cosas que no se limpiaron adecuadamente, debes ajustar tu fichero «rules» para arreglar esto.

Pista: «zgrep ^+++ ../gentoo_0.9.12-1.diff.gz» te dará una lista de tus cambios o contribuciones a las fuentes, y «dpkg-deb -c gentoo_0.9.12-1_i386.deb» o «debc gentoo_0.9.12-1_i386.changes» listará los ficheros en el paquete binario.


7.3 La orden debdiff

Puedes comparar la lista de ficheros de dos paquetes binarios de Debian con la orden debdiff(1). Este programa es útil para verificar que no hay ficheros que se hayan cambiado de sitio o eliminado por error, y que no se ha realizado ningún otro cambio no deseado al actualizar el paquete. Puedes comprobar un grupo de ficheros *.deb simplemente con «debdiff paquete-viejo.change paquete-nuevo.change».


7.4 La orden interdiff

Puedes comparar dos ficheros diff.gz con la orden interdiff(1). Esto es muy útil para verificar que no se han realizado cambios inadvertidos por el mantenedor al actualizar el paquete. Ejecuta «interdiff -z paquete-viejo.diff.gz paquete-nuevo.diff.gz».


7.5 La orden debi

Instala el paquete para probarlo tú mismo, por ejemplo, usando la orden debi(1) como superusuario. Intenta instalarlo y ejecutarlo en otras máquinas distintas de la tuya, y presta atención para detectar errores o avisos tanto en la instalación como en la ejecución del programa.


7.6 El paquete pbuilder

El paquete pbuilder es muy útil para conseguir un entorno limpio (chroot) donde verificar las dependencias. Esto asegura una construcción limpia desde el código en los programas que realizan la compilación automática de paquetes para diferentes arquitecturas y evita fallos serios del tipo FTBFS (Fallo al construir desde la fuente o «Fail to Build From Source»), que son siempre del tipo RC (fallos criticos o «release critical»). Para más informacon del paquete debian auto-builder véase http://buildd.debian.org/.

El uso más básico del paquete pbuilder es la ejecución directa de la orden pbuilder como administrador. Por ejemplo, puedes construir un paquete si escribes las siguientes órdenes en el directorio donde se encuentran los ficheros .orig.tar.gz, .diff.gz y .dsc.

       root # pbuilder create # si se ejecuta por segunda vez, pbuilder update
       root # pbuilder build foo.dsc

Los paquetes recién construidos se pueden encontrar en /var/cache/pbuilder/result/ y el propietario será el usuario administrador.

La orden pdebuild te ayuda a usar las funciones del paquete pbuilder como usuario sin permisos de administración. Desde el directorio raíz del código fuente, con el archivo orig.tar.gz en el directorio padre, escribe las siguientes órdenes:

       $ sudo pbuilder create # si se ejecuta por segunda vez, sudo pbuilder update
       $ pdebuild

Los paquetes construidos se pueden encontrar en /var/cache/pbuilder/result/ y el propietario no será el administrador. [2]

Si deseas añadir fuentes de apt para que las utilice el paquete pbuilder, configura OTHERMIRROR en ~/.pbuilderrc o /etc/pbuilderrc y ejecuta (para sarge):

       $ sudo pbuilder update --distribution sarge --override-config

Es necesario el uso de --override-config para actualizar las fuentes de apt dentro del entorno chroot.

Véase http://www.netfort.gr.jp/~dancer/software/pbuilder.html, pdebuild(1), pbuilderrc(5), y pbuilder(8) .


[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ siguiente ]


Guía del nuevo desarrollador de Debian

version 1.2.11, 12 de enero de 2007.

Josip Rodin joy-mg@debian.org
Traducido por: Javier Fernández-Sanguino Peña jfs@debian.org
Traducido por: David Martínez ender@debian.org
Traducido por: Ana Beatriz Guerrero López ana@debian.org