|
MKOBJ= yes MKOBJDIRS= yes USETOOLS?= yes MKTOOLS?= yes
を /etc/mk.conf に書いておく。
#!/bin/sh export LANG=C portname=sparc export MAKEOBJDIRPREFIX=/usr/obj/${portname} export DESTDIR=/usr/cross/${portname}/dest export TOOLDIR=/usr/tools/${portname} [ ! -d $DESTDIR ] && mkdir -p $DESTDIR [ ! -d $TOOLDIR ] && mkdir -p $TOOLDIR [ ! -d /usr/obj/${portname} ] && mkdir -p /usr/obj/${portname} ./build.sh -d -m ${portname} -R /usr/cross/${portname}/release
を走らせる。 4/30 の NetBSD current では dreamcast と playstation2 は make release まで完了。 sparc は make build までは OK だけど make release が miniroot 作成のところで NG。
/etc/mk.conf に
MKOBJ= yes MKOBJDIRS= yes USETOOLS?= yes MKTOOLS?= yes TOOLDIR?= /usr/tools/sparc
と書き、あらかじめ tools を build しておく。 USETOOLS=no では make install が途中で止まってしまうため。
# mount host:/usr/src /usr/src # mount host:/usr/obj /usr/obj # cd /usr/src # make MKTOOLS=no MAKEOBJDIRPREFIX=/usr/obj/sparc includes # make MKTOOLS=no MAKEOBJDIRPREFIX=/usr/obj/sparc install
MKTOOLS=no は tools を build し直すのを防ぐため。
#!/bin/sh export LANG=C export MACHINE=sparc export MACHINE_ARCH=sparc TARGET=/usr/tools/sparc/bin/sparc--netbsdelf export AR=${TARGET}-ar export AS=${TARGET}-as export CC=${TARGET}-gcc export CPP=${TARGET}-cpp export CXX=${TARGET}-c++ export LD=${TARGET}-ld export NM=${TARGET}-nm export RANLIB=${TARGET}-ranlib export SIZE=${TARGET}-size export STRIP=${TARGET}-strip export OBJCOPY=${TARGET}-objcopy make $*
というスクリプト (/foo/sparcmake.sh) を用意しておく。ホストマシンで
# cd /usr/src/sys/arch/sparc/conf # config MYKERNEL # cd ../compile/MYKERNEL # /foo/sparcmake.sh depend # /foo/sparcmake.sh
を実行。ターゲットでは普通に make install するだけ。
に書く内容と某所に書く内容との区別がちょっとわかりにくいかもしれません。
という感じで使い分けて *1いるつもりです。
近所の本屋にて。
江洲さんも 書いているけど、最近のカレカノは今一つという気がする。
www/en/cgi/cvsweb.conf rev 1.20の commit log で指摘されている、 CVSweb で $FreeBSD$ タグの展開がおかしくなる件について調べてみた。
してある状態で、
% cvs -R -d /home/ncvs co src/Makefile % head -2 src/Makefile # # $FreeBSD: src/Makefile,v 1.253 2002/04/30 11:50:01 ru Exp $ <-- 正常 % cvs -R -d /home/ncvs -q co -p src/Makefile | head -2 # # $FreeBSD: /foo/ncvs/src/Makefile,v 1.253 2002/04/30 11:50:01 ru Exp $ <-- symlink 先を -d で指定して cvs co -p すると変 % cvs -R -d /foo/ncvs -q co -p src/Makefile | head -2 # # $FreeBSD: src/Makefile,v 1.253 2002/04/30 11:50:01 ru Exp $ <-- symlink 先でなければ cvs co -p でも大丈夫
-p を指定するかしないかで $FreeBSD$ (や CVSHeader) の展開が変わって しまうのは CVS のバグだろう。
CVSweb 側の対策としては symlink 先を指定しなければいいので、 cvs -d $cvsroot co -p する個所で
use Cwd 'abs_path'; exec($CMD{cvs}, @cvs_options, '-d', abs_path($cvsroot), 'co', '-p', $revopt, $where);
とすれば大丈夫そう。
五反田さんとこのネタ。聖蹟桜ヶ丘は京王がショッピングセンター *1作る前からそれなりに乗降客が多かった記憶があります。多摩ニュータウン北部に行く バスターミナルとして機能していたからでしょう。京王線が特急運転開始した当時 *2から特急が停車するなど昔から優等列車が停車しているのは、 駅の東側にある多摩川の橋の部分が単線だった *3ためかな。
とのこと。 1,583 ポイントあるので 7/31 までに使わなければならないなぁ。
回りで作業ちょこちょこ。
src/contrib/cvs/src/rcs.cの RCS_check_tag() より:
である文字列。 CVSweb で表示するときに特別な意味をもつ文字列 *1でも CVS 的には許される。
猿丸さんとこで事前登録が始まったのを知って私も登録。今年行けるかどうかはわからないけど。
作業の合間に snapshots.jp.FreeBSD.orgから 5/19 版の current を持ってきて current マシンに再インストール。 最近の current では base system から perl が消えたなど変化が大きいので古い環境の残滓を捨ててテストするのが目的。
まずは kernel の構築。いままで perl 使っていた部分は awk 使うように 書き直してあるのね。
つづいて make world。む、今の current では groff が無くなっているので make world できないじゃない。 gcc 3.1 では (src tree にある) groff が build できないので 5/10 に外された *1のか。 groff がないと man 関係が全滅しちゃうので、 5/10 以前の 5-current から groff を持ってきたほうがいい *2かな。 以前のバージョンと非互換な gcc 3.1 が悪いのだけど、ちょっと面倒。
近くの本屋に行ったら 北斗の拳のケンシロウのフィギィアが 290 円で売ってたので何となく購入。おまけにコミック雑誌がついてたけど、 こちらは比較的どうでもいいや :-)。
/etc 以下は permission や file owner が重要なので、
するのが私の好みです。スクリプトを書くときは install(1) を使います。 file owner や permission を明示的に指定できるし、 install -C を使えば 変更しなかったファイルの更新時刻はそのままにできます。
似たような設定のマシンが複数台ある場合、 OS の major version が同じ かつ台数が少ないという前提が成り立てば、 CVS では同じ場所に入れて マシン毎に別の branch にするという手が使えるかもしれません。こうしておくと 「どの設定が同じでどの設定が違うのか」がわかりやすくなります。
どういう手法をとるにせよやったほうがいいのは、
です。ローカルな変更が何か把握できますし、 OS を version up するときに、 新しい version の設定ファイルを cvs import -> cvs checkout -j すれば 変更点の merge が比較的簡単にできます。
余談ですが、 FreeBSD の mergemaster はどういう変更を行ったかが見えにくいので きちんと管理したいサーバにはちょっと使いにくい *1です。
の portがちょっと前に追加されたのでインストールしてみる。
画面はこんな感じ。当然と言えば当然だけど、 Mozilla の Modern Skin を使ったときとほぼ同じ。使って受ける印象も、重さも、 Mozilla とほぼ同じ。 Mozilla と比較した時の利点は、 Java Plugin と Macromedia Flash Plugin が最初から添付されていることかな。 |
欠点は二つ、
前者については IPv6 を日常で使っていない人にはあまり影響ないだろうけれど、 後者は非常に問題。 ~/.mozilla に置くファイルに互換性がないみたい。
Netscape6 ではバイナリに ~/.mozilla が埋め込まれているので、 Mozilla の側で ~/.mozilla 以外を使うように変更するという方法もある。 Mozilla では configure で --with-user-appdir=DIR を指定すれば ~/.mozilla 以外を使うようになっているけれど、実際のソースを grep してみると .mozilla をハードコーディングしている個所が数ヵ所あって使えない。
その部分を修正して Mozilla を build し直せばいいのだけれど、 Netscape6 はそこまでして使うだけの価値が見い出せないということで消去処分。
(23:30 追記) FreeBSD native な mozilla よりも有利な点として Linux 版しか出ていない plugin が使えるというのはある。
amazon.co.jp に注文していたのが届いた。
4 巻のときは 最寄りの本屋でこういう扱いだったので amazon.co.jp に注文しておいたのだが、今度の 5 巻はレジ前に 何冊も横積みされていた。コミックコーナーでは既刊の 4 冊が同じく横積み。 注目度が急上昇しているんだろうか。