Ist dh-make die Standardmethode zum Erstellen von Debian-Paketen?


7

Ich habe vor einiger Zeit angefangen, ein .deb-Paket für meine Software zu erstellen, und die Methode, auf die ich damals gestoßen bin (ich wusste nichts über die Domain), ist im Grunde wie folgt:

  • Erstellen Sie eine Verzeichnisstruktur wie diese
-- pkg-dir
   -- DEBIAN
      -- controlfile
      -- postinst
      -- postrm
      -- conffiles
   -- usr
      -- share
         -- myapp
   -- etc
      -- myapp
  • fakeroot dpkg-deb --build pkg-dir
  • lintian pkg.deb

Jedoch in diesen Tagen die Informationen, die ich finde, deuten alle auf dh-make hin. Ist dh-make der neue oder bevorzugte Weg? Woher kommt meine Methode? Ich würde in Zukunft gerne den Standardweg verwenden, aber jetzt möchte ich beenden, was ich damit begonnen habe, da ich unter Zeitdruck stehe. Wo bekomme ich weitere Informationen zu meiner Methode?


1
Dies ist der offizielle Ubuntu-Verpackungsleitfaden: developer.ubuntu.com/packaging/html
saji89

Beabsichtigen Sie, ein Paket für Ubuntu oder Upstream (Debian selbst) zu erstellen?
saji89

Eigentlich bin ich damit beschäftigt, die Java-App unseres Unternehmens zu verpacken, es ist also eine kommerzielle App ... aber ich möchte später auch nicht meine eigenen Open-Source-Apps vertreiben. In dieser Phase hauptsächlich Ubuntu, aber es wäre besser, die Optionen für den Upstream offen zu halten.
Hannes de Jager

Ich denke, meine Lernkurve ist etwas steiler, weil ich eine kommerzielle App verpacke, da die meisten Beispiele offensichtlich für Open Source sind und das Repository-System nutzen, das für kommerzielle Apps nicht verfügbar ist (glaube ich). Tipps zum Verpacken einer kommerziellen App sind willkommen. Ich bin begeistert von Linux und würde gerne sehen, wie sich unsere kommerzielle Software so gut wie möglich in Linux integrieren lässt, also treibe ich die Anstrengungen voran, aber es gibt viel zu lernen
Hannes de Jager

Antworten:


6

Sie können Debian-Pakete auf verschiedene Arten erstellen. dh-Tools sind Hilfsskripte, die Sie beim Erstellen der richtigen Verzeichnisstruktur und Dateien unterstützen. dh-makeist die grundlegendste, noch viel Heuristik hat und arbeitet gut mit Software , die GNU Autotools verwenden (die ./configure, make, make installsind). Es wird viel Arbeit für Sie erledigen.

Anschließend können Sie debuildein Quell- und ein Binärpaket erstellen.

"Your way" baut nur aus Binärdateien auf. Dies ist unerwünscht, da Sie nicht für andere Distributionen (Releases) oder Architekturen erstellen können. Außerdem benötigt Debian / Ubuntu ein Quellpaket, um in die Repositorys aufgenommen zu werden (zusammen mit vielen anderen Anforderungen und Richtlinien). Weitere Informationen finden Sie unter links @ saji89. Ich empfehle Ihnen auch, Pakete herunterzuladen und zu überprüfen, wie sie mithilfe von zusammengestellt werden apt-get source packagename.

Aktualisieren

Sie haben später in einem Kommentar erwähnt, dass Sie eine Java-Anwendung verpacken. Das Debian-Wiki zur Java-Verpackung erwähnt Folgendes:

Die Verwendung von Javahelper ist eigentlich nicht erforderlich. Die Implementierung der erforderlichen Richtlinienelemente ohne Javahelper ist jedoch recht schwierig. Daher wird davon ausgegangen, dass Sie Javahelper verwenden.

Daher empfehle ich, zu lesen, wie man mit Javahelper und DH oder der Alternative zu DH: CDBS verpackt.


Danke für die Übersicht. Wenn ich eine Java-App bündle? Welche Tools würden Sie dann vorschlagen?
Hannes de Jager

1
@HannesdeJager Ich empfehle Ihnen, das Debian-Wiki auf Java / Packaging zu lesen .
Gertvdijk

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.