ein eigenes RPM-Paket bauen

am Beispiel OpenSUSE 13.1 64 Bit.
es sollen zwei Dateien(datei2, datei3) nach /opt/ich/ installiert werden.
Es werden keine Sourcen sondern nur die fertigen Dateien benötigt.
installiere zunächst rpmbuild:

zypper in rpm-build

kopiere alle zu installierenden Dateien ins Verzeichnis ''/usr/src/packages/SOURCES/' rein:

echo datei2 > /usr/src/packages/SOURCES/datei2
echo datei3 > /usr/src/packages/SOURCES/datei3

Dann muss eine Spec-Datei erstellt werden und in das Verzeichnis „/usr/src/packages/SPECS/“ kopiert werden.

datei.spec
#
# Example spec file for datei app...
#
Summary: Ein Testprogramm zum RPM-bau
Name: datei
Version: 1.0
Release: 1
License: GPL
Group: Applications/Sound
Source: http://meinserver/suse/citrix/13.1/
URL: http://meinserver/suse/citrix/13.1/
Distribution: OpenSuse 13.1
Vendor: meine Firma GmbH
Packager: Richard Borwinius <richard@borwinius>
Requires: pulseaudio pavucontrol
#BuildArch: noarch
 
%description
Dies ist ein Testprogramm zur Demonstration.
Es zeigt wie ein RPM-Programm erstellt wird.
Als erstes müssen alle zu installierenden Datei in das Verzeichnis "/usr/src/packages/SOURCES" kopiert werden.
Dann muss diese Spec-Datei (datei.spec) erstellt und in das Verzeichnis "/usr/src/packages/SPECS" kopiert werden.
In diesem muss in der Install-Sektion der Zielordner der einzelnen Dateien festgelegt werden.
jetzt wird das Paket mit "rpmbuild -ba /usr/src/packages/SPECS/datei.spec" erstellt.
Das fertige RPM liegt im Ordner "/usr/src/packages/RPMS/x86_64/datei-1.0-1.x86_64.rpm".
 
%prep
#zcat $RPM_SOURCE_DIR/datei.tgz | tar -xvf -
#ls $RPM_SOURCE_DIR
 
%build
#make 
#ls
 
%install
#make install
mkdir -p $RPM_BUILD_ROOT/opt/ich
#ln -s ../../etc/init.d/meindienst %{buildroot}/usr/sbin/rcmeindienst
install -m 755 datei2 $RPM_BUILD_ROOT/opt/ich
install -m 755 datei3 $RPM_BUILD_ROOT/opt/ich
 
%post
#insserv meindienst
#rcmeindienst start
 
%preun
#rcmeindienst stop
#insserv -r meindienst
 
%files
/opt/ich/datei2
/opt/ich/datei3
 
%changelog
erster Versuch

In dieser Datei muss in der Install- und Files-Sektion der Zielordner der einzelnen Dateien festgelegt werden.
jetzt wird das Paket mit

rpmbuild -ba /usr/src/packages/SPECS/datei.spec

erstellt.
Das fertige RPM liegt im Ordner „/usr/src/packages/RPMS/x86_64“ und kann mit

rpm -Uvh /usr/src/packages/RPMS/x86_64/datei-1.0-1.x86_64.rpm

installiert werden .
Wenn pulsaudio und pavucontrol auf dem Rechner noch fehlen, gibts eine Fehlermeldung vom rpm.