• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

rpmbuild - im spec-File Abbruch-Bedingung hinterlegen

Hallo ihrs,

ich baue mir gerade ein eigenes rpm-Paket zusammen und möchte jetzt unter %pre eine Abbruchbedingung schaffen, die in etwa folgendermaßen aussehen soll:

%pre
if [ bedigung nicht erfüllt ]; then
exit;
fi

Die rpm-Installation bricht zwar damit ab, aber nur, weil es mit dem Befehl exit nichts anfangen kann.

Habt ihr eine Lösung dazu?
 

spoensche

Moderator
Teammitglied
Mit exit wird eine Shell mit einem Returncode beendet, z.B. exit 0.

RPM bricht den Buildvorgang nur ab, wenn beim erstellen des Paketes ein Fehler auftritt. Du kannst dir aber ein Script schreiben und das in dem Abschnitt %prep ausführen lassen.

http://dlhp.berlios.de/HOWTO/DE-RPM-HOWTO-7.html
 

Appleonkel

Hacker
Was versuchst du zu erreichen? Wenn die Bedingung nicht erfüllt ist, soll nix passieren und die Installation fortgesetzt werden?
Dann kannst du die If-Anweisung auch weglassen.
 
OP
H

hottenhosen

Newbie
Sry, dass ich mich jetzt erst zurück melde.
Mit dem Script wäre ja eine super Sache, aber wo leg ich das hin?
Das müsste ich ja dem rpm-Paket quasi beilegen. Dann kann ich allerdings auch gleich alles per Skript erledigen.
Ich sehe für mich lediglich 2 Möglichkeiten:
1. Ich verzichte auf die komfortable rpm-Verteilung und schreib ein Script.
2. Ich installiere das rpm-Paket und prüfe im Nachhinein, ob bestimmte Bedingungen nicht erfüllt sind, und lasse das Paket bei Nichterfüllung wieder löschen.
 

spoensche

Moderator
Teammitglied
hottenhosen schrieb:
Dann kann ich allerdings auch gleich alles per Skript erledigen.

Beim eigentlichen Build des Paketes werden auch Scripte bzw. Rules verwendet. Wenn du kein Helper- Script verwenden willst, dann
müsstest du also den Paketbau manuell durchführen.

Das Script kann in deinem /home Verzeichnis oder unter /usr etc. liegen, aber es muss ausführbar sein. Du musst im, %prep Abschnitt das Script mit vollständiger Pfadangabe aufrufen.

hottenhosen schrieb:
Ich sehe für mich lediglich 2 Möglichkeiten:
1. Ich verzichte auf die komfortable rpm-Verteilung und schreib ein Script.
2. Ich installiere das rpm-Paket und prüfe im Nachhinein, ob bestimmte Bedingungen nicht erfüllt sind, und lasse das Paket bei Nichterfüllung wieder löschen.

Keine guten Möglichkeiten. Du kannst dem Paket auch Abhängigkeiten mitgeben, d.h. bei der Installation werden dann alle Pakete mit installiert, die von deinem benötigt werden.
 
Oben