Hi!
Baut hier einer Debianpakete?
Mich interessiert, ob ich es "richtig" mache.
Und zwar gibt es im Netz Anleitungen, wie man mit den dh_*-Tools aus einem Verzeichnisbaum ein Debianpaket macht. Dabei werden bereits die Pfadnamen genutzt, um Versionsinfos zu ermitteln. Die Anleitungen sind aber irgendwie nicht für regelmäßige, automatisch ablaufende Erzeugung gedacht.
Ich habe CVS-verwaltete Projekte, deren Programmkomponenten ich mittels Automake kompiliere/installiere. Die Versionsnummer ist Teil des configure-Skripts, aber nicht in irgendwelchen Pfadnamen. Und ich will die dh_*-Tools nicht jedesmal manuell bedienen.
Daher habe ich einmalig ein Verzeichnis nach Anleitung erstellt, "dh_make" gemacht, mir paar der erzeugten Dateien im debian/-subdir angepaßt und diese Dateien beiseite gelegt und das gesamte Paketverzeichnis wieder gelöscht.
Der Automatismus läuft jetzt wie folgt: ich nutze "make dist" von Automake, um mir ein .tgz-File zu erzeugen, welches Versionsnummern in Pfaden enthält. Dieses entpacke ich wiederum in einem temporären Subdir, rufe "dh_make" auf, kopiere die anfänglich aufgehobenen Dateien (control, conffiles,rules) drüber und mache dann ein "dpkg-buildpackage".
Das ganze klappt prinzipiell gut und hat mindestens diese Vorteile:
- es geht automatisch - es wird implizit mein "make dist" und "make install" überprüft, d.h. die erzeugten .tgz-files sind auch einzeln distributierbar und funktionieren.
Aber:
- es wird mehrmals ein- und ausgepackt nämlich erst ein .tgz erzeugt, nur um es sofort wieder zu entpacken.
An dieser Stelle bin ich mir nicht mehr sicher, ob ich vielleicht daneben liege und es direkter geht.
-> Falls also jemand Erfahrung damit hat, könnte ich Kommentare vertragen, ob ich allzuweit vom Pfad der Tugend abgekommen bin, oder wie man das sonst so gewöhnlich macht.
-> Und falls einer schonmal Perl-Modul-Installationen innerhalb von ansonsten Automake-verwalteten Projekten durchgeführt hat, wäre ich auch dort an Erfahrungsaustausch interessiert. Macht ihr um MakeMaker einfach ein make-Target? Wie sonst?
(Greeti+Tha)nX Steffen