AUR ヘルパー
ナビゲーションに移動
検索に移動
AUR ヘルパーは Arch User Repository の利用を自動化するものです。特に、以下のタスクを自動化することができます。
- AUR で公開されているパッケージの検索。
- AUR パッケージ間の依存関係を解決する。
- AUR パッケージの取得とビルド
- ユーザーコメントのようなウェブコンテンツの取得
- AUR パッケージの投稿
Pacman はリポジトリにあるビルド済みのパッケージのアップデートだけを扱います。AUR パッケージは PKGBUILD の形で再配布され、再ビルドのプロセスを自動化するために AUR ヘルパーが必要です。しかし、パッケージ自体がアップデートされたときだけでなく、共有ライブラリの依存関係が更新されたときにもパッケージのリビルドが必要になることがあることを覚えておいてください。
用語集
比較表 の列は、以下のような意味を持ちます。
- File review
- デフォルトでは PKGBUILD をソースしない か、ユーザーに警告を出しソースされる前に PKGBUILD を手動で検査する機会を提供します。ヘルパーの中にはユーザーが検査する前に PKGBUILD をソースして、悪意のあるコードを実行させる ものがあることが知られています。
- Diff view
- パッケージの差分を閲覧する機能です。PKGBUILD の他に、
.install
や.patch
ファイルなどのファイルの変更も含まれます。 - Git clone
- AUR からビルドファイルを取得するためにデフォルトで git-clone(1) を使います。
- Reliable parser
- aws-cli-gitAUR のような PKGBUILD parsing の代わりに提供されるメタデータ (RPC/.SRCINFO) を使って複雑なパッケージを扱うことができるようになりました。
- Reliable solver
- ros-melodic-desktopAUR のような、複雑な依存関係を正しく解決して構築する機能。
- Split packages
- 正しくビルドしてインストールする機能
- 同じパッケージベースから複数のパッケージを、何度もリビルドや再インストールすることなく、インストールできます。
- libc++ と libc++abi のように、同じパッケージベースのパッケージに依存しているパッケージを分割することができます。
- python-pyalsaaudioAUR と python2-pyalsaaudioAUR のように、独立してパッケージを分割することができます。
- シェルによる補完
- Tab completion はリストアップされた コマンドラインシェル で利用可能です。
比較表
検索とダウンロード
名前 | 言語 | Git クローン | 高機能パーサー | 高機能ソルバー | シェル補完 | 特記事項 |
---|---|---|---|---|---|---|
auracle-gitAUR | C++ | Yes | Yes | Yes | bash | ビルドオーダーの印刷 |
pbgetAUR | Python | Yes | Yes | – | – | – |
repoctlAUR | Go | No | Yes | – | zsh | ローカルリポジトリ |
yaahAUR | Bash | オプション | Yes | – | bash | – |
名前 | 言語 | セキュア | クリーンビルド | pacman ネイティブ | 高機能パーサー | 高機能ソルバー | 分割パッケージ | Git クローン | 差分表示 | バッチ操作 | シェル補完 | 特記事項 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
aurmanAUR | Python | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 1, 2*, 3* | bash, fish | pgp 鍵の取得、投票・人気度でソート、ニュースの出力。 |
aurutilsAUR | Bash/C | Yes | Yes | N/A | Yes | Yes | Yes | Yes | Yes | 1 | zsh | vifm、ローカルリポジトリ、パッケージ署名、clean chroot のサポート、投票・人気度でソート。 |
pakkuAUR | Nim | Yes | Yes | 部分的 | Yes | Yes | Yes | Yes | Yes | 1 | bash, zsh | ABS のサポート、AUR コメント、PGP 鍵の取得。 |
pikaurAUR | Python | Yes | Yes | 部分的 | Yes | Yes | Yes | Yes | Yes | 1, 2, 3 | bash, fish, zsh | 動的ユーザー、多言語対応、投票・人気度でソート、ニュースの出力。 |
trizenAUR | Perl | Yes | Yes | Yes | Yes | Yes | 部分的 | Yes | Yes | 1* | bash, zsh, fish | デフォルトで自動ビルド (-G で無効化)、AUR コメント。
|
yayAUR | Go | Yes | Yes | 部分的 | Yes | Yes | Yes | Yes | Yes | 1, 2, 3 | bash, fish, zsh | 投票でソート、PGP 鍵の取得、アーキテクチャの確認。 |
paruAUR | Rust | Yes | Yes | 部分的 | Yes | Yes | Yes | Yes | Yes | 1, 2, 3 | bash, fish, zsh | 投票でソート、PGP 鍵の取得、アーキテクチャの確認。 |
bauerbillAUR | Python | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | 1 | bash, zsh | 信頼管理、ABS サポート、Powerpill の拡張。 |
PKGBUILDerAUR | Python | 任意 | Yes | Yes | Yes | Yes | 部分的 | Yes | No | 1* | - | デフォルトで自動ビルド (-F で無効化)、多言語対応。
|
auraAUR | Haskell | 任意 | Yes | Yes | Yes | No | No | No | 部分的 | 1* | bash, zsh | デフォルトで自動ビルド (--dryrun で無効化)。ダウングレードのサポート、多言語対応。
|
repofishAUR | Bash | 任意 | Yes | N/A | No | No | No | Yes | Yes | 1* | - | デフォルトで自動ビルド (check または update で無効化)、ローカルリポジトリのサポート。
|
wrapaurAUR[リンク切れ: パッケージが存在しません] | Bash | Yes | Yes | Yes | No | No | No | Yes | No | - | - | ミラーの更新、ニュース・AUR コメントの出力。 |
aurgetAUR | Bash | 任意 | Yes | N/A | No | No | No | No | No | - | bash, zsh | 投票でソート。 |
検索のみ
名前 | 言語 | セキュア | 高機能パーサー | 高機能ソルバー | Git クローン | シェル補完 | 特記事項 |
---|---|---|---|---|---|---|---|
pbgetAUR | Python | Yes | Yes | N/A | Yes | - | - |
yaahAUR | Bash | Yes | Yes | N/A | 任意 | bash | - |
auracle-gitAUR | C++ | Yes | Yes | Yes | No | - | ビルドの順序を表示。 |
package-queryAUR | C | Yes | No [1] | N/A | N/A | - | - |
repoctlAUR | Go | Yes | Yes [2] | N/A | No | zsh | ローカルリポジトリのサポート。 |
開発終了または問題あり
以下の表では作者によって開発中止とされたプロジェクトや、セキュア, クリーンビルド, pacman ネイティブ (#ビルドと検索を参照) のどれかに問題を抱えているツールを記載しています。
名前 | 言語 | セキュア | クリーンビルド | pacman ネイティブ | 高機能パーサー | 高機能ソルバー | 分割パッケージ | Git クローン | 差分表示 | バッチ操作 | シェル補完 | 特記事項 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
aurelAUR[リンク切れ: パッケージが存在しません] [3] | Emacs Lisp | Yes | N/A | N/A | N/A | N/A | N/A | No | N/A | N/A | N/A | Emacs 統合、自動ビルドなし。 |
pacaurAUR [4] | Bash/C | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | 1, 3 | bash, zsh | 多言語対応、投票・人気度でソート。 |
spinachAUR[リンク切れ: パッケージが存在しません] [5] | Bash | Yes | Yes | N/A | No | No | No | No | No | - | - | - |
burgaurAUR[リンク切れ: パッケージが存在しません] [6] | Python/C | 任意 | Yes | N/A | No | No | No | No | No | - | - | cower のラッパー。 |
packer | Bash | No | Yes | Yes | No | No | No | No | No | - | - | - |
yaourtAUR[リンク切れ: パッケージが存在しません] | Bash/C | No [7] [8] | No | No | No | No | No | 任意 | 任意 | 2 | bash, zsh, fish | バックアップ、ABS のサポート、AUR コメントの表示、多言語対応。 |
ライブラリ
- haskell-archlinux — Haskell 言語を使って AUR にアクセスしパッケージのメタデータを取得するためのライブラリ。
- python3-aur — AUR パッケージの情報にアクセスしたり AUR の操作を自動化するための Python 3 モジュール。
GUI
- Argon — Python で書かれた GTK3 pacman wrapper
- Cylon — Bash で書かれた TUI pacman wrapper
- Pamac — Vala で書かれた libalpm(3) を使用したスタンドアロン GTK3 パッケージマネージャ
- Pakku GUI — Python で書かれた pakku 用の GTK3 フロントエンド
- PkgBrowser — Python で書かれたリポジトリパッケージと AUR 用の Qt5 読み取り専用ブラウザ
- Octopi — Qt 5 pacman wrapper written in C++.
- Yup — Go で書かれた Curses TUI pacman wrapper
メンテナンス
- aur-out-of-date — ホストの API を使って AUR 上流の変更をチェック。
- pkgbuild-watch — 上流のウェブページに変化がないか確認。
- pkgoutofdate — PKGBUILD からソース URL を分析してバージョン番号を増やしてウェブサーバーにリクエストを送信、新しいバージョンが存在しないか確認。
アップロード
- aur4_import.sh — git リポジトリから複数のパッケージにパッケージを分割します (コミットするたびに
.SRCINFO
を追加・更新)。 - aur4_make_submodule.sh — AUR 4 サブモジュールによって巨大な git リポジトリのパッケージを置き換えます。
- aurpublish — git サブツリー として AUR パッケージを管理します。
.SRCINFO
ファイルの生成とPKGBUILD
のチェック、コミットメッセージの作成 は同じ リポジトリ にある git フックによって行うことができます。