猿丸です。

個人的にはパッチが出来ているのだから、send-pr して次のリリースに
取り込んでもらうのが世のため人のため、そして自分のためだと思います。

必ずしもすぐに拾ってもらえるわけではないので、放置されてたらやって
くれそうな人(前回いじった人とか)にpushする必要があるかもしれませんが、
http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/90628
だと、実質的には case 文1個増やすだけなので、PR さえだせば誰か
やってくれるんじゃないですかね。7.0-R に入れるにはちょっと遅い
かもしれませんが、やってみてはいかがでしょうか。

諸々の事情でローカルパッチを抱えないといけない場合はありますが、
お手軽なのは /etc/make.conf に
SUP_UPDATE=yes
CVS_UPDATE=yes
CVS=/root/localpatch.sh
とでも書いておいて、/root/localpatch.sh には
#!/bin/sh
patch_files="patch1 patch2"
for file in $patch_files
do
    patch -quiet < /root/$file
    [ $? -ne 0 ] && exit $?
done
とでも書いて chmod +x しておけばいいんじゃないでしょうか。全然
試してませんが…。パッチが新規ファイルの作成を含んでいる場合は
これではうまくうかないので、適宜 rm とか増やしてください。
(詳細は /usr/src/Makefile.inc1 の update: の部分を参照してください)

戸川さんの cvs update を使う方法がたぶん一番確実だし cvs diff して
パッチを作ることもできるし、バックアップ作っておかなくてもいつでも
元にもどせるしで一番いい方法なんですが、cvs update って結構遅いのが
難点です。が、私がそれやってたのは何年も前だしディスクの空き容量が
足りなくてネットワーク越しだったので、いまはそんなに遅く感じないかも。


>> うちでは,最近は CVSup や csup を使わず,
>> 「cvsync (net/cvsync) を使って,ソースツリーの CVS レポジトリを取得する」
>> 「cvs を使って,レポジトリから /usr/src や /usr/ports を取得する」
>> という方法を使っています.
>>
>> /usr で src や ports を cvs checkout した後,
>> /etc/make.conf で
>> CVS_UPDATE=yes
>> と指定しておくと,/usr/src や /usr/ports で
>> # make update
>> すると,そのディレクトリで cvs update が実行されます.
> 
> cvsの方をよく理解していないのですが、RELENG_6_2の指定とかはどうしたら
> よいのでしょうか。また、cvsupのserverはどう指定したらよいのでしょうか?

こっちは戸川さんが答えてくれると思いますが、/usr/src/Makefile.inc1
の CVS_FLAGS をみれば、RELENG_6_2 なホストであれば、特に指定しなければ
RELENG_6_2 になっているのがわかると思います。cvsup のサーバは変更する
必要はなく、指定する supfile を /usr/share/examples/cvsup/cvs-supfile
にすればよいです。

メールによる返信