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
プロジェクトについて

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

インストール
ansible-galaxy install luizgavalda.aur
ライセンス
gpl-3.0
ダウンロード
1.7k
所有者