Me gustaría crear una versión actualizada del paquete network-manager-openconnect en Ubuntu. Aparentemente necesito obtener la última fuente del paquete:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
¿Y que? El paquete parece tener una manera de actualizarse desde el último código ascendente usando git. Pero, ¿cómo consigo que haga eso?
installation
network-manager
launchpad
package-management
James Ward
fuente
fuente
Respuestas:
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:
Luego cambie a él y actualice el registro de cambios:
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:
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 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:
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:
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).
fuente
Ok actualizado sobre cómo extraer el código de la plataforma de lanzamiento
Lo que esta dosis es extraer el código del lp (servicio de alojamiento de launchpad). Necesitamos encontrar dónde está el código.
Intente cambiar al directorio en el que desea trabajar o agregue el directorio donde usted y el código deben ir.
Si ya ha hecho esto, probablemente tenga un directorio en su directorio de inicio
Debería haber un campo README en ese directorio para ver qué debería estar allí, eche un vistazo al código del proyecto , aquí hay un enlace a README.source
README debe tener instrucciones sobre cómo construir ese proyecto individual.
Otras herramientas útiles de bzr para instalar
El bzr-explorere te permitirá explorar tus repositorios de bzr que has creado en tu máquina en una interfaz gráfica de usuario.
Otra nota. Es posible que necesite extraer toda la fuente del administrador de red para construir la conexión abierta de un componente. Puede haber muchas dependencias y entre diferentes componentes.
Debe crear una solución para el paquete actual de opneconnect y luego crear un parche utilizando todas las herramientas de diferencias que utiliza. Y envíelo al mantenedor del paquete.
O si desea utilizar su nuevo paquete de arreglos localmente, desea crear un archivo de paquete .deb.
Crear un paquete esto es bastante complicado leer los siguientes enlaces
fuente