Re: rpm Pakete selber bauen?
Von: Reinhard Tchorz (deltchorz@arcor.de) [Profil]
Datum: 21.08.2008 18:30
Message-ID: <48ad984a$0$1062$9b4e6d93@newsspool3.arcor-online.net>
Newsgroup: alt.linux.suse
Datum: 21.08.2008 18:30
Message-ID: <48ad984a$0$1062$9b4e6d93@newsspool3.arcor-online.net>
Newsgroup: alt.linux.suse
Ulli Horlacher schrieb: > Wie baut man eigene rpm Pakete? > > Alle Dokumentation, die ich dazu gefunden habe ist entweder veraltet, > inkompatibel oder es funktioniert einfach nicht. > > Da war ich schon: > > http://www.novell.com/coolsolutions/feature/11793.html > (build.rpm gibts nicht mehr) > > http://en.opensuse.org/SUSE_Build_Tutorial > (veraltet, enthaelt ungueltige Links) > > http://www.rpm.org/RPM-HOWTO/build.html > (inkompatibel mit SuSE) > > > Hier ein Micro-Lehrgang: Ein binaäres RPM-Packet für das Programm Kalender (aus meiner Homepage) soll als Beispiel erstellt werden: Die SPEC-Datei kalender.spec: --------------------------------------------------------------------------- Summary: Ein einfacher Jahreskalender mit kleiner Terminverwaltung Name: kalender Version: 1.03 Release: 02 License: GPL Vendor: Reinhard Tchorz Packager: Reinhard Tchorz Group: Applications/Productivity Source: kalender.tar BuildRoot: /var/tmp/%{name}-buildroot url: http://www.rt-sw-de/linux/linux.html %description Ein einfacher Jahreskalender mit Ausgabe der festen und beweglichen Feiertage. Die festen Feiertage können frei konfiguriert werden. Geburtstage, Hochheitstage usw. können ebenfalls verwaltet werden. %prep %setup -q %build #make RPM_OPT_FLAGS="$RPM_OPT_FLAGS" %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/bin mkdir -p $RPM_BUILD_ROOT/usr/share/applications mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps install -s kalender $RPM_BUILD_ROOT/usr/bin install kalender.png $RPM_BUILD_ROOT/usr/share/pixmaps install kalender.desktop $RPM_BUILD_ROOT/usr/share/applications %post %postun usersdir=`ls /home` for i in $usersdir do rm -f "/home/"$i"/.config/Kalender.conf" done %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) #%doc /usr/bin/kalender /usr/share/pixmaps/kalender.png /usr/share/applications/kalender.desktop %changelog * Sun Mar 16 2008 Reinhard Tchorz <mail@rt-sw.de> - Option fuer Fronleichnam hizugefuegt. * Mon Feb 18 2008 Reinhard Tchorz <mail@rt-sw.de> - First release --------------------------------------------------------------------------- - Zunächst kopiert man alle benötigten Dateien in das Verzeichnis kalender-1.03. Dieser Name wird aus dem Namen des Pakets und der Versions- Nummer gebildet. Hier sind es kalender, kalender.png und kalender.png - Dann erstellt man daraus mit tar -cf kalender.tar kalender-1.03 ein tar-Archiv und verschiebt dieses in das Verzeichnis /usr/src/packages/SOURCES - rpmbuild -bb kalender.spec erstellt nun das RPM-Packet, das im Verzeichnis /usr/src/packages/RPMS/i586 zu finden ist. In der spec-Datei ist der Abschnitt %install wohl der wichtigste. - Es müssen alle benötigten Vereichnisse angelegt werden, zB. mkdir -p $RPM_BUILD_ROOT/usr/bin usw. - Jede zu installierende Datei wird angeführt, zB. install -s kalender $RPM_BUILD_ROOT/usr/bin Hinter install verbirgt sich das gleichnamige Programm install. - Im Abschnitt %file werden alle im Paket vorhandenen Dateien aufgeführt. Eine Dokumentation gibt es übrigens auch offline: /usr/share/doc/packages/rpm/RPM-HOWTO/build.html -- MfG Reinhard http://www.rt-sw.de Rauchen kann Ihre Zigarettenlänge drastisch verkürzen![ Auf dieses Posting antworten ]
Antworten
- Philipp Thomas (22.08.2008 00:07)
