Hallo Liste, 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. Danke für jede Hilfe. bye Sada --- Mamadou Sada Diaby, Lassallestr. 1a, Germany,Tel.: +49-621-8281215 ;diaby@rumms.uni-mannheim.de; sada@mgx.net -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
Hi *, Mamadou Diaby wrote:
Hallo Liste,
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.
Da bist Du genau auf den Casus Knaxus gestossen, der mich veranlasst hat, seit 5.0 bis auf Weiteres mein System manuell auf einen neueren Stand zu halten, ohne jeweils eine neue SuSE-Distribution erwerben zu müssen/wollen bzw. überhaupt auf eine Distribution fixiert zu sein. So nett RPM für User ist, die alles über YAST machen, so bescheiden ist es, wenn man a) mitschneiden will, was überhaupt alles getouched wird und b) das ganze wieder rückgängig machen will. Mein System ist z.Zt. nur bedingt "YAST-able", weil ich nach dem Erwerb der Applixware die neuere RPM-Version verwenden mußte. Die hat dann zwar (genau der SuSE-Anleitung folgend) die Applixware schön installiert - mit div. Fehlermeldung, die einfach zu ignorieren waren - nur meint seit dem der YAST, daß meine Paket-Abhängigkeiten nicht erfüllt sind. Zu Deinem Problem: Um sich anzeigen zu lassen, was für Files in einem Paket enthalten sind: rpm -qlp package.rpm Eine Möglichkeit um die Transparenz wie bei einem tgz-file zu erreichen ist, wenn Du die Installation über --root in ein anderes Verzeichnis lenkst und (wichtig!) die option --noscripts angibst, damit die pre- und post-install- scripte nicht ausgeführt werden. Ferner(as usual): man rpm rpm --help|o bye Karl (parakarl@rupnet.de) PGP key at <A HREF="http://private.rupnet.de/~parakarl/"><A HREF="http://private.rupnet.de/~parakarl/</A">http://private.rupnet.de/~parakarl/</A</A>> ________________________________________________ You may snorkel with Windows ... ... while I dive with Linux ;-) -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
Karl <parakarl@rupnet.de> writes: | Da bist Du genau auf den Casus Knaxus gestossen, der mich veranlasst | hat, seit 5.0 bis auf Weiteres mein System manuell auf einen neueren | Stand zu halten, ohne jeweils eine neue SuSE-Distribution erwerben | zu müssen/wollen bzw. überhaupt auf eine Distribution fixiert zu | sein. Es ist in der Regel nur notwendig, dass Basissystem komplett auf dem Laufenden zu halten. Das Basissystem ist per FTP, auf der "Aktuell!" und auf diversen Evaluation-CDs verfügbar; Evaluation-CDs werden bei bestimmten Anlässen kostenfrei weitergegeben (CeBIT, Comdex, Buch- oder Zeitschriften-Beilage). Ein aktuelles Basisssytem liet z.B. auch der Applix- oder der Motif-CD bei, wenn diese gerade herauskommen; bitte immer das Release-Datum beachten bzw. beim Vertrieb erfragen! | So nett RPM für User ist, die alles über YAST machen, so bescheiden | ist es, wenn man a) mitschneiden will, was überhaupt alles getouched | wird und b) das ganze wieder rückgängig machen will. Ich denke, dass gerade das Gegenteil der Fall ist; dank der RPM-Datenbank gibt es viele Abfrage-Möglichkeiten, von denen -- zugegeben -- im S.u.S.E.-Handbuch nur eine Auswahl dokumentiert ist. -- 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
Wie kann ich aus einem RPM-Archive ( xyp.rpm ) die Source-Code extrarieren? am einfachsten mit mc (midnight-commander) ansonsten musst Du wirklich man rpm lesen
Thomas Krause -------- if {mind == $[%!&5@]}{exec mv Person > /dev/null} ---------- -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
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
participants (4)
-
diaby@rumms.uni-mannheim.de
-
ke@suse.de
-
parakarl@rupnet.de
-
thk@mabi.de