玩式草子─ソフトウェアとたわむれる日々

第30回 64ビット化への遠い道程[まとめ]

この記事を読むのに必要な時間:およそ 4 分

最後の難関

その後,11月ごろからまとめの段階に入りましたが,何度もインストールしていると,Plamo-4.73までに用いていたパッケージのカテゴリ分けに問題があることに気づきました。

「カテゴリ」とは,Plamo Linuxで用いているパッケージの整理方法で,各ソフトウェアがシステム全体の中でどのような機能を果しているかに基づいた分類になっています。Linux環境を構成するための必須のソフトウェアであるカーネルやCライブラリ,cpやmvといった必須コマンドなどは00_base,Cコンパイラ(gcc)やperl, pythonといったスクリプト言語,NFSやセキュリティ/暗号化機能など,動作に必須ではないものの,たいていの環境では必要となるソフトウェアを01_minimum,X Window Systemを構成するソフトウェアを02_x11,といったように分類し,インストール時にどこまでの範囲をインストールするかを指定できるようにしています。

具体的に言うと,Plamo-4.73で用いていたカテゴリ分けでは,GtkやQtが普及する以前に開発されたX用のソフトウェア,たとえばAfterstepQvwmといったウィンドウマネージャが,X Window Systemを構成するソフトウェアを収めている02_x11カテゴリに入っていました。その結果,XfceやKDEといった最近の統合デスクトップ環境では,それら旧世代のソフトウェアを使う必要が無いにもかかわらず,AferstepやQvwmもX環境の一部としてインストールされてしまっていました。

この問題は従来のPlamo-4.73等の環境でも起きていたわけですが,AfterstepやQvwmがウィンドウマネージャとして活躍していた時代に開発が始まったx86環境では,Xの必須の部品としてこれらのソフトウェアが存在することが当然のように思い込んでいたため,特に気にはなりませんでした。

一方,先にXfceやKDEといった統合デスクトップ環境が動作するようになったPlamo64では,開発が終了して久しいこれら旧世代のソフトウェアを,わざわざ64ビット用にビルドし直してまで追加することが無駄のように感じました。

そこで,これら旧世代のソフトウェアはcontribディレクトリに移動して,自動インストールの対象に含めないようにした方がいいのでは,とメンテナMLで提案してみたのですが,メンテナの人たちからはこれらのソフトウェアを支持する声が強く聞かれました。

そのため,折衷的な案として,これら旧世代のソフトウェアを新しいカテゴリにまとめ直し,X Window SystemやXfce,KDEとは独立にインストールの有無を選択できるようにしてみました。その結果,Plamo64ではインストール時に選択できるのは以下の10のカテゴリになりました。

表2 Plamo64のカテゴリ分け

00_baselinuxの動作に必須のパッケージ
01_minimumXが不要な環境向けのパッケージ
02_x11Xの基本パーツ(X11R76+フォント,xterm,JPEG/TIFF/PNG等のライブラリなど)
03_xclassicsGTK/Qtを使わない古めのXアプリ(Afterstep/Qvwm/kinput2等)
04_xappsデスクトップ環境非依存のXアプリ(firefox,gimp,ghostscript等)
05_ext最近のデスクトップ環境用のツールやライブラリ
06_xfceXfceデスクトップ環境
07_kdeKDEデスクトップ環境
08_texpTeXLive
09_kernelカーネルのソースコード
10_lofLibreOffice

このようにすることで,たとえばKDE環境の場合は00_base, 01_minimum, 02_x11, 05_ext, 07_kdeの5つのカテゴリを選択すれば,AfterstepやQvwm等をインストールしなくても動作可能になります。加えて,04_xappsをインストールすれば,firefoxやgimpといったKDEプロジェクト以外の便利なツールも使えるようになります。

一方,従来のウィンドウマネージャ環境の軽快さを好む人は 00_base, 01_minimum, 02_x11, 03_xclassics の4つのカテゴリを選択すれば,10年くらい前のGUI環境が構築でき,04_xappsを追加すればXfceやKDEをインストールしなくても最近の便利なソフトウェアを使うことができます。

図2 Afterstepもまだ現役

図2 Afterstepもまだ現役

カテゴリの再構成は,パッケージの移動だけではなくインストーラの対応も必要となるかなり大がかりな修正になりましたが,11月の下旬にほぼ変更を終えました。

その後は細部の調整をしつつ,新しいバージョンが出ているソフトウェアを随時更新しながら,12/15にRC1,12/27にRC2を公開し,RC2から3つほどパッケージを更新したバージョンをPlamo64-1.0ということにしました。

Plamo64からPlamo-5.0へ

以上のような過程を経て,x86-64用のPlamo LinuxであるPlamo64-1.0は12/31に正式リリースできました。しかし,これはx86とx86-64の両アーキテクチャに対応しようとしているPlamo-5.0の半分に過ぎず,x86用の環境を構築する作業が残っています。

ありがたいことに,筆者がx86-64に集中していた間もx86用のパッケージを更新し続けてくれたメンテナがいて,x86用の開発環境は既にx86-64と同等になっており,ビルドスクリプトのarch部をi586にするだけで,たいていのパッケージは再ビルドできそうです。

あまりグズグズしていると,既存のパッケージのバージョンが古くなって,バージョンアップの追いかけっこが始まってしまうので,x86用のパッケージはここ数ヵ月のうちに揃えてしまいたいと考えています。

著者プロフィール

こじまみつひろ

Plamo Linuxとりまとめ役。もともとは人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。

URLhttp://www.linet.gr.jp/~kojima/Plamo/index.html