「Arch User Repository」の版間の差分
細 (修正) |
(→パッケージのインストール: 同期) |
||
56行目: | 56行目: | ||
GitHub の [https://github.com/aur-archive AUR Archive] には2015年8月に AUR4 に移行する前の AUR3 に存在した全てのパッケージが保存されています。 |
GitHub の [https://github.com/aur-archive AUR Archive] には2015年8月に AUR4 に移行する前の AUR3 に存在した全てのパッケージが保存されています。 |
||
− | == パッケージ |
+ | == パッケージをインストール・アップグレードする == |
− | + | AUR からパッケージをインストールする手順は比較的単純です。基本的には: |
|
+ | # ビルドファイルを取得する。[[PKGBUILD]] や、[[systemd]] ユニットやパッチなどの (しばしば、実際のコードではない) 他の必要なファイルを含みます。 |
||
− | AUR からパッケージをインストールする手順は比較的単純です。基本は: |
||
+ | # {{ic|PKGBUILD}} とそれに付属しているファイルが、悪意のある、または信頼できないものでないことを検証する。 |
||
+ | # それらのファイルが保存されているディレクトリ内で {{ic|makepkg}} を実行する。これは、コードをダウンロードし、コンパイルし、パッケージングします。 |
||
+ | # {{ic|pacman -U ''package_file''}} を実行し、パッケージをシステムにインストールする。 |
||
+ | {{Note|AUR はサポート外です。なので、AUR からインストールしたパッケージのアップデートは、pacman ではなくあなたの責任です。公式リポジトリのパッケージがアップデートされた場合、それらのライブラリに依存しているすべての AUR パッケージを再ビルドする必要があります。}} |
||
− | # [[PKGBUILD]] と systemd のユニットやパッチなど他の必要なファイル (ソースコードではない場合が多い) が含まれた tarball を取得します。 |
||
− | # {{ic|tar -xvf ''pkgname''.tar.gz}} で tarball を解凍します (なるべく AUR 用に作ったフォルダで行ってください)。 |
||
− | # PKGBUILD ファイルが入ったディレクトリの中で {{ic|makepkg -si}} を実行します。自動でソースコードをダウンロード、[[pacman]] で依存関係を解決、コンパイルしてパッケージ化し、パッケージをインストールします。 |
||
− | === |
+ | === 要件 === |
− | まず必要なツールがインストールされているか確かめましょう。{{grp|base-devel}} パッケージグループは絶対に必要です。{{pkg|make}} などの |
+ | まず、必要なツールが[[インストール]]されているか確かめましょう。{{grp|base-devel}} パッケージグループは絶対に必要です。{{pkg|make}} などの、ソースコードからのコンパイルに必要なツールが含まれています。 |
− | {{ |
+ | {{Tip|{{grp|base-devel}} パッケージグループをインストールする際に、すでにインストール済みのパッケージをスキップするには、{{ic|--needed}} フラグを使用してください。}} |
+ | {{Note|AUR 内のパッケージは、{{grp|base-devel}} パッケージグループがすでにインストールされていることを想定しています。つまり、それらのパッケージには、そのパッケージグループがビルド依存関係として明示的に設定されていないということです。}} |
||
− | # pacman -S --needed base-devel |
||
− | 次に適 |
+ | 次に、適切なビルドディレクトリを選択してください。ビルドディレクトリは、パッケージが作成/ビルドされるディレクトリであり、任意のディレクトリにすることができます。以下のセクションでは例として {{ic|~/builds}} をビルドディレクトリとして使用します。 |
− | === ビルドファイルを |
+ | === ビルドファイルを取得する === |
− | AUR |
+ | AUR 内の対象パッケージの場所を特定します。[https://aur.archlinux.org/ AUR ホームページ]の検索フィールドを使って行うことができます。検索リスト内のアプリケーションの名前をクリックして、そのパッケージの情報ページを開きます。説明欄を読んで、それがあなたの求めているパッケージであることを確認してください。パッケージの最終更新日時とコメントも確認してください。 |
− | ビルドファイルを |
+ | パッケージのビルドファイルを取得する方法は複数存在します: |
+ | * そのパッケージの [[git]] リポジトリをクローンする。そのパッケージの AUR ページの「パッケージの詳細」の「Git クローン URL」に URL があります。この方法が推奨されます。利点としては、{{ic|git pull}} を実行すれば、パッケージを簡単にアップデートできます。 |
||
− | * "Package Details" の "Git Clone URL" に書かれている [[git]] リポジトリを複製する: |
||
+ | : {{bc|$ git clone <nowiki>https://aur.archlinux.org/</nowiki>''package_name''.git}} |
||
+ | * スナップショットをダウンロードする。パッケージの AUR ページの右側にある「パッケージアクション」内の「スナップショットのダウンロード」リンクをクリックするか、ターミナルで以下を実行してください: |
||
+ | : {{bc|$ curl -L -O <nowiki>https://aur.archlinux.org/cgit/aur.git/snapshot/</nowiki>''package_name''.tar.gz}} |
||
+ | : {{Note|スナップショットのファイルは圧縮されています。なので、展開する必要があります (できれば、AUR ビルド用のディレクトリ内で): {{ic|tar -xvf ''package_name''.tar.gz}}}} |
||
+ | * [https://github.com/archlinux/aur archlinux/aur GitHub] 上の読み取り専用ミラーを使う。1つのブランチ内に1つのパッケージが存在しています。1つのブランチのみをクローンすることが推奨されます (リポジトリ全体は大きすぎるので、パフォーマンスが低下するでしょう)。これを行う方法として、以下の2つがあります: |
||
+ | ** {{ic|1=git clone --single-branch}} を使う: {{bc | $ git clone --branch ''branch_name''/''package_name'' --single-branch https://github.com/archlinux/aur}} |
||
+ | ** このリポジトリの[[Git|部分クローン]]を行い ({{ic|1=git clone --depth=1}})、選択的に[[Git#ブランチの作成|ブランチを追加する]]: |
||
+ | :: {{bc|<nowiki>$ git clone --depth=1 https://github.com/archlinux/aur;</nowiki> cd aur<br>$ git remote set-branches --add origin ''package_name''<br>$ git fetch<br>$ git checkout ''package_name''}} |
||
+ | === 必要であれば PGP 公開鍵を取得する === |
||
− | $ git clone <nowiki>https://aur.archlinux.org/</nowiki>''package_name''.git |
||
+ | [[PKGBUILD]] の source 配列に ''.sig'' や ''.asc'' という形式の署名ファイルがあるか確認してください。それがある場合、PKGBUILD の [[PKGBUILD#validpgpkeys|validpgpkeys]] 配列内にリストアップされている公開鍵のうち1つを取得してください。詳細は [[makepkg#]] を参照してください。 |
||
− | :リポジトリを複製する場合、{{ic|git pull}} で簡単にパッケージを更新することができます。 |
||
− | * パッケージ情報のページから、右にある "パッケージアクション" 下の "スナップショットのダウンロード" リンクをクリックしてダウンロードする。圧縮ファイルがダウンロードされるので、ファイルをビルドディレクトリに移して展開してください: |
||
+ | === パッケージをビルドする === |
||
− | $ tar -xvf ''package_name''.tar.gz |
||
− | * また、ターミナルから tarball をダウンロードすることもできます: |
||
+ | パッケージの [[PKGBUILD]] が含まれているディレクトリに移動してください: |
||
− | $ curl -L -O <nowiki>https://aur.archlinux.org/cgit/aur.git/snapshot/</nowiki>''package_name''.tar.gz |
||
+ | $ cd ''package_name'' |
||
− | === パッケージのビルド === |
||
+ | {{Warning|{{ic|PKGBUILD}} ファイルや ''.install'' ファイル、パッケージの git リポジトリ内のすべてのファイルを注意深く見て、悪意のある/危険なコマンドがないかチェックしてください。疑わしい場合、パッケージをビルドせずに、フォーラムやメーリングリストで[[一般的なトラブルシューティング#他者のサポート|助言を得ましょう]]。以前、悪意のあるコードがパッケージ内で見つかったことがあります。[https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FFCMZGL4UQODYKZGUY7KTN3UBF3XN66P/]}} |
||
− | まずは [[PKGBUILD]] が含まれているディレクトリに移動してください: |
||
+ | 提供されているファイルすべての内容を確認してください。例えば、''less'' を使って {{ic|PKGBUILD}} を見るには: |
||
− | {{Warning|全てのファイルを注意してチェックしてください。新しく作られたディレクトリに {{ic|cd}} した後、{{ic|PKGBUILD}} と全ての {{ic|.install}} ファイルを見て、悪意のあるコマンドが含まれていないかチェックします。{{ic|PKGBUILD}} は {{ic|makepkg}} で実行される bash スクリプトです: 有効な Bash 構文 やコマンドでありさえすれば''どんな''コマンドも含むことができます、つまり作者の悪意や過失によって {{ic|PKGBUILD}} に危険なコマンドが含まれていることがあるのです。{{ic|makepkg}} は fakeroot を使うので (よって root で実行してはいけません)、ある程度の防護策は取られていますがそれに頼るのは危険です。疑わしいことがあれば、パッケージをビルドするのは中断してフォーラムやメーリングリストでアドバイスを求めましょう。}} |
||
− | $ |
+ | $ less PKGBUILD |
+ | {{Tip|パッケージをアップデートしようとしているならば、最後のコミットとの変更点を見るべきかもしれません。 |
||
− | 移動したらファイルが正しいか確認してください。例: |
||
+ | * 最後の git コミットとの変更点を見るには、{{ic|git show}} を使うことができます。 |
||
+ | * ''vimdiff'' を使って最後のコミットとの変更点を見るには、{{ic|git difftool @~..@ vimdiff}} を実行してください。''vimdiff'' の利点は、何が変更されたかを示すインジケータと共に各ファイルの内容全体を見ることができることです。}} |
||
+ | パッケージを作成します。手動でファイルの内容を確認したあとで、[[makepkg]] を通常ユーザとして実行してください。いくつか便利なフラグがあります: |
||
− | $ nano PKGBUILD |
||
− | $ nano hoge.install |
||
+ | * {{ic|-s}}/{{ic|--syncdeps}} は、ビルド前に自動的に依存関係を解決し、[[pacman]] を使って依存パッケージをインストールします。パッケージが他の AUR パッケージに依存している場合、まずその AUR パッケージを手動でインストールする必要があります。 |
||
− | 確認できたら通常ユーザーで [[makepkg]] を実行します: |
||
+ | * {{ic|-i}}/{{ic|--install}} は、ビルドが成功した場合にパッケージをインストールします。このフラグを使えば、通常手動で行う次の手順をスキップすることができます。 |
||
+ | * {{ic|-r}}/{{ic|--rmdeps}} は、ビルド後に、ビルド時の依存パッケージを削除します (なぜなら、それらはもはや必要ないからです)。しかし、これらの依存パッケージは、パッケージがアップデートされたときに再インストールする必要があるでしょう。 |
||
+ | * {{ic|-c}}/{{ic|--clean}} は、ビルド後に一時ビルドファイルをクリーンアップします (なぜなら、それらはもはや必要ないからです)。通常、これらのファイルはビルドプロセスをデバッグするときにだけ必要になります。 |
||
+ | {{Tip|{{ic| git clean -dfX}} を使えば、git によって無視されているファイルをすべて削除できます。つまり、以前ビルドされたパッケージをすべて削除します。}} |
||
− | $ makepkg -si |
||
+ | === パッケージをインストールする === |
||
− | * {{ic|-s}}/{{ic|--syncdeps}} スイッチはビルドする前に [[pacman]] によって依存関係を自動的に解決・インストールします。 |
||
− | * {{ic|-i}}/{{ic|--install}} は作成したパッケージをインストールします。 |
||
+ | これで、pacman を使ってパッケージをインストールできます: |
||
− | 他の便利なフラグ: |
||
+ | # pacman -U ''package_name''-''version''-''architecture''.pkg.tar.zst |
||
− | * {{ic|-r}}/{{ic|--rmdeps}} はビルド後に不要になった依存パッケージを削除します。ただし、パッケージを更新するときは再度依存パッケージをインストールする必要があります。 |
||
− | * {{ic|-c}}/{{ic|--clean}} はビルド時に一時的に作成されたビルドファイルを消去します。パッケージのビルドをデバッグしたい場合に有用なフラグです。 |
||
+ | {{Note| |
||
− | {{Note|以上の例はパッケージをビルドする手順の簡単な概略です。[[makepkg]] と [[Arch Build System|ABS]] のページにはもっと詳しい解説が載っています、初めて使うユーザーはぜひ読んで下さい。}} |
||
+ | * {{ic|makepkg.conf}} 内の {{ic|PKGEXT}} を変更している場合、パッケージファイルの名前も若干異なる場合があります。 |
||
+ | * 上記の例は、ビルドプロセスの概略です。詳細は [[makepkg]] と [[ABS]] の記事を見ることを'''強く'''推奨します。 |
||
+ | }} |
||
+ | |||
+ | === パッケージをアップグレードする === |
||
+ | |||
+ | パッケージの [[PKGBUILD]] を含むディレクトリ内で、まず最初に以下のコマンドを使ってファイルと変更を更新しなければなりません: |
||
+ | |||
+ | $ git pull |
||
+ | |||
+ | 次に、前述のビルドとインストールの指示に従ってください。 |
||
== アカウントステータス == |
== アカウントステータス == |
2022年10月30日 (日) 12:14時点における版
関連記事
Arch User Repository (AUR) はコミュニティによって運営されている、Arch ユーザーのためのリポジトリです。パッケージのビルド方法が書かれたファイル (PKGBUILD) がまとめて置かれており、makepkg を使ってソースからパッケージを作り、生成したパッケージを pacman でインストールすることができます。人気のあるパッケージが community リポジトリに取り込まれるように、コミュニティの手で新しいパッケージを共有することを目的に AUR は作られました。このページでは AUR の使用方法を説明します。
AUR に投稿された新しいパッケージの一部は公式リポジトリに取り込まれています。AUR では、ユーザーはパッケージビルド (PKGBUILD と関連ファイル) を投稿することができます。AUR コミュニティには AUR に存在するパッケージに対して投票する機能があります。投票が十分に集まると (ライセンスに問題がなくきちんとパッケージ化されているならば) community リポジトリに取り込まれます (pacman や abs で直接入手できるようになります)。
目次
- 1 はじめに
- 2 歴史
- 3 パッケージをインストール・アップグレードする
- 4 アカウントステータス
- 5 フィードバック
- 6 パッケージのビルドプロセスをデバッグする
- 7 パッケージを投稿する
- 8 ウェブインターフェイスの翻訳
- 9 FAQ
- 9.1 AUR とは何ですか?
- 9.2 どのような種類のパッケージが AUR に置かれていますか?
- 9.3 TU とはどのような人ですか?
- 9.4 Arch User Repository と [community] の違いは?
- 9.5 AUR のパッケージに投票するにはどうすればいいですか?
- 9.6 どれくらいの投票で PKGBUILD が [community] に移されますか?
- 9.7 どうやって PKGBUILD を作るのですか?
- 9.8 [community] にあるパッケージを "pacman -S hoge" したのですがインストールされません
- 9.9 AUR の Hoge が古くなっています、どうするべきでしょうか?
- 9.10 PKGBUILD を作って投稿したいと思っています。エラーがないか誰かチェックしてくれるでしょうか?
- 9.11 AUR の Hoge を makepkg でコンパイルすることができません。どうしたらいいですか?
- 9.12 ビルドの速度を速めるにはどうすればいいですか?
- 9.13 foo と foo-git パッケージは何が違うのですか?
- 9.14 foo パッケージが AUR から消えているのはなぜですか?
- 9.15 全ての AUR パッケージのリストを入手するには?
- 10 参照
はじめに
AUR ウェブインターフェイス で PKGBUILD を検索し、ダウンロードすることができます。makepkg を使って PKGBUILD からパッケージを生成することができ、pacman でインストールできます。
- base-devel パッケージグループをインストールしてください (
pacman -S --needed base-devel
)。 - この記事の下の方に、AUR パッケージをインストールする簡単なチュートリアルがあります。
- アップデート情報や問題を知るために AUR ウェブインターフェイス を訪れましょう。AUR で利用可能なパッケージの最新リストを見ることができます。
- よくある質問の答えはほとんど #FAQ に載っています。
/etc/makepkg.conf
を修正することで、AUR からパッケージをビルドするときに、あなたの使用しているプロセッサに最適化することができます。特にマルチコア・プロセッサを使っている場合、MAKEFLAGS を調整することでコンパイルにかかる時間を大きく短縮することができるかもしれません。また、CFLAGS の設定で GCC に対してハードウェア個別の最適化を設定できます。詳しくは makepkg.conf を見てください。
SSH 経由で AUR を使うこともできます: 利用可能なコマンドは ssh aur@aur.archlinux.org help
で確認できます。
歴史
以下の情報は歴史を語るためだけに存在しています。incoming と TUR は AUR により一新されて、すでに使われていません。
当初、ftp://ftp.archlinux.org/incoming
というサーバーがあり、人々は PKGBUILD やビルドに必要なファイル、ビルド済みのパッケージをアップロードしていました。パッケージメンテナが採用するまでプログラムはここに置かれたままでした。
その後、Trusted User リポジトリが誕生しました。コミュニティから許可された人のリポジトリを、誰でも使えるようにするためのリポジトリです。これを基礎として、より柔軟に使いやすくするために拡張されたものが AUR です。今でも、AUR のメンテナは TU (Trusted User) と呼ばれます。
2015年6月8日から2015年8月8日までの間に AUR はバージョン 3.5.1 から 4.0.0 に移行し、PKGBUILD を公開するのに Git リポジトリが使われるようになりました。
AUR3 パッケージの Git リポジトリ
GitHub の AUR Archive には2015年8月に AUR4 に移行する前の AUR3 に存在した全てのパッケージが保存されています。
パッケージをインストール・アップグレードする
AUR からパッケージをインストールする手順は比較的単純です。基本的には:
- ビルドファイルを取得する。PKGBUILD や、systemd ユニットやパッチなどの (しばしば、実際のコードではない) 他の必要なファイルを含みます。
PKGBUILD
とそれに付属しているファイルが、悪意のある、または信頼できないものでないことを検証する。- それらのファイルが保存されているディレクトリ内で
makepkg
を実行する。これは、コードをダウンロードし、コンパイルし、パッケージングします。 pacman -U package_file
を実行し、パッケージをシステムにインストールする。
要件
まず、必要なツールがインストールされているか確かめましょう。base-devel パッケージグループは絶対に必要です。make などの、ソースコードからのコンパイルに必要なツールが含まれています。
次に、適切なビルドディレクトリを選択してください。ビルドディレクトリは、パッケージが作成/ビルドされるディレクトリであり、任意のディレクトリにすることができます。以下のセクションでは例として ~/builds
をビルドディレクトリとして使用します。
ビルドファイルを取得する
AUR 内の対象パッケージの場所を特定します。AUR ホームページの検索フィールドを使って行うことができます。検索リスト内のアプリケーションの名前をクリックして、そのパッケージの情報ページを開きます。説明欄を読んで、それがあなたの求めているパッケージであることを確認してください。パッケージの最終更新日時とコメントも確認してください。
パッケージのビルドファイルを取得する方法は複数存在します:
- そのパッケージの git リポジトリをクローンする。そのパッケージの AUR ページの「パッケージの詳細」の「Git クローン URL」に URL があります。この方法が推奨されます。利点としては、
git pull
を実行すれば、パッケージを簡単にアップデートできます。
$ git clone https://aur.archlinux.org/package_name.git
- スナップショットをダウンロードする。パッケージの AUR ページの右側にある「パッケージアクション」内の「スナップショットのダウンロード」リンクをクリックするか、ターミナルで以下を実行してください:
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/package_name.tar.gz
- archlinux/aur GitHub 上の読み取り専用ミラーを使う。1つのブランチ内に1つのパッケージが存在しています。1つのブランチのみをクローンすることが推奨されます (リポジトリ全体は大きすぎるので、パフォーマンスが低下するでしょう)。これを行う方法として、以下の2つがあります:
git clone --single-branch
を使う:$ git clone --branch branch_name/package_name --single-branch https://github.com/archlinux/aur
- このリポジトリの部分クローンを行い (
git clone --depth=1
)、選択的にブランチを追加する:
$ git clone --depth=1 https://github.com/archlinux/aur; cd aur
$ git remote set-branches --add origin package_name
$ git fetch
$ git checkout package_name
必要であれば PGP 公開鍵を取得する
PKGBUILD の source 配列に .sig や .asc という形式の署名ファイルがあるか確認してください。それがある場合、PKGBUILD の validpgpkeys 配列内にリストアップされている公開鍵のうち1つを取得してください。詳細は makepkg# を参照してください。
パッケージをビルドする
パッケージの PKGBUILD が含まれているディレクトリに移動してください:
$ cd package_name
提供されているファイルすべての内容を確認してください。例えば、less を使って PKGBUILD
を見るには:
$ less PKGBUILD
パッケージを作成します。手動でファイルの内容を確認したあとで、makepkg を通常ユーザとして実行してください。いくつか便利なフラグがあります:
-s
/--syncdeps
は、ビルド前に自動的に依存関係を解決し、pacman を使って依存パッケージをインストールします。パッケージが他の AUR パッケージに依存している場合、まずその AUR パッケージを手動でインストールする必要があります。-i
/--install
は、ビルドが成功した場合にパッケージをインストールします。このフラグを使えば、通常手動で行う次の手順をスキップすることができます。-r
/--rmdeps
は、ビルド後に、ビルド時の依存パッケージを削除します (なぜなら、それらはもはや必要ないからです)。しかし、これらの依存パッケージは、パッケージがアップデートされたときに再インストールする必要があるでしょう。-c
/--clean
は、ビルド後に一時ビルドファイルをクリーンアップします (なぜなら、それらはもはや必要ないからです)。通常、これらのファイルはビルドプロセスをデバッグするときにだけ必要になります。
パッケージをインストールする
これで、pacman を使ってパッケージをインストールできます:
# pacman -U package_name-version-architecture.pkg.tar.zst
パッケージをアップグレードする
パッケージの PKGBUILD を含むディレクトリ内で、まず最初に以下のコマンドを使ってファイルと変更を更新しなければなりません:
$ git pull
次に、前述のビルドとインストールの指示に従ってください。
アカウントステータス
休止
When editing a user as a Trusted User, the Suspended field can be set, which suspends the target user. When a user is suspended, they cannot:
- Login to https://aur.archlinux.org
- Receive notifications
- Interact with the git interface
活動休止
When editing your own account or another as a Trusted User, the Inactive field can be set. Inactive accounts are used for two reasons:
- Display the date someone was marked inactive on their account page
- Generate a current count of active Trusted Users based on their inactivity for new proposals
フィードバック
パッケージにコメントする
The AUR Web Interface has a comments facility that allows users to provide suggestions and feedback on improvements to the PKGBUILD contributor.
Python-Markdown provides basic Markdown syntax to format comments.
パッケージに投票する
One of the easiest activities for all Arch users is to browse the AUR and vote for their favourite packages using the online interface. All packages are eligible for adoption by a TU for inclusion in the community repository, and the vote count is one of the considerations in that process; it is in everyone's interest to vote!
Sign up on the AUR website to get a "Vote for this package" option while browsing packages. After signing up, it is also possible to vote from the commandline with aurvoteAUR, aurvote-gitAUR or aur-auto-vote-gitAUR.
Alternatively, if you have set up ssh authentication, you can directly vote from the command line using your ssh key. This means that you will not need to save or type in your AUR password.
$ ssh aur@aur.archlinux.org vote package_name
パッケージに out-of-date フラグを立てる
First, you should flag the package out-of-date indicating details on why the package is outdated, preferably including links to the release announcement or the new release tarball.
You should also try to reach out to the maintainer directly by email. If there is no response from the maintainer after two weeks, you can file an orphan request. See AUR submission guidelines#Requests for details.
パッケージのビルドプロセスをデバッグする
- Ensure your build environment is up-to-date by upgrading before building anything.
- Ensure you have the base-devel group installed.
- Use the
-s
option withmakepkg
to check and install all dependencies needed before starting the build process. - Try the default makepkg configuration.
- See Makepkg#Troubleshooting for common issues.
If you are having trouble building a package, first read its PKGBUILD and the comments on its AUR page.
It is possible that a PKGBUILD
is broken for everyone. If you cannot figure it out on your own, report it to the maintainer (e.g. by posting the errors you are getting in the comments on the AUR page). You may also seek help in the AUR Issues, Discussion & PKGBUILD Requests forum.
The reason might not be trivial after all. Custom CFLAGS
, LDFLAGS
and MAKEFLAGS
can cause failures. To avoid problems caused by your particular system configuration, build packages in a clean chroot. If the build process still fails in a clean chroot, the issue is probably with the PKGBUILD
.
See Creating packages#Checking package sanity about using namcap
. If you would like to have a PKGBUILD
reviewed, post it on the aur-general mailing list to get feedback from the TUs and fellow AUR members, or the Creating & Modifying Packages forum. You could also seek help in the IRC channel #archlinux-aur on the Libera Chat network.
パッケージを投稿する
ユーザは、Arch User Repository を使って PKGBUILD を共有できます。詳細は AUR 投稿ガイドライン を見てください。
ウェブインターフェイスの翻訳
AUR ウェブインターフェイスの翻訳の作成とメンテナンスについては AUR ソースツリーの i18n.txt を見てください。
FAQ
AUR とは何ですか?
AUR (Arch User Repository) は、Arch Linux コミュニティがアップロードした、アプリケーションやライブラリの PKGBUILD をコミュニティ全体で共有するスペースです。ユーザー同士でお気に入りのパッケージに投票することができ、場合によっては、[community] リポジトリに移されてバイナリ形式で Arch Linux ユーザー間に共有されます。
どのような種類のパッケージが AUR に置かれていますか?
AUR にあるパッケージはたんに"ビルドスクリプト"、つまり pacman 用にバイナリをビルドするレシピにすぎません。ほとんどの場合、上述の有用性と範囲のガイドラインを条件として、コンテンツのライセンスの問題がない限り、すべてのものが置くことを許されています。他の場合、ダウンロードにリンクできない、つまり再配布が禁止されている時は、ソースとしてファイル名だけを使うことができます。よってパッケージをビルドするには、ユーザーによってビルドディレクトリにその制限されたソースを入れておく必要があります。どちらかわからない場合は、尋ねて下さい。
TU とはどのような人ですか?
TU (Trusted User) とは、AUR と [community] リポジトリを監督するように選ばれた人のことです。彼らは [community] に入っている人気の PKGBUILD を管理していて、みんなで AUR を運営し続けています。
Arch User Repository と [community] の違いは?
Arch User Repository にはユーザーが投稿した全ての PKGBUILD が保存されており、利用するには手動で makepkg を使ってビルドしなくてはなりません。PKGBUILD に一定数の投票が入ると、パッケージは [community] リポジトリに移され TU が管理するバイナリパッケージとなり、pacman によってインストールできるようになります。
AUR のパッケージに投票するにはどうすればいいですか?
AUR のウェブサイト で登録して、パッケージのページを開いて「このパッケージに投票する」を押してください。サイトに一度登録すれば aurvoteAUR, aurvote-gitAUR, aur-auto-vote-gitAUR などを使ってコマンドラインから投票することもできます。
もしくは ssh 認証を設定して、ssh 鍵を使ってコマンドラインから直接投票することも可能です。AUR のパスワードを入力する手間を省けます。
ssh aur@aur.archlinux.org vote <PACKAGE_NAME>
システムにインストールしている AUR パッケージ全てに投票するには:
for i in $(pacman -Qqm); do echo Voting for $i; ssh aur vote $i; done
どれくらいの投票で PKGBUILD が [community] に移されますか?
通常、少なくとも 10 の投票が [community] に移されるのに必要です。しかし、TU がパッケージをサポートしたいと望んだ時は、投票数にかかわらず [community] に入ることがしばしばあります。
どうやって PKGBUILD を作るのですか?
作り方はパッケージの作成にあります。同じものをダブらせてしまわないように PKGBUILD を作る前に AUR を調べるのを忘れないようにしましょう。
[community] にあるパッケージを "pacman -S hoge" したのですがインストールされません
おそらく /etc/pacman.conf
で [community] を有効にしていないのではないでしょうか。当該行をアンコメントしてください。
/etc/pacman.conf
の [community] が有効になっていたのなら、pacman -Syu
で pkgcache を同期してからパッケージを再度取得してみてください。
AUR の Hoge が古くなっています、どうするべきでしょうか?
第一歩として、パッケージの out-of-date フラグを立てることができます。しばらく時間がたっても out-of-date のままの場合、最良の解決策はメンテナにメールをすることです。2週間たってもメンテナから何の反応も得られないときは、孤児リクエストを作成してください。3ヶ月以上 out-of-date のままでいっこうにアップデートされる気配のないパッケージがあるのならば、孤児リクエストに加えて下さい。
PKGBUILD を作って投稿したいと思っています。エラーがないか誰かチェックしてくれるでしょうか?
あなたの PKGBUILD を批評してもらいたいのなら、aur-general メーリングリストに投稿して、TU や AUR メンバーからの反応をみてはいかがでしょう。IRC チャンネル, #archlinux on irc.freenode.net からも助けを得ることができます。namcap を使って PKGBUILD や作られるパッケージにエラーがないかチェックすることも可能です。
AUR の Hoge を makepkg でコンパイルすることができません。どうしたらいいですか?
おそらく些細なことを見逃していると思われます。
makepkg
でコンパイルする前にpacman -Syyu
をしてみてください。あなたのシステムが最新でないことが問題かもしれません。- base と base-devel グループがインストール済みか確認してください。
- ビルドプロセスをはじめる前に
makepkg
に "-s
" オプションを使って必要な依存パッケージがインストールされているかチェックしてみてください。
まずはじめに PKGBUILD やパッケージの AUR ページのコメントを読むようにしてください。問題がカスタムした CFLAGS, LDFLAGS, MAKEFLAGS が問題を起こしているのかもしれません。その PKGBUILD が全ての人にとって壊れているかもしれません。もし自分で解決できない問題なら、AUR ページのコメントに書き込むなどしてメンテナにそれを報告してください。
ビルドの速度を速めるにはどうすればいいですか?
gcc を使って頻繁にコードをコンパイルする場合 (git や SVN パッケージなど)、ccache ("compiler cache" の略) が役にたつかもしれません。
foo と foo-git パッケージは何が違うのですか?
多くの AUR パッケージには通常バージョン ("stable") と開発バージョン ("unstable") が存在します。開発版のパッケージには大抵 "-cvs", "-svn", "-git", "-hg", "-bzr", "-darcs" などが末尾に付きます。開発版のパッケージは通常の使用には適してしませんが、新しい機能やバグフィックスが含まれていることがあります。makepkg
を実行した時 -git
, -svn
, -hg
, -bzr
パッケージは最新のソースをダウンロードするので、パッケージのバージョンは必ずしも上流と合っていません。同じく、チェックサムの確認が出来ないので、git リポジトリのメンテナを信用することになります。
Arch Linux の安定化#開発中のパッケージを使わないも参照してください。
foo パッケージが AUR から消えているのはなぜですか?
ルール違反によってパッケージが削除された可能性があります。削除理由は aur-requests アーカイブ を見てください。
AUR3 に存在していたパッケージの場合、AUR4 に移行 したときにパッケージが移行されなかった可能性があります。#AUR3 パッケージの Git リポジトリを見てください。
全ての AUR パッケージのリストを入手するには?
- https://aur.archlinux.org/packages.gz
- python3-aurAUR パッケージに含まれている
aurpkglist
を使用する。