Benutzer-Werkzeuge

Webseiten-Werkzeuge


repo:automatisiertes_rpm_und_repository_erstellen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
repo:automatisiertes_rpm_und_repository_erstellen [20.02.2011 12:32]
udo angelegt
repo:automatisiertes_rpm_und_repository_erstellen [07.10.2012 18:31] (aktuell)
Zeile 15: Zeile 15:
 Das RPM wird mittels //​rpmbuild//​ und den passenden Optionen aufgerufen (wie man es auch manuell tun würde). Hier verwende ich die Übergabe der Versionsnummer von EleLa als zusätzliche Möglichkeit. Natürlich kann man hier auch gleich den ganzen Namen des SPEC-Files und/oder das passende Target übergeben. Nach erfolgreichen Erstellen des RPMs, wird es per //scp// auf den angegebenen Server kopiert und dort das Script [[repo:​automatisiertes_rpm_und_repository_erstellen#​entferntes_script|createrepo.sh]] aufgerufen. Das RPM wird mittels //​rpmbuild//​ und den passenden Optionen aufgerufen (wie man es auch manuell tun würde). Hier verwende ich die Übergabe der Versionsnummer von EleLa als zusätzliche Möglichkeit. Natürlich kann man hier auch gleich den ganzen Namen des SPEC-Files und/oder das passende Target übergeben. Nach erfolgreichen Erstellen des RPMs, wird es per //scp// auf den angegebenen Server kopiert und dort das Script [[repo:​automatisiertes_rpm_und_repository_erstellen#​entferntes_script|createrepo.sh]] aufgerufen.
  
-== createrpm.sh ==+=== Festes Script === 
 +Dieses Script läuft unter openSUSE 11.3. 
 + 
 +== createrpm-elela.sh ==
 <code bash> <code bash>
 #!/bin/sh #!/bin/sh
Zeile 22: Zeile 25:
 scp /​usr/​src/​packages/​RPMS/​i586/​EleLa-$1*.rpm USER@SERVER:​PFAD_ZU_REPO/​i586 scp /​usr/​src/​packages/​RPMS/​i586/​EleLa-$1*.rpm USER@SERVER:​PFAD_ZU_REPO/​i586
 ssh USER@SERVER "​./​createrepo.sh"​ ssh USER@SERVER "​./​createrepo.sh"​
 +</​code>​
 +
 +
 +=== Universelles Script ===
 +
 +Unter openSUSE 12.1 lief das o.g. createrpm-elela.sh nicht mehr als normaler User durch, es blieb beim Signieren hängen. So hab ich das Signieren geändert. Es wird nicht (!) auf eventuelle Fehler beim Bauen, Signieren oder Kopieren geprüft, dazu müssten noch die Rückgabewerte ausgewertet werden.
 +
 +== createrpm.sh ==
 +<code bash>
 +#!/bin/sh
 +
 +ARCH="​x86_64"​
 +USER="​USER@SERVER"​
 +REPO="​PFAD_ZU_REPO"​
 +
 +rpmbuild -v -bb ~/​rpmbuild/​SPECS/​$1.spec --target=$ARCH
 +rpmsign --resign `find ~/rpmbuild/ -name "​*.rpm"​` ​
 +scp ~/​rpmbuild/​RPMS/​$ARCH/​$1*.rpm $USER:​$REPO/​$ARCH
 +ssh $USER "​./​createrepo.sh"​
 </​code>​ </​code>​
  
Zeile 41: Zeile 63:
  
 Den Pfad zum Repository auf dem Server und das Passwort (Passphrase) des Repo-Keys müssen angepasst werden. Den Pfad zum Repository auf dem Server und das Passwort (Passphrase) des Repo-Keys müssen angepasst werden.
 +
repo/automatisiertes_rpm_und_repository_erstellen.1298205122.txt.gz · Zuletzt geändert: 07.10.2012 18:33 (Externe Bearbeitung)