Was ich herausgefunden habe. Zunächst gibt es diese kurze Beschreibung, nach der ich hier am häufigsten frage.
Der Kern des Build-Systems besteht darin dpkg-buildpackages
, welches verwendet fakeroot
, was wiederum läuft debian/rules
(was ein Makefile ist), um ein Paket zu erstellen. Und das könnte ausreichen, wenn Sie ein Paket für den internen Gebrauch für die Version erstellen, in der Sie es ausführen.
Wenn Sie andererseits anstreben, zu debian
/ beizutragen ubuntu
, werden Sie zumindest verwenden debuild
, was lintian
die Dateien ausführt und signiert.
Wenn Sie auf verschiedene debian
/ ubuntu
Releases abzielen möchten , werden Sie pbuilder
unter anderem Pakete in einer sauberen Umgebung erstellen, die nicht mit Ihren bereits installierten Paketen überfüllt ist, um die tatsächlichen Abhängigkeiten zu ermitteln. Man könnte in Betracht ziehen pbuilder-dist
, die Dinge noch weiter zu vereinfachen.
Es pdebuild
gibt eine "Pbuilder-Methode für das Debuilding". Ich sehe es nicht laufen lintian
, aber das könnte nicht im Einklang mit dem pbuilder
Weg sein.
Dann gibt es auch cowbuilder
, wenn Sie das Erstellen von Paketen beschleunigen möchten (Wrapper Around pbuilder
?). Es gibt auch Tools zum Erstellen von git
Repositorys, auf die ich noch nicht eingegangen bin.
UPD Mir wurde gesagt, #debian-mentors
dass " sbuild
sich genauso verhält wie die buildd
, weniger Überraschungen", dass " pbuilder
die Unterstützung für Experimente einfach falsch ist", dass "OTOH sbuild
immer noch etwas übersieht , um das Netzwerk aus dem Build-Prozess zu entfernen" und das pbuilder
nicht gepflegt. Das Entfernen des Netzwerks ist erforderlich, da das Erstellen von Paketen nicht davon abhängen sollte, dass es vorhanden ist. Sie sollten nichts herunterladen.
schroot
von experimental ist angeblich in der lage das netzwerk zu isolieren (unshare).
cowbuilder
scheint das einfachste Werkzeug zu sein (verglichen mit dem, was ich gesehen habepbuilder
). Ich habe die Schritte in dieser Antwort fortgesetzt : askubuntu.com/questions/548815/cannot-build-on-launchpad/… . Übrigens müssen Sie sich nichtchroot
direkt mit Werkzeugen befassen . sbuild / pbuilder kümmern sich darum.Sie sagen nicht viel über Ihre Quellumgebung.
Wenn es sich um Open Source und nur um ein Projekt (eine Steuerdatei unter dem
debian/
Verzeichnis) handelt, ist https://launchpad.net eine wirklich gute Lösung. Mehr oder weniger muss man die Dateien richtig machen und sie kümmern sich um den Rest.Das Richtige für die Dateien zu tun, ist schon jetzt ein bisschen magisch, aber es gibt eine Fülle von Dokumentationen zum Erstellen eines Pakets. Sie können mit einem sehr einfachen Beispiel beginnen, das funktioniert, und sich dann die Zeit nehmen, um weitere Optionen / Funktionen hinzuzufügen, während Sie fortfahren. Auf diese Weise müssen Sie nicht alles auf einmal lernen.
quelle