[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian-Pakete selber bauen



Hans-Dietrich Kirmse wrote:
> Jan Hauke Rahm schrieb:
> 
>>>    http://www.brummer.de.hm/buildpaket.html
>> 
>> Einfach finde ich was anderes. Die Anleitung ist lediglich
>> spezialisiert auf einen Sonderfall.
> 
> Genau das ist es. Es geht (mir) wirklich um den Sonderfall, dass es um
> Pakete für Scripte geht, oder anders gesagt, es geht um den
> Spezialfall, dass nichts compiliert werden muss.
> 
> Auch die Abhängigkeiten lassen sich sehr einfach beschreiben: der
> Interpreter und im Falle von CGI-Scripten noch der Webserver.
> 
> Nun sind doch PHP, Python oder Perl doch gar nicht so unbedeutend und
> zudem auch noch plattformübergreifend verfügbar. es sollte also
> durchaus öfters auftreten. Die Problematik, solche "Programme" in
> Pakete packen zu wollen mag ein Spezialfall sein, aber er ist doch
> nicht an den Haaren herbeigezogen und sich durch diese
> "Monsteranleitungen" deswegen quälen zu müssen, halte ich für eine
> Zumutung. Ich kann mit meiner Zeit was Besseres anstellen.

Da hast Du was falsch verstanden. Das ist absolut kein Spezialfall. In
der Regel baut man Debian-Pakete aus Quellpaketen, die den Quellcode
und Anweisungen zum Kompilieren enthalten. Nun muss bei Skripten nichts
kompiliert werden. Dennoch gibt es auch dort Quellpakete.

Was Du möchtest, jedenfalls habe ich das so verstanden, ist, ohne den
Umweg über ein Quellpaket ein direkt installierbares Binärpaket zu
bauen. Das geht natürlich auch. Solltest Du aber dennoch mal dazu
übergehen wollen, ein Paket richtig zu pflegen und nicht nur dreimal im
Jahr (YMMV) eins bauen zu wollen, wirst Du mit folgender Methode schon
mehr Arbeitsaufwand haben, als mit dem "richtigen" Weg.

Binärpakete können sehr einfach mit `dpkg-deb -b` gebaut werden. Das
angewandt auf ein Verzeichnis mit der entsprechenden Struktur baut Dir
schon ein Paket.

Genauer steht das hier:

  http://www.debian.org/doc/debian-policy/ap-pkg-binarypkg.html

Im Prinzip läuft es darauf hinaus, dass Du Deine Skripte in einem
Verzeichnis so ablegst, wie sie später im Dateisystem abgelegt sein
sollen. Zusätzlich brauchst Du noch ein Verzeichnis Namens DEBIAN, in
dem mindestens das sogenannte control-file (DEBIAN/control) liegt. Du
kannst Dir mit `aptitude download <Paketname>` ja mal ein Paket
herunterladen und es mit dem Midnight Commander (im Repository
enthalten) untersuchen.

Wenn das Verzeichnis die richtige Struktur hat und das control-file in
Ordnung ist, baut Dir `dpkg-deb --build $paketverzeichnis $zielver-
zeichnis` aus den Daten in $paketverzeichnis ein Paket in
$zielverzeichnis, das auch gleich noch nach Debian-Konvention benannt
ist.

Was dpkg-deb von Haus nicht macht: Das "Installed-Size"-Feld wird nicht
automatisch gefüllt und die MD5-Checksummendatei wird auch nicht
angelegt. Benutzbar ist das Paket so aber schon.

Attachment: signature.asc
Description: PGP signature


Reply to: