Subir un paquete¶
Una vez que su propuesta de integración se ha revisado y aprobado, deseará subir el paquete, al repositorio (si tiene permiso) o a su archivo de paquetes personales (Personal Package Archive, PPA). También es posible que desee realizar una subido si está patrocinando los cambios de otra persona.
Subir un paquete que ha modificado¶
Cuando tenga una rama con cambios que le gustaría subir tendrá que llevar esos cambios de vuelta a la rama de código principal, compilar el paquete fuente y luego subirlo.
Primero necesita comprobar que dispone de la última versión del paquete en su extracción de la rama troncal del paquete de desarrollo:
$ cd tomboy/tomboy.dev
$ bzr pull
Esto descarga todos los cambios que se hayan podido confirmar mientras ha estado trabajando en su corrección. A partir de este punto tiene varias opciones. Si los cambios en la rama troncal son importantes y considera que deberían probarse junto con sus cambios puede fusionarlos en su rama de corrección del error y probarlos ahí. Si no lo son, puede continuar integrando sus rama de corrección del error en la rama troncal del desarrollo. Desde las versiones 2.5 de bzr y 2.8.1 de bzr-builddeb funciona igual que la orden merge estándar.
$ bzr merge ../bug-12345
Para versiones más antigas de bzr, puede usar en su lugar la orden merge-package:
$ bzr merge-package ../bug-12345
Esto fusionará los dos árboles, posiblemente produciendo conflictos, que deberá resolver manualmente.
Después debería asegurarse de que el archivo debian/changelog está como desea, con la distribución correcta, número de versión, etc.
Una vez realizado deberia revisar el cambio que está a punto de confirmar con bzr diff. Esto debería mostrarle los mismos cambios que devolvería debdiff antes de que suba el paquete fuente.
El siguiente paso es construir y probar el paquete fuente como haría normalmente:
$ bzr builddeb -S
Cuando por fin esté satisfecho con su rama, asegúrese de haber confirmado todos los cambios y luego etiquétela con el número de versión del registro de cambios (changelog). La orden bzr tag lo hará por usted de forma automática cuando no se le pasen parámetros:
$ bzr tag
Esta etiqueta le dirá al importador del paquete que lo que está en la rama de Bazaar es lo mismo que lo que está en el repositorio.
Ahora ya puede empujar los cambios de vuelta a Launchpad:
$ bzr push ubuntu:tomboy
(cambie el destino si está subiendo una SRU o similar).
Necesita un último paso para hacer que sus cambios se suban a Ubuntu o a su PPA: necesita hacer dput del paquete fuente a la ubicación apropiada. Por ejemplo, si quiere subir sus cambios a su PPA, debería hacer:
$ dput ppa:imasponsor/myppa tomboy_1.5.2-1ubuntu5_source.changes
o, si tiene permisos para subir al repositorio primario:
$ dput tomboy_1.5.2-1ubuntu5_source.changes
Ahora ya puede borrar su rama, ya que se ha integrado, y se puede volver a descargar de Launchpad si hiciera falta.
Patrocinar un cambio¶
Para patrocinar los cambios de otra persona debe seguir el proceso descrito, pero en lugar de integrar los cambios de una rama que usted ha creado, lo hará desde la rama de la propuesta de integración.
$ bzr merge lp:~subgenius/ubuntu/natty/tomboy/bug-12345
Si hay muchos conflictos en la integración probablemente desee pedirle al contribuyente que los arregle. Vea la siguiente sección para aprender cómo cancelar una integración pendiente.
Pero si los cambios tienen buena pinta, confírmelos y luego siga el resto del proceso de subida:
$ bzr commit --author "Bob Dobbs <subgenius@example.com>"
Cancelar una descarga¶
En cualquier momento antes de haga dput del paquete fuente puede decidir cancelar una subida y deshacer los cambios:
$ bzr revert
Puede hacerlo si nota que algo necesita más trabajo o si le gustaría pedir a un contribuyente que arregle conflictos cuando esté patrocinando algo.
Patrocinar algo y hacer sus propias modificaciones¶
Si va a patrocinar el trabajo de otra persona, pero a la vez le gustaría añadir algunos cambios suyos puede hacerlo fusionando antes ambos trabajos en una rama independiente.
Si ya dispone de una rama en la que está trabajando en el paquete y quiere incluir sus cambios, simplemente ejecute bzr merge desde esa rama, en lugar de hacerlo desde la extracción del paquete de desarrollo. Puede entonces hacer los cambios y confirmarlos y seguir con sus cambios al paquete.
Si no tiene una rama existente, pero sabe que desea hacer cambios en base a lo proporcionado por el contribuyente, debería entonces comenzar por obtener su rama:
$ bzr branch lp:~subgenius/ubuntu/natty/tomboy/bug-12345
luego trabaje en esta nueva rama, intégrela en la principal y súbala como si fuera su propio trabajo. Todavía se mencionará al contribuyente en el registro de cambios (changelog) y Bazaar le atribuirá correctamente los cambios que realizó.