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
Ansible module to use some Arch User Repository (AUR) helpers as well as makepkg.
ansible-galaxy install luizgavalda.aur