Ich möchte eine aktualisierte Version des Network-Manager-Openconnect-Pakets in Ubuntu erstellen. Anscheinend brauche ich die neueste Paketquelle:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Dann was? Das Paket scheint eine Möglichkeit zu haben, sich mit git vom neuesten Upstream-Code zu aktualisieren. Aber wie bekomme ich das dazu?
installation
network-manager
launchpad
package-management
James Ward
quelle
quelle
Antworten:
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:
Wechseln Sie dann dorthin und aktualisieren Sie das Änderungsprotokoll:
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:
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 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:
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:
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).
quelle
Ok aktualisiert, wie man den Code von der Startrampe zieht
Was diese Dosis ist, ziehen Sie den Code aus dem LP (Launchpad Hosting Service). Wir müssen herausfinden, wo der Code sitzt.
Wechseln Sie in das Verzeichnis, in dem Sie arbeiten möchten, oder fügen Sie das Verzeichnis hinzu, in das Sie und der Code wechseln möchten.
Wenn Sie dies bereits getan haben, haben Sie wahrscheinlich ein Verzeichnis in Ihrem Home-Verzeichnis
In diesem Verzeichnis sollte sich ein README-Feld befinden, um zu sehen, was sich dort befinden sollte. Schauen Sie sich den Projektcode an . Hier ist ein Link zu README.source
README sollte Anweisungen zum Erstellen dieses einzelnen Projekts enthalten.
Andere nützliche bzr-Tools zu installieren
Mit dem bzr-explorere können Sie Ihre bzr-Repositorys, die Sie auf Ihrem Computer erstellt haben, in einer GUI durchsuchen.
Noch ein Hinweis. Möglicherweise müssen Sie die gesamte Network-Manager-Quelle abrufen, um die Openconnect für eine Komponente zu erstellen. Möglicherweise gibt es viele Abhängigkeiten und zwischen verschiedenen Komponenten.
Sie müssen einen Fix für das aktuelle opneconnect-Paket erstellen und dann einen Patch mit allen von Ihnen verwendeten Diff-Tools erstellen. Und senden Sie es an den Paketbetreuer.
Oder wenn Sie Ihr neues Fixpaket lokal verwenden möchten, möchten Sie eine .deb-Paketdatei erstellen.
Wenn Sie ein Paket erstellen möchten, lesen Sie die folgenden Links
quelle