[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ siguiente ]
Probablemente hayas escogido ya el paquete que deseas construir. Lo primero
que debes hacer es comprobar si el paquete está ya en el archivo de la
distribución utilizando aptitude
. Si usas la distribución
«estable», quizás sea mejor que vayas a la página de búsqueda de
paquetes
.
Si el paquete ya existe, ¡instálalo! :-) Si te encuentras con que el paquete es un paquete huérfano (cuando su desarrollador es el «Debian QA Group», es decir, el grupo de calidad de Debian), entonces podrías adoptarlo.
Consulta la lista de paquetes
en prospección y que necesitan trabajo
así como las páginas
enlazadas a ésta para verificar si el paquete está huérfano o está siendo
adoptado.
Si puedes adoptar el paquete, descarga las fuentes (con algo como apt-get source packagename) y examínalas. Este documento, desafortunadamente, no incluye aún información exhaustiva sobre la adopción de paquetes. No debería ser díficil entender cómo funciona el paquete ya que alguien ha hecho el trabajo inicial por ti. Aún así es mejor que sigas leyendo, muchos de los consejos que se dan a continuación serán también aplicables para tu caso.
Si el paquete es nuevo y decides que te gustaría verlo en Debian debes seguir los pasos indicados a continuación:
Comprueba que no hay nadie más trabajando ya en el paquete consultando la lista de paquetes
en los que se está trabajando
. Si ya hay alguien trabajando en él,
contacta con esa persona. Si no, intenta encontrar otro programa interesante
que nadie mantenga.
El programa debe tener una licencia. Preferiblemente la
licencia deberá ser libre en el sentido marcado por las Directrices de
Debian para el software libre
y no puede depender
de un paquete que no esté dentro de «main» para compilarse o para poder
utilizarse. Si la licencia no sigue alguna de estas reglas aún puede incluirse
en las secciones «contrib» o «non-free» de Debian dependiendo de su situación.
Si no estás seguro sobre en qué lugar debería ir, envía el texto de la licencia
y pide consejo con un correo (en inglés) dirigido a debian-legal@lists.debian.org
.
El programa no debería ejecutarse con «setuid root», o aún mejor: no debería ser «setuid» ni «setgid».
El programa no debería ser un demonio, o algo que vaya en los directorios */sbin, o abrir un puerto como usuario administrador.
El programa debería estar compuesto por binarios ejecutables, no intentes empaquetar aún con bibliotecas.
El programa debería tener una buena documentación, o al menos un código fuente legible y no ofuscado.
Deberías contactar con el autor o autores del programa para comprobar si está/n de acuerdo con que se empaquete. Es importante que el autor o autores sigan manteniendo el programa para que puedas en el futuro consultarle/s en caso de que haya problemas específicos. No deberías intentar empaquetar programas que no estén mantenidos.
Y por último, pero no menos importante, deberías saber cómo funciona, y haberlo utilizado durante algún tiempo.
Por supuesto, esta lista es para tomar medidas de seguridad, y con la intención de salvarte de usuarios enfurecidos si haces algo mal con algún demonio «setuid»... Cuando tengas más experiencia en empaquetar, podrás hacer este tipo de paquetes, incluso los desarrolladores más experimentados preguntan en la lista de correo de debian-devel cuando tienen dudas. La gente allí te ayudará gustosamente.
Para más ayuda sobre esto, lee la Referencia del desarrollador.
Lo primero que debes hacer es encontrar y descargar el paquete original. A partir de este punto se da por supuesto que ya tienes el código fuente que obtuviste de la página del autor. Las fuentes de los programas libres de Linux generalmente vienen en formato tar/gzip, con extensión .tar.gz, y generalmente contienen un subdirectorio llamado «programa-versión» con todas las fuentes en él. Si tu programa viene en otro tipo de archivo (por ejemplo, el fichero termina en ".Z" o ".zip"), descomprímelo con las herramientas adecuadas, o pregunta en la lista de correo debian-mentors si tienes dudas de cómo se puede desempaquetar correctamente (pista: prueba «file archivo.extensión»).
Como ejemplo, usaré el programa conocido como «gentoo», un gestor de ficheros de X11 en GTK+. Observa que el programa ya ha sido empaquetado previamente pero ha cambiado sustancialmente de versión desde que este texto se escribió.
Crea un subdirectorio bajo tu directorio personal llamado «debian» o «deb» o lo
que creas apropiado (por ejemplo ~/gentoo/
estaría bien en este
caso). Mueve a él el archivo que has descargado, y descomprímelo de la
siguiente forma: «tar xzf gentoo-0.9.12.tar.gz». Asegúrate de que no hay
errores, incluso errores «irrelevantes», porque es muy probable que haya
problemas al desempaquetarlo en sistemas de otras personas, cuyas herramientas
de desempaquetado puede que no ignoren estas anomalías.
Ahora tienes otro subdirectorio, llamado «gentoo-0.9.12». Muévete a ese directorio y lee en profundidad la documentación que encuentres. Generalmente se encuentra en ficheros que se llaman README*, INSTALL*, *.lsm o *.html. Allí encontrarás instrucciones de cómo compilar e instalar el programa (muy probablemente asumirán que lo quieres instalar en el directorio /usr/local/bin, no harás esto, pero eso lo veremos más adelante en Instalación en un subdirectorio, Sección 3.1).
El proceso varía de un programa a otro, pero gran parte de los programas modernos vienen con un guión «configure» que configura las fuentes para tu sistema y se asegura de que el 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 comprobaciones automáticas. Generalmente se instalarán en sus directorios de destino ejecutando «make install».
Ahora intenta compilar, y ejecutar el programa, para asegurarte de que funciona bien y de que no rompe nada mientras está instalándose o ejecutándose.
También, generalmente, puedes ejecutar «make clean» (o mejor «make distclean») para limpiar el directorio donde se genera el programa. A veces hay incluso un «make uninstall» que se puede utilizar para borrar todos los archivos instalados.
Deberías empezar a construir tu paquete en un directorio de fuentes completamente limpio, o simplemente con las fuentes recién desempaquetadas.
Para construir correctamente el paquete, debes cambiar el nombre original del programa a letras minúsculas (si no lo está ya), y deberías renombrar el directorio de fuentes a <nombre_de_paquete>-<versión>.
Si el nombre del programa está formado por varias palabras, contráelas a una palabra o haz una abreviatura. Por ejemplo, el paquete del programa «el editor para X de Javi» se podría llamar javiedx o jle4x, o lo que decidas, siempre y cuando no se exceda de unos límites razonables, como 20 caracteres.
Comprueba también 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 sí con fecha de publicación, eres 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 de las fuentes es el 19 de diciembre de 1998, puedes utilizar la cadena 0 0.0.19981219 (que utiliza el formato de fecha norteamericano, N. del T.) como número de versión.
Aún así habrá algunos programas que ni siquiera estén numerados, en cuyo caso deberás contactar con el desarrollador original para ver si tienen algún otro sistema de seguimiento de revisiones.
Asegúrate que te encuentras en el directorio donde están las fuentes del programa y ejecuta lo siguiente:
dh_make -e tu.dirección@de.desarrollador -f ../gentoo-0.9.12.tar.gz
Por supuesto, cambia la cadena «tu.dirección@de.desarrollador» 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. Lee dh_make(1)
para más detalles.
Saldrá alguna información. Te preguntará qué tipo de paquete deseas crear. Gentoo es un sólo 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». Comprueba la información que aparece en la pantalla y confirma pulsando la tecla <intro>.
Tras ejecutar dh_make
, se crea una copia del código original con
el nombre gentoo_0.9.12.orig.tar.gz
en el directorio raíz para
facilitar la creación del paquete de fuentes no nativo de Debian con el
diff.gz
. Observa que hay dos cambios clave en este nombre de
fichero:
El nombre del paquete y la versión están separados por «_».
Hay un «orig.» antes de «tar.gz».
Como nuevo desarrollador, se desaconseja crear paquetes complicados, por ejemplo:
múltiples paquetes binarios
paquetes de bibliotecas
paquetes en los que el formato del archivo fuente no es en tar.gz. ni en tar.bz2, o
paquetes cuyas fuentes contienen partes que no se pueden distribuir.
Estos casos no son extremadamente difíciles, pero sí necesita algunos conocimientos más, así que aquí no se describirá el proceso de empaquetado para este tipo de paquetes.
Ten en cuenta que deberías ejecutar dh_make
sólo una
vez, y que no se comportará correctamente si lo haces otra vez en el
mismo directorio ya «debianizado». Esto también significa que usarás un método
distinto para crear una nueva revisión o una nueva versión de tu paquete en el
futuro. Lee más sobre esto más adelante, en Actualizar el paquete, Capítulo 9.
[ 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