Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

qbilinux (a.k.a Plamo nora) 開発について(その12): パッケージビルドスクリプト更新作業

ぼちぼちと Plamo Linux 6.x のソース一式を修正して,qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる qbilinux のビルドスクリプトhttps://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ にあります.

一応,Plamo Linux とは別もので,私個人が作っているものになります.はい.

相変わらずパッケージビルドスクリプトを更新中.

当初は基本パッケージのものだけ修正したらインストーラーの調整をしようと思っていましたが,途中で別の作業をするよりも一気に作業してしまった方が良さそうな感じがしたのでパッケージビルドスクリプトの修正作業を継続.

で,ひととおり書き換え作業自体は終了.新しい形式に全部(?)書き直しました.

バックアップがてら,ある程度デバッグしたものをここ数日で github の方に上げてしまいましたが,まだまともじゃない状態になっているので,現状の github ソースは使わない方が良いかと思います.持っていく人はほとんどいないと思いますが,一応,忠告を....push したあとに別ブランチを切っておけばよかったかなとちょっと後悔しましたけど.

この状態でぼちぼちとデバッグ中.まともにビルドできるって確認したのは,まだ8割くらいかなぁ.

あたらしい形式ではソースファイルとビルドする場所をできるだけ分離しようとしていましたが,configure & make でコンパイルするツール類でもソースを分離してしまうとコンパイルが通らない物が結構な数ありますね..h が見つからないというエラーで落ちるパターンが多いかな.ほかには Makefile 中から呼び出されているスクリプトなどがカレントにソースツリーがあることが前提になってるとか.エラーになる場合はこれまでどおりソース一式をコピーする形にしています.

また,configure でコンパイルするツール類で,ソースに同梱されている config.gess, config.sub が古すぎて aarch64-*-linux というアーキを自動認識できなくてエラーで落ちるパターンも多いです.当初はあたらしい config.gess, config.sub をビルドスクリプトに同梱する形で修正していましたが,あまりに同様のエラーで引っかかるものが多いのでどうしようかなぁと思案中.途中から pkgbuild パッケージ (https://github.com/qbilinux/qbilinux/tree/master/qbilinux/01_minimum/devel.txz/pkgbuild) にファイルを同梱してそれをコピーする形にしましたが,それでもかなりな手間と時間がかかってるので,ソース中に config.gess, config.sub が含まれている場合には強制的に全部上書きしてしまう形でも良いかなぁと考え中.けど,そうするとこれまでコンパイルした物も一応チェックする必要があるから,それも手間になるかなぁ.うーむ,悩みどころ.強制的に上書きするのはやっぱり危険だし,現状のままが良さそうかなぁ.

新しいビルドスクリプトのフォーマット詳細に関する説明は改めてどっかで書きますね.そういえば,各種ドキュメント等を置こうと思って立ち上げようとしてた web サイトの構築も放置してるなぁ....

他に,Plamo Linux 6.x ではパッケージ分類が

00_base/
01_minimum/
02_x11/
03_xclassics/
04_xapps/
05_ext/
06_xfce/
07_kde/
08_tex/
09_kernel/
10_lof/
11_mate/
12_lxqt/

のようになされています.この意味ですが,数字の小さい物が数字の大きな物に依存するという形式になっています.たとえば 06_xfce に含まれるパッケージを使うためには 00 〜 05 のパッケージをインストールする必要があるといった形です.けど,これが問題なんですよね.現状では 06 のパッケージを入れていないと 05 が動作しないといった感じで,数字の大きな物を入れないと数字の小さな物まで動作しないというパッケージが相当数有ります.オプションライブラリ or オプションツールといった扱いではなく,それがないとコンパイル自体が通らないといった必須ツールでそういった感じになっている物が多いです.

パッケージのバージョンアップ途中でそうなってしまったのか,それとも元々そうなっていたのかは不明ですが,一旦そういったパッケージが紛れてしまうとそのパッケージを見つけるのに結構な工数がかかるんですよねぇ.

まぁ,Plamo Linux 6.x のツリーをそのまま流用している関係上,qbilinux 環境も同様の状態になっていますが,今のところはそのままにしています.けど,そのうちどうするか考えないとダメなのかなとは思っています.下手に数字分類を残すよりも,元々の Slackware のように数字分類を無くして,依存関係は自分である程度解決してね程度にしてしまうのも手かもしれないかなとは思っています.:-)

あと,ビルドスクリプトの修正の話とは直接関係ないですが,github の方に push するときに,ラズパイから直接作業したときに時刻設定をミスって,ファイルの更新日時が 1 Jan 1970 ってなってるものがボチボチあります.元々は ntp のパッケージングのバグが原因なんですけど,現在は修正したので今後は発生しないと思いますが,ちょっと恥ずかしいなぁと思っていたり.

まぁ,そんな感じでぼちぼちやってますが,年内中くらいにはビルドスクリプトの修正は終わらせて,インストーラの調整を始めたいなと思っています.はい.