luizgavalda.aur
Aide AUR pour Ansible
Module Ansible pour utiliser certains outils d'Arch User Repository (AUR) ainsi que makepkg.
Les outils suivants sont pris en charge et sélectionnés automatiquement, s'ils sont présents, dans l'ordre suivant :
makepkg sera utilisé si aucun outil n'est trouvé ou s'il est explicitement spécifié :
Options
Paramètre | Choix/Par défaut | Commentaires |
---|---|---|
nom | Nom ou liste de noms des paquets à installer ou à mettre à jour. | |
état | présent, dernier | État désiré du paquet, 'présent' passe les opérations si le paquet est déjà installé. |
mise à jour | oui, non | Si l'on veut mettre à jour l'ensemble du système ou non. |
utiliser | auto, yay, paru, pacaur, trizen, pikaur, aurman, makepkg | L'outil à utiliser, 'auto' utilise le premier outil connu trouvé et makepkg en secours. |
arguments_supp | null | Une liste d'arguments supplémentaires à passer directement à l'outil. Ne peut pas être utilisé en mode 'auto'. |
aur_seulement | oui, non | Limiter l'opération de l'outil à l'AUR. |
local_pkgbuild | Répertoire local avec PKGBUILD, null | Valide uniquement avec makepkg ou pikaur. Ne télécharge pas le paquet depuis l'AUR. Construit le paquet en utilisant un PKGBUILD local et les autres fichiers de construction. |
skip_pgp_check | oui, non | Valide uniquement avec makepkg. Ignore la vérification des signatures PGP du fichier source, utile lors de l'installation de paquets sans GnuPG correctement configuré. |
ignore_arch | oui, non | Valide uniquement avec makepkg. Ignore un champ arch manquant ou incomplet, utile lorsque le PKGBUILD n'a pas le champ arch=('votrearch'). |
Remarque
- Soit nom soit mise à jour est requis, les deux ne peuvent pas être utilisés ensemble.
- En mode utiliser=auto, makepkg est utilisé en secours si aucun outil connu n'est trouvé.
Installation
Paquet AUR
Le paquet ansible-aur-git est disponible dans l'AUR.
Remarque : Le module est installé dans /usr/share/ansible/plugins/modules
qui est l'un des chemins de bibliothèque de modules par défaut.
Installation manuelle
Clonez simplement le dépôt ansible-aur dans votre répertoire de modules personnalisés :
git clone https://github.com/luizgavalda/ansible-aur.git ~/.ansible/plugins/modules/aur
Ansible Galaxy
ansible-aur est disponible dans Galaxy, qui est un centre de partage de contenu Ansible. Pour le télécharger, utilisez :
ansible-galaxy install luizgavalda.aur
Remarque : Si ce module est installé depuis Ansible Galaxy, vous devrez l'indiquer explicitement dans votre playbook :
# playbook.yml
- hosts: localhost
roles:
- luizgavalda.aur
tasks:
- aur: name=nom_du_paquet
ou dans votre rôle :
# meta/main.yml
dépendances:
- luizgavalda.aur
# tasks/main.yml
- aur: name=nom_du_paquet
Utilisation
Remarques
- Le champ d'application de ce module est l'installation et la mise à jour depuis l'AUR ; pour la suppression de paquets ou pour les mises à jour des dépôts, il est recommandé d'utiliser le module officiel pacman.
- Le paramètre --needed de l'outil est systématiquement utilisé, ce qui signifie que si un paquet est à jour, il n'est pas construit ni réinstallé.
Créer l'utilisateur "aur_builder"
Alors qu'Ansible s'attend à se connecter en SSH en tant que root, makepkg ou les outils AUR ne permettent pas d'effectuer des opérations en tant que root, ils échouent avec "vous ne pouvez pas effectuer cette opération en tant que root". Il est donc recommandé de créer un utilisateur, qui n'est pas root mais qui n'a pas besoin de mot de passe avec pacman dans les sudoers, appelons-le aur_builder.
Cet utilisateur peut être créé dans une tâche Ansible avec les actions suivantes :
- user:
name: aur_builder
create_home: no
group: wheel
- lineinfile:
path: /etc/sudoers.d/11-install-aur_builder
line: 'aur_builder ALL=(ALL) NOPASSWD: /usr/bin/pacman'
create: yes
validate: 'visudo -cf %s'
Exemples
Utilisez-le dans une tâche, comme dans les exemples suivants :
# Installer trizen en utilisant makepkg, passer si déjà installé
- aur: name=trizen use=makepkg state=present
become: yes
become_user: aur_builder
# Installer nom_du_paquet en utilisant le premier outil connu trouvé
- aur: name=nom_du_paquet
become: yes
become_user: aur_builder
# Installer nom_du_paquet_1 et nom_du_paquet_2 en utilisant yay
- aur:
use: yay
name:
- nom_du_paquet_1
- nom_du_paquet_2
# Mettre à jour le système en utilisant yay, agir uniquement sur les paquets AUR.
# Remarque : La résolution des dépendances inclura toujours les paquets des dépôts.
- aur: upgrade=yes use=yay aur_only=yes
# Installer gnome-shell-extension-caffeine-git en utilisant pikaur et un PKGBUILD local.
# Passer si déjà installé
- aur:
name: gnome-shell-extension-caffeine-git
use: pikaur
local_pkgbuild: {{ role_path }}/files/gnome-shell-extension-caffeine-git
state: present
become: yes
become_user: aur_builder
Ansible module to use some Arch User Repository (AUR) helpers as well as makepkg.
ansible-galaxy install luizgavalda.aur