Re: Wiki-Artikel über rpmbuild
Olaf Radicke <[email protected]>
| Newsgroups | gmane.linux.redhat.fedora.german |
|---|---|
| Message-ID | <809913654.5644.1330637664322.JavaMail.open-xchange@ox.hosteurope.de> |
Hi! Langsam entwickele ich einen richtigen inbrünstigen Hass auf rpm/rpmbuild. Wenn ihr euch mal mein Beispiel anseht: https://fedoraproject.org/wiki/How_to_create_a_GNU_Hello_RPM_package/de#Makefile_erstellen Dann fällt euch vielleicht im Makefile diese Zeile auf... <snip> dist-rpm: pre-rpm <snap> Eigentlich ist das "pre-rpm" zu viel, denn es sollte vom Speck-File aufgerufen werden... <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", aber offenbar führt er dazu, das "%prep" nicht ausgeführt wird. Wenn ich "%setup -q" woanders hin verschiebe, wird "%prep" auf ein mal ausgeführt: <snip> [...] + cd /home/or/rpmbuild/BUILD + make PREFIX=/home/or/rpmbuild/BUILDROOT/rpm-uebung-1-1.noarch pre-rpm make[1]: Entering directory `/home/or/rpmbuild/BUILD' make[1]: *** Keine Regel, um >>pre-rpm<< zu erstellen. Schluss. [...] <snap> Der prefix ist definitiv falsch. Also ersetze ich die Zeile durch... <snip> make PREFIX=%(echo $HOME)/rpmbuild/ pre-rpm <snap> Nun lautet die Fehlermeldung.... <snip> [...] Ausführung(%prep): /bin/sh -e /var/tmp/rpm-tmp.N9C8lB + umask 022 + cd /home/or/rpmbuild/BUILD + make PREFIX=/home/or/rpmbuild/ pre-rpm make[1]: Entering directory `/home/or/rpmbuild/BUILD' make[1]: *** Keine Regel, um >>pre-rpm<< zu erstellen. Schluss. [...] <snap> ...Ja? Warum sollte jetzt das Makefile auf ein mal in /home/or/rpmbuild/BUILD sein? Irgend wie scheint sich auf ein mal rpmbuild nicht mehr zuständig zu fühlen, das Tar-Archif dort hin auszupacken, wo es es gerne hin haben will... Also wenn ich das richtig sehe, gibt es hier ein Henne-Ei-Problem (http://de.wikipedia.org/wiki/Henne-Ei-Problem): Das Makefile brauch Informationen von rpmbuild mit es die nötigen Vorbereitungen treffen kann, mit rpmbuild funktioniert. rpmbuild braucht wiederum wiederum Informationen von Makefile. Jetzt könnte man es sich leicht machen und ein autonomes Spec-File machen. Bei einem Projekt mit einer Bash-Datei kein Problem. Aber bei einem Großen Projekt mit hunderten Dateien wird man ja schier wahnsinnig ständig zwei Files anpassen zu müssen. Zumal 95% identisch und redundant ist. Also entweder ich hab irgend was Grundsätzliches an rpmbuild noch nicht verstanden, oder das Tool ist echt für den Ar***. Gruß Olaf -- de-users mailing list [email protected] https://admin.fedoraproject.org/mailman/listinfo/de-users