pkgmake

Was ist pkgmake?

pkgmake erstellt RPM .spec Dateien und baut aus diesen und dem zugehörigen Programm-Code die entsprechenden *.rpm/*.deb Pakete.

Detailliertere Beschreibung

Als Software-Entwickler kommt man hin und wieder an den Punkt, wo eine neue Version veröffentlicht werden soll. Bei den meisten meiner Programme bedeutet dies die immer gleichen Routineaufgaben:

  1. Eine Kopie des Codes erstellen, z.B.
    cp -pr /usr/src/prog /tmp/prog-0.1.2
  2. Diese Kopie "aufräumen" - z.B. alle existierenden CVS/* und/oder .svn/* Dateien entfernen
  3. Einen tarball dieser Kopie erstellen (und die Kopie anschließend wieder entfernen)
  4. Den erstellten Tarball in das SOURCES/ Verzeichnis der Build Umgebung verschieben
  5. Die .spec Datei anpassen
  6. rpmbuild und/oder debbuild mit den entsprechenden Parametern starten

Daher schrieb ich pkgmake, um diese Schritte zu automatisieren. Also macht es im Prinzip genau das, was ich gerade beschrieben habe:

  1. Erstellen einer Kopie (siehe auch zum Kommandozeilen-Parameter -d)
  2. Bereinigen der Kopie
  3. Tarball im SOURCES/ Verzeichnis erstellen
  4. Das benötigte .spec anhand eines Templates (siehe Kommadozeilen-Parameter -t) und den weiteren, an der Kommandozeile übergebenen Parametern (siehe Syntax) erstellen, und rpmbuild/debbuild, je nach Konfiguration, aufrufen

Das sieht doch schon verdächtig nach einem kompletten Build-Prozess aus? Naja, fast. Bei größeren Änderungen im Projekt muss doch hin und wieder mit der %files Sektion der .spec Datei experimentiert werden - sofern der Code nicht von vorn herein die letztendliche Position der Dateien im Dateisystem wiederspiegelt (in welchem Fall dann einfach der Platzhalter __DIR__ in der .spec Template-Datei verwendet werden kann - siehe man pkgmake.tpl).

Last modified by izzy, 10/05/08 16:25:11 (4 years ago)