luizgavalda.aur
Ansible AUR ヘルパー
Ansible モジュールを使って、Arch User Repository (AUR) ヘルパーや makepkg を利用します。
以下のヘルパーがサポートされており、指定された順序で存在する場合に自動的に選択されます:
ヘルパーが見つからない場合や明示的に指定された場合は、makepkg が使用されます:
オプション
パラメータ | 選択肢/デフォルト | コメント |
---|---|---|
name | インストールまたはアップグレードするパッケージの名前またはリスト。 | |
state | present, latest | パッケージの望ましい状態。'present' はパッケージが既にインストールされている場合は処理をスキップします。 |
upgrade | yes, no | システム全体をアップグレードするかどうか。 |
use | auto, yay, paru, pacaur, trizen, pikaur, aurman, makepkg | 使用するツール。'auto' は、最初に見つかったヘルパーを使用し、makepkg をフォールバックとして使用します。 |
extra_args | null | ツールに直接渡す追加の引数のリスト。'auto' モードでは使用できません。 |
aur_only | yes, no | ヘルパーの操作を AUR に限定します。 |
local_pkgbuild | PKGBUILD を含むローカルディレクトリ, null | makepkg または pikaur のみ有効です。AUR からパッケージをダウンロードせず、ローカルの PKGBUILD と他のビルドファイルを使用してパッケージをビルドします。 |
skip_pgp_check | yes, no | makepkg のみ有効です。ソースファイルのPGP署名検証をスキップします。GnuPG が適切に設定されていない場合に便利です。 |
ignore_arch | yes, no | makepkg のみ有効です。欠落または不完全な arch フィールドを無視します。PKGBUILD に arch=('yourarch') フィールドがない場合に便利です。 |
注意
- name または upgrade のいずれかが必要で、両方を一緒に使用することはできません。
- use=auto のモードでは、知られているヘルパーが見つからない場合、makepkg がフォールバックとして使用されます。
インストール
AUR パッケージ
AUR の ansible-aur-git パッケージが利用可能です。
注意:モジュールは /usr/share/ansible/plugins/modules
にインストールされます。これはデフォルトのモジュールライブラリパスの1つです。
手動インストール
単に ansible-aur リポジトリをユーザーのカスタムモジュールディレクトリにクローンします:
git clone https://github.com/luizgavalda/ansible-aur.git ~/.ansible/plugins/modules/aur
Ansible Galaxy
ansible-aur は Ansible コンテンツを共有するハブである Galaxy で利用可能です。ダウンロードするには、以下を使用します:
ansible-galaxy install luizgavalda.aur
注意:このモジュールが Ansible Galaxy からインストールされた場合、プレイブック内で明示的にリストする必要があります:
# playbook.yml
- hosts: localhost
roles:
- luizgavalda.aur
tasks:
- aur: name=package_name
またはロール内で:
# meta/main.yml
dependencies:
- luizgavalda.aur
# tasks/main.yml
- aur: name=package_name
使用法
注意
- このモジュールの範囲は AUR からのインストールと更新です。パッケージの削除やリポジトリからの更新には、公式の pacman モジュールを使用することをお勧めします。
- ヘルパーの --needed パラメータは常に使用され、これはパッケージが最新であればビルドおよび再インストールされないことを意味します。
"aur_builder" ユーザーの作成
Ansible は root として SSH 接続することを期待しますが、makepkg や AUR ヘルパーは root として操作を実行することを許可しません。そのため、非 root で pacman でパスワードを必要としないユーザー(aur_builder と呼びます)を作成することをお勧めします。
このユーザーは、以下のアクションを含む Ansible タスクで作成できます:
- 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'
例
タスクで使用する方法は以下の通りです:
# makepkg を使用して trizen をインストールし、既にインストールされている場合はスキップ
- aur: name=trizen use=makepkg state=present
become: yes
become_user: aur_builder
# 最初に見つかったヘルパーを使用して package_name をインストール
- aur: name=package_name
become: yes
become_user: aur_builder
# yay を使用して package_name_1 と package_name_2 をインストール
- aur:
use: yay
name:
- package_name_1
- package_name_2
# yay を使用してシステムをアップグレードし、AUR パッケージにのみ対応。
# 注:依存関係の解決にはリポジトリパッケージも含まれます。
- aur: upgrade=yes use=yay aur_only=yes
# pikaur とローカル PKGBUILD を使用して gnome-shell-extension-caffeine-git をインストール。
# 既にインストールされている場合はスキップ
- 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