Ubuntu logo

Packaging Guide

11. Empaquetado tradicional

La mayor parte de esta guía trata del desarrollo distribuido de Ubuntu (Ubuntu Distributed Development (UDD)) que emplea el sistema de control de versiones distribuido (DVCS) Bazaar para obtener los paquetes fuentes ( retrieving package sources) y enviar correcciones con propuestas de integración (merge proposals.). Esta artículo explicará lo que denominamos métodos de empaquetado tradicional, a falta de una palabra mejor. Antes de que se adoptara Bazaar para el desarrollo de Ubuntu estos eran los métodos típicos para contribuir a Ubuntu.

En algunos casos, puede que necesite estas herramientas en lugar de UDD. Así que es recomendable estar familiarizado con ellas. Antes de que comience, debería haber leído ya el artículo sobre la preparación de la configuración en Getting Set Up.

11.1. Obtener el código fuente

Para obtener un paquete fuente, puede simplemente ejecutar:

$ apt-get source <package_name>

Este método, sin embargo, tiene algunos inconvenientes. Descarga la versión del código fuente que está disponible en su sistema. El probable que esté corriendo la emisión estable actual, pero que desee contribuir su cambio contra el paquete de la versión en desarrollo. Afortunadamente, el paquete ubuntu-dev-tools le proporciona un asistente:

$ pull-lp-source <package_name>

De forma predeterminada, se descargará la última versión de la emisión en desarrollo. Puede también indicar una versión o emisión de Ubuntu como:

$ pull-lp-source <package_name> trusty

to pull the source from the trusty release, or:

$ pull-lp-source <package_name> 1.0-1ubuntu1

para descargar la versión 1.0-1ubuntu1 del paquete. Para más información sobre la orden, véase man pull-lp-source.

Para nuestro ejemplo, vamos a suponer que tenemos un informe de error que dice que el «colour» en la descripción de xicc debería ser «color» y deseamos corregirlo (tenga en cuenta que esto es sólo un ejemplo de algo a cambiar y no un error de verdad). Para obtener el código fuente, ejecute:

$ pull-lp-source xicc 0.2-3

11.2. Crear un Debdiff

Un archivo debdiff muestra las diferencias entre dos paquetes Debian. El nombre de la orden empleada para generarlo también se llama debdiff. Es parte del paquete devscripts. Veáse man debdiff` para obtener toda la información. Para comparar dos paquetes fuentes, pase los dos archivos ``dsc como parámetros:

$ debdiff <package_name>_1.0-1.dsc <package_name>_1.0-1ubuntu1.dsc

Para continuar con nuestro ejemplo, edite el archivo debian/control y «corrija» el «error»:

$ cd xicc-0.2
$ sed -i 's/colour/color/g' debian/control

We also must adhere to the Debian Maintainer Field Spec and edit debian/control to replace:

Maintainer: Ross Burton <ross@debian.org>

con:

Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Ross Burton <ross@debian.org>

Puede usar la herramienta update-maintainer (del paquete ubuntu-dev-tools) para hacerlo.

Recuerde documentar sus cambios en debian/changelog usando dch -i tras lo cual ya se puede generar un nuevo paquete fuente:

$ debuild -S

Ahora ya puede examinar los cambios usando debdiff:

$ cd ..
$ debdiff xicc_0.2-3.dsc xicc_0.2-3ubuntu1.dsc | less

Para crear un archivo de parche que pueda enviar a otros o adjuntando a un informe de error para su patrocinio, ejecute:

$ debdiff xicc_0.2-3.dsc xicc_0.2-3ubuntu1.dsc > xicc_0.2-3ubuntu1.debdiff

11.3. Aplicar un Debdiff

Para aplicar un debdiff, primero asegúrese de que tiene el código fuente de la versión para la que se creó:

$ pull-lp-source xicc 0.2-3

A continuación, en un terminal, cambie al directorio donde se descomprimió el código fuente:

$ cd xicc-0.2

Un debdiff es igual que un archivo de parche normal. Aplíquelo de la forma habitual con:

$ patch -p1 < ../xicc_0.2.2ubuntu1.debdiff