Schritte zum Erstellen eines leicht modifizierten Pakets und zum Hochladen in eine PPA?


7

Ich möchte nur ein Ubuntu-Paket aus den offiziellen Ubuntu-Repos verwenden, seine Quelle nur ein kleines bisschen ändern (es hat keine Auswirkungen auf Abhängigkeiten oder irgendetwas) und es dann in ein Launchpad-PPA hochladen, das ich dafür erstellt habe.

Ich möchte kein professioneller Ubuntu-Paketbetreuer werden, daher ist es für mich übertrieben, alle Dokumente zum Erstellen eines Ubuntu-Pakets von Grund auf zu lesen.

Gibt es einige einfache Schritte für diese Aufgabe?

PS: Ich mache das wegen dieses Fehlers in bpython und anderer Dinge, die ich an Ubuntu-Paketen in den offiziellen Ubuntu-Repos möglicherweise nicht mag.


Ich nehme an, es geht darum, für immer zu teilen.
Andrejs Cainikovs

@harisibrahimkv Wie Andrejs Cainikovs sagte: Teilen. Und vielleicht gibt es mehr als dieses Paket, das ich ändern möchte. Die Installation von allen Quellen ist nicht sehr komfortabel.
dAnjou

1
Wenn Sie einen Fix haben, suchen Sie einen entsprechenden Fehler im Paket (oder reichen Sie einen neuen ein) und fügen Sie den Patch hinzu. Auf diese Weise wird der Patch geteilt und in zukünftige Ubuntu-Versionen aufgenommen (auf diese Weise werden Sie auch kein professioneller Betreuer, da alle Betreuer bereits so ziemlich Freiwillige sind)
Thomas Ward

Bitte denken Sie daran, die beste (n) Antwort (en) auf Ihre Frage nach Möglichkeit zu akzeptieren / zu bewerten (Häkchen / Häkchen links). Auf diese Weise wird die Frage als "beantwortet" markiert und zukünftige Leser können darauf verweisen, wenn sie wissen, dass die Lösung funktioniert. Vielen Dank ... :)
ish

Antworten:


8

Gibt es einige einfache Schritte für diese Aufgabe?

Es ist nur "einfach", wenn Sie mit einem Paket beginnen, das in den Ubuntu- oder Debian-Repositorys vorhanden ist. Hier ist eine Übersicht:

  1. Verwenden Sie apt-get sourcediese Option, um die Quellen / Unterschiede für das Paket herunterzuladen und anzuwenden.
  2. Gehen Sie in das Verzeichnis, wenden Sie Ihre Patches an / nehmen Sie Ihre Änderungen vor.
  3. Verwenden dchSie diese Option, um das Changelog mit dem zu aktualisieren, was Sie geändert haben, und "benennen" Sie Ihre benutzerdefinierte Version (normalerweise eine Typbezeichnung "ppa1 ~ series1").
  4. Führen Sie debuild -S -sdoder aus debuild -S -sa, je nachdem, ob Ihre ursprünglichen Paketquellen im Zielserien-Repository vorhanden sind oder nicht.
  5. gpg-signiere das Paket, wenn du dazu aufgefordert wirst (der Schlüssel muss auf dem Launchpad registriert sein).
  6. Verwenden Sie dputdiese xxxxxx.changesOption , um die Datei auf das Launchpad hochzuladen , das je nach den von debuildIhnen erstellten Switches auch die Unterschiede und möglicherweise die Quelle enthält
  7. Entspannen Sie sich und überprüfen Sie Ihre PPA auf den Build-Status / die Updates.

Wenn Sie Debian Sid-Quellen usw. zurückportieren oder verwenden, ist es eine gute Idee, eine Chroot einzurichten und zwischen Schritt 3 und 4 auszuführen dpkg-buildpackage -us -uc, um eventuelle Abhängigkeitsprobleme im Keim ersticken zu lassen.


Natürlich hatte ich noch keine Zeit, es zu versuchen, sorry.
dAnjou

1
Als ich dies versuchte, stellte ich fest, dass ein Schritt fehlte. Bevor Sie das Paket debuildieren, müssen Sie "dpkg-source --commit" eingeben, wenn Sie Änderungen am Paket vorgenommen haben. Dadurch wird eine Patchdatei erstellt, die Ihre Änderungen enthält. Das Debuild schlug fehl, bis ich das tat.
Mandreko

1

Warum nicht noch einen Schritt weiter gehen und Ihre Fehlerbehebung mit allen anderen Ubuntu-Benutzern teilen?

Die Verpackungsanleitung enthält eine recht einfache Anleitung zum Thema . Sie müssen nicht "alle Dokumente lesen".


Keine Antwort auf meine Frage, aber definitiv etwas, über das ich nachdenken werde. Vielen Dank.
dAnjou

Eigentlich ist es so. Das Veröffentlichen in einer PPA unterscheidet sich nicht wesentlich von der Fehlerbehebung in den Archiven.
Tumbleweed

Abgesehen davon, dass ich nicht auf die nächste Version warten muss, da meine Änderung nicht als Sicherheitsproblem betrachtet wird. Oder fehlt mir etwas?
dAnjou

Richtig, aber die erforderliche Arbeit ist im Wesentlichen dieselbe, nur unterschiedliche Unterlagen :) Wenn es sich um ein ernstes Problem handelt, kann es behoben werden -updates. Und wenn in der nächsten Version niemand das Problem behebt, wird es auch nicht behoben.
Tumbleweed
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.