xfsxttをX-TT 1.1pl04に その他いろいろ


xfsxttのベースとなっているX-TTをVer 1.1 pl02 から pl04 に上げた。といっても、実際にはもうすぐ 1.2 が出てしまうとは思うけどね。

で、どっちかっつ〜と今回の目玉はX-TTそのものじゃなくて、xfsxttのパッケージングの形態にあったんだ。ネライは一応3つあって、

1. /etc/rc.d/init.d/xfs を提供する
2. /usr/X11R6/bin/xfs というそのままのファイル名で置き換えを図る
3. fsinfo, fslsfonts, fstobdf といった補助コマンドも含める

というもの。1. については、これはもう簡単に使えるように、ということに尽きる。オレ的には、make Worldしなくても、X関係全とっかえしなくても、とにかくxfsだけブチ込んでおけばいいxfsxttは、もうその時点で充分簡単に使えるんだからいいやんけ、くらいに思っていたんだ。

だが、JRPMのpackage MLでいつもお世話になっている井上さんは、init scriptを提供して、XF86Config までも書き換えちゃうほうが親切で良い、という意見だった。で、意見だけじゃなくて、ちゃんとinit scriptを書いて、態度で示しておられたのだ。素晴らしいぜ!

また、RedHatの公式サイトに置かれたアップデートのXFree86-3.3.3では、xfsは単独のパッケージとしてついに切り出された。XFree86-xfsというパッケージになったわけだけど、これをサックリ置き換えるだけでいけるように仕立てたかった。

以前のxfsxttは、xfs-xttなどと名前を換えてあったんだけど、それもヤメにした。また、make World で全部makeした場合と異なり、make xfsでxfsだけmakeすると、fsinfoなどの関連するものがmakeされないので、ムリヤリmakeするようにした。

オリジナルのXFree86-xfs-3.3.3のパッケージにはfsinfoなどが含まれているので、xfsxttに置き換えたときにも、fsinfoなどを入れるようにしてやらないと、無くなってしまうから。

まぁそれくらいかな、違いは。/usr/X11R6/lib/X11/fonts/truetype の下に fonts.dir やフォントそのものが入っている前提になっているので、freetypeのパッケージを入れて、xfsxttを入れたら /usr/X11R6/lib/X11/fonts/truetypeの下にモノを用意しよう。

あ、このxfsxttのパッケージは、XFree86 3.3.3がRequiredに一応してあるから、RedHat 5.2を普通に入れてXをインストールしただけだと、XFree86 3.3.3がないわ!などと言われちゃうと思う。そういう場合は見なかったことにして --nodeps を付けてブチ込んでかまわない。ちゃんと動くから(笑)

もともとxfsxttを使っていて、オレはそんなとこにフォントを置いてないよ!という人は、申し訳ないが、/etc/X11/fs/config を修正してツジツマを合わそう。あ、port番号は 7100番を使うのが前提になっていて、これも/etc/X11/XF86Config と/etc/X11/fs/configに自動的に書いちゃうから、もしも違うポート番号を使いたい人は自分で修正が必要だ。

おまかせコースでいいわ、好きにしてして、という人は、フォントを所定の場所に置いて、fonts.dir(あればfonts.aliasも)を置いたら、su して

/etc/rc.d/init.d/xfs start

しよう。無事にxfsは立ち上がったかな? 問題なければ、

startx -- -deferglyphs all

などで、X-TTで幸せに暮そう。

ところで、去年の年末から年始にかけて、ちょっと思うところがあって、手持ちのパッケージを全部JRPMにputした。パッケージ置き場に置いてあるものは全部。どういう名前にすればいいのかなぁ、などと、考えて見れば瑣末なことでputしかねていたんだけど、適当に見分けが付くように、jrpmと名前につけてパッケージしなおしてputしちゃったよ。

JRPMって、なにかのディストリビューションを目指すわけではない、と個人的には解釈している。だから、何でもありありで、重複したらしたで別にいいじゃん、という考えになったし、それがメリットという気もしてきた。

だもんで、今回のxfsxttのように手を入れたり、不都合を見つけて修正したりしたがあんまり自信ないや、みたいなのは真っ先にパッケージ置き場に置くけれど、問題ないと思えば即JRPMにputするから、今後はJRPMの方から取れるようにしていくつもり。

今のところJRPMに置いてあるパッケージとパッケージ置き場のものとで違いがあるのは、xfsxtt、tcl/tk、freetype、ndtpd の4つだけだ(といっても派生パッケージがあるからファイルとしてはもうちょっと多いけど)。

tcl/tk関係は、こちらもJRPMでお世話になっている市川さんから質問があって、よくよく調べたら、もともとtcltk-8.0.3ないしは8.0.4がインストールされていないと、src.rpmからrebuildできない状態にあることがわかった。本来、tcl/tk関係がまるっきり入っていない状態で rebuild できてしかるべきなので、そういう風にちょっとだけ修正したものをパッケージ置き場には置いてある。

また、freetypeは、これまたJRPMでお世話になっている山縣さんが、いろいろと微調整してくださり、そのspecを丁寧にもメールで送ってくださったので、それを使ってそのままパッケージしなおしたものをパッケージ置きばに置いた。Build Host:はウチのマシンになっているが、Packager:が山縣さんになっているのはそのためだ。

それとndtpdなんだけど、今回のxfsxttの手直しで、init scriptがいかに便利かってのを改めて実感したので、ndtpdのパッケージにもinit scriptを含めることにした。

/etc/rc.d/init.d/ndtpd start

などとすると動くようになってたんだけど、愚かなことに、/etc/servicesに

ndtp    2010/tcp

を追加するのを忘れていたので、それを修正したものを置いてある。


メール 戻る