RPM aus *.tar.bz2

hermy

hermy

Tripel-As
Hallo,

wenn man neue software installieren möchte, findet man überall *.tar.bz2-Dateien. Aber wie mache ich mir daraus eine RPM-Datei für meine Distri?
Kann mir jemand mal sagen wo ich dazu gute HOWTOs finde?

mfg
hermy
 
Source entpacken - ./configure (gg.f mit --prefix=/xyz) - make - und dann mit checkinstall ein RPM bauen ;)
 
Das ist nicht ganz einfach.
Zuerst musst du aus den Sourcen kompilieren und dann kannst du später aus den Binarys ein *.rpm machen.
Nun erstmal zum Kompilieren
1. Zuerst musst du die *.tar.bz2 entpacken
2. Dann ins Verzeichnis wechseln.(cd)
3. Dann musst du schauen ob die benötigen Libs und Header hast.(configure) und evtl nach installieren(headers=dev-Pakete).
4. Dann make zum kompilieren
5. Zuletzt make install um die Binarys an die richtige Stelle zu kopieren

Für das ganze brauchst du Rootrechte per su oder sudo

Ich hoff ich konnt dir helfen Pygmaee

EDIT: Die Admins sind einfach zu schnell:)
 
Finde ich ja echt hilfreich. nachdem ich entpackt und ./configure ausgeführt habe, sagte er: "configure: error: Sorry, you need arc" (ich versuchte grade amavis zu installieren)
Was mache ich jetzt?
Ich hab "make" eingegeben - ausgabe: make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden. Schluss.

Was nun?
 
Momentan kann ich die RPM nicht downloaden, da ich im uni-funknetz aus einem mir unverständlichen grund keinen zugriff auf ftp-server habe. werde das demnächst mal zu hause ausprobieren :-) dann melde ich mich wieder (sollten weitere probleme auftauchen).
 
Dem fehlte dann "arc" - also hab ich das irgenwie nicht zum laufen bekommen.

jetzt wollte ich für meinen laufenden lüfter eine software installieren (bzw. neu kompilieren), da die yast - rpm-version etwas älter ist als die source datei (http://secure.netroedge.com/~lm78/download.html) da habe ich die Datei http://secure.netroedge.com/~lm78/archive/i2c-2.7.0.tar.gz downgeloadet.
1. entpackt
2. ./configure eingegeben
Ergebnis: "bash: ./configure: Datei oder Verzeichnis nicht gefunden"
obwohl ich in dem Ordner bin!
Was kann man da machen?
 
Hallo
Eventuell die README lesen, da stehen dann Hinweise zur Kompilierung bzw. Installation. Mitunter gibt es kein configure Script, dann ist das die Makrodatei make eventuell schon vorhanden.
Einfach mal im Ordner der Sources nachsehen.

Gruß Wolfgang
 
Also, in einer "Quickstart"-Datei fand ich folgendes:

The instructions in this document will only work if you have a standard
system, and may cause problems.

Quickstart:
* Make sure you have the kernel tree corresponding to your current
kernel in /usr/src/linux. Distribution kernels usually won't do,
compile your own from a 'vanilla' tree (get one from
ftp://ftp.kernel/org/pub/linux/kernel/).
* Do a `make' followed by a `make install'. The warnings about .d
files at the start are harmless.
* Make sure you do a `depmod -a'.
* That's all (but you need client drivers from some other source to do
anything interesting)

leider ist bei Suse 10 der kernel nicht in /usr/src/linux - zumindest konnte ich diese lokalisation im konqueror nicht finden. jetzt schreibt der etwas von einem "vanillia"-tree. Was heißt das denn?
auf dem ftp-server finde ich ja die source dateien, aber was muss ich da runterladen und was muss ich in dem ordner anlegen?

gruß
hermy
 
hi
ist das verfahren ähnlich beim erstellen von deb-packages,oder muss man da auf was besonderes achten??

@hermy
mit vanilla-tree meint er einen stabilen kernel soweit ich weiss.die kernel source installierst du mit yast bzw mit rpm -U "deinekernelsource".rpm in der konsole.du brauchst aber die kernel-source passend zu deinem kernel.tust dein kernel updaten tut suse die kernel-source mit updaten,vorausgesetzt du hast sie schon mal installiert.


mfg,
hagbard
 
Zuletzt bearbeitet:
Hallo
Du brauchst zum Kompilieren von sources nicht den ganzen Kernelsource, aber essentiell die passenden Kernelheader!

Dass Suse in der File-Hierarchie etwas vom Standard abweicht, habe ich schon gelesen.
Zur diesem Punkt unter Suse kann ich nicht viel sagen, da ich noch nie eine solche hatte.
Allerdings sollte es genügen entweder den entsprechnden Link zu setzen, oder im Makefile als Variable zu korrigieren.

Ich denke aber mal, dass du keinen /usr/src/linux hast, weil du noch keine Kernel-header installiert hast.

Deine Kernelversion ist mit $(uname -r) zu ermitteln.
Du solltest versuchen Suse-eigene Kernel-Header zu verwenden, da es für Anfänger sonst zu Problemen kommen kann.
IMHO hat Suse da einige eigene Dinge in den Kernel, die nicht im Vanilla sind.
Ist das mit der Version 10.x noch so?

Also such dir ein Suse-Paket mit den passenden Kernel-Headern und installier das.
Dann schau ob der Link richtig gesetzt ist.
Wenn nicht, erstell ihn und erstell dein Paket.

Gruß Wolfgang
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Spalten einer Datei in neue Datei integrieren.

"non blocking console input" wieder rückgängig machen?

Samba User importieren

Empfehlungen für ein Partitionsschema home server

Zurück
Oben