AUR ヘルパー
AUR ヘルパーは Arch User Repository の利用を自動化するものです。特に、以下のタスクを自動化することができます。
- AUR で公開されているパッケージの検索。
- AUR パッケージ間の依存関係を解決する。
- AUR パッケージの取得とビルド
- ユーザーコメントのようなウェブコンテンツの取得
- AUR パッケージの投稿
Pacman はリポジトリにあるビルド済みのパッケージのアップデートだけを扱います。AUR パッケージは PKGBUILD の形で再配布され、再ビルドのプロセスを自動化するために AUR ヘルパーが必要です。しかし、パッケージ自体がアップデートされたときだけでなく、共有ライブラリの依存関係が更新されたときにもパッケージのリビルドが必要になることがあることを覚えておいてください。
用語集
比較表 の列は、以下のような意味を持ちます。
- File review
- デフォルトでは PKGBUILD をソースしない か、ユーザーに警告を出しソースされる前に PKGBUILD を手動で検査する機会を提供します。ヘルパーの中にはユーザーが検査する前に PKGBUILD をソースして、悪意のあるコードを実行させる ものがあることが知られています。
- Diff view
- パッケージの差分を閲覧する機能です。PKGBUILD の他に、
.install
や.patch
ファイルなどのファイルの変更も含まれます。 - Git クローン
- AUR からビルドファイルを取得するためにデフォルトで git-clone(1) を使います。
- 高機能パーサー
- aws-cli-gitAUR のような PKGBUILD parsing の代わりに提供されるメタデータ (RPC/.SRCINFO) を使って複雑なパッケージを扱うことができるようになりました。
- 高機能ソルバー
- ros-melodic-desktopAUR のような、複雑な依存関係を正しく解決して構築する機能。
- 分割パッケージ
- 正しくビルドしてインストールする機能
- clionAUR のように、リビルドや再インストールを何度もすることなく、同じパッケージベースから複数のパッケージを利用できます。
- jellyfinAUR のように、同じパッケージベースのパッケージに依存するパッケージを分割します。
- python-pyalsaaudioAUR と python2-pyalsaaudioAUR のように、独立してパッケージを分割することができます。
- シェルによる補完
- Tab completion はリストアップされた コマンドラインシェル で利用可能です。
比較表
検索とダウンロード
名前 | 言語 | File review | Diff view | Git クローン | 高機能パーサー | 高機能ソルバー | シェル補完 | 特記事項 |
---|---|---|---|---|---|---|---|---|
auracle-gitAUR | C++ | Yes | No | Yes | Yes | Yes | bash | ビルドオーダーの印刷 |
pbgetAUR | Python | Yes | No | Yes | Yes | – | – | – |
repoctlAUR | Go | Yes | No | No | Yes | – | bash, zsh, fish | ローカルリポジトリ |
yaahAUR | Bash | Yes | No | オプション | Yes | – | bash | – |
検索とビルド
名前 | 言語 | File review | Diff view | Git クローン | 高機能パーサー | 高機能ソルバー | 分割パッケージ | シェル補完 | 特記事項 |
---|---|---|---|---|---|---|---|---|---|
aurutilsAUR | Bash | Yes | Yes | Yes | Yes | Yes | Yes | Bash, zsh | ローカルリポジトリ ローカルパッチ、パッケージ署名、clean chroot |
bauerbillAUR | Python | Yes | No | Yes | Yes | Yes | Yes | bash, zsh | 信頼管理、ABS サポート、Powerpill の拡張。 |
PKGBUILDerAUR | Python | No | No | Yes | Yes | Yes | 部分的 | – | pb pacman ラッピング
|
ruaAUR | Rust | Yes | Yes | Yes | Yes | Yes | Yes | bash, zsh, fish | ローカルパッチ, bubblewrap, .pkg.tar 操作
|
Pacman ラッパー
名前 | 言語 | File review | Diff view | Git クローン | 高機能パーサー | 高機能ソルバー | 分割パッケージ | 危険なフラグ | シェル補完 | 特記事項 |
---|---|---|---|---|---|---|---|---|---|---|
auraAUR | Haskell | No | 部分的 | Yes | Yes | Yes | Yes | – | bash, fish, zsh | – |
aurmanAUR | Python | Yes | Yes | Yes | Yes | 部分的 | Yes | -Sy --ask |
bash, fish | fetch PGP keys |
pacaurAUR | Bash | Yes | Yes | Yes | Yes | Yes | Yes | --ask | bash, zsh | – |
pakkuAUR | Nim | Yes | Yes | Yes | Yes | Yes | Yes | -Sy | bash, zsh | – |
paruAUR | Rust | Yes | Yes | Yes | Yes | Yes | Yes | -Sy --ask |
bash, fish, zsh | ローカルリポジトリ, clean chroot |
pikaurAUR | Python | Yes | Yes | Yes | Yes | Yes | Yes | -Sy | bash, fish, zsh | dynamic users |
trizenAUR | Perl | Yes | Yes | Yes | Yes | Yes | 部分的 | – | bash, fish, zsh | – |
yayAUR | Go | Yes | Yes | Yes | Yes | Yes | Yes | --ask | bash, fish, zsh | – |
グラフィカル
- Argon — Python で書かれた GTK3 pacman ラッパー
- Cylon — Bash で書かれた TUI pacman ラッパー
- Kalu — libalpm と PolicyKit を使った Systray 通知アイコン、オプションのアップデータ付き
- Pamac — Vala で書かれた libalpm(3) を使用したスタンドアロン GTK3 パッケージマネージャ
- Pakku GUI — Python で書かれた pakku 用の GTK3 フロントエンド
- PkgBrowser — Python で書かれたリポジトリパッケージと AUR 用の Qt5 読み取り専用ブラウザ
- Octopi — C++ 書かれた Qt5 pacman ラッパー
- Yup — Go で書かれた Curses TUI pacman ラッパー
メンテナンス
- aur-out-of-date — ホストの API を使って AUR 上流の変更をチェック。
- aurpublish — git-subtree(1) を使って AUR パッケージを管理・アップロードするためのヘルパースクリプトです。githooks(5) を使って PKGBUILD の整合性を確認し、.SRCINFO を自動生成し、コミットメッセージテンプレートを作っています。
- devtools — パッケージが正しいことを確認するために、クリーンな環境 (systemd-nspawn コンテナ) でパッケージをビルドします。aurutilsAUR と clean-chroot-managerAUR でラッピングされています。
- pkgbuild-watch — 上流のウェブページに変化がないか確認。
- pkgoutofdate — PKGBUILD からソース URL を分析してバージョン番号を増やしてウェブサーバーにリクエストを送信、新しいバージョンが存在しないか確認。
その他
- aur-talk — AURコメントの取得と表示。
- aurvote-utils — AUR投票管理用ユーティリティ一式。
- haskell-aur — Aurweb RPC インターフェースにアクセスするための Haskell ライブラリ。
- package-query — libalpm(3) と AUR を検索するためのツールです。
- python3-aur — AUR パッケージ情報にアクセスし、AUR とのやりとりを自動化するための Python 3 モジュールとヘルパーユーティリティです。
- raur — Aurweb RPC インターフェース にアクセスするための Rust ライブラリです。