ぼちぼちと気分転換に Plamo Linux 用の野良パッケージの作業.
これまでの経緯の詳細は昔の日記を見てください.
手元の状態で,8割くらいのパッケージのコンパイル状況を確認して,9割方エラーなくコンパイル通るように修正した状態.github の方はちょっと前のものなので,それよりはエラーは多く出ると思います.
それにしても,全部のパッケージをチェックしているとかなり古いものだらけだなぁと.一時期は古いものを根こそぎ新しくしようかと,いろいろなパッケージを入れ替える作業をしていたこともあったけど,依存関係が多すぎてかなり大変だったんだよね.ncurse をアップデートした時には相当数の依存関係に苦しみました.結局,昔のバージョンのライブラリへのリンクを含める形で納めちゃった (悪く言えば,途中で放置 or ギブアップ...) しちゃったんだけど.全体が古いパッケージでバランスとれている状態になっているので,一部を修正しようとすると割と芋づる式にいろんな作業しないとダメな状態になってしまうんですよね.
手元でちょこちょこ作業してたソースツリーの方は全ビルドが簡単にできるので,その辺りの作業は楽になるかなと思っています.いざとなれば全ビルドしてしまえばいいかなぁと.どうせ手元のマシンでもバッチ流して7時間くらいで全パッケージのビルドが終わる感じだしね.
ほぼほぼ,全自動で全パッケージを作れるようにしてある (find . -name PlamoBuild* -exec mkpkgfile {} \; な感じだけど) ので,コンパイラー入れ替えとか,ディレクトリ構成の変更などにも簡単に対応できるかなと思っています.当然,ビルド時のエラーは確認しないとダメだけど.
ビルド途中でエラーになっているパッケージも紛れ込んでいて,あんまり使う人はいないだろうけど,一通りコンパイル状態を確認できたところでパッケージ一式を公開しておこうかなと思っています.自分用のバックアップがメイン用途だけど....Plamo Linux を使っている人が,あたらしいパッケージを使いたいときに入れ替えられるかな?とは思うけど,それならそもそも Plamo を使っているユーザーくらいだと自分でビルドするかなと思いますね.たぶん.
自分の Plamo Linux 環境のパッケージも現在,ほぼ,この自作パッケージに入れ替えてしまいましたが,使えなくはない状態です.この作業をしながら,どんどんパッケージ入れ替えていってる状態なので,コンパイラーとかもまぁ使えない状態ではないと思っています.
ちょっと話を変えて,
Plamo Linux (Slackware も同じかな) のパッケージ管理&インストール管理のために descfile / tagfile というものがありますが,これも自動で作れるようにしてみました.各ビルドスクリプトと同じ個所に,パッケージ名 + .desc というファイル名でおいておけば,コマンド一発 (makedist.py) で必要な形に成型するようになっています.あ,makedist.py はビルドしたパッケージも集めて配布形式を作ってしまうので注意ね.github の Plammo-mysrc の方を見てもらうと,ディレクトリ直下に 00header.desc というファイルもありますけど,これは 01_minimum などのディレクトリ直下に minimum.desc というファイルを作成するときのヘッダとして使われます.ファイル名は 00header.desc の先頭記述から引っ張ってくる形.元となる desc ファイルの記述方法は Plamo-mysrc/admin/makedesc.pl のヘッダ部分にコメントとして記載されています.
管理方法としては makedist.py で base.desc などが作成されるので,その後
% makedesc.pl -a base.desc
ってやれば,必要な管理ファイルが全部作られます.まぁ,最終的にはそこまで全自動化できればいいかなと.
今の Plamo Linux 本体の方ではこの辺りの管理は手作業になっているんだけど,自分用にこちょこちょいじっていたらパッケージ収録しているけど descfile に記載が漏れていたり,ファイル名が間違えていたりいろいろと問題あるみたい.インストール時に無視されるとは思うんだけど,意図してやっているのか,ミスなのかよくわからないな.
一応,一通りの区切りとしては,配布形式一式のファイルを作成して,本家の Plamo Linux からアップデートコマンド一発で自分で野良ビルドしたパッケージに入れ替える蔵までは作業するつもりです.あと,新規インストールもできる状態にはしておきたいなとは思っています.インストーラーは自分で作るつもりはないので,Plamo Linux のものをそのまま使う形で良いのかなと.
とりあえず,その状態こで作業してみてから本家に戻すかどうかは考えます.途中で挫折しないといいんだけど.:-)
この文章,Plamo の中身をわかっている人ならフムフムって感じだろうけど,まったく知らない人からしたら,何を書いているんだかって説明文ですけど.まぁ,興味のある人がいるかもしれないので参考までに書いてみました.
それにしても,このようなことを説明しているドキュメント類がほとんどないんだよね.> Plamo Linux.
なんか一子相伝状態になっている感じ.
どこを修正すればどうなるかっていうドキュメント一式をそろえた方がいいんだと思うんだけど,時間がかかる割にやり遂げた感があまりない作業なので放置なんだろうな.あ,少しづつは技評のホームページでやっているこじまさんのコラムの方にはある程度は記載はされていますけどね.