[gnucash-de] rpmbuild und tarballs

Christian Stimming stimming at tuhh.de
Don Nov 3 05:52:21 EST 2005


Hallo,

Gerd Schuckar schrieb:
> Wie baut man korrekt source.tar.gz Archive? Wo finde ich Informationen 
> (gegoogled habe ich schon), in denen die Vorgehensweise beschrieben ist. Gibt 
> es ein Buch, ein Script? Das Problem ist, das ich immer wieder Pakete finde, 
> die sich nicht ordentlich rpm builden lassen. 

Äh... die Frage ist etwas ungenau. Ein .tar.gz Archiv (auch "tarball" 
genannt) sagt prinzipiell erstmal nichts darüber aus, ob dessen Inhalt 
für die Benutzung mit "rpmbuild -ta blabla.tar.gz" geeignet ist oder 
nicht. (Im allgemeinen Fall ist es *nicht* geeignet.) Die übliche 
Konvention beim GNU build-system ist lediglich, dass sich im tarball ein 
shell-script namens ./configure befindet, so dass man via ./configure; 
make; make install das ganze Ding installieren kann. Aber ein tarball 
garantiert ja nicht mal, dass der Inhalt den Konventionen des GNU 
build-system gehorcht. Deswegen gibt es ja die separaten 
source-RPM-Pakete (blabla.src.rpm), die dann wiederum garantieren, dass 
da ein spec-file für rpmbuild drin bereitliegt.

Ist deine Frage nun, wie man ein .tar.gz-Archiv so präparieren kann, 
dass es für die Benutzung mit "rpmbuild -ta blabla.tar.gz" geeignet ist? 
Dann ist die Antwort, dass in dessen toplevel-directory das spec-file 
mit dem Namen <paketnamen>.spec liegen muß. (Was offensichtlich nicht 
Bestandteil der GNU build-system Konventionen ist.) In 
gwenhywfar/aqbanking/etc erreichen wir das dadurch, dass gwenhywfar.spec 
im Makefile.am in EXTRA_DIST gelistet ist - aber das betrifft echt nur 
die Entwickler. Als "normaler user" kann man da normalerweise nichts 
dran ändern.

> z.Bsp wegen:
> Fehler: Name field must be present in package: (main package)
> Fehler: Version field must be present in package: (main package)
> ...

Das klingt für mich eher danach, als wäre eben gar keine Datei 
blabla.spec vorhanden. Damit ist es zwecklos, "rpmbuild -ta" überhaupt 
zu versuchen. Man sollte sich auf die Suche nach einem src.rpm begeben.

Gruß

Christian