Namenskonvention für Debian-Pakete?

10

Es ist alles sehr verwirrend. Es gibt verschiedene Beispiele, zum Beispiel:

<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb

Quelle: Debian-Paketdateinamen

Ist Abschnitt 5.6.12 Version oder die Debian - Richtlinien auch zu den eigentlichen Paket Dateinamen verwendet? Oder nur zu den Feldern in der Steuerdatei?

In diesem Wiki-Thema zu Repository-Formaten wird nichts über Konventionen gesagt, wie im Best Practices-Handbuch für Entwickler .

Vielleicht suche ich nur nach dem Falschen, bitte helfen Sie mir und sagen Sie mir, wo ich die Konventionen für Debian-Paketnamen finden kann. Ich bin besonders neugierig, wo ich den Debian-Codenamen platzieren soll. Ich möchte so etwas machen:

<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb

wo <debiancodename>ist gerade squeezeoder wheezy.

Preexo
quelle
Der Abschnitt der Richtlinie bezieht sich nur auf die Änderungsdatei. Benennen Sie einfach debdie .changesDatei um und passen Sie sie an
Ulrich Dangel
bedeutet, dass es keine Konventionen für die Dateinamen für .deb-Dateien gibt?
Preexo
1
@prexo gibt es aber es gibt keine formale Definition. Und wenn Sie den Dateinamen anpassen möchten, benennen Sie einfach das Deb um und passen Sie die Änderungsdatei an. Wenn Sie keinen Upload durchführen, reicht es aus, nur die Deb-Datei umzubenennen
Ulrich Dangel
Vielen Dank! Ja, ich lade nicht hoch, also ist das Problem irgendwie gelöst;) Gib eine Antwort damit und vielleicht darüber, wie streng die Konventionen sind und ich werde es als Antwort akzeptieren :)
Preexo

Antworten:

10

Meines Wissens nach möchten Sie ein Paket an mehrere Debian-basierte Distributionen verteilen / bereitstellen.

In der Debian / Ubuntu-Welt sollten Sie keine einzelne .debDatei zum Herunterladen und Installieren bereitstellen . Stattdessen sollten Sie ein APT-Repository bereitstellen. (In der Fedora / Red Hat / CentOS-Welt würde ich einen ähnlichen Rat geben, um ein YUM-Repository bereitzustellen). Es löst nicht nur das Problem der Benennung der Deb-Datei, sondern das Repository ist auch eine effektive Möglichkeit, eine neuere Version Ihres Pakets bereitzustellen, einschließlich Fehlerbehebung und Sicherheitsupdates. Das Erstellen eines APT-Repositorys geht über den Zweck dieser Seite / Frage hinaus. Suchen Sie einfach nach "So richten Sie ein passendes Repository ein".

Nun zurück zu Ihrer Frage: "Paketnamenskonvention":

Wenn Sie das Paket mit generieren dpkg-buildpackage, wird das Paket auf standardmäßige Weise benannt. Zitieren der Manpage dpkg-name :

Ein vollständiger Paketname besteht aus package_version_architecture.package-type, wie in der Steuerdatei des Pakets angegeben.

package_version_architecture.package-type

Die Debian-Richtlinie ist der richtige Ort, um die Syntax der Steuerdateien zu kennen: Name (sowohl für Quell- als auch für Binärpakete), Version , Architektur , Pakettyp .

Es gibt keine Bestimmung zur Angabe der Verteilung, da dies nicht der Fall ist.

Wenn Sie dieselbe Version eines Pakets für mehrere Distributionen kompilieren müssen, ändern Sie das versionFeld (in der Datei debian/changelogund debian/control). Einige Benutzer verwenden den Verteilungsnamen im Versionsfeld. zum Beispiel openssl :

0.9.8o-4squeeze14 
1.0.1e-2+deb7u14
1.0.1k-1 

Wenn Sie dies tun möchten, lesen Sie unbedingt die Debian-Richtlinien debian_revisionin der Version .

Franklin Piat
quelle