.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\" ========================================================================
.\"
.IX Title "debhelper 7"
.TH debhelper 7 "2012-09-10" "9.20120909" "Debhelper"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NOMBRE"
.IX Header "NOMBRE"
debhelper \- El conjunto de herramientas debhelper
.SH "SINOPSIS"
.IX Header "SINOPSIS"
\&\fBdh_\fR\fI*\fR [\fB\-v\fR] [\fB\-a\fR] [\fB\-i\fR] [\fB\-s\fR] [\fB\-\-no\-act\fR] [\fB\-p\fR\fIpaquete\fR]
[\fB\-N\fR\fIpaquete\fR] [\fB\-P\fR\fIdirectorio-temporal\fR]
.SH "DESCRIPCIÓN"
.IX Header "DESCRIPCIÓN"
debhelper ayuda a construir un paquete de Debian. La filosofía que se
esconde detrás de debhelper es ofrecer una colección de herramientas
pequeñas, simples y fáciles de entender que se utilizan en \fIdebian/rules\fR
para automatizar varios aspectos comunes a la hora de construir un
paquete. Esto hace que usted, el empaquetador, tenga menos trabajo. Además,
si cambian las directrices de Debian, los paquetes que precisan cambios sólo
necesitan ser reconstruidos para que se ajusten a las nuevas directrices.
.PP
Un fichero \fIdebian/rules\fR típico que utiliza debhelper invoca órdenes de
debhelper en cadena, o utiliza \fIdh\fR\|(1) para automatizar el proceso. Puede
encontrar ejemplos de ficheros «rules» que usan debhelper en
\&\fI/usr/share/doc/debhelper/examples/\fR.
.PP
Para crear un nuevo paquete de Debian utilizando debhelper, simplemente
puede copiar uno de los ficheros «rules» de ejemplo y editarlo a mano, o
utilizar el paquete \fBdh-make\fR, que contiene la orden dh_make,
que automatiza parcialmente el proceso. Para una introducción más apropiada,
el paquete \fBmaint-guide\fR contiene una guía que muestra cómo hacer su primer
paquete que utiliza debhelper (N. del T. existe una versión traducida al
castellano en el paquete \fBmaint-guide-es\fR).
.SH "ÓRDENES DE DEBHELPER"
.IX Header "ÓRDENES DE DEBHELPER"
A continuación se muestra una lista de las órdenes de debhelper que puede
usar. Para más información consulte sus respectivas páginas de manual.
.IP "\fIdh_auto_build\fR\|(1)" 4
.IX Item "dh_auto_build"
Construye un paquete de forma automática
.IP "\fIdh_auto_clean\fR\|(1)" 4
.IX Item "dh_auto_clean"
Limpia automáticamente después de una construcción
.IP "\fIdh_auto_configure\fR\|(1)" 4
.IX Item "dh_auto_configure"
Configura un paquete automáticamente antes de la
construcción
.IP "\fIdh_auto_install\fR\|(1)" 4
.IX Item "dh_auto_install"
Ejecuta «make install» o similar automáticamente
.IP "\fIdh_auto_test\fR\|(1)" 4
.IX Item "dh_auto_test"
Ejecuta automáticamente un conjunto de pruebas de un paquete
.IP "\fIdh_bugfiles\fR\|(1)" 4
.IX Item "dh_bugfiles"
Instala ficheros personalizados para el informe de fallos en
los directorios de construcción del paquete
.IP "\fIdh_builddeb\fR\|(1)" 4
.IX Item "dh_builddeb"
Construye paquetes binarios de Debian
.IP "\fIdh_clean\fR\|(1)" 4
.IX Item "dh_clean"
Limpia los directorios de construcción de paquete
.IP "\fIdh_compress\fR\|(1)" 4
.IX Item "dh_compress"
Comprime ficheros y arregla enlaces simbólicos en los
directorios de construcción del paquete
.IP "\fIdh_fixperms\fR\|(1)" 4
.IX Item "dh_fixperms"
Arregla los permisos de los ficheros en los directorios de
construcción
.IP "\fIdh_gconf\fR\|(1)" 4
.IX Item "dh_gconf"
Instala ficheros de valores predeterminados de GConf y registra
esquemas
.IP "\fIdh_gencontrol\fR\|(1)" 4
.IX Item "dh_gencontrol"
Genera e instala el fichero de control
.IP "\fIdh_icons\fR\|(1)" 4
.IX Item "dh_icons"
Actualiza el almacén de iconos de Freedesktop
.IP "\fIdh_install\fR\|(1)" 4
.IX Item "dh_install"
Instala ficheros en los directorios de construcción del paquete
.IP "\fIdh_installcatalogs\fR\|(1)" 4
.IX Item "dh_installcatalogs"
Instala y registra catálogos \s-1SGML\s0
.IP "\fIdh_installchangelogs\fR\|(1)" 4
.IX Item "dh_installchangelogs"
Instala los ficheros de cambios en los directorios de
construcción
.IP "\fIdh_installcron\fR\|(1)" 4
.IX Item "dh_installcron"
Instala scripts para cron en etc/cron.*
.IP "\fIdh_installdeb\fR\|(1)" 4
.IX Item "dh_installdeb"
Instala ficheros en el directorio \s-1DEBIAN\s0
.IP "\fIdh_installdebconf\fR\|(1)" 4
.IX Item "dh_installdebconf"
Instala ficheros utilizados por debconf en los
directorios de construcción
.IP "\fIdh_installdirs\fR\|(1)" 4
.IX Item "dh_installdirs"
Crea subdirectorios en los directorios de construcción del
paquete
.IP "\fIdh_installdocs\fR\|(1)" 4
.IX Item "dh_installdocs"
Instala documentación en los directorios de construcción
del paquete
.IP "\fIdh_installemacsen\fR\|(1)" 4
.IX Item "dh_installemacsen"
Registra un paquete de extensión de Emacs
.IP "\fIdh_installexamples\fR\|(1)" 4
.IX Item "dh_installexamples"
Instala ficheros de ejemplo en los directorios de
construcción
.IP "\fIdh_installifupdown\fR\|(1)" 4
.IX Item "dh_installifupdown"
Instala «hooks» para if-up e if-down
.IP "\fIdh_installinfo\fR\|(1)" 4
.IX Item "dh_installinfo"
Instala ficheros info
.IP "\fIdh_installinit\fR\|(1)" 4
.IX Item "dh_installinit"
Instala tareas de upstart y/o scripts de init en los
directorios de construcción del paquete
.IP "\fIdh_installlogcheck\fR\|(1)" 4
.IX Item "dh_installlogcheck"
Instala ficheros de reglas para logcheck en
etc/logcheck/
.IP "\fIdh_installlogrotate\fR\|(1)" 4
.IX Item "dh_installlogrotate"
Instala ficheros de configuración de logrotate
.IP "\fIdh_installman\fR\|(1)" 4
.IX Item "dh_installman"
Instala páginas de manual en los directorios de construcción
del paquete
.IP "\fIdh_installmenu\fR\|(1)" 4
.IX Item "dh_installmenu"
Instala ficheros de menú de Debian en los directorios de
construcción del paquete
.IP "\fIdh_installmime\fR\|(1)" 4
.IX Item "dh_installmime"
Instala ficheros mime en los directorios de construcción
del paquete
.IP "\fIdh_installmodules\fR\|(1)" 4
.IX Item "dh_installmodules"
Registra módulos con modutils
.IP "\fIdh_installpam\fR\|(1)" 4
.IX Item "dh_installpam"
Instala ficheros de compatibilidad de pam
.IP "\fIdh_installppp\fR\|(1)" 4
.IX Item "dh_installppp"
Instala los ficheros ip-up e ip-down de ppp
.IP "\fIdh_installinfo\fR\|(1)" 4
.IX Item "dh_installinfo"
Instala ficheros de reglas de udev
.IP "\fIdh_installwm\fR\|(1)" 4
.IX Item "dh_installwm"
Registra un gestor de ventanas
.IP "\fIdh_installxfonts\fR\|(1)" 4
.IX Item "dh_installxfonts"
Registra tipos de letra para X
.IP "\fIdh_link\fR\|(1)" 4
.IX Item "dh_link"
Crea enlace simbólicos en los directorios de construcción del
paquete
.IP "\fIdh_lintian\fR\|(1)" 4
.IX Item "dh_lintian"
Instala ficheros «override» de lintian en los directorios de
construcción del paquete
.IP "\fIdh_listpackages\fR\|(1)" 4
.IX Item "dh_listpackages"
Lista los paquetes binarios sobre los que actuará
debhelper
.IP "\fIdh_makeshlibs\fR\|(1)" 4
.IX Item "dh_makeshlibs"
Crea automáticamente el fichero «shlibs» e invoca
dpkg-gensymbols
.IP "\fIdh_md5sums\fR\|(1)" 4
.IX Item "dh_md5sums"
Genera el fichero DEBIAN/md5sums
.IP "\fIdh_movefiles\fR\|(1)" 4
.IX Item "dh_movefiles"
Mueve ficheros desde debian/tmp a subpaquetes
.IP "\fIdh_perl\fR\|(1)" 4
.IX Item "dh_perl"
Calcula dependencias de Perl y limpia después de MakeMaker
.IP "\fIdh_prep\fR\|(1)" 4
.IX Item "dh_prep"
Realiza una limpieza para preparar la construcción de un paquete
binario
.IP "\fIdh_shlibdeps\fR\|(1)" 4
.IX Item "dh_shlibdeps"
Calcula dependencias sobre bibliotecas compartidas
.IP "\fIdh_strip\fR\|(1)" 4
.IX Item "dh_strip"
Ejecuta strip sobre ejecutables, bibliotecas compartidas y
algunas bibliotecas estáticas
.IP "\fIdh_testdir\fR\|(1)" 4
.IX Item "dh_testdir"
Comprueba el directorio antes de construir un paquete de Debian
.IP "\fIdh_testroot\fR\|(1)" 4
.IX Item "dh_testroot"
Compruebe que el paquete se construye como usuario «root»
.IP "\fIdh_usrlocal\fR\|(1)" 4
.IX Item "dh_usrlocal"
Migra directorios «usr/local» a scripts del desarrollador
.SS "Órdenes obsoletas"
.IX Subsection "Órdenes obsoletas"
Existe un conjunto de órdenes de debhelper que han quedado obsoletas y que
no se deberían utilizar.
.IP "\fIdh_desktop\fR\|(1)" 4
.IX Item "dh_desktop"
Orden obsoleta sin efecto
.IP "\fIdh_installmanpages\fR\|(1)" 4
.IX Item "dh_installmanpages"
Instalador de viejo estilo de páginas de manual
(obsoleto)
.IP "\fIdh_python\fR\|(1)" 4
.IX Item "dh_python"
Calcula dependencias de Python y añade scripts de Python
postinst y prerm (obsoleto)
.IP "\fIdh_scrollkeeper\fR\|(1)" 4
.IX Item "dh_scrollkeeper"
Orden obsoleta sin efecto
.IP "\fIdh_suidregister\fR\|(1)" 4
.IX Item "dh_suidregister"
Programa de registro suid (obsoleto)
.IP "\fIdh_undocumented\fR\|(1)" 4
.IX Item "dh_undocumented"
Programa de enlace simbólico a undocumented.7 (orden
obsoleta sin efecto)
.SS "Otras órdenes"
.IX Subsection "Otras órdenes"
Si el nombre de un programa empieza con \fBdh_\fR, y no está en las listas
anteriores, no es parte del paquete debhelper, pero aún así debería
funcionar como los programas descritos en está página.
.SH "FICHEROS DE CONFIGURACIÓN DE DEBHELPER"
.IX Header "FICHEROS DE CONFIGURACIÓN DE DEBHELPER"
Muchas de las órdenes de debhelper hacen uso de ficheros en \fIdebian/\fR para
controlar lo que hacen. Además de los ficheros comunes \fIdebian/changelog\fR y
\&\fIdebian/control\fR, que están en todos los paquetes, no sólo aquellos que
utilizan debhelper, se pueden utilizar ficheros adicionales para configurar
el comportamiento de una orden específica de debhelper. Estos ficheros se
suelen llamar «debian/\fIpaquete\fR.tal» (donde \fIpaquete\fR es reemplazado por
el paquete sobre el que se está actuando).
.PP
Por ejemplo, \fBdh_installdocs\fR utiliza ficheros llamados
\&\fIdebian/paquete.docs\fR para listar los ficheros de documentación que
instalará. Consulte las páginas de manual de cada orden para conocer más
detalles acerca de los nombres y formatos de los ficheros que
utilizan. Habitualmente, estos ficheros listan los ficheros sobre los que se
actúa, uno por línea. Algunos programas de debhelper utilizan parejas de
ficheros y destinos o algún formato un poco más complicado.
.PP
Tenga en cuenta que si un paquete es el primero (o el único) paquete binario
listado en \fIdebian/control\fR, debhelper utiliza \fIdebian/tal\fR si no existe
un fichero \fIdebian/paquete.tal\fR.
.PP
En algunos casos especiales, puede querer tener diferentes versiones de
estos ficheros para diferentes arquitecturas o sistemas operativos. Si los
ficheros «debian/\fIpaquete\fR.tal.\fI\s-1ARCH\s0\fR» y «debian/\fIpaquete\fR.tal.\fI\s-1OS\s0\fR»
existen, donde \fI\s-1ARCH\s0\fR y \fI\s-1OS\s0\fR son igual a las salidas de
«\fBdpkg-architecture \-qDEB_HOST_ARCH\fR» / «\fBdpkg-architecture
\&\-qDEB_HOST_ARCH_OS\fR», se utilizarán preferentemente a otros ficheros
generales.
.PP
Generalmente, estos ficheros de configuración se utilizan para definir
varios tipos de ficheros. Documentación o ficheros de ejemplo a instalar,
ficheros a mover, y demás. Cuando sea apropiado, en casos como estos, puede
utilizar comodines del intérprete de órdenes como (\fB?\fR, \fB*\fR y clases de
carácter \fB[\fR\fI..\fR\fB]\fR) en estos ficheros. También puede incluir comentarios
en estos ficheros; se ignoran las líneas que empiezan con \fB#\fR.
.PP
La sintaxis de estos ficheros es intencionadamente sencilla para facilitar
la lectura, la comprensión y la modificación. Si prefiere potencia y
complejidad, puede dar al fichero permisos de ejecución, y crear un programa
que muestra un contenido adecuado para la situación dada. Si lo hace, la
salida no se proceso para expandir comodines o eliminar comentarios.
.SH "OPCIONES COMPARTIDAS DE DEBHELPER"
.IX Header "OPCIONES COMPARTIDAS DE DEBHELPER"
Las siguientes opciones de línea de órdenes son aceptadas por todos los
programas de debhelper.
.IP "\fB\-v\fR, \fB\-\-verbose\fR" 4
.IX Item "-v, --verbose"
Modo explicativo: muestra todas las órdenes que modifican el directorio de
construcción del paquete.
.IP "\fB\-\-no\-act\fR" 4
.IX Item "--no-act"
No hace nada realmente. Si se utiliza con «\-v», mostrará todo lo que hubiera
hecho.
.IP "\fB\-a\fR, \fB\-\-arch\fR" 4
.IX Item "-a, --arch"
Actúa sobre todos los paquetes dependientes de la arquitectura que se
deberían construir para la arquitectura de construcción.
.IP "\fB\-i\fR, \fB\-\-indep\fR" 4
.IX Item "-i, --indep"
Actúa en todos los paquetes independientes de la arquitectura.
.IP "\fB\-p\fR\fIpaquete\fR, \fB\-\-package=\fR\fIpaquete\fR" 4
.IX Item "-ppaquete, --package=paquete"
Actúa sobre el paquete nombrado \fIpaquete\fR. Esta opción se puede definir
varias veces para hacer que debhelper opere sobre un conjunto dado de
paquetes.
.IP "\fB\-s\fR, \fB\-\-same\-arch\fR" 4
.IX Item "-s, --same-arch"
Solía ser una versión más inteligente de la opción \fB\-a\fR, pero actualmente
la opción \fB\-a\fR es igual de inteligente.
.IP "\fB\-N\fR\fIpaquete\fR, \fB\-\-no\-package=\fR\fIpaquete\fR" 4
.IX Item "-Npaquete, --no-package=paquete"
No actúa sobre un paquete especificado incluso si las opciones \fB\-a\fR, \fB\-i\fR,
o \fB\-p\fR listan este paquete como uno sobre los que se debería actuar.
.IP "\fB\-\-remaining\-packages\fR" 4
.IX Item "--remaining-packages"
No actúa sobre los paquetes sobre los que ya se actuó anteriormente con esta
orden de debhelper (esto es, si la orden está presente en el registro de
debhelper). Por ejemplo, si necesita invocar la orden con opciones
particulares para una pareja de paquetes binarios, introduzca esta opción a
la última invocación de la orden para procesar el resto de paquetes con la
configuración predeterminada.
.IP "\fB\-\-ignore=\fR\fIfichero\fR" 4
.IX Item "--ignore=fichero"
Ignora el fichero dado. Se puede utilizar si \fIdebian/\fR contiene un fichero
de configuración de debhelper sobre el que una orden de debhelper no debería
actuar. Tenga en cuenta que no puede ignorar \fIdebian/compat\fR,
\&\fIdebian/control\fR y \fIdebian/changelog\fR, aunque nunca debería existir una
razón para ignorar esos ficheros.
.Sp
Por ejemplo, si la fuente original distribuye un fichero \fIdebian/init\fR que
no desea que \fBdh_installinit\fR instale, use \fB\-\-ignore=debian/init\fR.
.IP "\fB\-P\fR\fIdirectorio_temporal\fR, \fB\-\-tmpdir=\fR\fIdirectorio_temporal\fR" 4
.IX Item "-Pdirectorio_temporal, --tmpdir=directorio_temporal"
Utiliza \fIdirectorio_temporal\fR como el directorio de construcción del
paquete. Por omisión es «debian/\fIpaquete\fR».
.IP "\fB\-\-mainpackage=\fR\fIpaquete\fR" 4
.IX Item "--mainpackage=paquete"
Esta opción poco utilizada cambia el paquete que debhelper considera el
«paquete principal», esto es, el primero listado en \fIdebian/control\fR, y
sobre el cual se pueden utilizar los ficheros \fIdebian/tal\fR en vez de los
usuales \fIdebian/package.tal\fR.
.IP "\fB\-O=\fR\fIopción\fR|\fIfichero\fR" 4
.IX Item "-O=opción|fichero"
\&\fIdh\fR\|(1) utiliza está orden al orden al introducir opciones definidas por el
usuario a todas las órdenes que ejecuta. Si la orden acepta la opción
definida o conjunto de opciones, tendrá efecto. Si la orden no acepta la
opción (o alguna sección del conjunto de opciones), se ignorará.
.SH "OPCIONES COMUNES DE DEBHELPER"
.IX Header "OPCIONES COMUNES DE DEBHELPER"
Las siguientes opciones son válidas para algunos programas de
debhelper. Consulte la página de manual de cada programa para una
explicación detallada de lo que hace cada una.
.IP "\fB\-n\fR" 4
.IX Item "-n"
No modifica los scripts \fIpostinst\fR, \fIpostrm\fR, etc.
.IP "\fB\-X\fR\fIelemento\fR, \fB\-\-exclude=\fR\fIelemento\fR" 4
.IX Item "-Xelemento, --exclude=elemento"
No procesa un elemento. Esta opción se puede utilizar varias veces para
excluir distintos elementos.
.IP "\fB\-A\fR, \fB\-\-all\fR" 4
.IX Item "-A, --all"
Hace que los ficheros o elementos especificados en la línea de órdenes
tengan efecto en \s-1TODOS\s0 los paquetes sobre los que actúa, no sólo el primero.
.SH "OPCIONES DEL SISTEMA DE CONSTRUCCIÓN"
.IX Header "OPCIONES DEL SISTEMA DE CONSTRUCCIÓN"
Las siguientes opciones de línea de órdenes son compatibles con todos los
programas \fBdh_auto_\fR\fI*\fR de debhelper. Estos programas permiten utilizar
varios sistemas de construcción, y habitualmente realizan una estimación de
cuál utilizar, y cómo. Puede utilizar estas opciones de línea de órdenes
para anular el comportamiento predeterminado. Habitualmente, se introducen a
\&\fIdh\fR\|(1), que a su vez los introduce en todos los programas
\&\fBdh_auto_\fR\fI*\fR.
.IP "\fB\-S\fR\fIsistema\-de\-construcción\fR, \fB\-\-buildsystem=\fR\fIsistema\-de\-construcción\fR" 4
.IX Item "-Ssistema-de-construcción, --buildsystem=sistema-de-construcción"
Fuerza el uso del \fIsistema\-de\-construcción\fR definido, en lugar de intentar
seleccionar uno de forma automática que podría ser adecuado para el paquete.
.IP "\fB\-D\fR\fIdirectorio\fR, \fB\-\-sourcedirectory=\fR\fIdirectorio\fR" 4
.IX Item "-Ddirectorio, --sourcedirectory=directorio"
Supone que el árbol de código fuente original del paquete está en el
\&\fIdirectorio\fR definido, en lugar del directorio de nivel superior del árbol
del paquete fuente de Debian.
.IP "\fB\-B\fR[\fIdirectorio\fR], \fB\-\-builddirectory=\fR[\fIdirectorio\fR]" 4
.IX Item "-B[directorio], --builddirectory=[directorio]"
Activa la construcción fuera de las fuentes y utiliza el \fIdirectorio\fR
especificado como directorio de construcción. Se seleccionará un directorio
de construcción predeterminado si se omite el parámetro \fIdirectorio\fR.
.Sp
Si no se define esta opción, la construcción tendrá lugar en las fuentes de
forma predeterminada a menos que el sistema de construcción requiera o
prefiera la construcción fuera del árbol de fuentes. En ese caso, se
utilizará el directorio de construcción predeterminado incluso si no se
define \fB\-\-builddirectory\fR.
.Sp
Si el sistema de construcción prefiere realizar la construcción fuera del
árbol de fuentes, pero permite la construcción en las fuentes, puede
reactivar lo último introduciendo una ruta al directorio de construcción
igual a la ruta del directorio de fuentes.
.IP "\fB\-\-parallel\fR" 4
.IX Item "--parallel"
Activa construcciones paralelas si el sistema de construcción subyacente lo
permite. El número de tareas paralelas se controla mediante la variable de
entorno \fB\s-1DEB_BUILD_OPTIONS\s0\fR (\*(L"Normas de Debian, sección 4.9.1\*(R") en tiempo
de construcción. También puede estar sujeto a un límite específico del
sistema de construcción.
.Sp
Si no se define esta opción, debhelper no permitirá la construcción en
paralelo de paquetes de forma predeterminada.
.IP "\fB\-\-max\-parallel=\fR\fImáximo\fR" 4
.IX Item "--max-parallel=máximo"
Esta opción implica \fB\-\-parallel\fR, y permite limitar el número de tareas que
se pueden utilizar en una construcción en paralelo. Si se sabe que la
construcción del paquete sólo funciona con ciertos niveles de concurrencia,
puede definir esto con el nivel máximo conocido con el que funciona, o que
desea permitir.
.IP "\fB\-\-list\fR, \fB\-l\fR" 4
.IX Item "--list, -l"
Lista todos los sistemas construcción en el sistema que debhelper acepta. La
lista incluye sistemas de construcción de terceras fuentes (marcadas como
tal) y la predeterminada. También muestra el sistema de construcción que se
seleccionará automáticamente, o cuál está definido mediante la opción
\&\fB\-\-buildsystem\fR.
.SH "NIVELES DE COMPATIBILIDAD"
.IX Header "NIVELES DE COMPATIBILIDAD"
Cada cierto tiempo, debhelper necesita cambios que lo pueden hacer
incompatible con versiones anteriores para así continuar con un buen y
limpio diseño a medida que las necesidades cambian y que su autor gana más
experiencia. Los niveles de compatibilidad de debhelper se crearon para
impedir que estos cambios estropeen algún paquete. Según el nivel de
compatibilidad que se especifique debhelper se comporta de diferentes
maneras.
.PP
Para especificar a debhelper qué nivel de compatibilidad debe utilizar,
escriba un número en \fIdebian/compat\fR. Por ejemplo, para activar el modo v9:
.PP
.Vb 1
\& % echo 9 > debian/compat
.Ve
.PP
El paquete también requiere como dependencia de construcción
(«build\-depend») una versión de debhelper igual o mayor que el nivel de
compatibilidad de debhelper que utiliza el paquete. Por ejemplo, para
utilizar el nivel de compatibilidad 9, compruebe que «debian/control»
contiene lo siguiente:
.PP
.Vb 1
\& Build\-Depends: debhelper (>= 9)
.Ve
.PP
A menos que se indique lo contrario, toda la documentación de debhelper
supone que utiliza el nivel de compatibilidad más reciente, y en la mayoría
de los casos no indica si el comportamiento de debhelper es distinto bajo
otro nivel de compatibilidad. Por ello, si no está utilizando el nivel de
compatibilidad más reciente, recomendamos que lea a continuación las notas
acerca de las diferencias con anteriores niveles de compatibilidad.
.PP
Los niveles de compatibilidad disponibles son:
.IP "v1" 4
.IX Item "v1"
Este es el nivel de compatibilidad original de debhelper, y por tanto es el
nivel predeterminado. En este modo, debhelper utiliza \fIdebian/tmp\fR como el
árbol de directorios del paquete, y «debian/\fIpaquete\fR» para el resto de
paquetes listados en el fichero \fIcontrol\fR.
.Sp
Este modo está obsoleto.
.IP "v2" 4
.IX Item "v2"
En este modo, debhelper utilizará «debian/\fIpaquete\fR» de forma consistente
como el árbol de directorios para cada paquete que se construya.
.Sp
Este modo está obsoleto.
.IP "v3" 4
.IX Item "v3"
Este modo funciona como v2, con los siguientes añadidos:
.RS 4
.IP "\-" 8
Los ficheros de configuración de Debhelper aceptan comodines globales
mediante \fB*\fR y \fB?\fR cuando sea apropiado. Para utilizar «*» y «?» como
caracteres simplemente debe insertar como prefijo una barra invertida.
.IP "\-" 8
\&\fBdh_makeshlibs\fR hace que los scripts \fIpostinst\fR y \fIpostrm\fR ejecuten
ldconfig.
.IP "\-" 8
\&\fBdh_installdeb\fR marca automáticamente todos los ficheros en \fIetc/\fR como
conffiles.
.RE
.RS 4
.Sp
Este modo está obsoleto.
.RE
.IP "v4" 4
.IX Item "v4"
Los cambios desde el nivel v3 son:
.RS 4
.IP "\-" 8
\&\fBdh_makeshlibs \-V\fR no incluirá la parte de Debian en el numero de versión
generado en la línea de dependencias del fichero «shlibs».
.IP "\-" 8
Se aconseja que use el nuevo \fB${misc:Depends}\fR en \fIdebian/control\fR para
reemplazar el campo \fB${shlibs:Depends}\fR.
.IP "\-" 8
\&\fBdh_fixperms\fR hará ejecutables todos los ficheros en los directorios
\&\fIbin/\fR y \fIetc/init.d\fR.
.IP "\-" 8
\&\fBdh_link\fR corregirá los enlaces existentes para ajustarse a las normas de
Debian.
.RE
.RS 4
.Sp
Este modo está obsoleto.
.RE
.IP "v5" 4
.IX Item "v5"
Los cambios desde el nivel v4 son:
.RS 4
.IP "\-" 8
Se ignoran los comentarios en los ficheros de configuración de debhelper.
.IP "\-" 8
\&\fBdh_strip \-\-dbg\-package\fR ahora especifica el nombre del paquete en el que
se colocan los símbolos de depuración, no los paquetes desde los que obtener
los símbolos.
.IP "\-" 8
\&\fBdh_installdocs\fR omite la instalación de ficheros vacíos.
.IP "\-" 8
\&\fBdh_install\fR devuelve un error si los comodines se expanden a un valor
vacío.
.RE
.RS 4
.RE
.IP "v6" 4
.IX Item "v6"
Los cambios desde el nivel v5 son:
.RS 4
.IP "\-" 8
Las órdenes que generan segmentos de scripts de desarrollador ordenarán
estos segmentos en orden inverso para los scripts \fIprerm\fR y \fIpostrm\fR.
.IP "\-" 8
\&\fBdh_installwm\fR instalará un enlace esclavo a la página de manual
\&\fIx\-window\-manager.1.gz\fR en caso de encontrar la página de manual en
\&\fIusr/share/man/man1\fR dentro del directorio de construcción del paquete.
.IP "\-" 8
Anteriormente, \fBdh_builddeb\fR no eliminaba todo aquello que coincidiese con
\&\fB\s-1DH_ALWAYS_EXCLUDE\s0\fR, si es que se definía con una lista de elementos a
excluir, como por ejemplo \fB\s-1CVS:\s0.svn:.git\fR. Ahora sí lo hace.
.IP "\-" 8
\&\fBdh_installman\fR permite sobreescribir páginas de manual existentes en el
directorio de construcción del paquete. Bajo los niveles de compatibilidad
anteriores simplemente rechazaba hacerlo, de forma silenciosa.
.RE
.RS 4
.RE
.IP "v7" 4
.IX Item "v7"
Los cambios desde el nivel v6 son:
.RS 4
.IP "\-" 8
\&\fBdh_install\fR buscará ficheros en \fIdebian/tmp\fR de forma predeterminada si
no los encuentra en el directorio actual (o dónde indicó hacerlo mediante
\&\fB\-\-sourcedir\fR). Esto permite la interoperabilidad entre \fBdh_install\fR y
\&\fBdh_auto_install\fR, que instala en \fIdebian/tmp\fR, sin necesidad de
parámetros especiales.
.IP "\-" 8
\&\fBdh_clean\fR leerá \fIdebian/clean\fR y eliminará los ficheros ahí listados.
.IP "\-" 8
\&\fBdh_clean\fR eliminará ficheros \fI*\-stamp\fR del nivel superior.
.IP "\-" 8
\&\fBdh_installchangelogs\fR intentará averiguar el fichero de registro de
cambios de la fuente original si no se especifica ninguno.
.RE
.RS 4
.RE
.IP "v8" 4
.IX Item "v8"
Los cambios desde el nivel v7 son:
.RS 4
.IP "\-" 8
Las órdenes fallarán, en lugar de emitir un aviso, cuando se les introduzcan
opciones desconocidas.
.IP "\-" 8
\&\fBdh_makeshlibs\fR ejecutará \fBdpkg-gensymbols\fR sobre todas las bibliotecas
compartidas para las que genera ficheros «shlibs». Por ello, puede utilizar
\&\fB\-X\fR para excluir bibliotecas. Así mismo, se introducirán a
\&\fBdpkg-gensymbols\fR bibliotecas en ubicaciones inusuales que antes no
procesaba, un cambio de comportamiento que puede impedir la construcción de
algunos paquetes.
.IP "\-" 8
\&\fBdh\fR requiere que la secuencia a ejecutar se defina como el primer
parámetro, y que las opciones aparezcan a continuación. Por ejemplo, use
\&\fBdh $@ \-\-foo\fR, no \fBdh \-\-foo $@\fR.
.IP "\-" 8
\&\fBdh_auto_\fR\fI*\fR prefiere utilizar el módulo de Perl \fBModule::Build\fR con
preferencia a un fichero \fIMakefile.PL\fR.
.RE
.RS 4
.RE
.IP "v9" 4
.IX Item "v9"
Este es el modo de operación aconsejado.
.Sp
Los cambios desde el nivel v8 son:
.RS 4
.IP "\-" 8
Compatibilidad multiarquitectura, \fBdh_auto_configure\fR introduce directorios
multiarquitectura a autoconf en «\-\-libdir» y «\-\-libexecdir».
.IP "\-" 8
dh es consciente de las dependencias habituales entre objetivos en
«debian/rules». Por ello, «dh binary» ejecuta cualquier objetivo build,
build-arch, build-indep e install que se encuentre en el fichero «rules». No
es necesario definir un objetivo binario explícito con dependencias
explícitas sobre otros objetivos.
.IP "\-" 8
\&\fBdh_strip\fR comprime ficheros de símbolos de depuración de fallos para
reducir el tamaño de los paquetes \-dbg.
.IP "\-" 8
\&\fBdh_auto_configure\fR no incluye el nombre de paquete fuente en
«\-\-libexecdir» al utilizar autoconf.
.IP "\-" 8
\&\fBdh\fR no activa «\-\-with=python\-support» de forma predeterminada.
.IP "\-" 8
Todos los programas de debhelper \fBdh_auto_\fR\fI*\fR definen variables de
entorno listados en \fBdpkg-buildflags\fR, a menos que ya estén definidas.
.IP "\-" 8
\&\fBdh_auto_configure\fR introduce \fBdpkg-buildflags\fR \s-1CFLAGS\s0, \s-1CPPFLAGS\s0, y
\&\s-1LDFLAGS\s0 a ficheros de Perl \fIMakefile.PL\fR y \fIBuild.PL\fR
.IP "\-" 8
\&\fBdh_strip\fR ubica símbolos de depuración separados en una ubicación según su
build-id.
.IP "\-" 8
Se utilizan como configuración los ficheros de configuración ejecutables de
debhelper y su salida.
.RE
.RS 4
.RE
.IP "v10" 4
.IX Item "v10"
Este nivel de compatibilidad aún está en desarrollo, utilícelo con
precaución.
.Sp
Los cambios desde el nivel v9 son:
.RS 4
.IP "\-" 8
Ninguno hasta ahora..
.RE
.RS 4
.RE
.SH "NOTAS"
.IX Header "NOTAS"
.SS "Compatibilidad con varios paquetes binarios"
.IX Subsection "Compatibilidad con varios paquetes binarios"
Si su paquete fuente genera más de un paquete binario, los programas de
debhelper actuarán sobre todos los paquetes binarios de forma
predeterminada. Si se diera el caso de que su paquete fuente genera un
paquete dependiente de la arquitectura, y otro independiente, éste no sería
un comportamiento correcto porque necesitará generar los paquetes
dependientes de la arquitectura en el objetivo binary-arch de
\&\fIdebian/rules\fR, y los paquetes independientes de la arquitectura en el
objetivo binary-indep de \fIdebian/rules\fR.
.PP
Para facilitar esto, así como para dar mayor control sobre qué paquetes
actúan los programas de debhelper, todos estos aceptan los parámetros \fB\-a\fR,
\&\fB\-i\fR, \fB\-p\fR, y \fB\-s\fR. Estos parámetros son acumulativos. Si no se
especifica ninguno, los programas de debhelper actúan por omisión en todos
los paquetes listados en el fichero de control.
.SS "Generación automática de los scripts de instalación de Debian"
.IX Subsection "Generación automática de los scripts de instalación de Debian"
Algunas órdenes de debhelper generarán automáticamente parte de los scripts
de instalación de Debian. Si quiere que estas órdenes generen
automáticamente lo que esté incluido en sus scripts de instalación de
Debian, necesitará añadir \fB#DEBHELPER#\fR a sus scripts, en el lugar donde el
código se deba añadir. \fB#DEBHELPER#\fR será remplazado por cualquier código
auto-generado cuando ejecute \fBdh_installdeb\fR.
.PP
Si el script no existe y debhelper necesita añadir algo en particular,
creará el script por completo.
.PP
Todas las órdenes de debhelper que generan código automáticamente de esta
manera se pueden deshabilitar con el parámetro «\-n» (ver arriba).
.PP
Observe que el código insertado sera código de consola, y por ello no puede
utilizarlo directamente en un script de Perl. Si desea introducirlo en un
script de Perl, hágalo de la siguiente forma (tenga en cuenta que en este
caso comprobé que \f(CW$1\fR, \f(CW$2\fR, etc se definen con la orden «set»):
.PP
.Vb 5
\& my $temp="set \-e\enset \-\- @ARGV\en" . << \*(AqEOF\*(Aq;
\& #DEBHELPER#
\& EOF
\& system ($temp) / 256 == 0
\& or die "Problema con los scripts de debhelper: $!";
.Ve
.SS "Generación automática de diversas dependencias."
.IX Subsection "Generación automática de diversas dependencias."
Es posible que algunas órdenes de debhelper hagan que los paquetes generados
dependan de otros paquetes. Por ejemplo, si utiliza \fIdh_installdebconf\fR\|(1),
el paquete generado dependerá de debconf. Si utiliza \fIdh_installxfonts\fR\|(1),
el paquete dependerá de una determinada versión de xutils. Llevar la cuenta
de todas estas dependencias puede ser tedioso porque dependen de cómo
debhelper haga las cosas, y por ello debhelper ofrece una manera de
automatizarlo.
.PP
Todas las órdenes de este tipo, además de documentar qué dependencias pueden
ser necesarias en sus páginas de manual, generarán automáticamente una
variable de sustitución llamada \fB${misc:Depends}\fR. Si introduce esta
variable en el fichero \fIdebian/control\fR, se expandirá a las dependencias
que debhelper crea oportunas.
.PP
Esto es totalmente independiente del campo estándar \fB${shlibs:Depends}\fR
generado por \fIdh_makeshlibs\fR\|(1), y del \fB${perl:Depends}\fR generada por
\&\fIdh_perl\fR\|(1). Puede preferir no utilizar ninguno de estos si la expansión
de debhelper de estas variables no es correcta.
.SS "Directorios de construcción del paquete"
.IX Subsection "Directorios de construcción del paquete"
Por omisión, todos los programas de debhelper asumen que el directorio
temporal utilizado para ensamblar el árbol de ficheros en un paquete es
«debian/\fIpaquete\fR».
.PP
Algunas veces, puede que desee utilizar otro directorio temporal. Esto se
puede conseguir con la opción \fB\-P\fR. Por ejemplo, \fBdh_installdocs
\&\-Pdebian/tmp\fR, utilizará el directorio \fBdebian/tmp\fR como directorio
temporal. Tenga en cuenta que si utiliza la opción \fB\-P\fR, los programas de
debhelper sólo podrán actuar sobre un paquete a la vez. Por eso, si tiene un
paquete que construye muchos paquetes binarios, tendrá que hacer uso de la
opción \fB\-p\fR para especificar el paquete binario sobre el que debhelper
actuará.
.SS "udebs"
.IX Subsection "udebs"
Debhelper incluye la compatibilidad con paquetes udeb. Para crear un udeb
con debhelper, añada \fBPackage-Type: udeb\fR al párrafo del paquete binario en
\&\fIdebian/control\fR. Debhelper tratará de crear udebs que cumplan con las
normas de debian-installer, haciendo que los ficheros de los paquetes
terminen en \fI.udeb\fR, no instalando ninguna documentación en un udeb, y
omitiendo los scripts \fIpreinst\fR, \fIpostrm\fR, \fIprerm\fR, scripts \fIconfig\fR,
etc.
.SH "ENTORNO"
.IX Header "ENTORNO"
.IP "\fB\s-1DH_VERBOSE\s0\fR" 4
.IX Item "DH_VERBOSE"
Defina como \fB1\fR para activar el modo explicativo. Debhelper mostrará todas
las órdenes utilizadas que modifiquen ficheros en el sistema en el que se
hace la construcción.
.IP "\fB\s-1DH_COMPAT\s0\fR" 4
.IX Item "DH_COMPAT"
Especifica temporalmente bajo qué nivel de compatibilidad debe actuar
debhelper, ignorando cualquier valor en \fIdebian/compat\fR.
.IP "\fB\s-1DH_NO_ACT\s0\fR" 4
.IX Item "DH_NO_ACT"
Defina como \fB1\fR para habilitar el modo no-act.
.IP "\fB\s-1DH_OPTIONS\s0\fR" 4
.IX Item "DH_OPTIONS"
Cualquier dato contenido en esta variable se añade a los argumentos de línea
de órdenes de todas las órdenes de debhelper.
.Sp
Al utilizar \fIdh\fR\|(1), puede aceptar opciones que se introducen a cada orden
de debhelper, lo que habitualmente es mejor que utilizar «DH_OPTIONS».
.IP "\fB\s-1DH_ALWAYS_EXCLUDE\s0\fR" 4
.IX Item "DH_ALWAYS_EXCLUDE"
Si se define, añade su valor a la opción \fB\-X\fR de todas las órdenes que
permiten dicha opción. Es más, \fBdh_builddeb\fR ejecutará \fBrm \-rf\fR con todo
lo que coincida con el valor dentro del árbol de construcción del paquete.
.Sp
Puede ser útil si está compilando desde un árbol de \s-1CVS\s0, en cuyo caso
estableciendo \fBDH_ALWAYS_EXCLUDE=CVS\fR evitará que los directorios \s-1CVS\s0 se
introduzcan en el paquete construido. O, si su paquete original
(imprudentemente) incluye directorios \s-1CVS\s0, puede ser útil exportar
\&\fBDH_ALWAYS_EXCLUDE=CVS\fR en \fIdebian/rules\fR, para que esto tenga efecto en
cualquier sitio donde se construya el paquete.
.Sp
Puede separar varias cosas a excluir mediante dos puntos, por ejemplo:
\&\fBDH_ALWAYS_EXCLUDE=CVS:.svn\fR
.SH "VÉASE TAMBIÉN"
.IX Header "VÉASE TAMBIÉN"
.IP "\fI/usr/share/doc/debhelper/examples/\fR" 4
.IX Item "/usr/share/doc/debhelper/examples/"
Varios ficheros de ejemplo \fIdebian/rules\fR que utilizan debhelper.
.IP "" 4
.IX Item ""
Sitio web de Debhelper.
.SH "AUTOR"
.IX Header "AUTOR"
Joey Hess
.SH "TRADUCTOR"
.IX Header "TRADUCTOR"
Traducci�n de Rub�n Porras Campo
Actualizaci�n de Omar Campagne Polaino