Am 20 Dec 2005 um 19:14 hat Manfred Tremmel geschrieben:
Am Dienstag 20 Dezember 2005 17:21 schrieb lothar.behrens@lollisoft.de:
Ich bin nicht gezwungen, die Quellen (CPP Verzeichnis im tgz), dort abzulegen. Es muss dann nur eine Umgebungsvariable angepasst werden. Ich verwende nun mal mein Home Verzeichnis um darin an den Quellen zu arbeiten.
Ja, aber was genau willst Du denn jetzt machen. Du hast im tarball (tgz) die Quellen, willst Du die jetzt in das RPM packen, oder das fertig compilierte Programm?
SRPM in ersten Schritt. Damit der Benutzer die Wahl zwischen tgz und rpm hat. (Download bei sourceforge) 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.
Wenn Du nur die Sourcen drinnen haben willst (ähnlich dem kernel-default-source RPM bei SUSE, 1:1 wie sie im tarball liegen, reicht ein simples:
....... %prep
%setup
%build
%install [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} %{__mkdir_p} %{buildroot}/verzeichnis/wo/es/hin/soll mv * %{buildroot}/verzeichnis/wo/es/hin/soll/
%clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files %defattr(-, root, root) /verzeichnis/wo/es/hin/soll/* .......
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.
ausreichen (einfachste Variante). Wenn es um ne Installation geht, die alternativ auch per ./configure, make und make install durchführbar ist, dann tut es in der Regel ein:
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.
....... %prep
%setup
%build %configure --prefix=%{buildroot} %__make
%install [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} %{makeinstall}
%clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files %defattr(-,root,root) /* .......
Und dann nichts in %files ? Das mit dem configure script könnte ich erst mal mit einem dummy realisieren. (Mit einer Warnung)
Ich mache ein CVS export, um das dann in ein tarball zu packen.
Ok.
Dies wird dann in /usr/src/packages/SOURCES kopiert. Das nimmt
Ok.
rpmbuild auch und es ist dannach im rpm File. Nur die Installation geht nicht - es passiert nichts.
Was sagt denn ein 'rpm -qlp <rpmname>'? Das sollte Dir alle Dateien anzeigen, die im RPM liegen. Per 'rpm -Uvh <rpmname>' werden die dann mit Sicherheit auch installiert.
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. 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 ? Denn mit SRPM's habe ich nicht mal als Benutzer zu tun gehabt. Immer nur Yast :-( Das kommt denn davon, wenn man immer nur KlickiBunti GUI SW benutzt :-) Lothar -- Lothar Behrens | Rapid Prototyping ... Rosmarinstr 3 | 40235 Düsseldorf | www.lollisoft.de