PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie gehe ich mit SOURCE.RPMs um ?



Henner
12.04.03, 23:20
immer wenn ich keine RPM-Dateien für meine Distribution finden konnte, habe ich mir
das Programm als *.tar.gz-Dateien runtergeladen und versucht alles selbst zu compilieren.

halt mit:
./configure
make
make install
...

mit mäßigem Erfolg.

Oft werden aber auch Source.RPMs angeboten. Ich kann die Sourcen mittels rpm -i *.src.rpm installieren.
Weiter weiss ich allerdings nicht. Wie verfahre ich weiter? Wie compiliere/installiere ich das Programm?

Was sind die Vorteile von SRC.RPM downloads gegenüber den tar.gz-Dateien?

Gibt es ein HowTo?

Henner:ugly:

I-Master
13.04.03, 00:34
Zu den verschiedenen RPMs könnte das helfen:

http://www.unix-ag.uni-kl.de/~linux/linuxtag97-2/vortrag-lt97-2/sysad2/node9.html

Zum Unterschied / RPM tar.gz:

RPM ist finde ich so nen bisschen wie Windows: Klicken und eigentlich nicht wissen, was passiert ;)

Also bei RPMs isses so (flamt mich, wenn ich irre) dass Du keine Wahlmöglichkeiten hast. Das RPM wird installiert und gut ist.

Bei tar.gz Files kannste durch ein ./configure --irgendein-schalter=ein das so kompilieren, wie Du es gerne hättest.

Ein Beispiel: Proftpd gibts als RPM und als tar.gz. Als RPM unterstützt der kein MYSQL. Das geht nur mit dem tar.gz File und mit ./configure --with-modules:sql:my_sql oder so ähnlich.

Jasper
13.04.03, 02:15
Original geschrieben von I-Master

RPM ist finde ich so nen bisschen wie Windows: Klicken und eigentlich nicht wissen, was passiert ;)

Also bei RPMs isses so (flamt mich, wenn ich irre) dass Du keine Wahlmöglichkeiten hast. Das RPM wird installiert und gut ist.

Bei tar.gz Files kannste durch ein ./configure --irgendein-schalter=ein das so kompilieren, wie Du es gerne hättest.

Ein Beispiel: Proftpd gibts als RPM und als tar.gz. Als RPM unterstützt der kein MYSQL. Das geht nur mit dem tar.gz File und mit ./configure --with-modules:sql:my_sql oder so ähnlich.

das ist am thema vorbei. der OP wollte den unterschied zwischen source-rpms und tarballs wissen.

@henner
source-rpms bauen auf den tarballs auf. in den specfiles (eine art skript) sind die kommandos zum compilieren der quellen angegeben, so dass zum schluss fertige binärpakete vorliegen. d.h. das, was du per hand beim manuellen compilieren erledigst, ist nur in ein skript verpackt worden.
man kann den build genauso steuern wie beim manuellen compilieren. rpm oder allgemein jedes paketformat hat gegenüber der ./configure;make;make install methode eien riesenvorteil: man kann jedes installierte file eindeutig einem paket zuordnen und somit sind updates/deinstallation leicht möglich und man hat jederzeit einen genauen überblick über die installierte software.

zu rpm gibt es ein ganzes buch, zu finden auf www.rpm.org.

-j

Henner
15.04.03, 13:48
ich habe jetzt mal mit:

rpm --rebuild xxxxx.src.rpm die .src-Dateine installiert. Ich hoffe, das ist richtig so.

Besteht auch die Möglichkeit, den Installationspfad zu ändern (z.B.: home/user/name)??

Henner

christopher
15.04.03, 15:53
checkinstall wäre auch ne möglichkeit um die sourcen sauber zu installieren.... bzw ordnung zu behalten.

juvoaa
27.04.03, 10:59
ich habe eine installiert, d.h. der rpm -i Befehl läuft ohne Fehlermeldung durch, aber ich finde nirgends etwas Installiertes

soenke
27.04.03, 16:59
Hei,

hier ist eine sehr ausführliche Beschreibung:

http://www.linuxforen.de/forums/showthread.php?s=&threadid=21870&highlight=rpm

Zusammengefasst:

Da Du Red Hat und SuSE hast, weiss ich nicht für welche Distri Du das anwenden möchtest. Die Pfade sind etwas unterschiedlich ebenso die RPM-Version.

Für SuSE:

Zuerst das Source-RPM so installieren, wie Du es gemacht hast. Dann hast Du im Verzeichnis
/usr/src/packages/SPECS eine Datei mit dem Namen: <paketname>.spec und im Verzeichnis
/usr/src/packages/SOURCES eine Datei <paketname-version>.tar.gz bzw. <paketname-version>.tar.bz2.

Dann gehst Du in das Verzeichnis /usr/src/packages/SPECS und gibst folgendes ein:

rpm -bb --target=i686 --clean --rmsource <paketname>.spec.

Das ist dann angepasst für Dein PentiumII. Nachdem es fertig und fehlerfrei kompilert wurde, ist das (Binär-)RPM unter /usr/src/packages/i686 zu finden und kann dann installiert werden.

Eine kurze Erklärung zu den Optionen:

-bb: Es wird ein Binärpaket erstellt. (Option -bs würde nur ein Source-RPM erstellen. Und Option -ba würde ein Binär- und Source-RPM erstellen.)

--target: erstellt das RPM für den jeweiligen Prozessor-Typ.

--clean: Räumt den BUILD Ordner auf.

--rmsource: Räumt den SOURCE Ordner auf.

Für Red-Hat und für eine ausführliche Beschreibung und überhaupt würde ich den oben genannten Link benutzen.

Beste Grüße

Sönke

juvoaa
27.04.03, 18:12
ja, soweit so gut
jetzt failed dependencies
ant wird von limewire gebraucht
j2sdk wird von limewire gebraucht - ist das java

mario88
27.04.03, 18:49
Original geschrieben von juvoaa
ja, soweit so gut
jetzt failed dependencies
ant wird von limewire gebraucht
j2sdk wird von limewire gebraucht - ist das java

Ja, das ist Java und LimeWire würde ich eher mit dem offiziellen Installer installieren, nämlich mit DEM (http://www3.limewire.com/download/LimeWireLinux.bin), weil dann braucht er nur JavaVM