Nun, es hört sich so an, als wären Verpackungsrezepte der richtige Weg. Grundsätzlich können Verpackungsrezepte automatisch Ubuntu-Quellpakete erstellen und auf eine PPA hochladen, wenn sich ein bzr-Zweig auf dem Launchpad ändert. Die Online-Dokumentation ist ziemlich gut, aber ich werde ein paar Beispiele geben ...
Zuerst geben Sie einen zu verfolgenden Zweig an (zum Beispiel lp:gtk3
) und fügen dann einen Befehl hinzu, um Ihren eigenen Debian-Verpackungszweig in diesen Zweig zu verschachteln. Schauen Sie sich dieses Rezept an, das ich für tägliche Builds von Inkscape erstellt habe.
# 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
Dieses Rezept erstellt jeden Tag ein Ubuntu-Paket unter Verwendung der neuesten Upstream-Quelle für Inkscape, kopiert jedoch angepasste Debian-Verpackungsanweisungen aus dem lp:~inkscape.dev/inkscape/debian-packaging
Zweig in einen Unterordner mit dem Namen " debian
".
Auf der Verpackungsrezeptseite von Launchpad können Sie angeben, auf welche PPA Ihre Pakete automatisch hochgeladen werden sollen. In unserem Fall ist es hochgeladen hier .
Alternativ können Sie Ihr Rezept auf ein vorhandenes Ubuntu-Paket stützen und nicht direkt auf die Upstream-Quelle. Zum Beispiel lp:ubuntu/gtk+3.0
. Sie müssten dann einen Zweig dieses Codes erstellen und alle erforderlichen Änderungen vornehmen. Nennen wir es lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
zum Beispiel. Sie würden dann ein Rezept erstellen, um Ihre Änderungen automatisch zusammenzuführen, anstatt die Verpackungsanweisungen zu verschachteln. Das Rezept würde ungefähr so aussehen:
# 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
Dieses Rezept erstellt daher automatisch ein benutzerdefiniertes Ubuntu-Quellpaket und lädt es auf Ihre PPA hoch, wenn sich das offizielle Ubuntu-Paket ändert.
Wenn Sie diesen "Zusammenführungs" -Ansatz wählen, haben Sie zwei Möglichkeiten, Ihre Patches anzuwenden. Entweder bearbeiten Sie einfach den Upstream-Quellcode direkt in Ihrem Zweig und lassen bzr sich um das Zusammenführen kümmern, oder Sie können Patch-Dateien debian/
mit Quilt im Ordner erstellen . Jeder hat seine eigenen Vor- und Nachteile. Der erstere Ansatz ist etwas schlauer ... Wenn einer Ihrer Patches vom Upstream-Entwickler übernommen wird, funktioniert die Zusammenführung normalerweise noch und das Ubuntu-Paket wird in Ordnung erstellt. Mit dem letzteren Ansatz können Sie Ihre Patches mit dem Standard-Debian-basierten Ansatz behandeln, bei dem der Verpackungscode vom Upstream-Code getrennt bleibt. Wenn der Upstream-Entwickler jedoch einen Ihrer Patches übernimmt, kann Quilt das (Duplikat) nicht anwenden. Patch und das Paket kann nicht erstellt werden.
lp:ubuntu/gtk+3.0
? Aktuelle stabile oder aktuelle Entwicklungsversion?