で、対応する SRPM は
である。バイナリーは依然として Tcl7.6jp/Tk4.2jp ベースであるが、このあたりの事情については
1999/11/19 の日記を参照のこと。
glibc-2.1.3-4b.ppc.rpmを "rpm -Uvh" で放り込む。ただし、glibc-2.1.3-0j からのアップデートの場合、Franz の警告にあるように、glibc-2.1.3-0j 環境でコンパイルしたアプリケーションの内、setrlimit または getrlimit 関数を呼ぶものは動作しなくなる。このようなものには bash を含む shell 関連のアプリケーションなど極めて危険なものが含まれる。アップデートの前に、あらかじめ /sbin、/bin、/usr/bin、/usr/sbin、/usr/X11R6/bin などコマンドサーチパスに含まれる主要なコマンド、また、/lib、/usr/lib、/usr/X11R6/lib などに含まれる主要な共有ライブラリーについて、それぞれのディレクトリーで
glibc-devel-2.1.3-4b.ppc.rpm
glibc-profile-2.1.3-4b.ppc.rpm
# for i in `ls *`; do echo $i; objdump -T $i | grep rlimit | grep 2.1.3; done | lessなどとして、該当するコマンド、または共有ライブラリーをつきとめ、"rpm -qf" で対応するソースパッケージを確かめ入手しておく。そして、glibc の更新後、root のシェルを抜ける前に、それらのパッケージを "rpm --rebuild" し、できた RPMS を "rpm -ivh --force" する。私の場合は、util-linux がこれに該当したので、作りなおした。glibc-2.1.3-4b 環境で作りなおした util-linux のパッケージは
mount-2.10d-1a.ppc.rpmである。
util-linux-2.10d-1a.ppc.rpm
losetup-2.10d-1a.ppc.rpm
binutils-2.9.5.0.14-0aである。gcc については、libg2c.a を PIC フラッグつきで作るためftp://devel.linuxppc.org/users/fsirl/R5/SRPMS/ より gcc-2.95.2-1g.src.rpm をとりよせ、例によって -fPIC をつけるパッチ を使い、RPM を作りなおす。使った SPEC はこれ。出来た RPM は
cpp-2.95.2-1gm.ppc.rpmで、対応する SRPM は
gcc-2.95.2-1gm.ppc.rpm
gcc-c++-2.95.2-1gm.ppc.rpm
gcc-g77-2.95.2-1gm.ppc.rpm
gcc-objc-2.95.2-1gm.ppc.rpm
libstdc++-2.10.0-1gm.ppc.rpm
gcc-2.95.2-1gm.src.rpmである。使う際には使用上の注意を参照(gcc-2.95.1 を適当に gcc-2.95.2 に読み代える)。libg2c.a を組み込んだ共有ライブラリーを作る必要のない場合は、Franz のオリジナルなパッケージと何も違いはない。
である。いくつかのソースのコンパイルで最適化レベルを変更する必要がある点(g++
の問題)に注意。
できたバイナリーは
root_v2.23.12_linuxppc-r5.tar.gzである。
gimp-1.1.16-gdyntext.patch (紅眠さんの gdyntext パッチ、詳しくは紅眠さんのGIMPで日本語をなんとかしたいのページをご覧下さい)である。このバージョンより、白崎氏の尽力により text_tool の i18n パッチが本家のソースツリーに統合された。有り難いことである。ただし、未だ FireText を一度使うと gimp を再起動しないと FireText、Glowing Steel などが使えなくなる問題は残っているが、追求はしていない。
gimp-1.1.16-scripts.patch(gimp-1.1.14 用のものと同じ)
このSPECを使って
gimp-1.1.16-1a.ppc.rpmを作成、対応するSRPMは
gimp-devel-1.1.16-1a.ppc.rpm
gimp-perl-1.1.16-1a.ppc.rpm
gimp-1.1.16-1a.src.rpmである。
freetype-1.3.1-1a.ppc.rpmまた、SRPMは
freetype-utils-1.3.1-1a.ppc.rpm
freetype-devel-1.3.1-1a.ppc.rpm
freetype-1.3.1-1a.src.rpmで、xtt-1.3 に含まれる freetype1.3-adw-nocheck.patch があててある。
XFree86-100dpi-fonts-3.3.6-8a.ppc.rpmこれらを "rpm -Uvh" し動作確認をし、上記の環境下(binutils,glibc,gcc)で X-TT をコンパイルする。手順は
XFree86-75dpi-fonts-3.3.6-8a.ppc.rpm
XFree86-FBDev-3.3.6-8a.ppc.rpm
XFree86-Xpmac-3.3.6-8a.ppc.rpm
XFree86-devel-3.3.6-8a.ppc.rpm
XFree86-libs-3.3.6-8a.ppc.rpm
XFree86-xfs-3.3.6-8a.ppc.rpm
# rpm -ivh <somewhere>/XFree86-3.3.6-8a.src.rpmみたいな感じ。shared-libfont パッチはオリジナルのものを ppc パッケージにあたるようにした。
# cd /usr/src/redhat/SPECS
# vi XFree86.spec
....
# # install xfsft
# tar x -C xc/lib -f xfsft-1.1.6/libfont.tar
# patch -p0 -s -d xc/lib < xfsft-1.1.6/libfont.patch
#
# # the mkfontdir patch that comes with xfsft 1.1.6 doesn't play
# # nice with 3.3.5, so we made our own.
# %patch22 -p1 -b .xfsftfontdir
...
# rpm -bp XFree86.spec
# pushd ../BUILD/XFree86-3.3.6/xc
# tar -zxvf <somewhere>/xtt-1.3.tgz -C ../..
# patch -p1 -s -t -E -N < <somewhere>/shared-libfont-1.2-ppc.diff
# patch -p1 -s -t -E -N < ../../xtt-1.3/xfs-for-delayed-font-1.0.diff
# patch -p1 -s -t -E -N < ../../xtt-1.3/make-xfs-only-1.3.diff
# patch -p1 -s -t -E -N < ../../xtt-1.3/xtt-xf335-changes.diff
# patch -p1 -s -t -E -N < ../../xtt-1.3/contribute/xtt-xfsft-lib.patch
# patch -p1 -s -t -E -N < <somewhere>/xtt-1.2-Xpmac.patch
# patch -p1 -s -t -E -N < <somewhere>/XFree86-3.3.6-fstobdf.patch
# tar -xvf ../../xtt-1.3/xtt-core.tar -C lib/font/
# pushd config/cf/
# cp -p xttsite.def xttsite.def.ORIG
# vi xttsite.def
...
#define FreeTypeLibDir /usr/lib
#define FreeTypeIncDir /usr/include/freetype
#define FreeTypeLibName ttf
...
# popd
# make World CDEBUGFLAGS="-O2 -fsigned-char" >& world.log &
# tail -f world.log
# mkdir /tmp/xtt-rootこれをもとに tarball を作りバージョン管理の利便のためバイナリーのみの RPM にする。
# (cd lib/font; make install DESTDIR=/tmp/xtt-root)
# (cd programs/Xserver; make install DESTDIR=/tmp/xtt-root)
# (cd programs/xfs; make install DESTDIR=/tmp/xtt-root)
XFree86-FBDev-TT-3.3.6+xtt1.3-8a.ppc.rpm対応するSPECは
XFree86-Xpmac-TT-3.3.6+xtt1.3-8a.ppc.rpm
XFree86-libfont-3.3.6+xtt1.3-8a.ppc.rpm
XFree86-libfont-devel-3.3.6+xtt1.3-8a.ppc.rpm
XFree86-xfs-3.3.6+xtt1.3-8a.ppc.rpm
XFree86-FBDev-TT-3.3.6.specである。インストールにはコンソールで
XFree86-Xpmac-TT-3.3.6.spec
XFree86-libfont-3.3.6.spec
XFree86-xfs-3.3.6.spec
# rpm -e XFree86-FBDev XFree86-Xpmac XFree86-xfsてな具合。
# rpm -ivh <somewhere>/XFree86-*3.3.6+xtt1.3-8a.ppc.rpm
これらのパッケージは私の環境では動作確認したが、使う場合はいつものように自己責任。