Verás que existen otros ficheros en el subdirectorio debian/, muchas de los cuales tendrán el sufijo `.ex', que indica que son ejemplos. Si quieres o deseas usar cualquiera de éstos, lee la información relativa (pista: Manual de Política), renómbralo para eliminar el sufijo `.ex' , y modifícalo junto con el fichero de reglas si fuera necesario. Algunos de estos ficheros, los más usados, se explican en las siguientes secciones.
Cualquier detalle extra o discrepancias entre el programa original y su versión debianizada debería documentarse aquí. dh_make crea una por defecto, y éste es su aspecto:
gentoo for DEBIAN ---------------------- <possible notes regarding this package - if none, delete this file> Josip Rodin <jrodin@jagor.srce.hr>, Wed, 11 Nov 1998 21:02:14 +0100
Dado que no tenemos que poner nada aquí - está permitido borrarlo.
Una de las cosas más molestas de los programas es cuando pasas mucho tiempo y esfuerzo adaptando un programa y una actualización destroza todos tus cambios. Debian resuelve este problema marcando los ficheros de configuración de forma que cuando actualizas un paquete no se te pregunta si deseas mantener la nueva configuración o no. Se consigue poniendo la ruta completa a cada fichero de configuración (se encuentran generalmente en /etc), una por línea, en un fichero llamado `conffiles'.
Gentoo tiene un fichero de configuración, /etc/gentoorc, y meteremos éste en el fichero 'conffiles'. No es necesario tener este último fichero si tu programa no tiene ningún fichero de configuración.
Este fichero especifica los directorios que se necesitan pero que por alguna razón no se crean en un proceso de instalación normal (make install). Por defecto, tiene este aspecto:
1 usr/bin 2 usr/sbin
Observa que la barra precedente no está incluida. Normalmente lo cambiaríamos para gentools a algo así:
1 usr/X11R6/bin 2 usr/X11R6/man/man1
pero estos directorios ya se crean en el Makefile, así que no necesitaremos este fichero y lo podremos borrar.
Los ficheros que terminan en *.ex son ejemplos de cómo añadir ese tipo de soporte en el paquete. Si usas uno de ellos, edítalo y elimina la extensión .ex. Si no lo quieres usar, simplemente bórralo.
Tu programa debería tener una página de manual. Si no la tiene, este es un
esqueleto que puedes rellenar. Lee las páginas de manual para
man(7)
para una breve descripción de cómo crear una página de
manual. Asegúrate de renombrar este fichero al nombre del programa y modificar
la extensión para indicar la sección en la que debería ir. Aquí hay una corta
lista:
Sección | Descripción | Notas 1 Comandos de Usuario Programas o guiones ejecutables. 2 Llamadas al Sistema Funciones que ofrece el núcleo. 3 Llamadas a Librerías Funciones dadas por las librerías del sistema. 4 Ficheros Especiales Generalmente se encuentran en /dev. 5 Formatos de Fichero Por ejemplo, el formato del /etc/passwd. 6 Juegos U otros programas frívolos. 7 Paquetes de Macros Como las macros de man. 8 Administración del Sist. Programas que sólo suele ejecutar el superusuario. 9 Rutinas del Núcleo Llamadas al sistema no estándar.
Así que la página de manual de gentoo debería llamarse gentoo.1, o gentoo.1x porque es un programa de X11. Como no había página de manual en las fuentes originales la escribí a partir del ejemplo.
Los usuarios de X Windows tendrán un gestor de ventanas con menús que pueden adaptarse para lanzar programas. Si tienen instalado el paquete "menu" de Debian, se creará un conjunto de menús para cada programa del sistema para ellos. No se exige en la política de Debian, pero los usuarios seguramente lo apreciarán. Podemos añadir Gentoo a los menús editando este fichero. Aquí está el fichero que dh_make crea por defecto:
?package(gentoo):needs=X11|text|vc|wm section=Apps/see-menu-manual\ title="gentoo" command="/usr/bin/gentoo"
El primer campo especifica qué tipo de interfaz necesita el programa (esto es, texto o X11). La siguiente es el menú y submenú dónde debería aparecer. La lista actual de secciones está en /usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1 El tercero es el nombre del programa. El cuarto es el icono para el programa o "none" si no hay ninguno. El quinto es el texto que aparecerá en el menu. Finalmente, el sexto es la orden que ejecuta el programa.
Ahora cambiaremos la entrada de menú a ésta:
?package(gentoo):needs=X11 section=Apps/Misc \ title="gentoo" command="/usr/X11R6/bin/gentoo"
Revisa menufile(5)
, update-menus(1)
y
/usr/share/doc/debian-policy/menu-policy.html/ para más información.
Puedes usar este fichero, junto con los programas uscan(1)
y
uupdate(1)
(en el paquete devscripts) para vigilar el servidor de
donde obtuviste las fuentes originales.
Esto es lo que he puesto yo:
# watch control file for uscan # Site Directory Pattern Version Script ftp.obsession.se /gentoo gentoo-(.*)\.tar\.gz debian uupdate
Pista: conéctate a Internet, e intenta ejecutar el programa "uscan" en el directorio donde has creado el fichero. Ve la página de manual para más detalles.
Si tu paquete tiene documentación en HTML o de otro tipo (excepto páginas de
manual y documentos info), deberías usar el fichero `doc-base' para
registrarlo, para que el usuario pueda encontrarlo con, por ejemplo,
dhelp(1)
o dwww(1)
.
Este es el aspecto del fichero doc-base:
Document: gentoo Title: Gentoo Manual Author: Emil Brink Abstract: This manual describes what Gentoo is, and how it can be used. Section: Apps/Tools Format: HTML Index: /usr/share/doc/gentoo/html/index.html Files: /usr/share/doc/gentoo/html/*.html
Para información sobre el formato del fichero, revisa
install-docs(8)
y el manual de doc-base en
/usr/share/doc/doc-base/doc-base.html/index.html.
Estos ficheros se llaman guiones del desarrollador (maintainer scripts, n. del t.), y son guiones que se colocan en el área de control del paquete y que dpkg ejecuta cuando tu paquete se instala, se actualiza o se quita.
Por ahora, deberías intentar evitar editar manualmente estos guiones si puedes porque suelen hacerse muy complejos. Para más información lee el Manual de Empaquetamiento (sección 6) y echa un vistazo a los ejemplos dados por dh_make.
Ahora estamos preparados para construir el paquete.
jrodin@jagor.srce.hr
jfs@computer.org