Am Sonntag, den 04.03.2012, 20:25 +0100 schrieb Olaf Radicke:
Guten Abend!
Michael Schwendt <mschwendt(a)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