ぼちぼちと Plamo のソース一式を修正して,野良パッケージ (野良ディストリビューション?) を作成.
いつまで続くのか.
いじってる野良パッケージのビルドスクリプトは https://github.com/t-matsuki/Plamo-mysrc,バイナリは https://circle2.org/pub/ にあります.
今回はただの雑談.
なんかモタモタ作業をしてるウチにいろんなソフトエアのバージョンが上がってしまいますね.
特に気になってるのは Firefox.セキュリティフィックスとか含む場合があるからなぁ.Firefox 60.x 系列がリリースされたけど,普通に使ってるだけだと「バージョンアップされたんだ.ふーん.」くらいだけど,実はコンパイルに必要な Rust のバージョンが上がってるんですよね.Firefox ではよくあること.で,その Rust で使ってる llvm もバージョンが上がっていたり.それなら Rust で使ってる llvm のバージョンと,システムに含まれてる llvm のバージョンも合わせたくなるよね.システムの llvm のバージョンを上げると,llvm でコンパイルしてるパッケージのチェックも一応しておいた方が良いよね.
って感じで芋づる式に作業が増えていく....
まぁ,修正を Rust まででとどめておけば良いんだけどなんだけど,なんとなく気になっちゃう.https://www.mozilla.org/en-US/security/advisories/mfsa2018-11/ を見ると Firefox 60 もいくつか critical なセキュリティフィックスが含まれているみたいなので,手が空いたらとりあえず Rust 周りだけアップデートして,Firefox をアップデートしようかなと思います.
他には TeX 周りで不具合を見つけたのですが,依存関係が少ないので修正するついでに TeX 自体のバージョン上げてみたりとか.
また,一部,コンパイルが通らない状態のまま放置していたパッケージがいくつかあったのですが,それらのもののうち,よく使いそうなものは調整して,使用頻度の低そうなものは削除したりとか.Plamo には linphone って含まれていたけど,古くなっててコンパイルがそのまじゃ通らない状態.Plamo Linux でもどのくらいの人が使ってるのかなぁ.使われているのか?私自身は全く使ってないのでとりあえず削除...って感じで.
また,Oracle の jre が含まれていたけど,自前でビルドした openjdk に全面入れ換え.この,openjdk に入れ換えたことで,バイナリ配布されている物を再パッケージングしていたパッケージはようやく全滅できました.バイナリを再パッケージングした物は色々とトラブルの元だったから.
平行してインストーラーをスクリプト処理で一気に作り上げるように少しだけ調整していたけど...やっぱり挫折.以前,書いたように先送りで,とりあえず手作業で逃げることにします.Plamo の一部で使っているインストーラーのスクリプトを https://github.com/t-matsuki/Plamo-mysrc/tree/master/boot 以下に転がしていますが,この中でインストーラーで使うコマンド類を static link で作り直しています.けど,このスクリプト中でリンクしようとしてる static 用のライブラリが存在してないものが結構多いです.そのため,このスクリプトを流用しようとすると本体側のパッケージ修正が必要になります.はい.
それじゃイヤだなぁと思って,本体パッケージをそのまま使おうとしたら,依存関係がいろいろとあるので芋蔓式にパッケージを含めないとダメな状態になってちょっと調整が必要な感じ.
メンテナンス性を考えると本体パッケージ+必要最小限な修正パッケージって構成で作り上げるのが良さそうなので,その形で調整していく感じにするかと思います.github の方に転がしてるスクリプトは参考程度に使う感じになるかなぁ.
そんな感じでざっと作り直してみたけど,Plamo の initrd.gz が
-rw-r--r-- 1 root root 110,574,667 5月 19日 08:16 initrd.gz
に比べて
-rw-r--r-- 1 root root 223,131,971 5月 19日 13:55 initrd.gz
なサイズになってしまった.うーん,機能的にはほとんど変わらないのにサイズは2倍.
相変わらずインストーラ中からのブートローダーのインストールにもミスってるみたいだし,もう少し調整が必要かな.ファイルを strip したり,要らないロケールとかマニュアルとかを削除すれば多少は容量減らせるかな?
あとは... ARM パッケージも作らないと....
まぁ,ダラダラ作業してるけど,リリースプランとかポリシーとか決めてるわけでもないし,自分で使う&いじる用にごにょごにょしてるだけなので,まぁ良いかと思ってたり.
インストーラー回りは調整前のものですけど,パッケージが落ち着いたかなぁという状態の iso を http://circle2.org/pub/isos-current/ に転がしてあります.
Plamo-nora-0.1_x86_64_20180519_dvd.iso 2018-05-19 13:39 3.9G
Plamo-nora-0.1_x86_64_20180519_dvd.iso.sha256 2018-05-19 13:39 105
Plamo-nora-0.1_x86_20180519_dvd.iso 2018-05-19 14:05 3.9G
Plamo-nora-0.1_x86_20180519_dvd.iso.sha256 2018-05-19 14:06 102
以上,参考まで.