Re: Wiki-Artikel über rpmbuild

Olaf Radicke briefkasten at olaf-radicke.de
Sun Mar 4 08:39:49 UTC 2012




Hallo Liste!


Danke für die Mails.


Michael Schwendt <mschwendt at gmail.com> hat am 2. März 2012 um 18:32 geschrieben:
> On Thu, 1 Mar 2012 22:34:24 +0100 (CET), OR (Olaf) wrote:
[...]
> > Eigentlich ist das "pre-rpm" zu viel, denn es sollte vom Speck-File
> > aufgerufen
> > werden...
>
> Sicherlich kein Tippfehler, also lassen wir es doch bei "spec", okay?

Ich habe nur zu schnell auf "Okay" geklickt, als die Rechtschreibkorrektur den
Vorschlag gemacht hat (Die kennt nur "Speck" und nicht "spec").

> > <snip>
> > %prep
> > %setup -q
> > make PREFIX=$RPM_BUILD_ROOT pre-rpm
> > <snap>
> >
> > Doch dieser Befehl wird nie ausgeführt. Ich habe nie wirklich verstanden was
> > "%setup -q",
>
> Im Gegensatz zu %prep ist %setup ein Kommando mit hinreichend gut
> dokumentierten Optionen. Laß für den Anfang -q ("quiet") weg, damit in
> der Ausgabe nichts unterdrückt wird. %setup ist für das Anlegen des
> "Build" Verzeichnisses und das Entpacken der "Source" Archive zuständig.

Also müsste zu dem Zeitpunkt, wo "%setup" abgearbeitet  wird, vom
Makefile die Software gebaut, als Tar-Arch verschnürt und in [wo-immer]/SOURCE/
abgeschoben worden sein.

Das gibt - theoretisch - zwei Probleme:

1.) Wenn u.a. das Verzeichnis  "[wo-immer]/SOURCE/" erst von "%setup"
    angelegt wird, kann da noch nix drinnen sein. Auch kein Tar-Archiv.
2.) Kann Make das Tar-Archiv nicht erstellen und verschieben, wenn
    es nicht zuvor von rpmbuild aufgerufen wird, und gesagt bekommt,
    wo es das Tar-Archiv hinschieben soll.


> > <snip>
> > make PREFIX=%(echo $HOME)/rpmbuild/ pre-rpm
> > <snap>
>
> Dieser PREFIX ist auch falsch. Ohne Kommentierung sogar unsinnig.
> Üblich wäre PREFIX=/usr bzw. PREFIX=%{_prefix}.

Noch mehr "schwarze Magie". Ich hab jetzt erst mal
<snip>
%install make PREFIX=$RPM_BUILD_ROOT install
<snap>
...genommen. Auch falsch?


[...]
> Und keine Angabe von --target. Wenn Du "noarch" brauchst, gehört diese
> Angabe in die spec.  BuildArch: noarch

Ah-ja. Der Tipp ist gut.


Gruß

Olaf


More information about the de-users mailing list