other versions
- jessie 9.20150101+deb8u2
- jessie-backports 10.2.5~bpo8+1
- stretch 10.2.5
- testing 12.1
- stretch-backports 12~bpo9+1
- unstable 12.1.1
other languages
other sections
DH(1) | Debhelper | DH(1) |
NOMBRE¶
dh - Secuenciador de órdenes de debhelperSINOPSIS¶
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.
EJEMPLOS¶
Para ver qué órdenes se incluyen en una secuencia, sin hacer nada en realidad:dh binary-arch --no-actEste 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-barEn 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-delightOtra 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/fooSi 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_devdh 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 python2A 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_buildAquí 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=srcY 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=buildSi su paquete se puede construir en paralelo, puede permitir la construcción en paralelo de la siguiente manera. Por ello, la orden dpkg-buildpackage -j funcionará.
#!/usr/bin/make -f %: dh $@ --parallelA 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 installContinuando 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¶
Las siguientes opciones están obsoletas. Se recomienda utilizar en su lugar objetivos «override».- --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.
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>2016-07-24 | 9.20150101+deb8u2 |