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