Ubuntu logo

Packaging Guide

7. Subir un paquete

Once your merge proposal is reviewed and approved, you will want to upload your package, either to the archive (if you have permission) or to your Personal Package Archive (PPA). You might also want to do an upload if you are sponsoring someone else’s changes.

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

7.2. 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/trusty/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>"

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

7.4. 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/trusty/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ó.