Este documento tratará de describir cómo se construye un paquete Debian GNU/Linux para el usuario normal de Debian (y futuros desarrolladores) en un lenguaje informal, y con multitud de ejemplos. Hay un antiguo dicho romano que dice, ¡Longum iter est per preaecepta, breve et efficax per exempla! (¡Es un largo camino con las reglas, pero corto y eficiente con ejemplos!)
Una de las cosas que hace a Debian una de las distribuciones más importantes del mercado es su sistema de paquetes. Aunque hay una gran cantidad de programas disponibles en formato de paquetes de Debian, algunas veces necesitará instalar programas que no estén así. Puede preguntarse cómo hará usted sus propios paquetes y que quizás esta sea una tarea demasiada difícil. Bueno, si es usted un novato en Linux, sí es duro, pero si eres todo un experto, no deberías estar leyendo esto ahora mismo. :-) Necesitas saber algo sobre programación en Unix, pero desde luego no tienes que ser un maestro.
Se pueden obtener versiones nuevas de este documento en línea en http://www.debian.org/doc/maint-guide
y en el paquete 'maint-guide-es'.
Antes de empezar nada, deberías asegurarte que tienes instalados algunos paquetes adicionales necesarios para el desarrollo. Observe que en la lista no están incluidos paquetes 'esenciales' o 'necesarios' que se suponen ya instalados.
Este documento ha sido escrito cuando la distribución 'slink' 2.1 era las distribución estable oficial de Debian, y 'potato' 2.2 estaba en fase de desarrollo, por ello los paquetes que se indicarán aquí son principalmente aquellos de 'potato'.
Los siguientes paquetes vienen en una instalación estándar de Debian 2.1, así que probablemente ya los tenga (junto con los paquetes de los que depende). Aun así, debería comprobarlo con `dpkg -s <paquete>e`.
cpp(1)
)
cpio(1)
)
dpkg-source(1)
)
file(1)
)
gcc(1)
, g++(1)
,
g77(1)
, gpc(1)
)
imake(1)
,
xmkmf(1)
, autoconf(1)
, automake(1)
)
patch(1)
)
perl(1)
)
De la sección 'devel' de la distribución posiblemente necesite instalar esto usted mismo:
dh_make(1)
,
debhelper(1)
, /usr/share/doc/debhelper/README)
fakeroot(1)
)
lintian(1)
, diffstat(1)
,
/usr/share/doc/lintian/lintian.html/index.html)
Por último, estos paquetes de gran importancia están en la sección 'doc' de la distribución:
También necesitará un paquete criptográfico, o bien PGP (los paquetes pgp-*) o GPG (el paquete gpg), para firmar digitalmente su paquete. Esto es especialmente importante si quiere distribuir su paquete a otras personas (y hará precisamente esto cuando si su paquete se incluye en la distribución de Debian). Sin embargo, debido a las leyes de exportación de los EEUU, no puede simplemente obtenerlo de su servidor de FTP de Debian más cercano. Pero Debian ofrece estos paquetes a través de un servidor que no está físicamente en EEUU, llamado non-US.debian.org (ftp://non-us.debian.org/debian-non-US/). Su servidor de FTP tendrá un fichero llamado README.non-us, que le indicará dónde está la réplica más cercana de este servidor.
Las breves descripciones dadas anteriormente sólo sirven para introducirle a lo
que hace cada paquete. Antes de continuar, por favor lea la documentación de
cada programa, al menos para su uso normal. Puede parecerle algo duro ahora,
pero más adelante estará muy contento de haberla leído. Nota:
debmake es una paquete que incluye otros programas con funciones
similares a dh-make, pero su uso específico no está cubierto
en este documento. Lea el manual de Debmake
para más
información.
Usted puede construir dos tipos de paquetes, fuentes y binarios. Un paquete fuente contiene el código que puede compilar en un programa. Un paquete binario contiene sólo el programa terminado. ¡No mezcle los términos como fuentes de un programa y el paquete fuente de un programa! Por favor lea los otros manuales si necesita más detalles sobre terminología.
Debian usa el término 'desarrollador' para la persona que hace paquetes, 'autor fuente' ('upstream author, n. del t.) para la persona que hizo el programa, y 'desarrollador fuente' ('upstream maintainer', n. del t.) para la persona que actualmente mantiene el programa fuera de Debian. Generalmente el autor y el desarrollador fuente son la misma persona - y algunas veces incluso el desarrollador es el mismo. Si hace usted un programa, y quiere incluirlo en Debian, tiene total libertad para solicitar convertirse en desarrollador.
Después de construir su paquete (o mientras lo hace), deberá convertirse en un desarrollador oficial de Debian si desea que su programa entre en la próxima distribución (si el programa es útil, ¿por qué no?). Este proceso se explica en la Referencia del Desarrollador, por favor, leala.
jrodin@jagor.srce.hr
jfs@computer.org