Hallo, ich möchte RPM Pakete automatisch bauen lassen. Letztlich also irgendwas wie for i in $SPECS; do rpmbuild -ba $i; done Nun enthalten die SPEC Files jedoch BuildRequire Angaben und es wäre schön, wenn das Script diese vorher verifizieren könnte. Ein einfaches "grep BuildRequire" über das SPEC File reicht aber nicht, denn man kann sowohl sowas in einer SPEC schreiben: %if ... BuildRequire: irgend was %else BuildRequire: anderes %endif als auch %define required irgendwas BuildRequire: %{required} Nun meine Frage, gibt es ein Tool, das ein SPEC File auswertet in dem Sinne, dass alle %if Anweisungen ausgewertet und Variablen ersetzt werden? Oder gibt es ein Tool, das ich einfach nach den BuildRequires eines SPEC Files fragen kann? (es gibt "rpm -q --requires --specfile $SPEC", aber leider kein "rpm -q --buildrequires --specfile $SPEC") Oder gibt es ein Tool, das zypper aufruft, um die Build-Voraussetzungen zu installieren? Danke, Torsten Förtsch -- Need professional modperl support? Hire me! (http://foertsch.name) Like fantasy? http://kabatinte.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Mon, May 09, 2011 at 01:06:11PM +0200, Torsten Förtsch wrote:
Hallo,
ich möchte RPM Pakete automatisch bauen lassen. Letztlich also irgendwas wie
for i in $SPECS; do rpmbuild -ba $i; done
Nun enthalten die SPEC Files jedoch BuildRequire Angaben und es wäre schön, wenn das Script diese vorher verifizieren könnte. Ein einfaches "grep BuildRequire" über das SPEC File reicht aber nicht, denn man kann sowohl sowas in einer SPEC schreiben:
%if ... BuildRequire: irgend was %else BuildRequire: anderes %endif
als auch
%define required irgendwas BuildRequire: %{required}
Nun meine Frage, gibt es ein Tool, das ein SPEC File auswertet in dem Sinne, dass alle %if Anweisungen ausgewertet und Variablen ersetzt werden?
Oder gibt es ein Tool, das ich einfach nach den BuildRequires eines SPEC Files fragen kann? (es gibt "rpm -q --requires --specfile $SPEC", aber leider kein "rpm -q --buildrequires --specfile $SPEC")
Oder gibt es ein Tool, das zypper aufruft, um die Build-Voraussetzungen zu installieren?
Wir haben dafuer das wrapper script "build", was auch eine chroot usw aufsetzt. Es baut nicht im System, aber meist will man das es nicht. Ciao, Marcus -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 09.05.2011 13:06, schrieb Torsten Förtsch:
Hallo,
ich möchte RPM Pakete automatisch bauen lassen. Letztlich also irgendwas wie
for i in $SPECS; do rpmbuild -ba $i; done
Nun enthalten die SPEC Files jedoch BuildRequire Angaben und es wäre schön, wenn das Script diese vorher verifizieren könnte. Ein einfaches "grep BuildRequire" über das SPEC File reicht aber nicht, denn man kann sowohl sowas in einer SPEC schreiben:
%if ... BuildRequire: irgend was %else BuildRequire: anderes %endif
als auch
%define required irgendwas BuildRequire: %{required}
Nun meine Frage, gibt es ein Tool, das ein SPEC File auswertet in dem Sinne, dass alle %if Anweisungen ausgewertet und Variablen ersetzt werden?
Oder gibt es ein Tool, das ich einfach nach den BuildRequires eines SPEC Files fragen kann? (es gibt "rpm -q --requires --specfile $SPEC", aber leider kein "rpm -q --buildrequires --specfile $SPEC")
Oder gibt es ein Tool, das zypper aufruft, um die Build-Voraussetzungen zu installieren?
Danke, Torsten Förtsch
Hallo Torsten, das ist eine etwas komplexe Angelegenheit.: Du musst ein source-rpm-Paket herstellen aus verschiedenen Teilen. Erst am Schluss kannst Du dann den Befehl: rpmbuild --bs Beispieldatei.spec verwenden. Oder wenn Du ein binaer-rpm-Paket bauen willst, dann musst Du rpmbuild --bb Beispieldatei.spec verwenden. hier ist alles erklaert: http://www.linuxhaven.de/dlhp/HOWTO/DE-RPM-HOWTO-7.html Viel spass. gruss. Val. cv.schmitt@gmail.com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Torsten, On Monday, 09.May.2011 13:06:11 Torsten Förtsch wrote:
Nun meine Frage, gibt es ein Tool, das ein SPEC File auswertet in dem Sinne, dass alle %if Anweisungen ausgewertet und Variablen ersetzt werden?
Schau mal auf dem openSUSE Build Service nach dem Paketchen zbuild. Dort wird so etwas Aehnliches gemacht wie du es haben willst. zbuild baut die RPMs in einer chroot-Umgebung fuer i586+x86_64 und OS 11.2..11.4. Roman -- Roman Fietze Telemotive AG Buero Muehlhausen Breitwiesen 73347 Muehlhausen Tel.: +49(0)7335/18493-45 http://www.telemotive.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Tue, 10 May 2011 13:57:38 +0200, Roman Fietze wrote:
Schau mal auf dem openSUSE Build Service nach dem Paketchen zbuild. Dort wird so etwas Aehnliches gemacht wie du es haben willst.
zbuild baut die RPMs in einer chroot-Umgebung fuer i586+x86_64 und OS 11.2..11.4.
zbuild gibt's bei Packman. http://blog.lotz1009.de/2010/12/19/zbuild-pakete-lokal-bauen/ http://packman.links2linux.de/package/zbuild -- Lutz Thuns openSUSE official member (lOtz1009) LXDE team -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Lutz Thuns
-
Marcus Meissner
-
Roman Fietze
-
Schmitt
-
Torsten Förtsch