PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RPM Paket erstellen



pombaer
19.09.14, 08:49
Hallo ersteinmal!
Ich bin dabei ein RPM Paket zu erstellen welches mir CentOS an unsere Umgebun anpasst. Grundsätzlich muss ein Proxyserver gesetzt werden und ein Zertifikat für unsere Netzwerk Appliance installiert werden damit der Internetzugang funktioniert. Weiters brauche ich das Enterprise Linux Paket installiert und das Paket salt-minion für die Configuration Management Software.

Da ich das Paket mit rpm installiere kann ich keine "Dependencies" im SPEC File konfigurieren, da diese sowieso nicht per RPM aufgelöst werden, andererseits würde yum ja noch nicht funktionieren, da oben angeführte Vorraussetzungen erfüllt werden müssen. Meine Idee wäre nun gewesen yum in der "%post" Section aufzurufen, funktioniert aber ebenfalls nicht da RPM ja die Paketdatenbank sperrt solange es aktiv ist. Irgendwie eine verzwickte Situation, hat jemand eine gute Idee wie ich das löschen kann?

marce
19.09.14, 09:18
wäre dafür ein Script oder ein selbstextrahioerendes und ausührendes bin-File nicht sinnvoller?

pombaer
19.09.14, 10:17
Bezüglich Ablaufsteuerung wahrscheinlich schon, mir würde die Paketlösung aber trotzdem irgendwie gefallen. Laufen tut es auf jeden Fall mit folgendem "%post" Aufruf:

sleep 1 && yum install epel-release -y &

Wobei "sleep" nicht sein muss, Perfekt ist das natürlich nicht, aber damit kann ich leben!

pombaer
19.09.14, 10:51
Noch ein update, vielleicht interessiert's ja irgendwan einmal jemanden ;)
Ich erstelle im "rpmbuild/SOURCES/<name>" eine Datei namens "preInstall.sh" und kopiere diese während der RPM Installation in das "/tmp" Verzeichnis, der Rest ist wie oben, im "%post" Bereich einfach
/tmp/preInstall.sh &
eintragen und funktioniert schon, gleich unschön wie oben, nur ist der Vorteil das ich im Script jetzt auf verschiedene Events reagieren kann und ein wenig flexibler bin.