RPM: Signiertes Paket erstellen
Verfasst: 12.02.2013, 22:56
Ziel dieses Tutorials soll es sein, ein einfaches, signiertes RPM-Paket zu erstellen. "Einfach" bedeutet, dass das Paket lediglich Dateien auf dem Zielsystem verteilen soll. Auf die Anwendung von Patches oder gar Kompilierung aus Sourcen wird hier verzichtet.
Zunächst muss unter "/usr/src/packages/SPECS" eine sog. spec-Datei erzeugt werden.
Folgender Benamsung sollte man beachten:
Ausgangsdatei: "operator-0.1-201110.noarch.spec"
"operator": Name des RPM-Pakets
"0.1": Version des RPM-Pakets
"201110": Revision des RPM-Pakets
"noarch": Architektur, auf der das RPM-Paket angewandt werden kann. Möglich wäre also auch "i586" oder "x86_64".
Alle Dateien, die in das Paket mit aufgenommen werden sollen, müssen bereits in den Pfaden liegen, in denen sie später auf anderen Systemen verteilt werden sollen.
Beispiel einer spec-Datei:
Das Paket wird dann mit folgenden Befehl erstellt und unter "/usr/src/packages/RPM/%architecture%/" abgelegt:
Zunächst muss unter "/usr/src/packages/SPECS" eine sog. spec-Datei erzeugt werden.
Folgender Benamsung sollte man beachten:
Ausgangsdatei: "operator-0.1-201110.noarch.spec"
"operator": Name des RPM-Pakets
"0.1": Version des RPM-Pakets
"201110": Revision des RPM-Pakets
"noarch": Architektur, auf der das RPM-Paket angewandt werden kann. Möglich wäre also auch "i586" oder "x86_64".
Alle Dateien, die in das Paket mit aufgenommen werden sollen, müssen bereits in den Pfaden liegen, in denen sie später auf anderen Systemen verteilt werden sollen.
Beispiel einer spec-Datei:
Code: Alles auswählen
BuildArch: noarch
BuildRoot: /usr/src/packages/BUILD/novell-NDScommon
Distribution: SUSE Linux Enterprise Server 10 SPx
Group: System/Management
License: KIJ
Name: operator
Packager: Patrick Elmer (patrick.elmer@jene.de)
Provides: operator
Release: 201110
Requires: novell-NDScommon
Summary: SLES 10 OES Operator-Zugang
Vendor: Patrick Elmer (patrick.elmer@jena.de)
Version: 0.1
%description
Richtet den Operator-Zugang für SLES 10 OES SPx Server ein.
%pre
%define LUM `id operator`
if [ "%LUM" != "uid=623(operator) gid=615(lumgroup) Gruppen=615(lumgroup)" ]; then
clear
echo -e "\033[0;31m\n\n\nBitte stellen Sie sicher, dass der Benutzer 'operator' im eDirectory angelegt \nund für diesen Server LUM-aktiviert ist!\n\n\033[0m";
echo -e "\033[0;31mInstallation abgebrochen.\n\n\n\033[0m";
abortinstall
fi
%post
chown -R operator:users /home/operator
%postun
rm -rf /home/operator
%files
/home/operator/.config/ab-newapps.txt
/home/operator/.config/gnome-main-menu/showable_files_migrated
/home/operator/.config/gtk-2.0/gtkfilechooser
/home/operator/.gconf/apps/%gconf.xml
Code: Alles auswählen
rpmbuild -v -ba --sign /usr/src/packages/SPECS/operator-0.1-201110.noarch.spec