Buildumgebung

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der Tipps & Tricks Sammlung

RPMs sollten sicherheitshalber nicht als Root erstellt werden, sondern als User. In diesem Artikel soll kurz gezeigt werden, wie man eine Buildumgebung für normale User einrichtet.

Inhaltsverzeichnis

Buildumgebung von Hand erstellen

Im folgenden Beispiel wird ein minimaler Buildtree im Ordner rpmbuild erstellt. Selbstverständlich kann man auch einen anderen Namen wählen, dieser muß aber im Makro %_topdir in der Datei ~/.rpmmacros angegeben sein.

mkdir rpmbuild
cd rpmbuild
mkdir BUILD RPMS SOURCES SPECS SRPMS
echo '%_topdir rpmbuild' >> ~/.rpmmacros


Erstellung der Buildumgebung mit rpmdev-setuptree

Für eine einfachere Einrichtung einer genormten Buildumgebung wird das Programm rpmdev-setuptree aus dem Paket rpmdevtools benutzt. Falls noch nicht installiert, kann dieses einfach mit yum über das Repository von Fedora Extras nachgeholt werden:

[root]# yum install rpmdevtools

Danach kann dann die Buildumgebung erstellt werden:

rpmdev-setuptree

Dies erstellt im Homeverzeichnis des Users die benötigten Verzeichnisse im Ordner rpmbuild/. Zusätzlich dazu wird die für das Programm rpmbuild benötigte Datei ~/.rpmmacros mit folgendem Inhalt erstellt:

%_topdir      %(echo $HOME)/rpmbuild
%_smp_mflags  -j3
%__arch_install_post   /usr/lib/rpm/check-rpaths   /usr/lib/rpm/check-buildroot

Damit ist die Grundeinrichtung erledigt und man kann als User RPMs aus SRPMS oder SPECS erstellen.

Erstellung eines eigenen Benutzers (optional)

Der Einfachheit halber wird der Benutzer, der in diesem Beispiel die RPMs erstellen soll, rpmbuild genannt. Um diesen zu erstellen, muss als Root folgendes eingegeben werden:

[root]# adduser rpmbuild

und

[root]# passwd rpmbuild

Damit ist der Benutzer erstellt worden. Sein Homeverzeichnis liegt dabei unter /home/rpmbuild. Anschließend meldet man sich in einem Terminal als der neu angelegte Benutzer rpmbuild an und erzeugt das Buildverzeichnis

su - rpmbuild
rpmdev-setuptree

Neuerungen ab RPM 4.6 (Fedora 10)

Unter Fedora 10 wird die Version 4.6 von RPM installiert, die folgende Änderungen besitzt:

  • RPM-Verzeichnisbaum wird unter /home/rpmbuild anstelle von /usr/src/rpm angelegt.
  • Buildroot-Angabe im SPEC-File werden ignoriert. Das BUILDROOT-Verzeichnis wird generell unter /home/rpmbuild/BUILDROOT angelegt.

Durch diese Änderung wird verhindert, dass insbesondere unerfahrene Benutzer ihre Pakete unter dem Benutzer 'root' erstellen.