Bueno, parece que las recetas de empaque son el camino a seguir aquí. Básicamente, las recetas de empaque pueden crear automáticamente paquetes fuente de Ubuntu y subirlos a un PPA siempre que cambie una rama bzr en Launchpad. La documentación en línea es bastante buena, pero daré un par de ejemplos ...
Primero, especifique una rama para rastrear (por ejemplo lp:gtk3
) y luego agregue un comando para anidar su propia rama de empaquetado de Debian en esa rama. Eche un vistazo a esta receta que creé para las versiones diarias de Inkscape.
# bzr-builder format 0.4 deb-version 1:0.48+devel+{revno}+{revno:packaging}
lp:inkscape
nest packaging lp:~inkscape.dev/inkscape/debian-packaging debian
Esta receta crea un paquete de Ubuntu cada día utilizando la última fuente ascendente para Inkscape, pero copia las instrucciones de empaquetado Debian personalizadas de la lp:~inkscape.dev/inkscape/debian-packaging
rama en una subcarpeta llamada " debian
".
La página de recetas de empaque en Launchpad le permite especificar a qué PPA cargar automáticamente sus paquetes. En nuestro caso, se sube aquí .
Como enfoque alternativo, puede basar su receta en un paquete de Ubuntu existente en lugar de directamente en la fuente ascendente. Por ejemplo, lp:ubuntu/gtk+3.0
. Luego deberá crear una rama de este código y confirmar las modificaciones que necesite. Llamémoslo lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
, por ejemplo. Luego crearía una receta para fusionar automáticamente sus cambios en lugar de anidar las instrucciones de empaque. La receta se vería así:
# bzr-builder format 0.4 deb-version {debversion}+{date}
lp:ubuntu/gtk+3.0
merge my-custom-build lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
Esta receta, por lo tanto, crea automáticamente un paquete fuente de Ubuntu personalizado y lo carga a su PPA cada vez que hay un cambio en el paquete oficial de Ubuntu.
Si adopta este enfoque de "fusión", tiene dos opciones para aplicar sus parches. O simplemente edita el código fuente ascendente directamente en su rama y deja que bzr se encargue de fusionarlo, o puede crear archivos de parche dentro de la debian/
carpeta usando quilt. Cada uno tiene sus propias ventajas / desventajas. El primer enfoque es un poco más inteligente ... si el desarrollador principal adopta uno de sus parches, entonces la fusión generalmente seguirá funcionando y el paquete Ubuntu se compilará bien. El último enfoque le permite manejar sus parches utilizando el enfoque estándar basado en Debian de mantener el código de empaquetado separado del código ascendente ... sin embargo, si el desarrollador ascendente adopta uno de sus parches, la colcha no podrá aplicar el (duplicado) parche y el paquete no se compilará.
lp:ubuntu/gtk+3.0
rastrea? ¿Versión estable o actual de desarrollo actual?