Gibt es eine Anleitung zur Debian-Originalverpackung?

4

Ich fühle es wie ein großes Durcheinander mit dem Debhelfer. Die meisten Informationen von Google zu Debian-Paketen sind im Begriff, ein Debian-Paket für bereits vorhandene Quellpakete oder Debian-ize um Makefile usw. zu erstellen.

Ich habe ein Paket sagen xyz-0.1, enthält nur Shell-Skripte ohne Makefile überhaupt. Nun, es sollte einfach sein, ein Debian-Paket davon zu erstellen, aber ich stecke mit dem folgenden Fehler fest:

$ dh_make --createorig
...
$ cat debian/rules
...
build: 

binary: 
    (There's nothing to do with build, because xyz-0.1 contains only shell scripts)

$ debuild
...
dpkg-genchanges: error: cannot read files list file: No such file or directory
dpkg-buildpackage: error: dpkg-genchanges gave error exit status 2
debuild: fatal error at line 1340:
dpkg-buildpackage -rfakeroot -D -us -uc failed

(debhelper 7.4.15ubuntu1)

Wenn Sie eine leere Datei "debian / files" erstellen, wird das Problem behoben, es sollte jedoch nicht der richtige Weg sein.

Sagen wir allgemein, gibt es eine Anleitung mit umfassenden Tutorials, wie man Debhelper um originale Debian-Pakete verwendet?

Xiè Jìléi
quelle
Hinweise zu Debian- Paketen finden Sie auf der neuen Ubuntu-Q & A-Site ubuntu.stackexchange.com .
Evan Kroske

Antworten:

5

Das Referenzhandbuch für Debian-Pakete ist das Debian Maintainers 'Guide ( /usr/share/doc/maint-guide/). Darüber hinaus dh_*dokumentieren die Manpages die Build-Automatisierung. Die Debian-Richtlinie ( /usr/share/doc/debian-policy/) und die Debian-Entwicklerreferenz ( /usr/share/doc/developers-reference/) enthalten zusätzliche Hinweise.

HINZUGEFÜGT: Mit den aktuellen stabilen Versionen (Debian Lenny, Ubuntu 10.04) von debhelperwurde die Standarddatei debian/rulesauf zwei Zeilen vereinfacht, und die Dinge funktionieren größtenteils automatisch:

%:
    dh $@

Wenn etwas nicht funktioniert, suchen Sie nach der Quelle /usr/bin/dhund ermitteln Sie, welche dh_*Programme aufgerufen werden. Die --afterund --remainingOptionen dhsind oft hilfreich , wenn Paketbau debuggen.

Was debian/filesist es nicht zwingend notwendig , wenn Sie die Build - Regeln gezwickt haben. Wenn Sie dabei Hilfe benötigen, posten Sie bitte die vollständige Abfolge der Fehlermeldungen (nicht nur die letzte Zeile) in Englisch (nicht Ihre Neuübersetzung). Es kann auch die Version der helfen zu wissen dh-make, debhelperund devscriptsPakete.

Gilles
quelle
Ich habe die Fehlermeldungen behoben. Die Version von debhelper ist 7.4.15ubuntu1, und die Version der anderen beiden ist unbekannt (null).
Xiè Jìléi
@ 谢 谢 雷: Normalerweise wird etwas debian/filesals Teil der Erstellungsregeln erstellt. Wenn Sie weiterhin Hilfe benötigen, sollten Sie Ihre gesamten Build-Regeln und die gesamte Ausgabe von veröffentlichen debuild.
Gilles
@谢继雷: Wenn Sie die nicht haben dh-makeund devscriptsPakete, wo Sie die dh_makeund debuildBefehle kommen aus?
Gilles
Die Regeln sind einfach, sie definieren das build' and binäre Ziel nur als leer. Weil es in build nichts zu tun gibt und das Standard binary' target does too much unnecessary jobs. The problem is resolved after I added dh_prep, dh_gencontrol, and dh_builddeb to the -Binärziel. Das basiert auf einer Try-and-See-Methode, die für Debian insgesamt nicht so streng ist. Die Dokumentationen, die Sie erwähnt haben, befassen sich nicht zu sehr mit Debian-Originalpaketen (was bedeutet, dass das Paket nur für Debian ist), und ich denke, ich sollte stattdessen ein Makefile schreiben und es dann herum debianisieren.
Xiè Jìléi
@ 谢 继 雷: Erstellt dh_makeein debian/rules, das funktioniert. Wenn Sie kein Makefile haben, kommentieren Sie die aufgerufenen Zeilen aus $(MAKE)(bei den neuesten Versionen der Tools gibt es keine). Entfernen Sie das dh_*Symbol nur, wenn Sie wissen, was Sie tun.
Gilles