[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ siguiente ]
Verás que existen otros ficheros en el subdirectorio debian/, muchas de los cuales tendrán el sufijo «.ex», que indica que son ejemplos. Echale un vistazo a todos. Si lo deseas o necesitas usar alguna de estas características:
revisa todo la documentación relacionada (sugerencia: las normas de Debian),
si es necesario, modifica los ficheros para ajustarlos a tus necesidades,
renómbralos para eliminar el sufijo «ex.», si lo tiene,
renómbralos para eliminar el prefijo «.ex», si lo tiene,
modifica el fichero «rules» si fuera necesario.
Algunos de los ficheros que se usan habitualmente se detallan en las secciones que siguen.
Cualquier detalle extra o discrepancias entre el programa original y su versión debianizada debería documentarse aquí.
dh_make crea una por omisión, y éste es su aspecto:
gentoo for Debian ----------------- <possible notes regarding this package - if none, delete this file> -- Josip Rodin <joy-mg@debian.org>, 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 se te pregunta si deseas mantener la nueva configuración o no.
Eso 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» (abreviatura de ficheros de confguración, N. del T.). Gentoo tiene un fichero de configuración, /etc/gentoorc, y meteremos éste en el fichero conffiles.
En el caso de que tu programa utilice ficheros de configuración pero también los reescriba él mismo es mejor no marcarlos como «conffiles». Si lo haces, dpkg informará a los usuarios que verifiquen los cambios de estos ficheros cada vez que lo actualicen.
También deberías considerar no marcar el fichero como un conffile si el programa que estás empaquetando requiere que cada usuario modifique su fichero de configuración para poder trabajar.
Puedes tomar ejemplos de ficheros de configuración de los guiones ya existentes de desarrolladores, para más información consulta postinst.ex, preinst.ex, postrm.ex y prerm.ex, Sección 5.12.
Puedes eliminar el fichero conffiles del directorio debian/ si tu programa no tiene «conffiles».
Si tu paquete requiere tareas periódicas para funcionar adecuadamente, puedes usar este fichero como patrón.
Ten en cuenta que ésto no incluye la rotación de archivos de registro, para
hacer eso consulta dh_installlogrotate(1)
y
logrotate(8)
.
Elimina el fichero si el paquete no utiliza dichas tareas.
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 omisión, tiene este aspecto:
1 usr/bin 2 usr/sbin
Observa que la barra precedente no está incluida. Normalmente lo cambiaríamos a algo así:
1 usr/bin 2 usr/man/man1
pero estos directorios ya se crean en el Makefile, así que no necesitaremos este fichero y lo podremos borrar.
Este fichero especifica los nombres de los ficheros de documentación que dh_installdocs instalará en el directorio temporal.
Por omisión, se incluirán todos los ficheros existentes en los directorios de más alto nivel del código que se llamen «BUGS», «README*», «TODO» etc.
También incluiré algunos otros para gentoo:
BUGS CONFIG-CHANGES CREDITS ONEWS README README.gtkrc TODO
También podemos eliminar este fichero y en su lugar listar estos ficheros en la línea de órdenes de dh_installdocs en el fichero rules, de esta forma:
dh_installdocs BUGS CONFIG-CHANGES CREDITS ONEWS README \ README.gtkrc TODO
Es posible que no tengas ninguno de estos ficheros en las fuentes de tu paquete. Puedes eliminar este fichero si este es tú caso. Pero no elimines la llamada a dh_installdocs desde el fichero rules porque también se usa para instalar el fichero copyright entre otras cosas.
Si tu paquete proporciona ficheros Emacs que pueden ser compilados a bytes en el momento de la instalación, puede usar estos ficheros.
dh_installemacsen(1)
los instala en el directorio temporal, así
que no olvides descomentar esta línea en el fichero rules si los
usas.
Elimínalos si no los necesitas.
Si tu paquete es un demonio que necesita ejecutarse en el arranque del sistema, obviamente has desatendido mi recomendación inicial, ¿o no? :-)
Este fichero es prácticamente un esqueleto genérico para un fichero de guiones
en /etc/init.d/
, así que probablemente tendrás que editarlo y
mucho. dh_installinit(1)
lo instalará en el directorio temporal.
Elimina el fichero si no lo necesitas.
El programa debería tener una página de manual. Cada uno de estos ficheros es una plantilla que puedes rellenar en el caso de que no tengas una.
Las páginas de manual se escriben normalmente con nroff(1)
. El
ejemplo manpage.1.ex está también escrito con nroff. Consulta la
página de manual man(7)
para una breve descripción de como editar
el fichero.
Por otro lado, puede que prefieras escribir usando SGML en lugar de nroff. En este caso, puedes usar la plantilla manpage.sgml.ex. Si haces esto, tendrás que:
instalar el paquete docbook-to-man
añadir docbook-to-man a la línea de Build-Depends en el fichero de control
eliminar el comentario de la llamada a docbook-to-man en la regla «build» de tu fichero rules
¡Y recuerda renombrar el fichero a algo como gentoo.sgml!
La página final del nombre debería incluir el nombre del programa que está documentando, asi que lo renombraremos de "manpage" a "gentoo". El nombre del fichero incluye también ".1" como primer sufijo, lo que significa que es una página de manual para una programa de usuario. Asegurate de verificar que esa sección es la correcta. Aquí tienes una pequeña lista de las secciones de las páginas de manual.
Sección | Descripción | Notas 1 Ordenes de Usuario Programas o guiones ejecutables. 2 Llamadas al Sistema Funciones que ofrece el núcleo. 3 Llamadas a Bibliotecas Funciones dadas por las bibliotecas 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. Para los programas de X puedes añadir una «x» a la sección, por ejemplo, gentoo.1x. No había una página de manual gentoo.1 en el paquete fuente asi que la escribí usando la información del ejemplo y de los documentos del programador original.
Los usuarios de X Windows suelen tener 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.
Éste es el fichero menu.ex que dh_make crea por omisión:
?package(gentoo):needs="X11|text|vc|wm" section="Apps/lea-manual-menu"\ title="gentoo" command="/usr/bin/gentoo"
El primer campo tras la coma («needs») son las necesidades, y especifica qué tipo de interfaz necesita el programa. Cambia ésta a una de las alternativas que se listan, como por ejemplo «text» o «X11».
Lo siguiente («section») es la sección donde deberían aparecer la entrada del
menú y del submenú. La lista actual de secciones está en:
/usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1
El campo «title» es el nombre del programa. Puedes comenzar este en mayúsculas si lo quieres, pero hazlo lo más corto que puedas.
Finalmente, el campo «command» es la orden que ejecuta el programa.
Ahora cambiaremos la entrada del menú por ésta:
?package(gentoo): needs="X11" section="Apps/Tools" title="Gentoo" command="gentoo"
También puedes añadir otros campos como son «longtitle» (título largo), «icon»
(icono), «hints» (pistas), etc. Para más información consulta
menufile(5)
, update-menus(1)
y
/usr/share/doc/debian-policy/menu-policy.html/
.
Este fichero se usa para configurar los programas uscan(1)
y
uupdate(1)
(en el paquete devscripts
), que se usan
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. Consulta la página de manual para más detalles.
Si tu paquete tiene documentación aparte de las páginas de manual y documentos
«info», deberías usar el fichero «doc-base
» para registrarla, así
el usuario puede encontrarlos con dhelp(1)
, dwww(1)
o
doccentral(1)
.
Esto incluye generalmente ficheros HTML, PS y PDF que se instalen en
/usr/share/doc/nombre_de_paquete/
.
Así es como el fichero doc-base de gentoo gentoo.doc-base debe ser:
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
.
Encontrará más detalles de la instalación de documentación adicional en Instalación en un subdirectorio, Sección 3.1.
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
elimina.
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 normas, capítulo 6, y echa un vistazo a los ejemplos dados por dh_make.
[ 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