Am Dienstag 20 Dezember 2005 20:25 schrieb lothar.behrens@lollisoft.de:
SRPM in ersten Schritt. Damit der Benutzer die Wahl zwischen tgz und rpm hat. (Download bei sourceforge)
Welchen Sinn ein derartiges RPM haben sollte erschliest sich mir derzeit allerdings nicht .... der User hat die Sourcen installiert und in der RPM-Datanbank, das bringt ihm gar nichts. Mit nem .src.rpm hat das nämlich gar nichts zu tun, das wird beim bau eines binary RPMs normal mitgebaut (rpbuild -ba <specfile>).
Ein Binary RPM möchte ich im zweiten Schritt machen. Hier sind Dinge zu beachten, wie Abhängigkeiten und das Einrichten einer Datenbank Quelle (ODBC) - %post.
Selbst ohne dieses hätte der User zumindest einmal ein installiertes Programm, dass er dann eben manuell konfigurieren muss.
Das würde erstmal reichen. Ich glaube langsam /usr/src/packages/SOURCE ist besser als irgendwo im HOME. Der Benutzer kann ja immer noch verschieben wie Er/Sie will.
Auf jeden Fall würde ich nichts in ein home-Verzeichnis packen, Du weißt ja eh nicht welcher User es verwendet und wie gesagt Du brauchst ein konkretes Verzeichnis, mit ~ ist da nix.
Ist mit meinem Makesystem nicht möglich. Für mich ist es Windows/Linux und Mac - Einheitlich, aber eben nicht automake und Konsorten. Das kommt vielleicht noch.
Trotzdem führst Du irgendwelche Schritte durch um das Programm zu bauen und zu installieren. Die sollten ins Spec-File.
%files %defattr(-,root,root) /* .......
Und dann nichts in %files ?
Nochmal genau hinschauen, da steht "/*", das ist mehr wie nichts, genau genommen das Gegenteil von nichts -> alles.
Das mit dem configure script könnte ich erst mal mit einem dummy realisieren. (Mit einer Warnung)
Las %configure einfach weg, ich hab für Packman diverse Pakete gebaut, die kein ./configure verwenden, lxdvdrip ist z.B. so ne Sache, da gibt es kein ./configure und kein make install, welches das machen würde, was ich mir wünsche (deshalb schieb ich die nötigen Dateien mit install rüber), da schaut die Sache z.B. so aus (ich las die Patches mal weg): %prep %setup -n %{name} %build export CFLAGS="$RPM_OPT_FLAGS" export CPPFLAGS="$RPM_OPT_FLAGS" %{__make} %{__make} -C vamps %install [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} %{__install} -d -m 0755 %{buildroot}%{_bindir} %{__install} -d -m 0755 %{buildroot}%{_sysconfdir} %{__install} -m 0755 lxdvdrip %{buildroot}/%{_bindir}/ %{__install} -m 0755 vamps/vamps_lxdvdrip %{buildroot}/%{_bindir}/ %{__install} -m 0755 vamps/play_cell_lxdvdrip %{buildroot}/%{_bindir}/ %{__install} -m 0644 doc-pak/lxdvdrip.conf.DE %{buildroot}%{_sysconfdir}/lxdvdrip.conf %clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} %files %defattr(-, root, root) %doc doc-pak/* %config(noreplace) %{_sysconfdir}/lxdvdrip.conf %{_bindir}/*
rpm -i hat ja nichts gemacht. rpm -qlp zeigte die Dateien an und rpm -Uvh hat die tgz Datei wieder an Ihren Platz in /usr/src/packages/SOURCES gelegt.
Du installierst die src.rpm Datei? Was sonst sollte die machen, außer den Tarball und das spec File zu installieren?
Das ist erst Mal gut so. Was fehlte, war ein korrekter rpm Befehl :-)
Wenn ich denn mal alles richtig gemacht habe, ist dann ein rpm -i nur für RPM's und nicht für SRPM's gedacht ?
Nö, kann für beides verwendet werden, allerdings enthält... siehe oben. Ein Source-RPM soll ja eigentlich in ein Binary-RPM umgewandelt werden (rpmbuild --rebuild) und ist für sonst nix gut.
Denn mit SRPM's habe ich nicht mal als Benutzer zu tun gehabt. Immer nur Yast :-(
Damit kann ein Benutzer normalerweise ja auch nichts anfangen, der will ne lauffähige Version und die ist im binary-rpm. Selbst Sourcen, die installiert werden (z.B. Kernel-Sourcen) sind ja in einem binary-RPM. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de