Provided by: debhelper_9.20160115ubuntu3_all 

NOMBRE
dh - Secuenciador de órdenes de debhelper
SINOPSIS
dh sequence [--with addon[,addon ...]] [--list] [opciones-de-debhelper]
DESCRIPCIÓN
dh ejecuta una secuencia de órdenes de debhelper. Las secuencias aceptadas se corresponden con los
objetivos de un fichero debian/rules: build-arch, build-indep, build, clean, install-indep, install-arch,
install, binary-arch, binary-indep, y binary.
OBJETIVOS «OVERRIDE»
Un fichero debian/rules que utiliza dh puede sustituir la orden que se ejecuta en cualquier punto de una
secuencia, definiendo un objetivo «override».
To override dh_command, add a target named override_dh_command to the rules file. When it would normally
run dh_command, dh will instead call that target. The override target can then run the command with
additional options, or run entirely different commands instead. See examples below.
Los objetivos «override» también se pueden definir para que se ejecuten solo al consuitr paquetes
dependientes o independientes de la arquitectura. Utilice objetivos con nombres como
override_dh_orden-arch y override_dh_orden-indep. Tenga en cuenta que para utilizar esta funcionalidad,
el paquete debe tener una dependencia de construcción sobre la versión 7.0.50 o superior de debhelper.
OPCIONES
--with extensión[,extensión,...]
Añade las órdenes de debhelper definidas por la extensión dada a los lugares apropiados de la
secuencia de órdenes que se va a ejecutar. Esta opción se puede repetir varias veces, o puede listar
varias extensiones separadas por comas. Se utiliza cuando hay un paquete de terceras fuentes que
proporciona órdenes de debhelper. Para más documentación sobre la interfaz de extensión de secuencia
consulte el fichero PROGRAMMING.
--without extensión
Lo contrario de --with, desactiva la extensión dada. Esta opción puede aparecer más de una vez, o
puede enumerar, separadas por comas, varias extensiones que desactivar.
--list, -l
Lista todas las extensiones disponibles.
--no-act
Muestra las órdenes que se ejecutarían para una secuencia dada, pero no las ejecuta.
Note that dh normally skips running commands that it knows will do nothing. With --no-act, the full
list of commands in a sequence is printed.
Las otras opciones introducidas a dh se introducen a cada orden que ejecuta. Puede utilizar esto para
definir una opción como -v, -X o -N, así como opciones más especializadas.
EJEMPLOS
Para ver qué órdenes se incluyen en una secuencia, sin hacer nada en realidad:
dh binary-arch --no-act
Este es un fichero «rules» muy sencillo para paquetes donde las secuencias predeterminadas de órdenes
funcionan sin opciones adicionales.
#!/usr/bin/make -f
%:
dh $@
A menudo, querrá introducir una opción a una orden de debhelper en particular. La forma sencilla de
hacerlo es añadir un objetivo «overrride» para esa orden.
#!/usr/bin/make -f
%:
dh $@
override_dh_strip:
dh_strip -Xfoo
override_dh_auto_configure:
dh_auto_configure -- --with-foo --disable-bar
En ocasiones, las órdenes automatizadas dh_auto_configure(1) y dh_auto_build(1) no pueden averiguar qué
hacer con un paquete extraño. A continuación puede ver cómo evitar que se ejecuten para que así pueda
ejecutar sus propias órdenes.
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_configure:
./mondoconfig
override_dh_auto_build:
make universe-explode-in-delight
Otra caso común es que desee hacer algo manualmente antes o después de que se ejecute una orden en
particular de debhelper.
#!/usr/bin/make -f
%:
dh $@
override_dh_fixperms:
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
Si su paquete utiliza Autotools y desea actualizar config.sub y config.guess con nuevas versiones del
paquete autotools-dev en tiempo de ejecución, puede utilizar algunas órdenes proporcionadas por
autotools-dev que automatizan esta tarea, como puede ver a continuación.
#!/usr/bin/make -f
%:
dh $@ --with autotools_dev
dh no ejecuta las herramientas de Python de forma predeterminada debido al cambio continuo de ese campo.
(dh ejecuta dh_pysupport en un nivel de compatibilidad anterior a v9). A continuación puede ver cómo se
utiliza dh_python2.
#!/usr/bin/make -f
%:
dh $@ --with python2
A continuación puede ver como forzar el uso del sistema de construcción del módulo Perl Module::Build, lo
cual puede ser necesario si debhelper detecta erróneamente que el paquete utiliza MakeMaker.
#!/usr/bin/make -f
%:
dh $@ --buildsystem=perl_build
Aquí tiene un ejemplo de cómo sobreescribir la ubicación dónde las órdenes dh_auto_* encuentran el código
fuente de un paquete, para un paquete en el que las fuentes se ubican en un subdirectorio.
#!/usr/bin/make -f
%:
dh $@ --sourcedirectory=src
Y aquí tiene un ejemplo de cómo indicar a las órdenes dh_auto_* que realicen la construcción en un
subdirectorio, que se eliminará mediante clean.
#!/usr/bin/make -f
%:
dh $@ --builddirectory=build
If your package can be built in parallel, please either use compat 10 or pass --parallel to dh. Then
dpkg-buildpackage -j will work.
#!/usr/bin/make -f
%:
dh $@ --parallel
If your package cannot be built reliably while using multiple threads, please pass --no-parallel to dh
(or the relevant dh_auto_* command):
#!/usr/bin/make -f
%:
dh $@ --no-parallel
A continuación puede ver cómo evitar que dh ejecute varias órdenes que no desea que se ejecuten. Para
ello, defina objetivos «override» vacíos para cada orden.
#!/usr/bin/make -f
%:
dh $@
# Órdenes que no se ejecutan:
override_dh_auto_test override_dh_compress override_dh_fixperms:
Puede utilizar «overrides» independientes de la arquitectura para separar un proceso de construcción
largo de un paquete de documentación. Éstos se omiten al ejecutar las secuencias build-arch y binary-
arch.
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_build-indep:
$(MAKE) -C docs
# No se requieren comprobaciones para los documentos
override_dh_auto_test-indep:
override_dh_auto_install-indep:
$(MAKE) -C docs install
Continuando con el ejemplo anterior, suponga que necesita ejecutar «chmod» sobre un fichero, pero solo al
construir el paquete dependiente de la arquitectura, ya que no está presente cuando solo se construye
documentación.
override_dh_fixperms-arch:
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
FUNCIONAMIENTO INTERNO
Si siente curiosidad por el funcionamiento interno de dh, a continuación puede ver como funciona por
dentro.
Cada orden de debhelper registra una ejecución exitosa en debian/package.debhelper.log. (que dh_clean
elimina). Gracias a ello, dh puede conocer qué órdenes se han ejecutado, para qué paquetes, y omitir
ejecutar esas órdenes otra vez.
Cada vez que se ejecuta dh, comprueba el registro y encuentra la última orden registrada contenida en la
secuencia especificada. Después, continua con la siguiente orden en la secuencia. Las opciones --until,
--before, --after y --remaining pueden anular este comportamiento.
Una secuencia también puede ejecutar objetivos dependientes de la arquitectura en «debian/rules». Por
ejemplo, la secuencia «binary» también ejecuta el objeto «install».
dh utiliza la variable de entorno DH_INTERNAL_OPTIONS para introducir información a las órdenes de
debhelper que se ejecutan dentro de objetivos «override». El contenido (e incluso, la existencia) de esta
variable de entorno, como el nombre sugiere, está sujeto a cambios en cualquier momento.
La opción -i se introduce a las órdenes en las secuencias binary-indep, install-indep y binary-indep para
asegurar que sólo actúan sobre paquetes independientes de la arquitectura, y la opción -a se introduce a
órdenes en las secuencias build-arch, install-arch y binary-arch para asegurar que sólo actúan sobre
paquetes dependientes de la arquitectura.
OPCIONES OBSOLETAS
The following options are deprecated. It's much better to use override targets instead. They are not
available in compat 10.
--until orden
Ejecuta las órdenes en la secuencia hasta la orden, incluido, y cierra.
--before orden
Ejecuta las órdenes en la secuencia anteriores a orden, y cierra.
--after orden
Ejecuta las órdenes en la secuencia posteriores a orden.
--remaining
Ejecuta todas las órdenes en la secuencia que aún no se han ejecutado.
En las opciones anteriores, orden puede ser el nombre completo de una orden de debhelper, o una
subcadena. Buscará en primer lugar una orden en la secuencia que coincide totalmente con el nombre, para
evitar cualquier ambigüedad. Si hay muchas coincidencias con la subcadena se utilizará la última en la
secuencia.
VÉASE TAMBIÉN
debhelper(7)
Este programa es parte de debhelper.
AUTOR
Joey Hess <joeyh@debian.org>
TRADUCTOR
Traducci�n de Omar Campagne Polaino <debian-l10n-spanish@lists.debian.org>
9.20160115ubuntu3 2016-03-31 DH(1)