SuSE Linux: Versionen 5.1 bis 7.3
Sie möchten ein bei SuSE Linux mitgeliefertes Quellpaket
kompilieren. Alle Quellpakete liegen in der Serie "zq" und haben
die Erweiterung .spm hinter dem eigentlichen Paketnamen; diese
Dateien sind die sog. Source-RPMs. Der Name deutet es bereits an: das
Kompilieren, das Packen und das Installieren eines Pakets wird von
rpm vorangetrieben.
Diese Pakete können mit YaST - wie jedes andere Paket - installiert werden;
allerdings werden Quellpakete nie als installiert ("[i]")
markiert wie die "regulären" anderen Pakete. Dies liegt daran, weil die
Quellpakete nicht in die RPM-Datenbank aufgenommen werden; in der
RPM-Datenbank nämlich erscheint nur installierte Betriebssoftware.
Die grundlegenden Pakete der Serie "d" (Development) müssen
installiert sein; sollen X-Programme kompiliert werden, müssen die
einschlägigen Pakete der Serie "xdev" (Development unter X11)
vorhanden sein.
Die Arbeitsverzeichnisse des rpm-Programms unter
/usr/src/packages müssen vorhanden sein (falls keine eigenen
Einstellungen vorgenommen z.B. via /etc/rpmrc wurden):
SOURCES.tar.gz-Dateien etc.) und für die
distributionsspezipfischen Anpassungen (.dif-Dateien).SPECS.spec-Dateien, die in der Art eines
Meta-Makefiles den build-Prozeß steuern.BUILDRPMSAchtung: Bitte machen Sie keine RPM-Experimente mit wichtigen System-Komponenten (libc,rpm,nkit, etc.); Sie setzen die Funktionstüchtigkeit Ihres Systems aufs Spiel.
Wenn Sie ein Quellpaket der Serie "zq" mit YaST installieren, dann
werden die für den build-Prozeß notwendigen Komponenten unter
/usr/src/packages installiert: die Quellen und die Anpassungen
unter SOURCES und die dazugehörige .spec-Datei unter
SPECS. Im folgenden wird das Paket wget.spm
betrachtet. Nachdem das Quellpaket wget.spm mit YaST installiert
wurde, gibt es die Dateien:
/usr/src/packages/SPECS/wget.spec
/usr/src/packages/SOURCES/wget-1.4.5.dif
/usr/src/packages/SOURCES/wget-1.4.5.tar.gz
Mit rpm -b <X> /usr/src/packages/SPECS/wget.spec wird der
Kompiliervorgang angestoßen; dabei kann <X> für verschiedene
Stufen stehen (vgl. die --help-Ausgabe bzw. die
RPM-Dokumentation); hier nur in Kürze:
-bp/usr/src/packages/BUILD präparieren:
entpacken und patchen-bc-bp, jedoch zusätzlich noch kompilieren-bi-bc, jedoch zusätzlich noch installieren;
Achtung, wenn ein Paket nicht das BuildRoot-Feature
unterstützt, ist es möglich, daß Sie sich während dieses Installationsvorgangs
wichtige
Konfigurationsdateien überschreiben!-bb-bi, jedoch zusätzlich noch das sog. Binary-RPM
herstellen; bei Erfolg liegt es in /usr/src/packages/RPMS.-ba-bb, jedoch zusätzlich noch das sog. Source-RPM
herstellen; bei Erfolg liegt es in /usr/src/packages/SRPMS.
Mit der Option --short-circuit lassen sich einzelne Schritte
überspringen.
Das hergestellte Binary-RPM ist schließlich mit rpm -i ... oder
besser mit rpm -U ... zu installieren, damit es auch in der
RPM-Datenbank auftaucht.
Weitere Informationen zu RPM finden Sie im Buch "Maximum RPM", das im Postscript-Format unter http://www.rpm.org verfügbar ist, sowie im RPM-HOWTO.
Sie versuchen ein .spm zu installieren und erhalten z.B. die
Meldung:
cannot write to ///usr/src/redhat/SOURCES
error: /cdrom/suse/zq1/tetex.spm cannot be installed
Entfernen Sie die Datei /etc/rpmrc (oder gleichen Sie diese Datei
mit /usr/lib/rpmrc ab); also am einfachsten ein:
rm /etc/rpmrc
Einzelne RPM-Pakete updaten
rpm - Der Paket-Manager des SuSE Linux