luizgavalda.aur

Pomocnik AUR Ansible

Moduł Ansible do używania niektórych pomocników Arch User Repository (AUR) oraz makepkg.

Obsługiwane są następujące pomocniki, które są automatycznie wybierane w podanej kolejności:

makepkg będzie używany, jeśli nie znajdzie żadnego pomocnika lub jeśli zostanie to wyraźnie określone:

Opcje

Parametr Wybory/Domyślnie Komentarze
name Nazwa lub lista nazw pakietów do zainstalowania lub zaktualizowania.
state present, latest Żądany stan pakietu, 'present' pomija operacje, jeśli pakiet jest już zainstalowany.
upgrade tak, nie Czy zaktualizować cały system.
use auto, yay, paru, pacaur, trizen, pikaur, aurman, makepkg Narzędzie do użycia, 'auto' używa pierwszego znanego pomocnika, a makepkg jako opcję awaryjną.
extra_args null Lista dodatkowych argumentów do przekazania bezpośrednio do narzędzia. Nie może być używana w trybie 'auto'.
aur_only tak, nie Ogranicz operacje pomocnika do AUR.
local_pkgbuild Lokalny katalog z PKGBUILD, null Tylko ważne przy makepkg lub pikaur. Nie pobieraj pakietu z AUR. Zbuduj pakiet przy użyciu lokalnego PKGBUILD i innych plików budowy.
skip_pgp_check tak, nie Tylko ważne przy makepkg. Pomiń weryfikację podpisu PGP plików źródłowych, przydatne podczas instalacji pakietów bez poprawnie skonfigurowanego GnuPG.
ignore_arch tak, nie Tylko ważne przy makepkg. Pomiń brakujące lub niekompletne pole arch, przydatne, gdy PKGBUILD nie ma pola arch=('twoja_arch').

Uwaga

  • Wymagana jest albo name, albo upgrade, oba nie mogą być używane jednocześnie.
  • W trybie use=auto, makepkg jest używane jako opcja awaryjna, jeśli nie znajdzie się żaden znany pomocnik.

Instalacja

Pakiet AUR

Pakiet ansible-aur-git jest dostępny w AUR.

Uwaga: Moduł jest zainstalowany w /usr/share/ansible/plugins/modules, co jest jedną z domyślnych ścieżek bibliotek modułów.

Ręczna instalacja

Po prostu sklonuj repozytorium ansible-aur do swojego katalogu custom-module:

git clone https://github.com/luizgavalda/ansible-aur.git ~/.ansible/plugins/modules/aur

Ansible Galaxy

ansible-aur jest dostępny w Galaxy, które jest hubem do dzielenia się treściami Ansible. Aby go pobrać, użyj:

ansible-galaxy install luizgavalda.aur

Uwaga: Jeśli ten moduł jest zainstalowany z Ansible Galaxy, będziesz musiał go wyraźnie wymienić w swoim playbooku:

# playbook.yml
- hosts: localhost
  roles:
  - luizgavalda.aur
  tasks:
  - aur: name=nazwa_pakietu

lub w swojej roli:

# meta/main.yml
dependencies:
- luizgavalda.aur
# tasks/main.yml
- aur: name=nazwa_pakietu

Użycie

Uwaga

  • Zakres tego modułu to instalacja i aktualizacja z AUR; dla usuwania pakietów lub aktualizacji z repozytoriów, zaleca się użycie oficjalnego modułu pacman.
  • Parametr --needed pomocnika jest systematycznie używany, oznacza, że jeśli pakiet jest aktualny, nie jest budowany ani ponownie instalowany.

Utworzenie użytkownika "aur_builder"

Chociaż Ansible oczekuje połączenia SSH jako root, makepkg lub pomocnicy AUR nie pozwalają na wykonywanie operacji jako root, kończą się błędem "nie możesz wykonać tej operacji jako root". Dlatego zaleca się utworzenie użytkownika, który jest nie-rootem, ale nie wymaga hasła w pacman w sudoers, nazwijmy go aur_builder.

Ten użytkownik może zostać utworzony w zadaniu Ansible z następującymi działaniami:

- 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'

Przykłady

Użyj go w zadaniu, jak w poniższych przykładach:

# Zainstaluj trizen używając makepkg, pomiń, jeśli jest już zainstalowany
- aur: name=trizen use=makepkg state=present
  become: yes
  become_user: aur_builder

# Zainstaluj pakiet_name używając pierwszego znanego pomocnika
- aur: name=paczek_name
  become: yes
  become_user: aur_builder

# Zainstaluj pakiet_name_1 i pakiet_name_2 używając yay
- aur:
    use: yay
    name:
      - pakiet_name_1
      - pakiet_name_2

# Zaktualizuj system używając yay, działaj tylko na pakietach AUR.
# Uwaga: Rozwiązywanie zależności nadal będzie obejmować pakiety z repozytoriów.
- aur: upgrade=yes use=yay aur_only=yes

# Zainstaluj gnome-shell-extension-caffeine-git używając pikaur i lokalnego PKGBUILD.
# Pomiń, jeśli jest już zainstalowany
- 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
O projekcie

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

Zainstaluj
ansible-galaxy install luizgavalda.aur
Licencja
gpl-3.0
Pobrania
1.7k
Właściciel