Alpine LinuxのAPKBUILDに挑戦
BuildRootでBusyBox+uClibcのシステム構築にトライしていたところ、Alpine LinuxというBusyBoxとuClibcを利用したディストリビューションに出会った。これがなかなか面白い。パッケージ管理はapkというもので $ sudo apk add hogehoge という具合にpkg_addのような使い方をする。ところがパッケージの作成にはGentooのebuildをベースにしたようなabuildというのがあり、この組み合わせが非常に面白い。Gentooに慣れてるせいでdevelやdocなどと分割パッケージするのが億劫なのだがこの際頑張って日本語環境でも整えてやろうかと思った次第。基本的にebuildに似てるんだけどAlpineの標準シェルはbusybox ashなのでbash構文が使えない。abuildの関数も少なくコンソールで打つコマンドをベタ書きすればいいようで覚える事が少ないというデメリットなのかメリットなのか戸惑う状況でもある(笑) 何から手をつけていいのか解らないのでひとまずibus-mozcを入れてみようと思いibusから手をつけてみた。Gentooでいうhogehoge-0.0.1.ebuildにあたるファイルは全てAPKBUILDという同名ファイルに記述する。 http://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package チュートリアルを読みながら進めていくとカレントディレクトリに hogehoge-0.0.1-r0.apk hogehoge-dev-0.0.1-r0.apk hogehoge-doc-0.0.1-r0.apk という3つのファイルが出来ていた。さてどこまで出来る事やら。Alpine Linuxは凄くよく出来たディストリだけどやはりBuildRootでシステム全体を自分好みにビルドしたい。i686で最適化しaportsを持ってきてパッケージ管理が出来れば素晴らしい。と思ったけどRPMも捨てがたい。迷うなぁ。