Mamadou Diaby <diaby@rumms.uni-mannheim.de> writes: | Wie kann ich aus einem RPM-Archive ( xyp.rpm ) die Source-Code | extrarieren? In dem Suse-Handbuch, steht nur drin wie man etwas | installiert oder deinstallieren. Bis zur Version 5.0 waren die | Source-Code in tgz-Format, aber jetzt in 5.2 sind die nur in | rpm-format. Bislang steht es leider nur in der SDB: Lassen Sie mich in bezug auf Ihr Anliegen aus unserer Supportdatenbank zitieren, die Ihnen übrigens auch sonst durchgehend online unter der URL <A HREF="http://www.suse.de/Support/sdb"><A HREF="http://www.suse.de/Support/sdb</A">http://www.suse.de/Support/sdb</A</A>> zur Verfügung steht. Den zitierten Artikel finden Sie unter dem Suchbegriff "soruce": S.u.S.E. Linux-Quellpakete kompilieren Bezieht sich auf S.u.S.E. Linux: Versionen ab 5.1 Anliegen: Sie möchten ein bei S.u.S.E. 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. Voraussetzungen: 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 [12]/etc/rpmrc wurden): SOURCES für die originalen Quellen (.tar.gz-Dateien etc.) und für die distributionsspezipfischen Anpassungen (.dif-Dateien). SPECS für die sog. .spec-Dateien, die in der Art eines Meta-Makefiles den build-Prozeß steuern. BUILD unterhalb dieses Verzeichnisses werden die Quellen entpackt, gepatcht und kompiliert. RPMS hier werden die fertigen sog. Binary-Pakete abgelegt. Vorgehen: Achtung: 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 Quellen im Verzeichnis /usr/src/packages/BUILD präparieren: entpacken und patchen -bc wie -bp, jedoch zusätzlich noch kompilieren -bi wie -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 wie -bi, jedoch zusätzlich noch das sog. Binary-RPM herstellen; bei Erfolg liegt es in /usr/src/packages/RPMS. -ba wie -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. _________________________________________________________________ Problem 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 Siehe auch: ---- [13]Einzelne RPM-Pakete der »S.u.S.E. Linux«-Distribution updaten ---- [14]rpm - Der Paket-Manager der »S.u.S.E. Linux«-Distribution ---- [15]Neuere Version des rpm benutzen ---- [16]Quellpakete der »S.u.S.E. Linux«-Distribution kompilieren (bis 5.0) -- Karl Eichwalder S.u.S.E. GmbH Fax +49-911-3206727 ke@suse.de Gebhardtstrasse 2 Mo & Th 13:00-18:00: <A HREF="http://www.suse.de/~ke/"><A HREF="http://www.suse.de/~ke/</A">http://www.suse.de/~ke/</A</A>> 90762 Fuerth, Germany Hotline +49-911-3247130 -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux