La construcción de un paquete actualizado desde una sucursal de bzr tiende a diferir en una cantidad justa dependiendo de quién mantiene las sucursales o cómo funciona el paquete en general. Sin embargo, aquí hay algunas pautas para una actualización rápida y sucia de casi cualquier paquete, que se enviará a un PPA:
Consigue la sucursal:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Luego cambie a él y actualice el registro de cambios:
dch -i
dch -i simplemente abrirá una nueva entrada en debian / changelog, aumentando la revisión de la versión en uno. Si desea agregar un parche, eso es perfecto, pero si desea actualizar a una versión más reciente del software ascendente, deberá actualizar el número de versión antes del guión (-). Digamos, una versión en 1.2-0ubuntu1 , si inicia dch -i cambiará a 1.2-0ubuntu2 , lo cual es bueno para parchar , pero si necesita una nueva versión, es probable que desee cambiar eso a 1.3-0ubuntu1 .
Si necesita parchear, ahora es el momento de agregar sus cambios. En las ramas que solo tienen un directorio debian / , puede usar bzr bd-do (requiere el paquete bzr-builddeb) para cambiar a un árbol de trabajo donde puede hacer cambios, usar quilt o cualquier sistema de parches, luego "salir 0" para haga que se vuelvan a copiar sus cambios.
Si desea una nueva versión ascendente, una vez que se haya cambiado el registro de cambios, es probable que ejecute un comando similar a este:
debian/rules get-orig-source
Por lo general, esto descargará el tarball correcto del editor principal para comenzar. Si es necesario realizar más cambios, proceda como se indica arriba para "parchar" o cambiar otros archivos en el directorio debian / , de lo contrario ya casi ha terminado:
bzr bd -S
bzr bd se encargará de la construcción. Llamarlo sin argumentos comienza a construirse en su sistema, mientras que llamarlo con -S le dice que prepare un paquete fuente, que incluirá un archivo ..._ source.changes que es lo que desea cargar en su PPA (use dput ppa: <su nombre> / <nombre de su ppa> <cambia el archivo> para hacer eso).
Para los paquetes de NetworkManager, es un poco diferente. Echemos un vistazo a openconnect específicamente:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head network-manager-openconnect
Asegúrese de tener también todas las dependencias de compilación: sudo get-build-deps
Con la rama recuperada, esto leerá el archivo debian / control e intentará descargar todo lo que necesita para construir network-manager-openconnect. Sin embargo, es posible que también necesites git. Una vez hecho esto, ejecute get-orig-source para obtener solo el tarball de la última instantánea de git:
debian/rules get-orig-source
Verás que pasa el texto y aparece un tarball con un número de versión largo. Ese es el último código que puede obtener para nm-openconnect.
Luego deberá actualizar el registro de cambios con el número de versión del tarball, simplemente manteniendo intacto el sufijo -0ubuntu1 .
O bien, cambie debian / changelog con el número de versión específico que desee, luego ejecute: debian / rules get-current-source
Dado que los complementos no cambian mucho, debería poder construir el paquete desde allí, utilizando bzr bd como se indicó anteriormente. De lo contrario, aplique los cambios necesarios como se indicó anteriormente.
No se olvide de bzr commit después de haber realizado cambios.
Primero olvidé agregar, no dude en utilizar el sistema de propuesta de fusión ( Proponer para vincular la página de su sucursal en LP) cuando los cambios que está realizando podrían beneficiar a otros. Por lo general, puede proponer la fusión contra la rama en la que se basa la suya (por ejemplo, lp: ~ network-manager / network-manager / openconnect-ubuntu.head en este caso).