Abuild
abuild ツールは Alpine Linux パッケージを構築し、維持するために必要なスクリプトを提供します。
これを使用して、Arch Linux システムからコンテナや VM などの別の Alpine インストールに依存することなく、Alpine パッケージを維持し構築することができます(クリーンな chroot 環境内で)。
Alpine と Arch Linux の間には技術的な違いがあるため(例えば、パッケージマネージャー、初期化システム、C ライブラリの実装など)、Alpine のクリーンな chroot 環境外で Arch システム上で Alpine パッケージを構築することはできません。そのため、Arch システム上で Alpine パッケージを 構築する場合、abuild rootbld
の使用が適切です。
インストール
atools パッケージは apkbuild-lint(1) や apkbuild-fixer(1) などの追加ツールを提供しており、興味がある場合は便利です(#Usage 参照)。
設定
abuild のサブコマンドは、パッケージを構築するものでなければ、箱から出してすぐに使用可能です(例:チェックサムの生成/更新、ソースのフェッチ、一時ディレクトリのクリーニングなど、詳細は abuild(1) § COMMANDS を参照)。
クリーンな chroot 環境で Alpine パッケージを構築するためには、abuild-keygen ツールで公開/秘密 rsa キーペアを生成し、ユーザーを abuild
ユーザーグループ(abuild パッケージをインストールすると作成される)に追加する必要があります:
$ abuild-keygen -a -i
オプションで /etc/abuild.conf
設定ファイルを編集して、好みや要件に合わせることができます。例えば、ダウンロードしたソース(デフォルトでは /var/cache/distfiles
)や構築したパッケージ(デフォルトでは ~/packages
)を保存するパスは、その設定ファイルの SRCDEST
および REPODEST
パラメータを変更することでカスタマイズできます。
使用方法
abuild と atools ツールを使用した基本的なパッケージングワークフローの例は、新しいパッケージのポートを作成し、そのディレクトリに入ることから始まります:
$ newapkbuild package_name && cd package_name
次のステップは APKBUILD を編集し、その後(atools パッケージによって提供される)apkbuild linter を実行します:
$ apkbuild-lint APKBUILD
次に、apkbuild-lint によって発生した可能性のある警告を自動的に修正するために apkbuild-fixer を実行することができます(atools パッケージによって提供されます):
$ apkbuild-fixer APKBUILD
その後、APKBUILD ソース配列に含まれるソースのチェックサムを生成/更新します:
$ abuild checksum
最後に、Alpine のクリーンな chroot 環境でパッケージを構築します:
$ abuild rootbld