Das Erstellen eines aktualisierten Pakets aus einer bzr-Filiale unterscheidet sich in der Regel erheblich, je nachdem, wer die Filialen verwaltet oder wie das Paket im Allgemeinen funktioniert. Hier sind jedoch einige Richtlinien für ein schnelles und schmutziges Update nahezu aller Pakete, die auf eine PPA übertragen werden sollen:
Holen Sie sich die Niederlassung:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Wechseln Sie dann dorthin und aktualisieren Sie das Änderungsprotokoll:
dch -i
dch -i öffnet einfach einen neuen Eintrag in debian / changelog und erhöht die Versionsrevision um eins. Wenn Sie einen Patch hinzufügen möchten, ist dies perfekt. Wenn Sie jedoch auf eine neuere Version der Upstream-Software aktualisieren möchten, müssen Sie die Versionsnummer vor dem Bindestrich (-) aktualisieren. Angenommen , eine Version in 1.2-0ubuntu1 ändert sich beim Starten von dch -i in 1.2-0ubuntu2 , was sich gut zum Patchen eignet . Wenn Sie jedoch eine neue Version benötigen, möchten Sie diese wahrscheinlich in 1.3-0ubuntu1 ändern .
Wenn Sie patchen müssen, ist es jetzt an der Zeit, Ihre Änderungen hinzuzufügen. In Zweigen, die nur ein Debian / -Verzeichnis haben , können Sie mit bzr bd-do (erfordert das Paket bzr-builddeb) zu einem Arbeitsbaum wechseln, in dem Sie Änderungen vornehmen, Quilt oder ein beliebiges Patch-System verwenden und dann "exit 0" to Lassen Sie Ihre Änderungen zurückkopieren.
Wenn Sie eine neue Upstream-Version wünschen, führen Sie nach dem Ändern des Änderungsprotokolls wahrscheinlich einen ähnlichen Befehl aus:
debian/rules get-orig-source
Dadurch wird normalerweise der richtige Tarball vom Upstream-Publisher heruntergeladen, um Ihnen den Einstieg zu erleichtern. Wenn weitere Änderungen erforderlich sind, gehen Sie wie oben beschrieben vor, um andere Dateien im Verzeichnis debian / zu "patchen" oder zu ändern. Andernfalls sind Sie fast fertig:
bzr bd -S
bzr bd kümmert sich um den Bau. Wenn Sie es ohne Argumente aufrufen, wird es auf Ihrem System aufgebaut, während Sie es mit -S aufrufen , um ein Quellpaket vorzubereiten, das eine ..._ source.changes- Datei enthält, die Sie auf Ihre PPA hochladen möchten (verwenden Sie dput ppa: <Ihr Name> / <Name Ihres ppa> <Ändert die Datei>, um dies zu tun).
Bei NetworkManager-Paketen ist dies etwas anders. Schauen wir uns openconnect genauer an:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head network-manager-openconnect
Stellen Sie sicher, dass Sie auch alle Build-Abhängigkeiten haben: sudo get-build-deps
Wenn der Zweig abgerufen wurde, liest er die Debian- / Steuerdatei und versucht, alles herunterzuladen, was Sie zum Erstellen von Network-Manager-Openconnect benötigen. Vielleicht brauchst du auch Git. Führen Sie anschließend get-orig-source aus , um nur den Tarball des neuesten Snapshots von git abzurufen:
debian/rules get-orig-source
Sie werden sehen, wie Text vorbeifliegt und ein Tarball mit einer langen Versionsnummer erscheint. Das ist der neueste Code, den Sie für nm-openconnect erhalten können.
Sie müssen dann das Änderungsprotokoll mit der Versionsnummer des Tarballs aktualisieren und dabei das Suffix -0ubuntu1 beibehalten .
Oder ändern Sie debian / changelog mit der gewünschten Versionsnummer und führen Sie dann Folgendes aus: debian / rules get-current-source
Da sich an den Plugins nicht viel ändert, sollten Sie in der Lage sein, das Paket von dort aus mit bzr bd wie oben zu erstellen . Wenn nicht, übernehmen Sie alle erforderlichen Änderungen wie oben.
Vergessen Sie nicht, bzr festzuschreiben, nachdem Sie Änderungen vorgenommen haben.
Ich habe zuerst vergessen hinzuzufügen, zögern Sie nicht, das Zusammenführungsvorschlags-System ( Vorschlag zum Zusammenführen, Link der Seite Ihrer Zweigstelle auf LP) zu verwenden, wenn die von Ihnen vorgenommenen Änderungen anderen zugute kommen könnten. Normalerweise können Sie nur vorschlagen, sich mit dem Zweig zusammenzuschließen, auf dem Ihr Zweig basiert (z. B. lp: ~ Netzwerkmanager / Netzwerkmanager / openconnect-ubuntu.head in diesem Fall).