dpkg-source(1) | Herramientas de dpkg | dpkg-source(1) |
NOMBRE¶
dpkg-source - Herramienta de manipulación de paquetes fuente de Debian «.dsc»SINOPSIS¶
dpkg-source [opción...] ordenDESCRIPCIÓN¶
dpkg-source empaqueta y desempaqueta archivos de fuentes de Debian.ÓRDENES¶
- -x fichero.dsc [directorio-salida]
- Extrae un paquete fuente. Se debe suministrar un argumento
que no sea una opción, el nombre del fichero de control de fuente de
Debian ( .dsc). Puede introducir un segundo argumento que no sea
una opción para definir el directorio en el que extraer el paquete
fuente, el cual no debe existir. En caso de no definir ningún
directorio, el paquete fuente se extraerá en un directorio llamado
fuente-versión dentro del directorio actual.
- -b directorio [parámetros-específicos-formato]
- Construye un paquete fuente. El primer argumento, que no
opción, se toma como el nombre del directorio que contiene el
árbol de fuentes «debianizado» (por ejemplo, con un
subdirectorio «debian/», y puede que cambios en los ficheros
originales). Puede especificar parámetros adicionales, dependiendo
del formato de paquete fuente usado en la construcción del paquete.
- --print-format directorio
- Muestra el formato de fuentes a utilizar en la
construcción del paquete fuente si se ejecutó dpkg-source -b
directorio (con las mismas condiciones y los mismos
parámetros).
- --before-build directorio
- Ejecuta la orden (o «hook») que se corresponde
con el formato de paquete fuente. Esta orden se ejecuta antes de construir
un paquete ( dpkg-buildpackage lo ejecuta muy temprano en el
proceso, incluso antes que debian/rules clean). Esta orden es
idempotente, y se puede ejecutar varias veces. No todos los formatos de
fuente implementan algo en este «hook», y aquellos que lo hacen
habitualmente preparan el árbol de las fuentes para la
construcción, por ejemplo, comprobando que se aplican los parches de
Debian.
- --after-build directorio
- Ejecuta la orden (o «»hook) que se corresponde al
formato de paquete fuente. Esta orden se ejecuta después de construir
un paquete ( dpkg-buildpackage lo ejecuta en último lugar).
Esta orden es idempotente, y se puede ejecutar varias veces. No todos los
formatos de fuentes implementan algo en este «hook», y aquellos
que lo hacen lo usan habitualmente para deshacer lo que
--before-build ha hecho.
- --commit [directorio] ...
- Registra las modificaciones del árbol de fuentes
desempaquetado en el directorio. Esta orden acepta parámetros
adicionales dependiendo del formato de fuente. Este función devuelve
error con los formatos no aceptados.
- -?, --help
- Muestra el modo de uso y termina.
- --version
- Muestra la versión y termina.
OPCIONES GENÉRICAS DE CONSTRUCCIÓN¶
- -cfichero-de-control
- Define el fichero de control principal de las fuentes del que leer la información, debian/control por omisión. Si se introducen rutas relativas, éstas se interpretan empezando en el directorio superior del árbol de fuentes.
- -lfichero-de-cambios
- Define el fichero de registro de cambios del que leer la información. Por omisión, debian/changelog. Si se introduce una ruta relativa, ésta se interpreta empezando en el directorio superior del árbol de fuentes.
- -Fformato-fichero-de-cambios
- Define el formato del fichero de cambios. Para información sobre formatos alternativos consulte dpkg-parsechangelog(1).
- --format=valor
- Usa el formato dado para la construcción del paquete fuente. Esto sobreescribe cualquier formato presente en debian/source/format.
- -Vnombre=valor
- Define una variable de sustitución de la salida. Consulte deb-substvars(5) para más información acerca de la sustitución de la salida.
- -Tfichero-variables-sustitución
- Lee las variables de sustitución desde fichero-variables-sust; el valor por omisión es no leer ninguno. Puede utilizar esta opción varias veces para leer variables de sustitución de varios ficheros.
- -Dcampo=valor
- Sobreescribe o añade un campo en el fichero de control de salida.
- -Ucampo
- Elimina un campo del fichero de control de salida.
- -Zcompression, --compression=compresión
- Define qué compresión utilizar con los ficheros creados (archivos tar y ficheros «diff»). Tenga en cuenta que esta opción no provoca que los archivos tar existentes se compriman nuevamente, sólo afecta a los ficheros nuevos. Los valores permitidos son: gzip, bzip2, lzma y xz. gzip se usa por omisión. La compatibilidad con xz es posible desde dpkg-dev 1.15.5.
- -zlevel, --compression-level=nivel
- El nivel de compresión a utilizar. Al igual que -Z, sólo afecta a los ficheros nuevos. Los valores permitidos son de 1 a 9, best, y fast. Por omisión, 9 se utiliza para gzip y bzip2, y 6 para xz y lzma.
- -i[expresión-regular], --diff-ignore[= expresión-regular]
- Puede especificar una expresión regular de Perl para
indicar aquellos ficheros que desee excluir de la lista de ficheros para
el «diff» (esta lista se genera con una orden find). Puede
utilizar esto para ignorar cambios no introducidos en ficheros
específicos, en caso de construir un paquete fuente como un paquete
fuente versión 3 usando VCS. Por sí mismo, -i activa la
opción con una expresión regular predefinida que elimina los
ficheros y directorios de control de los sistemas de control de versiones
más comunes, los ficheros de respaldo, los ficheros de intercambio y
los directorios que se generan como resultado de las operaciones de
Libtool. Sólo puede haber una expresión regular activa, y en
caso de existir varias opciones -i sólo se tendrá en
cuenta la última.
- --extend-diff-ignore=expresión-regular
- La expresión regular de perl definida extenderá el valor predefinido de --diff-ignore y su valor actual (si se define), Para ello, concatena « |regexp» al valor existente. Es conveniente utilizar esta opción en debian/source/options para excluir algunos ficheros generados de forma automática a partir de la generación automática de parches.
- -I[patrón-fichero], --tar-ignore[= patrón-fichero]
- Si se especifica esta opción, el nombre de fichero se
pasará como parámetro a la opción «--exclude» de
tar(1) al generar el fichero «.orig.tar» o
«.tar». Por ejemplo, «-ICVS» hará que tar omita
los directorios CVS cuando genere el fichero «.tar.gz». La
opción se puede repetir varias veces para listar varios patrones a
excluir.
OPCIONES DE EXTRACCIÓN GENÉRICAS¶
- --no-copy
- No copia los ficheros tar originales cerca del paquete fuente extraído.
- --no-check
- No revisa las firmas y sumas de control antes de desempaquetar.
- --require-valid-signature
- Rechaza desempaquetar el paquete fuente si no contiene una
firma OpenPGP, que se verifica o bien con el anillo de claves de usuario
trustedkeys.gpg, uno de los anillos de claves específicos del
proveedor, o uno de los anillos de claves oficiales de Debian,
/usr/share/keyrings/debian-keyring.gpg y
/usr/share/keyrings/debian-maintainers.gpg.
FORMATOS DE PAQUETE FUENTE¶
Si no sabe qué formato de fuentes usar, debería seleccionar o bien «3.0 (quilt)» o «3.0 (native)». Consulte «http://wiki.debian.org/Projects/DebSrc3.0» para más información acerca del desarrollo de estos formatos dentro del proyecto Debian.Formato: 1.0¶
Un paquete fuente en este formato consiste bien de un .orig.tar.gz asociado a un .diff.gz, o bien de un único .tar.gz (en tal caso, el paquete se considera native).- Opciones de construcción (con -b):
- -sk
- Define que se espera la fuente original como un archivo tar, por omisión paquete_versión-autor-original .orig.tar.gz. La fuente original se dejará en el sitio como un fichero tar, o se copiará al directorio actual en caso de no estar ya ahí presente. El archivo tar se desempaquetará en directorio .orig para la generación del «diff».
- -sp
- Idéntica a -sk, a diferencia de que eliminará el directorio al finalizar.
- -su
- Define que se espera que la fuente original sea un directorio, por omisión paquete-versión-autor-original .orig, y que dpkg-source creará un fichero de fuentes nuevo a partir de él.
- -sr
- Idéntica a -su, a diferencia de que eliminará el directorio después de su uso.
- -ss
- Define que la fuente original está disponible tanto como directorio como un fichero tar. dpkg-source usará el directorio para crear el diff , pero el fichero tar para crear el .dsc. Debe utilizar esta opción con precaución, ya que si el directorio y el archivo tar no coinciden se generará un archivo fuente inválido.
- -sn
- Omite la búsqueda de la fuente original y no generará un «diff». El segundo argumento, en caso de existir, debe ser la cadena vacía. Esta opción se usa en paquetes específicos de Debian que no tienen fuentes del autor original por separado, y por tanto carecen de ficheros «diff» «debianizantes».
- -sa or -sA
- Defina una búsqueda de la fuente original como directorio o como archivo tar - el segundo argumento, de existir, puede ser cualquiera de las dos cosas o la cadena vacía (equivale a utilizar -sn). Si se encuentra un fichero tar, se desempaquetará para crear el «diff» y eliminará posteriormente (equivale a -sp); si se encuentra un directorio, se empaquetará para crear la fuente original y se eliminará posteriormente (equivale a -sr); si no se encuentra ninguno de los dos, se asume que el paquete no tiene ficheros «diff» «debianizantes», únicamente un fichero de fuentes (equivale a -sn). Si se encuentran ambos, dpkg-source ignorará el directorio, sobreescribiéndolo, si se especificó -sA (equivale a -sP), o generará un error si se definió -sa. -sA es la opción predefinida.
- --abort-on-upstream-changes
- El procesa dará fallo si el «diff» generado
contiene cambios realizados a ficheros fuera del subdirectorio
«debian». Esta opción no se puede utilizar en
debian/source/options pero se puede utilizar en
debian/source/local-options.
- Opciones de extracción (con -x):
- -sp
- Si se usa en la extracción, la fuente original (de existir) se dejará como un fichero tar. Si no se encuentra en el directorio actual o si existe un fichero pero es diferente, se copiará ahí. ( Ésta es la acción por omisión).
- -su
- Desempaqueta el árbol de fuentes original.
- -sn
- Asegura que la fuente original ni se copia al directorio actual ni se desempaqueta. Cualquier árbol de fuentes original existente en el directorio actual es eliminado.
- --skip-debianization
- Omite la aplicación del «diff» de debian con las fuentes del autor original.
Formato: 2.0¶
También conocido como wig&pen. No se recomienda este formato para un uso masivo, ya que el formato «3.0 (quilt)» lo reemplaza. Wig&pen fue la primera especificación de un formato de paquete fuente de nueva generación.Formato: 3.0 (nativo)¶
Este formato es una extensión del formato de paquete nativo como se define en el formato 1.0. Es compatible con todos los métodos de compresión, e ignorará cualquier fichero o directorio específico a sistemas de control de versiones, así como muchos ficheros temporales (consulte el valor predefinido asociado a la opción -I en la salida de --help).Format: 3.0 (quilt)¶
Un paquete fuente con este formato contiene al menos un archivo tar original ( .orig.tar.ext, siendo ext gz, bz2, lzma o xz) y un archivo tar de Debian ( .debian.tar.ext). También contiene archivos tar originales adicionales ( .orig-componente.tar.ext). componente sólo puede contener caracteres alfanuméricos y guiones («-»). Extracción Primero se extrae el archivo tar original, y después se extraen todos los archivos tar originales en subdirectorios nombrados a partir de la parte de componente de su nombre de fichero (todo directorio preexistente se reemplazará). El archivo tar de Debian se extrae en el directorio raíz del árbol después de la eliminación de cualquier directorio debian preexistente. Tenga en cuenta que el archivo tar de Debian debe contener un subdirectorio debian, pero también puede contener ficheros binarios externos a ese directorio (consulte la opción --include-binaries). En este momento se aplican todos los parches listados en debian/patches/debian.series o debian/patches/series. Si el primer fichero se usa, y el segundo no existe (o es un enlace simbólico), éste se reemplazará con un enlace simbólico al primero. El objetivo de esto es simplificar el uso de quilt al gestionar el conjunto de parches. No obstante, tenga en cuenta que mientras que dpkg-source analiza correctamente los ficheros en «series» con opciones explícitas para la aplicación del parche (guardados en cada línea después del nombre de fichero del parche y uno o más espacios), ignora aquellas opciones que siempre esperan parches que se puedan aplicar con la opción -p1 de patch. De no ser así, mostrará un aviso en caso de encontrar tales opciones, y cabe que la construcción falle. Al contrario que el funcionamiento predefinido de quilt, se espera que los parches se apliquen sin imprecisiones. De no ser así, debe actualizar los parches con quilt, o dpkg-source fallará al intentar aplicarlos De forma similar al comportamiento predefinido de quilt, los parches también pueden eliminar ficheros. El fichero .pc/applied-patches se crea si se aplican parches durante la extracción. Construcción Todos los archivos tar original encontrados en el directorio actual se extraen a un directorio temporal siguiendo la misma lógica que para desempaquetar, copiando el directorio «debian» al directorio temporal y por último aplicando todos los parches, a excepción del parche automático ( debian-changes-version o debian-changes, dependiendo de --single-debian-patch). El directorio temporal se compara con el directorio de fuentes del paquete. Si el fichero diff no está vacío, la compilación falla menos que se utilice --single-debian-patch o --auto-commit, en cuyo caso el fichero diff se guarda en el parche automático. En caso de crear o añadir el parche automático, este se añade o elimina del fichero «series» y de los metadatos de quilt.- --commit [directorio] [nombre-parche] [ fichero-parche]
- Genera un parche que recoge los cambios locales que el
sistema de parches quilt no gestiona, y los integra en el sistema de
parches con el nombre nombre-parche. Si se omite el nombre, se le
solicita uno de forma interactiva. Si se define fichero-parche, se
utiliza como el parche que recoge los cambios locales que integrar. Una
vez integrado, se ejecuta un editor para editar la metainformación en
la cabecera del parche.
- --allow-version-of-quilt-db=versión
- Permite que dpkg-source construya el paquete fuente si la versión de los metadatos de quilt es el especificado, incluso si dpkg-source no lo conoce. De hecho, esto dice que la versión dada de los metadatos de quilt es compatible con la versión 2, con la que dpkg-source tiene compatibilidad actualmente. Esta versión de los metadatos de quilt se guardan en .pc/.version.
- --include-removal
- No ignora los ficheros eliminados y los incluye en el parche generado automáticamente.
- --include-timestamp
- Incluye la marca temporal en el parche generado automáticamente.
- --include-binaries
- Añade todos los ficheros binarios modificados al archivo tar «debian». También los añade a debian/source/include-binaries: se añadirán por omisión en futuras construcciones, con lo que esta opción ya no será necesaria.
- --no-preparation
- No intenta preparar el árbol de construcción aplicando parches que están supuestamente sin aplicar.
- --single-debian-patch
- Usa debian/patches/debian-changes en lugar de debian/patches/debian-changes- version para el nombre del parche generado automáticamente durante la construcción. Esta opción es particularmente útil si el paquete se guarda en un sistema de control de versiones y si no se puede generar un conjunto de parches adecuados. La opción se debería poner en debian/source/local-options, acompañado de un fichero debian/source/local-patch-header que detalle la mejor forma de revisar los cambios de Debian, por ejemplo, el sistema de control de versiones en uso.
- --create-empty-orig
- Crea automáticamente el archivo tar principal y original como vacío en caso de no existir y si hay otros archivos tar originales adicionales. Esta opción está diseñada para su uso cuando el paquete fuente es un conjunto de varios programas de la fuente principal y cuando no hay programas «principales».
- --no-unapply-patches, --unapply-patches
- De forma predeterminada, dpkg-source revierte de forma automática los parches en el «hook» --after-build si se han aplicado durante --before-build. Estas opciones permiten forzar el activado o desactivado del proceso de revertir los parches. Estas opciones solo se permiten en debian/source/local-options para que todos los paquetes fuente generados tengan el mismo comportamiento de forma predeterminada.
- --abort-on-upstream-changes
- El proceso falla si se genera un parche automático. Esta opción se puede utilizar para asegurar que todos los cambios se registren apropiadamente en parches de quilt separados antes de la construcción del paquete fuente. Esta opción no se permite en debian/source/options pero se puede utilizar en debian/source/local-options.
- --auto-commit
- El proceso no se interrumpe si se genera un parche
automático, sino que se registra en el fichero en la serie de parches
quilt.
- --skip-debianization
- Omite la extracción del archivo tar «debian» sobre las fuente del autor original.
- --skip-patches
- No aplica los parches al finalizar la extracción.
Formato: 3.0 (custom)¶
Este formato es especial. No representa ningún formato de paquete fuente real, pero se puede utilizar para crear paquetes fuente con ficheros arbitrarios. Opciones de construcción Todas las opciones que no son argumento se toman como ficheros a integrar en el paquete fuente generado. Deben existir y, preferiblemente, encontrarse en el directorio actual. Se debe introducir al menos un fichero.- --target-format=valor
- Obligatorio. Define el formato real del paquete fuente generado. El fichero «.dsc» generado contendrá este valor en su campo Format y no «3.0 (custom)».
Format: 3.0 (git)¶
Este formato es experimental. Un paquete de fuente con este formato consiste de un sólo archivo con un repositorio .git, que guarda la fuente del paquete. Puede también existir un fichero .gitshallow que lista las revisiones de una clonación de git superficial («shallow»). Extracción El archivo se clona como un repositorio git en el directorio destino. Si hay un fichero «gitshallow», se instala como «.git/shallow» dentro del repositorio git clonado. Tenga en cuenta que, por omisión, el nuevo repositorio tendrá un «checkout» de la misma rama de la que se realizó el «checkout» de la fuente original. (Habitualmente, «master», pero podría ser cualquier otra cosa.) Todas las demás ramas estarán disponibles bajo «remotes/origin/». Construcción Antes de continuar, se realizan algunas revisiones para asegurar que no queden cambios no ignorados a remitir al repositorio mediante «commit». git-bundle(1) se usa para generar un archivo a partir de un repositorio git. Por omisión, se incluyen en el archivo todas las ramas y etiquetas en el repositorio. Opciones de construcción- --git-ref=ref
- Permite especificar una referencia («ref») de git a incluir en el archivo de git. Su uso desactiva el comportamiento predefinido de incluir todas las ramas y etiquetas, y se puede definir varias veces. ref puede ser el nombre de una rama o etiqueta a incluir. Por ejemplo, para incluir sólo la rama «master», use «--git-ref=master». Para incluir todas las etiquetas y ramas a excepción de la rama local («private»), use «--git-ref=--all --git-ref=^private».
- --git-depth=number
- Crea un clon superficial («shalow») con la historia truncada en el número definido de revisiones.
Format: 3.0 (bzr)¶
Este formato es experimental. Genera un único archivo tar que contiene el repositorio bzr. Extracción El archivo tar se desempaqueta, usando después bzr para realizar un «checkout» de la rama actual. Construcción Antes de continuar, se realizan algunas revisiones para asegurar que no queden cambios no ignorados a remitir al repositorio mediante «commit». Entones, la parte del directorio de fuentes específico al sistema de control de versiones se copia a un directorio temporal. Antes de empaquetar este directorio temporal en una archivo tar se realizan varios procesos de limpieza, para así ahorrar espacio.AVISOS Y ERRORES¶
no se definió ningún formato de fuentes en «debian/source/format»¶
El fichero debian/source/format siempre debería existir e indicar el formato de fuentes deseado. Por razones de compatibilidad hacia atrás, se supone el formato «1.0» cuando el fichero no existe, pero no debería depender de esto. En algún punto en el futuro, se modificará dpkg para que falle cuando no encuentre ese fichero.el diff modifica los siguientes ficheros de la fuente original¶
Generalmente, es una mala idea modificar ficheros de la fuente original si está usando el formato de fuentes «1.0» ya que los cambios terminarán ocultos y generalmente sin documentar dentro del fichero «diff.gz». Debería guardar los cambios como parches en el directorio «debian» y aplicarlos en tiempo de construcción. Para evitar esta complejidad también puede utilizar el formato «3.0 (quilt)», que ofrece esto de forma nativa.no se pueden representar los cambios al fichero¶
Los cambios a las fuentes originales se suelen guardar el ficheros de parche, pero no todos los cambios se pueden representar con parches: sólo pueden alterar el contenido de ficheros de texto simple. Si intenta reemplazar un fichero con algo de otro tipo (por ejemplo, un fichero simple con un enlace simbólico o directorio), obtendrá el siguiente mensaje de error.el fichero vacío fichero recientemente creado no estará representado en el «diff»¶
No se pueden crear ficheros vacíos con ficheros de parche. Por ello, este cambio no se registra en el paquete fuente, está usted avisado.los permisos de modo de ejecución del fichero no se representarán en el «diff»¶
los permisos de modo especial del fichero no se representarán en el «diff»¶
Los ficheros de parche no registran permisos de los ficheros, y por ello los permisos modificados no se guardan en el paquete fuente. Este aviso le sirve de recordatorio.FORMATOS DE FICHERO¶
debian/source/format¶
Este fichero contiene en una única línea el formato que se debería utilizar para construir el paquete fuente (los formatos posibles se describen en un punto anterior). No se permiten espacios vacíos al principio o final de la línea.debian/source/include-binaries¶
Este fichero contiene una lista de ficheros binarios (uno por línea) que se deberían incluir en el archivo tar «debian». Se eliminan los espacios vacíos al principio y final de la línea. Las líneas que comienzan con «#» son comentarios, y por tanto, se omiten. Se ignorarán líneas vacías.debian/source/options¶
Este fichero contiene una lista de opciones largas que se deberían anexar al conjunto de las opciones de línea de órdenes de una ejecución a dpkg-source -b o dpkg-source --print-format. Las opciones como --compression y --compression-level son adecuadas con este fichero. Cada opción debería aparecer en una línea separada. Se ignorarán las líneas vacías, y aquellas que comienzan con «#». Los guiones «--» al principio de la opción se deberían eliminar, y no se permiten opciones cortas. Se permiten espacios adicionales en torno al símbolo «=», así como comillas dobles en torno al valor. Aquí tiene un ejemplo de este fichero:# permite a dpkg-source crear un debian.tar.bz2 con la máxima compresión
compression = "bzip2"
compression-level = 9
# usa debian/patches/debian-changes como parche automático
single-debian-patch
# ignora cambios en config.{sub,guess}
extend-diff-ignore = "(^|/)(config.sub|config.guess)$" Nota: no se permiten en este fichero las opciones de formato, y debería utilizar debian/source/format en su lugar.
debian/source/local-options¶
Idéntico a debian/source/options, a excepción de que el fichero no se incluye en el paquete fuente generado. Puede ser útil para guardar una preferencia ligada al mantenedor a al repositorio del sistema de control de versiones dónde el paquete es mantenido.debian/source/local-patch-header¶
debian/source/patch-header¶
Texto con formato libre que se inserta al inicio del parche generado de forma automática con los formatos «2.0» o «3.0 quilt)». local-patch-header no se incluye en las fuentes generadas, mientras que patch-header sí.debian/patches/series¶
Este fichero lista todos los parches que se deben aplicar (en el orden dado) al paquete fuente del autor original. Se eliminarán los espacios vacíos al principio y final de la línea. Las líneas que comienzan con «#» son comentarios, y se omiten. Las líneas restantes empiezan con un nombre de fichero de un parche (relativo al directorio debian/patches/) hasta el primer carácter de espacio, o el final de la línea. Opcionalmente, puede insetar a continuación opciones de quilt hasta el final de línea, o el primer «#» precedido de uno o más espacios (que indican el inicio de un comentario hasta el final de la línea).FALLOS¶
No está claro el punto en el cual se produce la sustitución de campos, comparado con ciertas opciones de los campos de salida estándar.VÉASE TAMBIÉN¶
dpkg-deb(1), dpkg(1), dselect(1).TRADUCTOR¶
Rudy Godoy <rudy@kernel-panik.org>, Rubén Porras <nahoo@inicia.es>, Bruno Barrera C. <bruno.barrera@igloo.cl>, Carlos Izquierdo <gheesh@ertis.net>, Esteban Manchado y NOK. Debian L10n Spanish <debian-l10n-spanish@lists.debian.org>.4 de mayo del 2012 | Proyecto Debian |