[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ siguiente ]
Deberíamos estar preparados para construir el paquete.
Entra en el directorio principal del programa y ejecuta la siguiente orden:
dpkg-buildpackage -rfakeroot
Esto lo hará todo por tí:
limpia el árbol del código (debian/rules clean), usando fakeroot
construye el paquete de código (dpkg-source -b)
construye el programa (debian/rules build)
construye el paquete binario (debian/rules binary), usando
fakeroot
firma el fichero fuente .dsc, usando gnupg
crea y firma el fichero de subida .changes, usando
dpkg-genchanges
y gnupg
Lo único que se te pedirá es que escribas tu contraseña secreta de la clave GPG, dos veces.
Después de hacer todo esto, verás las siguientes líneas en el directorio encima
del que está (~/gentoo/
):
gentoo_0.9.12.orig.tar.gz
Este es el código fuente original comprimido, simplemente se ha renombrado para
seguir los estándares de Debian. Nótese que ha sido creado usando la opción
«-f» de dh_make
cuando lo ejecutamos en el inicio.
gentoo_0.9.12-1.dsc
Este es un sumario de los contenidos del código fuente. Este fichero se genera
a partir del fichero de «control» y se usa cuando se descomprimen las fuentes
con dpkg-source(1)
. Este fichero está firmado con GPG de forma
que cualquiera pueda estar seguro de que es realmente suyo.
gentoo_0.9.12-1.diff.gz
Este fichero comprimido contiene todos y cada uno de los cambios que hizo al
código fuente original, en un formato conocido como «diff unificado». El
programa que lo hace y lo usa es dpkg-source(1)
. Precaución: si
no renombras el archivo comprimido original
nombre_de_paquete_versión.orig.tar.gz ¡dpkg-source
fallará al
generar el fichero .diff.gz!
Si alguien quiere volver a crear tu paquete desde cero, puede hacerlo fácilmente usando los tres ficheros de arriba. El proceso de extracción es trivial: sólo se debe copiar los tres ficheros en algún lado y ejecutar dpkg-source -x gentoo_0.9.12-1.dsc.
gentoo_0.9.12-1_i386.deb
Este es el paquete binario completo. Puedes usar dpkg
para
instalar o eliminar tanto este paquete como cualquier otro.
gentoo_0.9.12-1_i386.changes
Este fichero describe todos los cambios hechos en la revisión actual del paquete, y se usa por los programas de gestión del archivo FTP para instalar los paquetes binarios y fuentes en él. Se genera parcialmente a partir del fichero «changelog» y el fichero «.dsc». Este fichero está firmado con GPG, de forma que cualquiera puede estar aún más seguro de que es realmente tuyo.
Mientras sigues trabajando en el paquete, éste cambiará su comportamiento y se le añadirán nuevas funciones. Las personas que descarguen tu paquete pueden leer este fichero y ver qué ha cambiado. Los programas de mantenimiento del archivo de Debian, también enviarán el contenido de este fichero a la lista de correo debian-devel-changes.
Las largas listas de números en los ficheros .dsc y .changes son las sumas MD5
para los ficheros. Las personas que descarguen estos ficheros pueden
comprobarlos con md5sum(1)
y si los números no coinciden, sabrán
que el fichero está corrupto o ha sido modificado.
Con un paquete grande, puede que no quieras recompilar desde cero cada vez que
tocas un detalle en el fichero debian/rules
. Para propósitos de
prueba, puedes hacer un fichero .deb sin necesidad de recompilar las fuentes
originales de esta forma:
fakeroot debian/rules binary
Una vez que has terminado la puesta a punto, recuerda reconstruir el paquete siguiendo el procedimiento adecuado que está arriba. Puede que no seas capaz de enviar correctamente el paquete si intentas enviar los archivos .deb construidos de esta forma.
debuild
Puedes automatizar aún más el proceso de construcción de paquetes con la orden
debuild
. Veáse debuild(1)
.
La personalización de la orden debuild puede hacerse a través de
/etc/devscripts.conf
o ~/.devscripts
. Te sugiero al
menos los siguientes valores:
DEBSIGN_KEYID="Tu_ID_clave_GPG" DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"
Con estos valores, puedes construir paquetes siempre con tu clave GPG y evitar incluir componentes no deseados. (Esto también es bueno para patrocinar). Por ejemplo, limpiar el código y reconstruir el paquete desde una cuenta de usuario es tan simple como:
debuild clean debuild
dpatch
y quilt
El uso de las órdenes dh_make
y dpkg-buildpackage
creará un gran fichero diff.gz
que contendrá los archivos de
mantenimiento del paquete en debian/
así como los parches de los
ficheros fuente. Este tipo de paquetes es un poco engorroso de inspeccionar y
entender para cada una de las modificaciones de código posteriores. Esto no es
muy bueno. [1]
Se han propuesto y se utilizan distintos métodos para la gestión de conjuntos
de parches en Debian. Los sistemas dpatch
y quilt
son los dos más simples de todos los propuestos. Otros son dbs, cdbs, etc.
Un paquete que haya sido empaquetado correctamente con el sistema
dpatch
o quilt
tiene las modificaciones al código
fuente claramente documentadas como un conjunto de ficheros parche de tipo
«-p1» en debian/patches/
y el árbol de código permanece más
alládel directorio debian/
. Si estás pidiendo a un patrocinador
que suba tu paquete, este clara separación y documentación de los cambios son
muy importantes para acelerar la revisión del paquete por parte del
patrocinador. El modo de empleo de dpatch
y quilt
se
explica en dpatch(1)
, dpatch-edit-patch(1)
y
quilt(1)
. Ambos programas ofrecen ficheros que se pueden incluir
en debian/rules
: /usr/share/dpatch/dpatch.make
y
/usr/share/quilt/quilt.make
.
Cuando alguien (incluyéndote a ti) proporciona un parche para las fuentes, modificar el paquete con es muy sencillo:
Edita el parche para crear un parche -p1 sobre el árbol el código fuente.
En el caso de dpatch
, añade una cabecera empleando la orden
dpatch patch-template.
Pon ese fichero en debian/patches
Añade el nombre de fichero de este parche a debian/patches/00list
(en dpatch
) o debian/patches/series
(en
quilt
).
Además, dpatch
puede crear parches dependientes de la arquitectura
usando macros CPP.
orig.tar.gz
para subir
Cuando subes por primera vez un paquete al archivo, necesitas incluir las
fuentes originales orig.tar.gz
. Si la versión del paquete no es
una revisión de Debian -0 o -1, debes proporcionarle
la opción «-sa» a la orden dpkg-buildpackage
. Por
otro lado, la opción «-sd» forzará la exclusión del código
original orig.tar.gz
.
[ 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.joy-mg@debian.org
jfs@debian.org
ender@debian.org
ana@debian.org