Packstation
Verteilte Paketverwaltung mit Conary
Pakete rezeptpflichtig schnüren
Analog zum Kontext erstellen Sie im Anschluss durch den Befehl cvc newpkg Testpaket
ein neues Verzeichnis, das wiederum eine CONARY-Datei enthält. Im Verzeichnis Testpaket erwartet die Paketverwaltung ein Rezept, anhand dessen Conary das Paket schnürt. Mit dem Editor Ihrer Wahl bearbeiten Sie jetzt Testpaket
.recipe. Es stehen eine Vielzahl von fertigen Rezepten [10] zur Verfügung. Die meisten Autoren setzen auf die Autotools, passend dazu gibt es das AutopackageRecipe (Abbildung 4).
Ein Beispiel für eine typische Rezept-Datei finden Sie im Kasten "Ein typisches Conary-Rezept". Sie sehen, dass es sich eigentlich um Python-Quelltext handelt, den Sie aber selbst ohne Vorwissen meistern können. Bei %(name)s und %(upstreamVersion)s handelt es sich um Makros, die denen in den von RPM bekannten spec-Dateien ähneln. Unter [11] finden Sie eine Übersicht aller in Conary vorhandenen Makros. buildRequires ist anfangs noch eine leere Liste, die Sie später noch füllen müssen. Wichtig ist die Einrückung, die bei Python Teil der Syntax ist. Halten Sie sich nicht daran, melden Cvc beziehungsweise Python einen Syntaxfehler.
Ein typisches Conary-Rezept
class Testpaket
(AutoPackageRecipe):
name = 'testpaket
'
version = '0.0.1'
buildRequires = []
def unpack(r):
r.macros.upstreamVersion = r.macros.version.replace('_','-')
r.addArchive('http://www.testpaket
.de/%(name)s-%(upstreamVersion)s.tgz')
Um das neue Rezept auszuprobieren, begeben Sie sich mit cvc cook testpaket.recipe in die Küche. Conary versucht nun, anhand der gegebenen Informationen aus der recipe-Datei und aus dem Tarball ein Paket zu bauen. Conary teilt Ihnen im Verlauf mit, welche Abhängigkeiten Sie in die Liste buildRequires einzutragen haben. Gegebenenfalls müssen Sie den Kochprozess mehrfach anzustoßen, um alle Abhängigkeiten zu erfüllen. Das Rezept-Howto [12] enthält weitere Informationen.
Paket einpflegen
Meldet Cvc keine Fehler mehr, haben Sie die Möglichkeit das Paket ins Repository zu übergeben. Die Befehle cvc add testpaket
.recipe && cvc commit -m "Mein erstes Paket." erledigen diese Aufgabe. Damit alle Troves respektive Komponenten für andere Benutzer und Appliances verfügbar gemacht werden, kochen Sie das Paket im Anschluss im Repository des Servers mit cvc cook testpaket. Stellen Sie sicher, dass die letzte Meldung Changeset committed to the repository. lautet. Nach diesem Schritt können Sie das Paket mit einem Webbrowser unter der Adresse http://testprojekt
.rpath.org/ ansehen. Klicken Sie im linken Teil der Seite auf Project Resources | Browse Repository und im Anschluss auf testpaket. Show Contents listet sogar die Inhalte aller Troves auf, die das Paket umfasst.



