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
Acerca del proyecto

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

Instalar
ansible-galaxy install luizgavalda.aur
Licencia
gpl-3.0
Descargas
1.7k
Propietario