luizgavalda.aur
Ayudante AUR de Ansible
Módulo de Ansible para usar algunos ayudantes del Arch User Repository (AUR) así como makepkg.
Los siguientes ayudantes son compatibles y se seleccionan automáticamente, si están presentes, en el orden que se muestra a continuación:
makepkg se utilizará si no se encuentra un ayudante o si se especifica explícitamente:
Opciones
Parámetro | Opciones/Predeterminado | Comentarios |
---|---|---|
nombre | Nombre o lista de nombres de los paquetes a instalar o actualizar. | |
estado | presente, último | Estado deseado del paquete, 'presente' omite operaciones si el paquete ya está instalado. |
actualizar | sí, no | Si se debe actualizar todo el sistema. |
usar | automático, yay, paru, pacaur, trizen, pikaur, aurman, makepkg | La herramienta a usar, 'automático' usa el primer ayudante conocido encontrado y makepkg como respaldo. |
extra_args | nulo | Una lista de argumentos adicionales que pasar directamente a la herramienta. No se puede usar en modo 'automático'. |
solo_aur | sí, no | Limitar la operación del ayudante al AUR. |
pkgbuild_local | Directorio local con PKGBUILD, nulo | Solo válido con makepkg o pikaur. No descarga el paquete del AUR. Construye el paquete usando un PKGBUILD local y otros archivos de construcción. |
omitir_verificar_pgp | sí, no | Solo válido con makepkg. Omitir la verificación de las firmas PGP del archivo fuente, útil cuando se instalan paquetes sin GnuPG configurado correctamente. |
ignorar_arch | sí, no | Solo válido con makepkg. Ignorar un campo arch faltante o incompleto, útil cuando el PKGBUILD no tiene el campo arch=('tu_arch'). |
Nota
- Se requiere nombre o actualizar, no se pueden usar ambos juntos.
- En el modo usar=automático, makepkg se usa como respaldo si no se encuentra un ayudante conocido.
Instalación
Paquete AUR
El paquete ansible-aur-git está disponible en el AUR.
Nota: El módulo se instala en /usr/share/ansible/plugins/modules
, que es una de las rutas de biblioteca de módulos predeterminadas.
Instalación manual
Simplemente clona el repositorio ansible-aur en tu directorio de módulos personalizados de usuario:
git clone https://github.com/luizgavalda/ansible-aur.git ~/.ansible/plugins/modules/aur
Ansible Galaxy
ansible-aur está disponible en Galaxy, que es un centro para compartir contenido de Ansible. Para descargarlo, usa:
ansible-galaxy install luizgavalda.aur
Nota: Si este módulo se instala desde Ansible Galaxy, necesitarás listarlo explícitamente en tu playbook:
# playbook.yml
- hosts: localhost
roles:
- luizgavalda.aur
tasks:
- aur: name=nombre_del_paquete
o en tu rol:
# meta/main.yml
dependencias:
- luizgavalda.aur
# tasks/main.yml
- aur: name=nombre_del_paquete
Uso
Notas
- El objetivo de este módulo es la instalación y actualización desde el AUR; para la eliminación de paquetes o para actualizaciones desde los repositorios, se recomienda usar el módulo oficial pacman.
- El parámetro --needed del ayudante se usa sistemáticamente, lo que significa que si un paquete está actualizado, no se construye ni se reinstala.
Crear el usuario "aur_builder"
Mientras que Ansible espera conectarse por SSH como root, makepkg o los ayudantes de AUR no permiten ejecutar operaciones como root, fallan con "no se puede realizar esta operación como root". Por lo tanto, se recomienda crear un usuario que no sea root pero que no necesite contraseña con pacman en sudoers, llamémoslo aur_builder.
Este usuario se puede crear en una tarea de Ansible con las siguientes acciones:
- 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'
Ejemplos
Úsalo en una tarea, como en los siguientes ejemplos:
# Instalar trizen usando makepkg, omitir si ya está instalado
- aur: name=trizen use=makepkg state=present
become: yes
become_user: aur_builder
# Instalar nombre_del_paquete usando el primer ayudante conocido encontrado
- aur: name=nombre_del_paquete
become: yes
become_user: aur_builder
# Instalar nombre_del_paquete_1 y nombre_del_paquete_2 usando yay
- aur:
use: yay
name:
- nombre_del_paquete_1
- nombre_del_paquete_2
# Actualizar el sistema usando yay, solo actuar sobre los paquetes del AUR.
# Nota: La resolución de dependencias aún incluirá paquetes del repositorio.
- aur: upgrade=yes use=yay aur_only=yes
# Instalar gnome-shell-extension-caffeine-git usando pikaur y un PKGBUILD local.
# Omitir si ya está instalado
- 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