ここでは、NetBSD に対する local patches と幾つかの applications を 作る際に必要だった変更点をまとめてみました。
NetBSD current と 防火壁内のてらで 用いているバージョンの差分です。しょうもないものから 気力が出てきたら send-pr しようと思っているものまであります。 もともとは、OLNS Softwareに 含まれていましたが、最近は TERA Utilities Project の一部になっています。 TERA.patches は生ものですので、製造年月日にはくれぐれも御注意下さい。あなたの source tree と TERA.patches の整合性をチェックする Contents_of_TERA.patches もお試し下さい。
新しいカーネルでリブートをかけた後、
cd ...../current/src/.. patch < TERA.patches make build
で作り直します。古い /usr/include と /usr/lib は万が一に備えて backup が
それぞれ、 /var/tmp/includes.tar.gz と /usr/lib.old/ に出来ます。
make build
の仕上げに新しくできた user land をインストールし、
現在使っているカーネルと同じものを作りなおしますから、
mv /netbsd /netbsd.old cp -p ./sys/arch/<arch>/compile/<KERN_NAME>/netbsd /netbsd shutdown +1して、 current の世界にどっぷりつかって下さい。
ちなみに物理学教室のマシン、わなは Official Release の NetBSD を用いていますが、それようの TRAP.patches も御用意させていただいています。利用方法は TERA.patches と同じです。
NetBSD が配布している XFree86 を X_LOCALE 付でコンパイルするのに必要な patch です。それ以外にやっていることは XF86Setup を作るようにするとかのしょうもないことだけだったりします。
新しく買ったtamp ThinkPad 570(2644-AA7) についているサウンドチップは Cirrus Logic社の CS4280という チップなんですが NetBSDで、まだ サポートされていませんでした。というわけで、 書いてみました。 1999年12月14日に -current に merge されました。
Known Problem
clcs* at pci? dev ? function ? audio* at clcs? midi* at clcs?
のように書いて使います。MIDI の外部音源をお持ちの方でテストできるぜという 方はお知らせ下さい。また、CS461[01245], CS462[24] もサポートできる はずなのですが、これも試せないので持っている方でテストしてやるぜという 方もぜひ御連絡下さい。
上の CS4280 用のドライバを書いてから、何人かの人から 「CS4281 はダメなの?」と聞かれていて、 CS4281 のドキュメントを教えてもらってからちょこちょこ書いていました。 なにぶんテスト環境がないので試すことができず、なかなか進んでいなかったのですが、 2001/01/22 に無事 -current に merge されました。 ftp://tack.fukui-med.ac.jp/pub/tera_utils/NetBSD/sys/dev/pci/以下に あります。カーネルの CONFIG file には
clct* at pci? dev ? function ? audio* at clct?
と書いて使えるようになっています。
コンパイルするためには /sys/dev/pci/ の files.pci と
pcidevs にパッチを当てて pcidevs.h, pcidevs_data.h を作り直し、
cs4281.c, cs4281_reg.h, cs428x_reg.h と cs428x.h を /sys/dev/pci にコピーしてください。
問題点の報告や改良は私まで
お願いします。引き続き midi support を行う予定ですので、
テストにご協力して頂ける方はぜひ御連絡ください。テスターの方用の
ML(英語) は majordomo@trap.fukui-med.ac.jp
宛のメールの本文に
subscribe cs4281-info
と書くことで購読できます。
あたらしい ThinkPad X22についてきた audio device は Intel AUICH + Cirrus Logic CS4299 らしいのですが、 ステレオじゃないとだめとか、録音がダメとかだったので、すこし hack してみました。
全ての変更は 2002/03/15 に -current に commit しました。
NetBSD pkg collection にまだ入っていないコマンド用の pkgsrc の雛形です。
# tar -C ..../pkgsrc -xzf mew-im-pkgsrc.tar.gz # cd ..../pkgsrc/mail/mew && make install
# tar -C ..../pkgsrc -xzf vtwm-pkgsrc.tar.gz # cd ..../pkgsrc/x11/vtwm && make install
# tar -C ..../pkgsrc -xzf xrunclient-pkgsrc.tar.gz # cd ..../pkgsrc/x11/xrunclient && make install
Ascii pTeX 2.1.10 は teTeX をサポートしています。pkg collection には teTeX が入っているのですが、dvips とか xdvi も含まれてしまっていて 日本語をサポートした dvips, xdvi と conflict してしまい、素直に入りません。 苦し紛れに、/usr/pkg/backups というディレクトリにオリジナルを残し、 pkg_delete した際に戻すような美しくない解を選んでしまいました。 さらに、あんまり深く考えていないので結構無駄なことをしていますが、 取りあえず使えるので良しとしました。
# tar -C ..../pkgsrc -xzf pTeX-pkgsrc.tar.gz # cd ..../pkgsrc/print/pTeX && make install
NetBSD 上でアプリケーションを作る際に何も考えなくても出来るようなパッチを 作っていました。 せっかく書いたので残しておきますが、
絶対 pkg を使った方がらくだと思います。
使い方は該当するソースを探して取ってきて、
ほどいた directory から patch < patche_file
とするだけです。
残りの部分は標準の手順に準じます。
念のために ftp://tack.fukui-med.ac.jp/pub/NetBSD/distfiles/に 使用した source の塊をおいてありますが、Network 的に遅い可能性が 大なので各ファイル名の部分を参照して出てくる archie の出力結果から 御自分に近い場所を選び、そこから持っていくようにしてください。
みての通り X11R6.3 上で Wnn4.2 を compile するためのパッチです。 X が /usr/X11R6 以下にあれば
tar xzf Wnn4.2.tar.gz patch < patch-Wnn4.2 cd Xsi make World make install install.man
とすれば jserver, xwnmo が install されます。
上の patch-Wnn4.2 を使うと Wnn3 互換ライブラリが作られたのは単に jvim の為です。Wnn だけを使うバージョンが出来ます。
tar xzf jvim2.0r+onew2.2.10.tar.gz patch < patch-jvim cd jvim2.0r+onew2.2.10/onew make cd ../jvim2.0r/src vi Makefile (MDOMAIN を設定する) make make install
で jvim とそれについてくるいくつかのプログラムが install されます。
ノート等の電池の残り容量を X window 上で表示するプログラムです。 もともと、FreeBSD 用のものらしく、ほんのちょっとの変更で動くようになります。 要望として mail したところ、快く承諾いただいたので次期バージョンには含まれる予定です。
tar xzf xbatt-1.2.tar.gz patch < patch-xbatt-1.2 cd xbatt-1.2 xmkmf -a make make installで install 出来ます。マニュアルはもともとありません。
pTeX 2.1.8 (based on TeX 3.14159) と xdvik22-022, dvipsk-5.78 の日本語化されたもののためのパッチを 用意しようとしたんですが何にもいらなくなってしまいました。 出来無いと御悩みのあなた、ミソは、GNU make を使うとこです。 ここでは kpathsearch を shared library にすることにより あとあと楽しようと企んでみました。
tar xzf web2c-7.0.tar.gz tar xzf web-7.0.tar.gz tar xzf xdvik-20a.tar.gz tar xzf dvipsk-5.66a.tar.gz tar xzf dvipsk-jpatch-p1.3b.tar.gz tar xzf dvipsk-vflib-1.0.patch.tgz mv dvipsk-5.66a/dvipsk web2c-7.0/ mv xdvik-20a/xdvik web2c-7.0/ rm -fr dvipsk-5.66a xdvik-20a cd web2c-7.0/ # move to web2c-7.0/dvipsk subdirectory cd dvipsk/ patch -s -p1 < ../../dvipsk.patch patch -s -p1 < ../../dvipsk-vflib-1.0.patch # move to web2c-7.0/xdvik subdirectory cd ../xdvik/ zcat ../../xdvik20a-j1.1p11.patch.gz | patch -s -p1 # move to web2c-7.0 cd .. patch -s -p1 < patch-pTeX.215 ./configure --x-includes=/usr/X11/R6.3/include \ --x-libraries=/usr/X11/R6.3/lib \ --with-x-toolkit=yes \ --with-x --with-dvifilter=dvips i686-ibm-netbsd gmake gmake install cd web2c-7.0/web2c/ tar xzf ../../ptex215.tar.gz # move to web2c-7.0/web2c/ptex215 subdirectory cd ptex215 ./configure EUC gmake gmake installとすれば pTeX システム一式が install されます。(p)LaTeX を使うためにはあと、 base-9706.tar.gz と pl970702e.tar.gz を install する必要がありますが、それらはドキュメントどおりにすすめば何の問題もなく install できます。
MS DOS を使っていたころによくお世話になっていた LHa の Unix version に たいするパッチです。あんまり意味はないかもしれません。:-)
tar xzf lha-114c.tgz patch < patch-lha114c cd lha-114c make make installで install 出来ます。
qualcomm popper
の最新バージョンに対するパッチです。
popauth を使う際に -fpcc-struct-return
オプションを
つけていると popauth が Segmentation Fault を起こすので外してあります。
また、あらかじめ user pop を作っておく必要があります。
多分 FreeBSD でも
使えると思うんですが、私は試していません。
tar xzf qpopper2.53.tar.Z patch < patch-qpopper2.53 cd qpopper2.53 ./configure --enable-apop make install -c -m 555 -o bin -g bin popper /usr/local/libexec install -c -m 444 -o bin -g bin popper.8 /usr/local/man/man8 install -c -m 4555 -o pop -g bin popauth /usr/local/bin install -c -m 444 -o bin -g bin popauth.8 /usr/local/man/man8で install 出来ます。