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?
Antworten:
Das Referenzhandbuch für Debian-Pakete ist das Debian Maintainers 'Guide (
/usr/share/doc/maint-guide/
). Darüber hinausdh_*
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
debhelper
wurde die Standarddateidebian/rules
auf zwei Zeilen vereinfacht, und die Dinge funktionieren größtenteils automatisch:Wenn etwas nicht funktioniert, suchen Sie nach der Quelle
/usr/bin/dh
und ermitteln Sie, welchedh_*
Programme aufgerufen werden. Die--after
und--remaining
Optionendh
sind oft hilfreich , wenn Paketbau debuggen.Was
debian/files
ist 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 wissendh-make
,debhelper
unddevscripts
Pakete.quelle
debian/files
als Teil der Erstellungsregeln erstellt. Wenn Sie weiterhin Hilfe benötigen, sollten Sie Ihre gesamten Build-Regeln und die gesamte Ausgabe von veröffentlichendebuild
.dh-make
unddevscripts
Pakete, wo Sie diedh_make
unddebuild
Befehle kommen aus?build' and
binäre Ziel nur als leer. Weil es in build nichts zu tun gibt und das Standardbinary' 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.dh_make
eindebian/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 dasdh_*
Symbol nur, wenn Sie wissen, was Sie tun.