Autres langues Deutsch ; English ; français ; |
Résumé : Mock est un outil de construction de paquets très simple d’utilisation qui vous permet de construire des paquets dans un environnement sécurisé de conteneurs. Il permet actuellement de prendre en charge Mageia (Mageia 6 et plus), Fedora, RHEL/CentOS, openSUSE Leap (openSUSE Leap 15.0 et plus) ou openSUSE Tumbleweed comme distribution cible pour la création de paquets. |
Contents
- 1 Installation et configuration
- 2 Construire des paquets avec Mock
- 3 Construire une série de paquets avec Mockchain
- 4 Utiliser des prérequis qui ne sont pas dans les dépôts
- 5 Construire des paquets pour les utiliser sous tainted ou nonfree
- 6 Construire des paquets pour le projet Cauldron
- 7 Configurer selon vos besoins
- 8 Documentation
Installation et configuration
- Installer
mock
etmock-mageia-configs
:
Si vous utilisez dnf taper cette commande en tant que root,
# dnf install mock mock-mageia-configs |
Si vous utilisez urpmi taper cette commande en tant que root,
# urpmi mock mock-mageia-configs |
- Ajoutez votre utilisateur au groupe 'mock' en tant que root :
# usermod -a -G mock <username> |
- Initialiser le nouveau groupe, vous pouvez procéder en tant que simple utilisateur :
$ newgrp mock |
Autrement, vous pouvez vous déconnecter et vous reconnecter pour obtenir le même effet que la commande newgrp
.
Construire des paquets avec Mock
Mock peut être utilisé pour construire des paquets pour une même architecture hôte ainsi que pour d’autres architectures compatibles. Par exemple, les paquets i586 peuvent être construits à partir d’hôtes x86_64.
Si vous voulez construire un paquet à partir d’un paquet source pour Mageia 8 x86_64, il suffit d’exécuter la commande suivante :
mock --root mageia-8-x86_64 --rebuild </path/to/package.src.rpm> --resultdir </path/to/write/built/packages> |
Cependant, si vous commencez à partir des sources et d’un fichier de spécification, vous pouvez dire à Mock de commencer à ce niveau :
mock --root mageia-8-x86_64 --spec </path/to/package.spec> --sources </path/to/sourcedir> --resultdir </path/to/write/built/packages> |
Notez que l’utilisation de « --resultdir » est optionnelle, et si elle n’est pas utilisée, le répertoire de résultat par défaut est /var/lib/mock/root-name/result
.
Pour construire sur une architecture i586, il suffit de remplacer x86_64 par i586 afin que cela marche !
Mock supporte également les architectures non natives (comme armv7hl et aarch64), et gèrera l’émulation de manière transparente tant que qemu-user-static
est installé. Il suffit d’utiliser la racine correcte référençant l’architecture désirée et cela fonctionnera ! Par contre, le temps de construction est impacté par l'émulation.
Construire une série de paquets avec Mockchain
Mockchain est un outil qui permet de construire dans l’ordre une série de paquets source. Son utilisation est très simple :
mock --chain --root mageia-8-x86_64 </path/to/package1.src.rpm> </path/to/package2.src.rpm> … |
Cela créera un répertoire aléatoire pour construire les paquets et affichera le résultat à l’écran, de sorte que vous sachiez où ils se trouvent lorsqu’ils seront terminés.
Utiliser des prérequis qui ne sont pas dans les dépôts
Il est fréquent que la construction d'un paquet soit dépendante de la construction d'un paquet prérequis, mais que celui-ci ne soit pas encore disponible dans les dépôts. Dans ce cas, le processus demande deux étapes, une intégration des paquets construits prérequis, puis la construction qui les utilise :
mock -r mageia-8-x86_64 --install </path/to/package1.rpm> </path/to/package2.rpm> … |
mock --no-clean -r mageia-8-x86_64 --source SOURCES --spec SPECS/<mon paquet>.spec |
Construire des paquets pour les utiliser sous tainted ou nonfree
Si vous souhaitez construire des paquets listés sous tainted ou nonfree, ajoutez « -tainted » ou « -nonfree » au nom root.
Par exemple, pour construire un paquet à partir d’un paquet source pour Mageia 8 x86_64 avec des paquets tainted, il suffit d’exécuter la commande suivante :
mock --root mageia-8-x86_64-tainted --rebuild </path/to/package.src.rpm> --resultdir </path/to/write/built/packages> |
Construire des paquets pour le projet Cauldron
Si vous voulez construire des paquets pour le projet Cauldron, remplacez la version « release » par « cauldron ».
Par exemple, pour construire un paquet à partir d’un paquet source pour Mageia Cauldron x86_64, il suffit d’exécuter la commande suivante :
mock --root mageia-cauldron-x86_64 --rebuild </path/to/package.src.rpm> --resultdir </path/to/write/built/packages> |
Configurer selon vos besoins
Vous pouvez appliquer certains paramètres pour adapter mock à vos besoins ou à votre machine. Pour cela, vous pouvez créer un fichier de configuration ~/.config/mock.cfg
Un modèle par défaut peut être copié depuis /usr/share/doc/mock/site-defaults.cfg
comme documentation.
Voici quelques exemples :
# répertoire de travail pour mock config_opts['basedir'] = '/var/lib/mock/' config_opts['cache_topdir'] = '/var/cache/mock' # utilisation de 3 coeurs lors de la compression. Remplacer T3 avec T<n> où <n> est le nombre de coeurs disponibles. config_opts['macros']['%_binary_payload'] = 'w19T3.zstdio' |
Documentation
Retour au Portail d’information de l’équipe de construction des paquets.