Wiki-Artikel über rpmbuild

Christoph Wickert christoph.wickert at googlemail.com
Sun Mar 4 21:25:40 UTC 2012


Am Sonntag, den 04.03.2012, 20:25 +0100 schrieb Olaf Radicke:
> Guten Abend!
> 
> Michael Schwendt <mschwendt at gmail.com> hat am 4. März 2012 um 11:39 geschrieben:
> 
> > On Sun, 4 Mar 2012 10:32:57 +0100 (CET), OR (Olaf) wrote:
> >
> > > Wie schaut es bei rpm aus?
> > > Nach einer halben Stunde bist du mit rpm noch nicht viel weiter als am
> > > Anfang.
> >
> > Das glaubt Dir doch niemand. "Make" ist komplexer.
> 
> Erst mal nicht. Als User brauchst du maximal drei Befehle: "make" & "make
> install".
> Manchmal noch eine "configure".
> 
> Als rpmbuild-User musst du wissen:

rpmbuild ist auch kein Tool für Nutzer, sondern für Entwickler und
Paket-Maintainer. Ein Nutzer braucht nur rpm zu kennen.

> 1.) Das du ein Tar-Archiv des Codes brauchst.

Nein, es gehen auch andere Archive oder einzelne Dateien.

> 2.) Das er an einer ganz bestimmten stelle abgelegt werden muss (die auf
>     unterschiedlichen Distributionen unterschiedlich sein kann).

Zeig mir eine Distribution, auf der es nicht rpmbuild/SOURCES bzw. %
_topdir/SOURCES ist.

> 3.) Das das Verzeichnis im Tar-Archiv den gleichen Namen haben muss
> (einschlislich
>     Versionsnummer) wie das Ziel (das rpm), was nicht selbstverständlich ist.

Muss es nicht, dass ist davon abhängig, was als SourceX definiert ist.

Abgesehen davon: All das braucht den Nutzer ja nicht zu interessieren,
denn er bekommt ja ein fertiges Spec file, genauso wie er ein fertiges
Makefile bekommt. Sonst vergleichst Du Äpfel mit Birnen.

> 4.) Das rpmbuild noch Parameter erwartet. Mindestens den Namen des Spec-File.
>     Meist noch weitere, die man durch das lesen des Spec-Files oft nicht
> ableiten
>     kann (im Gegensatz zu make).

Eigentlich sollte man die Dateien nicht lesen müssen, der Aufruf von
--help sollte reichen.

> 5.) Das dass fertige rpm nicht dort gespeichert wird, wo man das Spec-File
>     aufgerufen wird.

Wo man es findest steht am Ende des builds.

> 6.) Das unter bestimmten Umständen die rpmbuild-Umgebung nicht automatisch
>     erstellt wird.

Und zwar unter welchen?

> 7.) Das die rpmbuild-Umgebung von mehr als einem Paket verwendet wird.

Gegenfrage: Woher soll man wissen, dass es bei make nicht so ist? Man
kann sich immer ein Alleinstellungsmerkmal heraussuchen und behaupten,
das sei kompliziert und das

> Der Aufbau von einem Makefile ist in einem Satz erklärt:
> 
> Ziel: Quelle
>     Befehl
> 
> Zweizeiliges Beispiel:
> 
> <snip>
> kochrezept.pdf: kochrezept.tex
>     pdflatex kochrezept.tex
> <snap>

Meinst Du wirklich, jemand kann mit dieser Anleitung ein Makefile
schreiben?

> Befehl für den User: "make" - das war es. Er User/Entwickler hat eine valides
> Makefile.

Aber dahin muss er erst mal kommen. Merkst Du eigentlich, dass Du Äpfel
mit Birnen vergleichst? Du vergleichst das *Schreiben* eines spec files
mit dem *Aufruf* eines Makefiles.

Wenn Du etwas vergleichst, dann vergleiche bitte 
      * Schreiben von Makefiles mit Schreiben von spec files und 
      * Aufrufen von Make mit Aufrufen von rpmbuild.

Besten Dank,
Christoph




More information about the de-users mailing list