Aus Mageia wiki
Wechseln zu: Navigation, Suche
Warnung.png
Warnung!

Das Wiki ist umgezogen und befindet sich nun unter https://wiki.mageia.org/en/Hauptseite-de . Bitte nutzen Sie das neue Wiki.

Die hier enthaltenen Informationen werden nicht aktualisiert und sind deshalb veraltet oder sogar falsch!
Diese Seite befindet sich im neuen Wiki hier: https://wiki.mageia.org/en/Verwenden_von_Mock-de


Mock ist ein einfach zu verwendender Paketersteller, welcher es dir ermöglicht Pakete in einer sauberen Container Umgebung zu erstellen. Es unterstützt aktuell Mageia (Mageia 6 und höher), Fedora, RHEL/CentOS, openSUSE Leap (openSUSE Leap 15.0 und höher) und openSUSE Tumbleweed als Ziel-Distributionen zum bauen von Paketen.

Installation und Einrichtung

  • Installiere mock und mock-mageia-configs:
  # dnf install mock mock-mageia-configs # Wenn DNF verwendet wird
  # urpmi mock mock-mageia-configs # Wenn urpmi verwendet wird
  • Füge deinen Benutzer der Gruppe 'mock' hinzu:
  # usermod -a -G mock <benutzername>
  • Erstelle eine neue Gruppe:
  $ newgrp mock

Alternativ kannst du statt newgrp zu verwenden dich aus dem System abmelden und erneut anmelden um den gleichen Effekt zu erzielen.

Bauen von Paketen mit Mock

Mock kann zum erstellen von Paketen für die gleiche Host-Architektur verwendet werden, sowie für andere kompatible Architekturen. Als Bespiel kann ein i586 Paket auf einem x86_64 Host erstellt werden.

Falls du ein Paket von einem Quellpaket für Mageia 6 x86_64 erstellen möchtest, führe einfach den folgenden Befehl aus:

 mock --root mageia-6-x86_64 --rebuild </pfad/zum/paket.src.rpm> --resultdir </pfad/wohin/das/erstellte_paket/geschriebenwerdensoll>

Falls du mit den Quellen und einer spec Datei beginnst, möchtest du möglicherweise mock dafür verwenden, um auch das Quellpaket zu generieren:

 mock --root mageia-6-x86_64 --buildsrpm --spec </pfad/zum/paket.spec> --sources </pfad/zum/quellverzeichnis> --resultdir </pfad/wohin/das/erstellte_paket/geschriebenwerdensoll>

Beachte, dass die Verwendung von "--resultdir" optional ist und wenn es nicht verwendet wird, wird das Voreingestellte Verzeichnis, "/var/lib/mock/root-name/result", verwendet.

Um für i586 System ein Paket zu bauen, wechsel einfach von x86_64 auf i586 und es wird funktionieren!

Bauen einer Serie von Paketen mit Mockchain

Mockchain ist ein Werkzeug, welches dir ermöglicht eine Serie an Quellpaketen nacheinander zu bauen. Die Verwendung ist sehr einfach:

 mockchain --root mageia-6-x86_64 </pfad/zu/paket1.src.rpm> </pfad/zu/paket2.src.rpm> ...

Es wird einige zufällige Verzeichnisse erstellen, um die Pakete zu bauen und das Ergebnis als Bildschirmausgabe anzeigen, so dass du hinterher weißt, wo sich diese befinden, wenn diese fertig sind.

Bauen von Pakete um diese zur Verwendung unter tainted oder nonfree

Falls du Pakete bauen möchtest die unter tainted oder nonfree eingeordnet werden, füge "-tainted" oder "-nonfree" im root-Namen hinzu.

Als Beispiel um ein Paket von einem Quellpaket für Mageia 6 x86_64 mit tainted Paketen zu bauen, führe einfach folgenden Befehl aus:

 mock --root mageia-6-x86_64-tainted --rebuild </pfad/zu/paket.src.rpm> --resultdir </pfad/wohin/das/erstellte_paket/geschriebenwerdensoll>

Bauen von Paketen, mit Cauldron als Ziel

Falls du Pakete bauen möchtest die Cauldron als Ziel haben, wechsel die Veröffentlichungsversion auf "cauldron".

Als Beispiel um ein Paket von einem Quellpaket für Mageia Cauldron x86_64 zu bauen, führe einfach folgenden Befehl aus:

 mock --root mageia-cauldron-x86_64 --rebuild </pfad/zu/paket.src.rpm> --resultdir </pfad/wohin/das/erstellte_paket/geschriebenwerdensoll>

Dokumentation

Zurück zum Portal der Paketbauer