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
À propos du projet

Ansible module to use some Arch User Repository (AUR) helpers as well as makepkg.

Installer
ansible-galaxy install luizgavalda.aur
Licence
gpl-3.0
Téléchargements
1.7k
Propriétaire