Mientras que la documentación en el Rincón del Desarrollador
no está
tan clara sobre dónde y cómo debería empezar un nuevo desarrollador empezar su
trabajo, este documento explicara cada pequeño (y algunas veces incluso
irrelevante) detalle, para ayudarle crear ese primer paquete, y ganar alguna
experiencia en la construcción de nuevas versiones de éste y quizás otros
paquetes más adelante.
Probablemente haya escogido ya el paquete que desea construir, pero aquí hay algunos punteros para los novatos:
página de búsqueda de
paquetes
. Si usa la distribución `inestable'
actual, compruebe esto con los comandos:
dpkg -s programa dpkg -l '*programa*'
página
WNPP
y la lista de correo de debian-devel para ver si alguna otra
persona está construyendo ese mismo programa. Si es así, contacte el
desarrollador actual si creo que lo necesita mantener. Sino, intente buscar
otro programa interesante que nadie mantenga.
Guías del Software
Libre de Debian
. Si no sigue una de estas reglas, aún puede
incluirse en las secciones `contrib' o `non-free' de Debian. Si no está seguro
sobre en qué lugar debería ir, pregunte en debian-legal@lists.debian.org
.
Por supuesto, esta lista es para tomar medidas de seguridad, y con la intención de salvarle de usuarios enfurecidos si hace algo mal con algún demonio de ftp setuid... Pero cuando tenga más experiencia en empaquetar cosas, podrá hacer este tipo de paquetes, pero incluso los desarrolladores más experimentados preguntan en la lista de distribución de debian-devel cuando tienen dudas. Y la gente allí le ayudara gustosamente.
Para más ayuda sobre esto, lea la Referencia del Desarrollador
La primera cosa a hacer es encontrar y descargar el paquete original. Supongo que ya tiene el código fuente que obtuvo de la página del autor. Las fuentes de Linux generalmente vienen en el formato tar/gzip, con extensión .tar.gz, y generalmente contienen un subdirectorio llamado programa-versión con todas las fuentes en él. Si su programa viene en otro tipo de archivo (como por ejemplo, el fichero termina con .Z o .zip), descomprima con las herramientas adecuadas, o pregunte en debian-mentors si no está seguro de cómo se puede desempaquetar correctamente (pista: pruebe `file archivo.extensión`).
Como ejemplo, usaré el programa conocido como 'gentoo', un gestor de ficheros de X11 con GTK+. Observe que el programa ya ha sido empaquetado previamente pero ha cambiado sustancialmente de versión desde que este texto se escribió.
Cree un subdirectorio bajo su directorio personal llamado 'debian' o 'deb' o lo que crea apropiado (por ejemplo ~/gentoo/ estaría bien en este caso) Y mueva a él el archivo que ha descargado, y descomprimalo de la siguiente forma: `tar -xzf gentoo-0.9.12.tar.gz`. Asegúrese de que no hay errores, incluso errores "irrelevantes", porque es muy probable que haya problemas desempaquetando en sistemas de otras personas, cuyas herramientas de desempaquetamiento puede que ignoren o no estas anomalías.
Ahora tiene otro subdirectorio, llamado 'gentoo-0.9.12'. Muévase a ese directorio y lea en profundidad la documentación que encuentre. Está generalmente en ficheros que se llaman README*, INSTALL*, *.lsm o *.html. Allí encontrará instrucciones de cómo compilar e instalar el programa (muy probablemente asumirán que quiere instalar en el directorio /usr/local/bin: no hará esto, pero lo veremos más adelante en Instalación en un subdirectorio, Sección 3.1).
El proceso varía de programas a programas, pero gran parte de los programas modernos vienen con un guión 'configure' que configura las fuentes para su sistema y se asegura de que su sistema está en condiciones de compilarlo. Después de configurarlo (con `./configure`), los programas generalmente se compilan con `make`. Algunos de ellos soportan `make check` para ejecutarse incluyendo auto-comprobaciones. Generalmente se instalarán en sus directorios de destino ejecutando `make install`.
Ahora intente compilar, y ejecutar el programa, para asegurarse de que funciona bien y que no rompe nada más mientras está instalándose o ejecutándose.
También, generalmente puede escribir 'make uninstall' para eliminar todos los programas instalados, y 'make clean' (o mejor 'make distclean') para limpiar el directorio donde se genera e programa.
Debería empezar a construir su paquete en un directorio de fuentes completamente limpio, o simplemente con las fuentes recién desempaquetadas.
Para construir correctamente el paquete, debe poner el nombre original del programa en letras minúsculas (si no lo está ya), y debería mover el directorio de fuentes a <nombre_de_paquete>-<versión>.
Si el nombre del programa consiste de una o más palabras, contraigalas a una palabra o haga una abreviatura. Por ejemplo, el paquete del programa "el editor para X de Javi" se podría llamar javiedx o jle4x, o lo que decida, siempre y cuando no se exceda de unos límites razonables, como 20 caracteres.
También compruebe la versión exacta del programa (la que se incluye en la versión del paquete) Si el programa no está numerado con versiones del estilo de X.Y.Z, pero con fecha de lanzamiento, es usted libre de utilizar la fecha como número de versión, precedida por "0.0" (sólo por si los desarrolladores originales deciden sacar una versión nueva como 1.0). Así, si la fecha es el 19 de diciembre de 1998, utilizó la abreviatura norteamericana 0.0.19981219 como número de versión. Aún así habrá algunos que ni siquiera estén numerados, en cualquier caso debe contactar con el 'desarrollador fuente' para ver si tienen algún otro sistema de seguimiento de revisiones.
Asegúrese que está en el directorio donde están las fuentes del programa, y ejecute lo siguiente:
dh_make -e tu.dirección.de.desarrollador@dirección -f ../gentoo-0.9.12.tar.gz
Por supuesto, cambie la cadena
"tu.dirección.de.desarrollador@dirección" por tu dirección de correo
electrónico para que se incluya en la entrada del fichero de cambios así como
en otros ficheros, y el nombre de fichero de tu archivo fuente original. Lea
dn_make(1)
para más detalles.
Saldrá alguna información. Le preguntará qué tipo de paquete desea crear. Gentoo es un solo paquete de binarios - crea sólo un binario, y, por tanto, sólo un fichero .deb - así que seleccionaremos la primera opción, con la tecla 's'. Compruebe la información que aparece en la pantalla y confirme pulsando la tecla <intro>. Como nuevo desarrollador, está desaconsejado crear paquetes multibinarios, o librerías, como se explicó antes. No es extremadamente difícil, pero sí necesita algunos conocimientos más, así que aquí no describiremos el proceso.
Tenga en cuenta que debería ejecutar dh_make sólo una vez, y que no se comportará correctamente si lo hace otra vez en el mismo directorio, ya "debianizado". Esto también significa que usará un método distinto para crear una nueva revisión o una nueva versión de su paquete en el futuro. Lea más sobre esto más adelante en Actualizar su paquete, Sección 6.4.
jrodin@jagor.srce.hr
jfs@computer.org