Aura
Aura は Haskell で書かれた Arch Linux 用の多言語対応パッケージマネージャです。公式の ABS リポジトリと Arch User Repository に接続して、Arch の全てのパッケージを簡単に制御することができます。pacman の全ての操作に加えて、AUR のパッケージを扱うためのカスタムコマンドが追加されています。Aura はビルドしたパッケージファイルをキャッシュするため、ABS のパッケージと同じように管理することが可能です。また、-C
でダウングレードができます。
詳しくは README や documentation を参照してください。
目次
インストール
バイナリパッケージ
Haskell の依存関係を気にせずに Aura をインストールする一番簡単な方法はビルド済みの AUR のバイナリパッケージを使うことです: aura-binAUR。
ソースパッケージ
auraAUR ソースパッケージをインストールするには公式リポジトリや AUR では提供されていない Haskell パッケージが必要になります。ただし Aura の依存パッケージは全て haskell-core リポジトリから取得することができます。haskell-core をリポジトリに追加する方法は ArchHaskell#.5Bhaskell-core.5D を見て下さい。
トラブルシューティング
既知の問題は GitHub issues を参照。
AUR パッケージがビルドできない
List of AUR packages that don't build を参照。
configuration 時にビルドが失敗する
以下のように表示される場合:
Configuring aura-1.x.x.x... Setup: At least the following dependencies are missing: regex-pcre-builtin -any
haskell-regex-pcre-builtinAUR パッケージをリビルドするか、[haskell-core] からインストールする必要があります。上記のエラーは ghc のアップグレード後にしばしば発生し、セキュリティ上、全ての haskell ライブラリが特殊なハッシュ値でリンクされているのが原因です。
Invalid argument
aura >> Determining dependencies... aura: fd:6: hGetContents: invalid argument (invalid byte sequence)
1.2.X 以降のバージョンで発生する 既知の問題 です。ロケールが正しく設定されてることを確認してください。
sudo を自動で実行
デフォルトでは Aura は権限の昇格を要求しません。(他の AUR ヘルパーのように) 権限昇格をして欲しい場合は、ラッパースクリプトを書くことで必要なときに sudo で aura を再実行できます。以下は aura
をラッピングする関数 a
を作成します:
function a(){ AURA="$(aura "$@")" if echo "$AURA" | grep -q '^aura >>= .*You have to use `.*sudo.*` for that.*$' then sudo aura "$@" else echo "$AURA" fi }
上記の関数は適当な rc やプロファイルに追加するか、PATH が通っているところにスタンドアロンのスクリプトとして設置してください。