Ubuntu logo

Packaging Guide

5. Trabajar en un paquete

Una vez que tenga la rama del paquete fuente en el repositorio compartido, querrá crear ramas adicionales para las correcciones u otros trabajos que pretenda hacer. Deseará basar su rama a partir de la rama del paquete base para la emisión a la que tiene pensado subirlo. Normalmente se trata de la emisión actualmente en desarrollo, pero podrían ser también emisiones anteriores si está adaptando cambios a un SRU, por ejemplo.

5.1. Bifurcar para hacer un cambio

Lo primero a hacer es asegurarse de que su rama del paquete fuente está actualizada. Lo estará si la acaba de extraer, de otra forma haga lo siguiente:

$ cd tomboy.dev
$ bzr pull

Todas las actualizaciones al paquete que se hayan subido desde que realizó la extracción se descargarán en este momento. No va a querer hacer cambios a esta rama. En lugar de eso, cree una rama que contendrá únicamente los cambios que va a realizar. Digamos que quiere corregir el error 12345 del proyecto Tomboy. Cuando esté en el repositorio compartido que ha creado previamente para Tomboy, puede crear la rama de corrección del error de la siguiente forma:

$ bzr branch tomboy.dev bug-12345
$ cd bug-12345

Ahora puede hacer todo el trabajo en el directorio bug-12345. Puede hacer ahí los cambios que considere necesarios, confirmándolos según avance. Esto es lo mismo que realizar cualquier desarrollo de software con Bazaar. Puede hacer confirmaciones parciales tan frecuentes como desee y cuando haya terminado con los cambios, usará la orden estándar dch (del paquete devscripts):

$ dch -i

Esto le dejará en un editor para que añada una entrada al archivo debian/changelog.

tomboy (1.12.0-1ubuntu3) trusty; urgency=low

  * Don't fubar the frobnicator. (LP: #12345)

 -- Bob Dobbs <subgenius@example.com>  Mon, 10 Sep 2013 16:10:01 -0500

Confirmar con el habitual:

bzr commit

Un enganche en bzr-builddeb usará el texto de debian/changelog como mensaje de confirmación y usará la etiqueta para marcar el bug #12345 como corregido.

Esto solo funciona con bzr-builddeb 2.7.5 y bzr 2.4. Para versiones más antiguas use debcommit.

5.2. Construir el paquete

Por el camino querrá compilar su rama de forma que pueda probarla y asegurarse de que realmente corrige el error.

Para de construir el paquete se puede utilizar la orden bzr builddeb del paquete bzr-builddeb. Se puede construir un paquete fuente con:

$ bzr builddeb -S

(bd es un alias de builddeb). Se puede dejar el paquete sin firmar añadiendo -- -uc -us a la orden.

También es posible utilizar sus herramientas habituales, siempre que sean capaces de eliminar los directorios .bzr del paquete, por ejemplo:

$ debuild -i -I

Si en algún momento encuentra un error al intentar construir un paquete nativo sin un archivo tar, compruebe si existe un archivo .bzr-builddeb/default.conf que erróneamente especifique el paquete como nativo. Si la versión del changelog incluye un guión, no se trata de un paquete nativo, así que elimine el archivo de configuración. Tenga en cuenta que aunque bzr builddeb tiene un indicador --native, no dispone de un indicador --no-native.

Una vez haya obtenido el paquete fuente, puede construirlo de forma normal con pbuilder-dist (o pbuilder o sbuild).