Was ist der einfachste Debian-Paketierungsleitfaden?

150

Ich ging ins Ubuntu-Wiki, war aber verwirrt, es gab zu viele Möglichkeiten. Bitte geben Sie mir einen einfachen Leitfaden für die Debian-Verpackung.

akshatj
quelle
3
Möchten Sie Pakete für Ihren eigenen Gebrauch, für einen bestimmten Computer oder für andere Benutzer erstellen?
Andol
1
Welche Sprache möchten Sie für die Software verwenden?
Umang
4
Ich habe das gleiche Problem. Die meisten Tutorials und Anleitungen beginnen mit "Get the Upstream Tarball". Ab diesem Zeitpunkt sind wir verloren. Wir möchten eine einfache Sache bereitstellen, es gibt keinen Upstream-Tarball, es gibt keinen Quellcode. Es ist nur eine Kriegsdatei, einige Skripte und einige JAR-Dateien. Worum geht es beim Upstream-Teerball, und hat jemand einen Leitfaden gesehen, der KEINEN verwendet? Dieser ist umfassend (z. B. befasst sich mit den Problemen der Benutzer)
John Little
2
Ich werde mich für das entscheiden, was ich über StackOVerflow gepostet habe.
Wenn Sie "virtuelle Pakete" (Gruppenabhängigkeiten zusammen) erstellen möchten, lohnt sich ein Blick auf equivs-build
Rolf

Antworten:

103

Dies ist ein gutes HOWTO zum Erstellen einer Basisdatei .deb. Es eignet sich zum Erstellen von .debDateien für den persönlichen Gebrauch, ist aber nicht stringent genug, wenn Sie möchten, dass das Paket in Debian / Ubuntu aufgenommen wird. Lesen Sie dazu das Debian New Maintainer's Guide und / oder das Ubuntu Packaging Guide (was ich Ihnen glaube). habe schon versucht).

Ein gutes Tool zum Überprüfen Ihrer .debDatei auf Konformität ist lintian(über die Repositorys installierbar).

Es gab zwei Sitzungen hier in den Ask Ubuntu-Chatrooms.

Die Grundlagen des Packens unter Ubuntu (Packen: Teil 1)

Ubuntu-Paketierung für Launchpad-PPAs (Paketierung: Teil 2)

dv3500ea
quelle
Dies kompiliert gut, was für den Start mit dem Packen benötigt wird, aber im HOWTO fehlen mir Informationen, um das Anwendungssymbol in die Deb-Datei aufzunehmen (und ich habe an anderer Stelle nichts darüber gefunden). Irgendein Hinweis, wie es geht?
nightcod3r
14

Mit welchen Teilen haben Sie Probleme? Obwohl es kompliziert war, schien der Leitfaden ziemlich klar zu sein, als ich ihm folgte.

Kurze Zusammenfassung:

  • Quelle extrahieren .tar.gz
  • Lauf dh_make
  • Debian-Dateien bearbeiten
  • Führen Sie debuild aus
Nathan Osman
quelle
3
Was mich verwirrt, ist dieser Prozess derselbe, unabhängig von der Ausgangssprache oder der Verzeichnisstruktur?
Seth
9
Der springende Punkt ist, wir haben keine .tar.gz. Wir möchten eine App verpacken, die wir geschrieben haben. Kein Führer scheint dies zu behandeln, alle beginnen mit einem "Upstream-Tarball", den wir nicht haben.
John Little
@ JohnLittle Diese Antwort kann hilfreich sein: askubuntu.com/a/27731/5
Nathan Osman
1
Was ist mit langfristigen, wiederholten Verpackungen? Muss ich jedes Mal einen so langen und komplizierten Verpackungsprozess durchführen?
Kravemir
Wenn der Benutzer keinen GPG- Schlüssel hat, schlägt diesdebuild mit " debsign: gpg error occured! Aborting .... " fehl .
agc
10

Sie können sogar dpkg-debeinfache Pakete erstellen.

Hier ist ein nettes Tutorial von Ubuntuforums .

Searock
quelle
5

Der einfachste Weg, etwas zu packen , ist checkinstall .

e8johan
quelle
4
checkinstall bietet eine schnelle Möglichkeit, ein Debin-Binärpaket (.deb) aus einer Quellinstallationsmethode zu erstellen. Es wird jedoch kein richtiges Debian-Paket bereitgestellt (das aus einem Debian-Quellpaket erstellt wurde).
João Pinto
OH man .. Ich musste das VOR dem Kompilieren verwenden .. das ist wie Stunden des Kompilierens.
Piotr Kula
5

Dieses Handbuch wurde ursprünglich auf StackOverFlow veröffentlicht und bezieht sich auf vorkompilierte oder interpretierte Software:

Die richtige Art, ein Deb-Paket zu erstellen, ist die Verwendung, dpkg-buildpackageaber manchmal ist es ein bisschen kompliziert. Stattdessen können Sie verwenden dpkg -b <folder>und es wird Ihr Debian-Paket erstellt.

Dies sind die Grundlagen für das Erstellen eines Debian-Pakets mit einer dpkg -b <folder>beliebigen Binärdatei oder einem beliebigen Skript, das automatisch ausgeführt wird, ohne dass eine manuelle Kompilierung erforderlich ist (Python, Bash, Pearl, Ruby):

  1. Erstellen Sie die Dateien und Ordner, um die folgende Struktur wiederherzustellen:

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    Die Skripte, die bei platziert werden, /usr/bin/werden direkt vom Terminal aufgerufen. Beachten Sie, dass ich dem Skript keine Erweiterung hinzugefügt habe. Sie können auch feststellen, dass die Struktur des Deb-Pakets die Struktur des Programms ist, sobald es installiert ist. Wenn Sie also dieser Logik folgen, wenn Ihr Programm eine einzelne Datei hat, können Sie diese direkt darunter platzieren ProgramName-Version/usr/bin/your_script. Wenn Sie jedoch mehrere Dateien haben, sollten Sie sie darunter platzieren ProgramName-Version/usr/share/ProgramName/all your filesund nur eine Datei darunter platzieren /usr/bin/, von der aus Ihre Skripte aufgerufen werden/usr/share/ProgramName/

  2. Ändern Sie alle Ordnerberechtigungen in root:

     chown root:root -R /path/to/ProgramName-Version  
    
  3. Ändern Sie die Berechtigungen des Skripts:

     chmod 0755 /path/to/the/script
    
  4. Endlich können Sie ausführen: dpkg -b /path/to/the/ProgramName-Versionund Ihr Deb-Paket wird erstellt! (Sie können auch die Post / Pre-Inst-Skripte hinzufügen und alles, was Sie wollen, funktioniert wie ein normales Debian-Paket.)

Hier ist ein Beispiel der controlDatei. Sie müssen es nur in eine leere Datei mit dem Namen "control" kopieren / einfügen und im DEBIAN-Ordner ablegen.

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.
karel
quelle
3

Nein, der einfachste und klarste Verpackungsleitfaden auf dieser Welt ist

Packen von Java-Anwendungen für Ubuntu und andere Debians

Vor ein paar Tagen habe ich für meine erste Anwendung ein DEB-Paket erstellt, indem ich diesem Tutorial gefolgt bin. Sehr klar und meine App erfolgreich verpackt. Ja, zumindest ist es für mich am einfachsten.

Sie können es mit Debian Packaging Guide vergleichen.

Ade Malsasa Akbar
quelle
3
"Einfach" bedeutet nicht "vollständig". Es gibt viele Richtlinien, die ein einfaches .deb-Paket-Tutorial nicht für verschiedene Arten von Programmen abdeckt, und daher ist das Paketieren nicht so einfach wie nur ein "einfaches Tutorial".
Thomas Ward
definitiv einfach. Es hat mich dazu gebracht, und ich konnte mein erstes Debian-Paket innerhalb von Minuten erstellen. Es gibt noch viele Details zu erledigen (schlechte Nachrichten in Paketqualität von lintian), aber ein guter Ausgangspunkt.
Atmelino