Ich möchte das neueste Gourmet- Paket von Debian Sid zur PPA unseres Teams hinzufügen, damit Ubuntu-Benutzer, die eine aktuelle Version von Gourmet ausführen möchten, diese PPA zu ihren Softwarequellen hinzufügen können. (In Bezug auf Abhängigkeiten sollte dies kein großes Problem sein, da so gut wie alle unsere aktuellen Abhängigkeiten bereits in allen derzeit unterstützten Ubuntu-Versionen verfügbar sind.)
Ich habe die *.dsc
Datei sowie die Debian- und Orig-Tarballs heruntergeladen und sogar herausgefunden, dass ich diese für die source.changes
Datei des Pakets verwenden kann. Ich habe auch den öffentlichen Schlüssel des Debian-Betreuers heruntergeladen, damit ich dput
das Paket validieren kann. Ich habe dann versucht, das Paket mit dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes
(ich habe es auch ohne Tilda versucht) auf unsere PPA hochzuladen. Dies schien erfolgreich zu sein, aber ich habe keine Bestätigungs-E-Mail erhalten, und auf unserer PPA werden jetzt keine Pakete angezeigt , was mich glauben lässt dass das Paket abgelehnt wurde, weil der Schlüssel des Debian-Betreuers offensichtlich nicht zu den Schlüsseln unserer Teammitglieder gehört.
Was ist der einfachste Weg, ein Paket von Debian (sid) auf ein Launchpad-PPA zu "kopieren"? Muss ich das gesamte Paket wirklich lokal neu erstellen, bevor ich es hochladen kann?
Antworten:
Sie müssen die neu zu erstellen Quelle Paket lokal vor dem Hochladen , um das Änderungsprotokoll anzupassen und die Änderungen Datei zu regenerieren. Da das Backportieren eines Pakets eine ziemlich häufige Aufgabe ist, wurde dies per Skript ausgeführt. Schauen Sie sich das
backportpackage
Befehlspaket ubuntu-dev-tools an.Um ein Paket von Debian zurück zu portieren, geben Sie einfach die Zieldistributionsserie, PPA und die dsc-Datei für das Paket an:
Es ist noch einfacher, ein Paket von einer Ubuntu-Version in eine andere zurück zu portieren, da Sie die dsc-Datei nicht finden müssen. Nehmen wir an, wir möchten von utopisch zu vertrauenswürdig zurückportieren:
quelle
~gourmet/ppa
als Argument an den-u
Parameter übergeben habe. (Aber ich konnte es glücklicherweise über Launchpad von meinem PPA auf das Gourmet-Team kopieren.)Es gibt einige Möglichkeiten, dies zu tun.
Als ich dies für Rhythmbox tat, folgte ich dem folgenden Rezept:
ein. Nehmen Sie die Quelldatei und die Debian-Dateien
b. Dekomprimieren Sie die Quelle (.orig.tar.xz)
c. Benennen Sie den Quellordner so um
rhythmbox-3.0.3
c. dekomprimieren Sie die Debian-Datei (.debian.tar.xz)
d. Verschieben Sie den Debian-Ordner unter das Quellverzeichnis
e.
dch -i
um die Changelog-Datei zu ändernf. Ändern Sie den "instabilen" Paketnamen in den Namen des Ubuntu-Ziels - hier habe ich genau für 12.04 verwendet. Ändern Sie die für Ihre App geeignete Version. Hier war Rhythmbox 3.0.3 - also habe ich gerade hinzugefügt
-1~ppafossfreedom
G. Erstellen Sie ein neues Quellpaket:
dh_build --createorig
h. Erstellen Sie nur die Quelle mit Ihrem Schlüssel:
debuild -S -k0xABCDEFG
WoABCDEFG
ist Ihr Schlüssel?ich. Laden Sie Ihr Paket zum Erstellen hoch:
quelle
dget
Befehl aus demdevscripts
Paket an. Das wird das ziemlich vereinfachen.dget
=) lernen. Die dsc-Datei enthält alle Informationen zu den anderen Teilen des Quellpakets. Alsodget
schnapp dir alles und extrahiere es richtig, wenn du ihm einen Link zur dsc-Datei gibst.dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc