Obtener el código fuente¶
URLs de los paquetes fuente¶
Bazaar proporciona varios atajos muy buenos para acceder a las ramas fuentes de paquetes de Launchpad tanto de Ubuntu como de Debian.
Para referirse a las ramas fuentes use:
ubuntu:package
donde paquete se refiere el nombre del paquete en el que está interesado. Esta URL se refiere al paquete en la versión de desarrollo actual de Ubuntu. Para referirse a la rama de Tomboy en la versión de desarrollo, debería usar:
ubuntu:tomboy
Para referirse a la versión de un paquete fuente de una versión más antigua de Ubuntu, añada al nombre del paquete el prefijo con el código de nombre de la versión. Por ejemplo, para referirse al paquete fuente de Tomboy en Maverick use:
ubuntu:maverick/tomboy
Puesto que son únicos, también puede abreviar el nombre de las series de distribuciones:
ubuntu:m/tomboy
Puede usar un esquema similar para acceder a las ramas fuentes de Debian, aunque en este caso no hay atajos para nos nombres de las series de distribuciones de Debian. Para acceder a la rama de Tomboy en la serie de desarrollo de Debian actual use:
debianlp:tomboy
y para acceder a Tomboy en Debian Lenny use:
debianlp:lenny/tomboy
Obtener el código fuente¶
Cada paquete fuente de Ubuntu tiene asociada una rama fuente en Launchpad. Estas ramas fuentes son actualizadas automáticamente por Launchpad, aunque el proceso actualmente no es infalible.
Hay un par de cosas que se hacen antes para que el flujo de trabajo posterior sea más eficiente. Una vez que se acostumbre al proceso aprenderá cuando puede saltarse estos pasos.
Obtener la rama troncal¶
Se usa la orden bzr branch para crear una rama local del paquete. Llamaremos al directorio destino tomboy.dev sólo para mantenerlo fácil de recordar:
$ bzr branch ubuntu:tomboy tomboy.dev
El directorio tomboy.dev representa la versión de Tomboy en la versión de desarrollo de Ubuntu y siempre puede cambiarse (cd) a este directorio y hacer bzr pull para obtener actualizaciones futuras.
Asegurarse de que la versión está actualizada¶
Cuando hace bzr branch obtendrá un mensaje indicándole si la rama de empaquetado está actualizada. Por ejemplo:
$ bzr branch ubuntu:tomboy
Most recent Ubuntu version: 1.8.0-1ubuntu1.2
Packaging branch status: CURRENT
Branched 86 revisions.
Ocasionalmente el importador falla y las ramas de empaquetado no coincidirán con lo que hay en el repositorio. Un mensaje diciendo:
Packaging branch status: OUT-OF-DATE
significa que el importador ha fallado. Puede averiguar por qué en http://package-import.ubuntu.com/status/ y presentar un error en el proyecto file a bug on the UDD project para hacer que se resuelva la incidencia.
Tar aguas arriba («upstream»)¶
Puede obtener un tar de aguas arriba ejecutando:
bzr get-orig-source
Esto probará varios métodos para obtener el archivo tar de aguas arriba, primero recreándolo desde la etiqueta upstream-x.y del archivo bzr, luego descargándolo desde el repositorio de Ubuntu y finalmente ejecutando debian/rules get-orig-source. El tar de aguas arriba también se recreará cuando se usa bzr para construir el paquete:
bzr builddeb
El complemento builddeb tiene varias opciones de configuración configuration options.
Obtener una rama de una versión en particular¶
Cuando desee hacer algo como una stable release update (SRU, actualización de versión estable) o si simplemente quiere examinar el código de una versión antigua, deberá obtener la rama correspondiente a una versión de Ubuntu en particular. Por ejemplo, para obtener el paquete de Tomboy para Maverick haga:
$ bzr branch ubuntu:m/tomboy maverick
Importar un paquete fuente de Debian¶
Si el paquete en el que desea trabajar está disponible en Debian, pero no en Ubuntu, sigue siendo fácil importar el código a una rama de bzr local para el desarrollo. Digamos que quiere importar el paquete fuente newpackage. Empezaremos por crear un repositorio compartido como habitualmente, pero también debemos crear un árbol de trabajo en el que importar el paquete fuente (recuerde salir del directorio tomboy creado anteriormente):
$ bzr init-repo newpackage
$ cd newpackage
$ bzr init debian
$ cd debian
$ bzr import-dsc http://ftp.de.debian.org/debian/pool/main/n/newpackage/newpackage_1.0-1.dsc
Como puede ver, solo hace falta proporcionar la ubicación remota del archivo dsc, y Bazaar hará el resto. Ya ha obtenido la rama fuente de Bazaar.