Wie kann man mit einem Rezept Pakete für verschiedene Ubuntu-Serien erstellen (Probleme mit ./debian/changelog)?

6

Die Beta-Funktion des Launchpads ermöglicht das Erstellen von Ubuntu-Paketen anhand von Rezepten. Ich habe sie zum Arbeiten gebracht und kann sie jetzt zum Verpacken meines Projekts verwenden.

Ich habe jedoch wenig Probleme mit der Datei ./debian/changelog. Ich muss es mit einem Distributionsnamen ausfüllen ([Paketname] ([Version]) [ Distribution ]; [Dringlichkeit]) . Sagen wir, ich habe dort "Einzelgänger" gesetzt. Dann fordere ich einen Build mit dem Rezept. Ich entscheide mich, es sowohl für Einzelgänger als auch für Natty zu bauen. Infolgedessen wird das Feld "distribution" des natty-Pakets in der PPA auf "maverick" gesetzt, was ungültig aussieht (tatsächlich scheint nur das Changelog diese falschen Informationen zu enthalten, aber mir ist diese Tatsache bewusst geworden, als die Benachrichtigungs-E-Mail Ich erhielt die Nachricht, dass mein Paket für natty freigegeben wurde, sagte aber auch: "Distribution: maverick").

Ist das in Ordnung? Ich bin mir nicht mal sicher, ob es falsch ist, aber wenn ja, wie verwende ich das Rezept, um mit einer einzigen Changelog-Datei ein Paket für viele Ubuntu-Serien zu erstellen?

Rafał Cieślak
quelle

Antworten:

5

In diesem Zusammenhang ist das Verteilungsfeld irrelevant. Schau in die offiziellen Ubuntu-Archive. Natürlich werden Sie feststellen, dass der oberste Changelog-Eintrag für viele Pakete "unstable" als Distribution hat. Ebenso werden alle Uploads, die in das Update-Repository gelangen, tatsächlich aus dem vorgeschlagenen Repository kopiert. Ein Paket in maverick-updates sagt also tatsächlich maverick-recommended im Changelog.

Die Bedeutung des Verteilungsbereichs hängt von den Tools ab, die davon Gebrauch machen. Wenn Sie beispielsweise dput zum Hochladen auf Ihre PPA mit verwenden: ~<your_launchpad_id>/<ppa_name>/ubuntu/ Das Verteilungsfeld im Changelog bestimmt, für welches Release das Paket erstellt wird. Aber auch dies kann außer Kraft gesetzt werden, indem Sie direkt hochladen, um die gewünschte Version zu veröffentlichen:

~<lp_name>/ppa/ubuntu/<ubuntu_release>

Launchpads Build-from-Branch-Service verwendet die Fähigkeit, ein Paket von einer PPA-Serie auf eine andere zu kopieren. Es ist eigentlich egal, was im Changelog dafür steht. Ihre derzeitige Vorgehensweise ist also korrekt.

undetwas
quelle
Könnten Sie diese Antwort bitte präziser formulieren und vielleicht ein konkretes Beispiel geben? Insbesondere lade ich die *.changesDatei normalerweise mithilfe von auf eine PPA hoch dput ppa:landronimirc/experimental "gigolo_0.4.2-1~precise~ppa1_source.changes". Wenn ich tue, was Sie vorschlagen dput ~landronimirc/experimental/ubuntu "gigolo_0.4.2-1~precise~ppa1_source.changes", erhalte ich eine No host ~landronimirc/experimental/ubuntu found in configFehlermeldung. In diesem Sinne bin ich mir nicht sicher, ob ich Ihre Antwort verstehe.
Landroni