PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rpmbuild und Erstellungsverzeichnis



linuxstarter34
14.09.07, 10:53
Ich bin dabei rpm-Pakete zu erstellen.

Das gelingt mir (Dank eurer Hilfe) mittlerweile sehr gut.
Die Specfiles und Sources hatte ich bis jetzt immer standardmässig
auf /usr/src/packages/... stehen.

Frage 1:
Ist es möglich die ganze rpm-Erstellung auf ein anderes Verzeichnis
(z.B. /home/test/RPM/) durchzuführen?

Ich habe mich bereits durch die man-Pages von rpm und rpmbuild
gekämpft, bin aber immer noch nicht in der Lage dies zu tun.

Frage 2: Was ist der Unterschied zwischen den Optionen --buildroot und
-- root? (hab ich nicht ganz verstanden)

drcux
14.09.07, 12:16
1.

http://genetikayos.com/code/repos/rpm-tutorial/trunk/rpm-tutorial.html#id3310724

also .rpmmacros erstellen:
%_topdir /home/test/RPM/

drcux
14.09.07, 12:22
2.

buildroot = Installarionsziel für zB make install beim RPM erstellen.
Irgendwo muss rpm ja temporär installieren. ;)

root = Basis des "Grundsystems", das zum bauen genutzt wird.
Man könnte sich ein extra Verzeichnis schaffen, indem ein komplett installiertes System liegt, um dort zu bauen.

linuxstarter34
17.09.07, 09:21
Danke, dass funktioniert, aber ich habe jetzt folgendes Problem

Das Verzeichnis in dem ich mein RPM erstellen möchte ist nicht
immer das gleiche. Kann man diese Sache irgendwie so einstellen,
dass immer auf dem aktuellen directory (das wass pwd anzeigt)
die rpms erstellt werden.

Der folgende Eintrag ist so nicht richtig und funktioniet auch nicht
aber ungefähr so bräuchte ich das:

%_topdir `pwd`

in ~/.rpmmacros oder sonst irgendwo.

Danke

drcux
17.09.07, 11:15
Das Verzeichnis in dem ich mein RPM erstellen möchte ist nicht
immer das gleiche. Kann man diese Sache irgendwie so einstellen,
dass immer auf dem aktuellen directory (das wass pwd anzeigt)
die rpms erstellt werden.

nicht, das ich wüsste, warum auch?

linuxstarter34
17.09.07, 12:23
Warum ?

Ich erstelle unterschiedliche Software, deren Source auf unterschiedlichen Verzeichnissen
steht.

z.B.

/DATA/soft1/soft/src/
/DATA/soft2/soft/src/

Hier gibt es makefiles, die meine Software aus der Source erstellt und alles richtig macht.
Jetzt möchte ich noch ein Unterverzeichnis rpm erstellen, in dem dann mein
"RPM-topdir" ist, wo die rpms erstellt werden.

Ich müsste nun bei jeder Software mein ~/.rpmmacros anpassen, damit dies
funktioniert. Wenn rpm oder rpmbuild eine Option hätte, bei der ich das topdir beim
Erstellen angeben könnte, dann würde ich dies in mein makefile einbauen und alles
würde automatisch gemacht werden.

Vielleicht habe ich ja auch noch einen Fehler in meinen Gedanken, aber so stelle ich mir
das vor.