Mit dem Tool mock ist es möglich RPM Pakete in einer chroot-Umgebung zu erstellen. Dadurch ist es auch mäglich Pakete für ein i386 System auf einen x86_64 System zu erstellen.
Bevor mock installiert werden, kann muss das EPEL Repository eingebunden werden. Anschließend ist die Installation des Paketes wie folgt möglich.
$ sudo yum install mock
Damit ein unprivilegierter Nutzer ein neue chroot-Umgebung und in ihr ein Paket erstellen kann, muss er in der Gruppe mock sein. Diese Zuordnung kann mit dem folgenden Befehl erledigt werden.
$ usermod -a -G mock username
Tipp: Ist der Nutzer während der Zuordnung angemeldet, muss er sich zunächst ab- und wieder anmelden, bevor die Gruppenzuordnung wirksam wird.
Anschließend kann aus einem SRPM-Paket ein RPM-Paket erstellt werden.
$ /usr/bin/mock -r epel-6-i386 --rebuild SRPMS/paket-1.2.3-4.el6.src.rpm
Mit -r wird die Konfigurationsdatei für die chroot-Umgebung angegeben. In diesem Fall wird zusätzlich zu den CentOS Repositories noch das EPEL Repository eingebunden und es werden die i386 Pakete verwendet. Die SRPM Datei, welche über den Parameter --rebuild übergeben wird, wird zum erstellen des Paketes verwendet. Wird zusätzlich noch der Parameter -v angegeben, so werden mehr Details während des Programmlaufs ausgegeben.
War der Vorgang erfolgreich liegt das bzw. die RPM-Paket(e) im Verzeichnis /var/lib/mock/epel-6-i386/result.
Weitere bereits mitgelieferte Konfigurationsdateien für möglichen chroot-Umgebungen sind im Verzeichnis /etc/mock zu finden.
Links
- Webseite: Mock Projekt im Fedora Wiki (englisch)