dpkg-source(1)

NOMBRE
dpkg-source - Herramienta de manipulación de paquetes fuente de Debian «.dsc»

SINOPSIS
dpkg-source [opción...] orden

DESCRIPCIÓN
dpkg-source empaqueta y desempaqueta archivos de fuentes de Debian. Ninguna de estas órdenes permite combinar múltiples opciones en una sola. Tampoco permiten que el valor de una opción se especifique en un argumento separado.

Ó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. dpkg-source lee los nombres de los demás ficheros que componen el paquete fuente desde el fichero de control; se asume que están en el mismo directorio que el fichero .dsc. Los permisos y propietarios de los ficheros del paquete extraído serán los mismos que se esperarían si los ficheros se hubiesen simplemente creado - 0777 para directorios y ejecutables y 0666 para el resto de ficheros, ambos modificados según el umask del extractor. Si el directorio superior tiene activado el bit setgid, los directorios extraídos lo tendrán también, y todos los ficheros y directorios heredarán el grupo al que pertenece. Si el paquete fuente usa un formato no estándar (a día de hoy, todos los formatos menos «1.0»), su nombre se guardará en debian/source/format para que las siguientes construcciones del paquete fuente usen el mismo formato por omisión.

-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. dpkg-source construirá el paquete fuente con el primer formato posible de esta lista, y en este orden: el formato indicado con la opción de línea de órdenes --format, el formato indicado en debian/source/format, «1.0». El uso predefinido de «1.0» en ausencia de otro valor está obsoleto y se eliminará en el futuro. Siempre debería documentar el formato fuente deseado en debian/source/format. Consulte la sección FORMATOS DE PAQUETE FUENTE para una extensa descripción de los diferentes formatos de paquete fuente.

--print-format directorio
    Muestra el formato de fuentes a usar 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

-ccontrol-file
    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.

-lchangelog-file
    Specifies the changelog file to read information from. The default is debian/changelog. If given with relative pathname this is interpreted starting at the source tree's top level directory.

-Fchangelog-format
    Specifies the format of the changelog. See dpkg-parsechangelog(1) for information about alternative formats.

--format=valor
    Usa el formato dado para la construcción del paquete fuente. Esto sobreescribe cualquier formato presente endebian/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.

-Tsubstvars-file
    Read substitution variables in substvars-file; the default is to not read any file. This option can be used multiple times to read substitution variables from multiple files.

-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 usar 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
    Compression level to use. As with -Z it only affects newly created files. Supported values are: 1 to 9, best, and fast. The default is 9 for gzip and bzip2, 6 for xz and 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 usar 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. Esto es útil para eliminar ficheros externos que se incluyen en el «diff». Por ejemplo, si desarrolla su software en sistema de control de versiones y desea realizar un «checkout» para construir un paquete fuente, sin incluir los ficheros y directorios adicionales que habitualmente contiene (por ejemplo, «CVS/», «.cvsignore», «.svn»). La expresión regular predefinida es bastante completa, pero si necesita reemplazarla, tenga en cuenta que por omisión, puede coincidir con cualquier parte de la ruta. Por ello, si desea emparejar el principio de un nombre de fichero, o sólo nombres de fichero completos, tendrá que introducir directamente el anclaje necesario (por ejemplo, '(^|/)', '($|/)').

--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 usar 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. Por si mismo, -I añade las opciones predefinidas «--exclude», que filtrarán los ficheros de control y los directorios de los sistemas de control de versiones más comunes, ficheros de respaldo e intercambio, y los directorios de salida de construcción de Libtool.

Nota: A pesar de tener objetivos similares, i y I tienen una sintaxis y semántica muy diferentes. Sólo puede especificar i una vez, que toma una expresión regular compatible con Perl, la cual se compara con la ruta relativa de cada fichero. Puede especificar I varias veces, y toma un patrón de nombre de fichero con comodines de intérprete de órdenes. El patrón se compara con la ruta relativa, y también con cada parte de la ruta, de manera individual. La semántica exacta de la opción «--exclude» de tar es algo complicada, consulte http://www.gnu.org/software/tar/manual/tar.html#wildcards para una completa documentación. Puede consultar los patrones y expresiones regulares predefinidas de ambas opciones en la salida de la orden --help.

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). Extracción Extraer un paquete nativo es simplemente una extracción de un único archivo tar en el directorio destino. Extraer un paquete no nativo se realiza, primero, desempaquetando el .orig.tar.gz para después aplicar el parche contenido en el fichero .diff.gz. La marca temporal de todos los ficheros parcheados se modifica en el momento de extraer el paquete fuente (esto evita bifurcaciones de las marcas temporales, que conducen a problemas cuando se parchean los ficheros generados automáticamente). El «diff» puede crear nuevos ficheros (todo el directorio «debian/» se crea de esta manera) pero no puede eliminar ficheros (los ficheros vacíos permanecerán en el sistema). Construcción Construir un paquete nativo consiste de la creación de un único archivo tar con el directorio fuente. Construir un paquete no nativo incluye extraer el archivo tar original en otro directorio «.orig», regenerando el .diff.gz por comparación del directorio del paquete fuente con el directorio «.orig».

Opciones de construcción (con -b):

Si hay un segundo argumento, debería ser el nombre del directorio de fuentes, del fichero tar original o la cadena vacía, si el paquete es específico de Debian y por tanto carece de diffs «debianizantes». Si no se proporciona un segundo argumento, dpkg-source buscará el archivo tar original paquete_versión-autor-original.orig.tar.gz o el directorio de fuentes original directorio.orig en función de los argumentos -sX. -sa, -sp, -sk, -su y -sr no sobreescribirán directorios o ficheros tar existentes. Si esto es lo que desea, debería utilizar -sA, -sP, -sK, -sU y -sR en su lugar.

-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 usar 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 usar -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 usar en debian/source/options pero se puede usar en debian/source/local-options.

Opciones de extracción (con -x):

En todos los casos cualquier árbol de fuentes original será eliminado.

-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.

Todas las opciones -sX son mutuamente excluyentes. Si define más de una, sólo se usará la última.

--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. El comportamiento de este formato es idéntico al del formato «3.0 (quilt)», a excepción de que no usa una lista explícita de parches. Todos los ficheros en debian/patches/ que coinciden con la expresión regular de perl [\w-]+ deben ser parches válidos: se aplican durante el proceso de extracción. Al construir un nuevo paquete fuente, todo cambio en las fuentes original se guardan en un parche llamado zz_debian-diff-auto.

  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.

Contrary to quilt's default behaviour, patches are expected to apply without any fuzz. When that is not the case, you should refresh such patches with quilt, or dpkg-source will error out while trying to apply them.

De forma similar al comportamiento predefinido de quilt, los parches también pueden eliminar ficheros.

El fichero .pc/applied-patches se crea en caso de aplicar parches durante la extracción.

Construcción

All original tarballs found in the current directory are extracted in a temporary directory by following the same logic as for the unpack, the debian directory is copied over in the temporary directory, and all patches except the automatic patch (debian-changes-version or debian-changes, depending on --single-debian-patch) are applied. The temporary directory is compared to the source package directory. When the diff is non-empty, the build fails unless --single-debian-patch or --auto-commit has been used, in which case the diff is stored in the automatic patch. If the automatic patch is created/deleted, it's added/removed from the series file and from the quilt metadata. Cualquier cambio en un fichero binario no se puede representar en un «diff», conduciendo así a un fallo a menos que el desarrollador decida explícitamente incluir el fichero binario modificado en el archivo tar «debian» (mediante su listado en debian/source/include-binaries). La construcción también fallará si encuentra ficheros binarios en el subdirectorio «debian», a menos que estén en el «whitelist» de debian/source/include-binaries. Llegado a este punto se genera el archivo tar «debian» en base al directorio «debian» modificado y la lista de binarios modificados. El «diff» generado automáticamente no incluye cambios en ficheros específicos al sistema de control de versiones, así como muchos otros ficheros temporales (consulte el valor predefinido asociado a -i en la salida de --help). En particular, se ignora el directorio .pc empleado por quilt durante la creación del parche automático. Nota: dpkg-source --before-build (y -b) comprueban que los parches enumerados en el fichero «series» se han aplicado, para así garantizar que la construcción del paquete siempre tengo todos los parches aplicados. Para ello, encuentra la lista de parches no aplicados (listados en el fichero series pero no en .pc/applied-patches) y si aplica el primer parche del conjunto sin problemas, procederá a aplicar el resto. Puede usar la opción --no-preparation para desactivar este comportamiento.

Registrar cambios

--commit [directorio] [nombre-parche] [fichero-parche]
    Generates a patch corresponding to the local changes that are not managed by the quilt patch system and integrates it in the patch system under the name patch-name. If the name is missing, it will be asked interactively. If patch-file is given, it is used as the patch corresponding to the local changes to integrate. Once integrated, an editor is launched so that you can edit the meta-information in the patch header. Passing patch-file is mainly useful after a build failure that pre-generated this file, and on this ground the given file is removed after integration. Note also that the changes contained in the patch file must already be applied on the tree and that the files modified by the patch must not have supplementary unrecorded changes. If the patch generation detects modified binary files, they will be automatically added to debian/source/include-binaries so that they end up in the debian tarball (exactly like dpkg-source --include-binaries -b would do).

Opciones de construcción

--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
    By default, dpkg-source will automatically unapply the patches in the --after-build hook if it did apply them during --before-build. Those options allow you to forcefully disable or enable the patch unapplication process. Those options are only allowed in debian/source/local-options so that all generated source packages have the same behavior by default.

--abort-on-upstream-changes
    El proceso falla si se genera un parche automático. Esta opción se puede usar 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 usar 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.

Opciones de extracción

--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 usar 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 fundamente es que el formato «1.0» ya no es el formato recomendado, sino que debería escoger uno de los formatos más recientes («3.0 (quilt)», «3.0 (native)»). dpkg-source no hará esto automáticamente. Si desea continuar usando el formato antiguo, tendrá que ser explícito e insertar «1.0» en debian/source/format.

  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 usar 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 usar 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:

  # let dpkg-source create a debian.tar.bz2 with maximal compression
  compression = "bzip2"
  compression-level = 9
  # use debian/patches/debian-changes as automatic patch
  single-debian-patch
  # ignore changes on config.{sub,guess}
  extend-diff-ignore = "(^|/)(config.sub|config.guess)$"

Nota: no se permiten en este fichero las opciones de formato, y debería usar 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>.
Revisiones por Santiago Vila <sanvila@unex.es>, Javier Fernández-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.