nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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