current 1st cvsup ― 2006年04月01日 13時08分42秒
# mkdir /usr/tmp/mnt/current
# dd if=/dev/zero of=/usr/tmp/current.md seek=1023 bs=1M count=1
# mdconfig -a -t vnode -f /usr/tmp/current.md
1
# newfs -U /dev/md1
# mount /dev/md1 /mnt/current
# chflags nodump /usr/tmp/current.md
と取り合えず設定する。これは、/usr を dump したときには除外したいので、chflags を設定する。man chflags を見ると、どれだけサポートされているか少々怪しい気がするが。
話は変わるが 6.1 のリリースが結構遅れている。三月二十日にリリースの予定だった。もう、四月を迎えている。
current-supfile を以下のように設定。
# cvsup standard-supfile
# cvsup -g -L 2 standard-supfile
*default host=CHANGE_THIS.FreeBSD.org
#*default base=/var/db
*default base=.
#*default prefix=/usr
*default prefix=.
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
src-all
CHANG_THIS を近場の cvsup server に変えること。これを /mnt/current から実行する。そうすると、以下のような構成で cvsup が出来る。
man cvsup は様々な事が書かれていて初めて使うには使いづらい。検索すれば、例はいろいろ見つかるが standard-supfile とほぼ変わらないので、期待通りにはいかなかった。昔、初めて設定しようとした時に base と prefix でとても混乱したのをよく覚えている。
# ls -sl
2 drwxrwxr-x 2 ... .snap
2 -rw-r--r-- 1 ... current-supfile
2 drwxr-xr-x 18 ... src
2 drwxr-xr-x 3 ... sup
ここで、試しに buildworld をしてみると、
# make buildworld
--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------
rm -rf /usr/obj/mnt/current/src/tmp
mkdir -p /usr/obj/mnt/current/src/tmp/legacy/usr/bin
mkdir -p /usr/obj/mnt/current/src/tmp/legacy/usr/games
^C
さて、困った。/mnt/current/obj にうまく作れないみたいだ。man make と man make.conf を見ながら少しいじってみたが、思い通りにはいかなかった。man make には生成ファイルの置場としては、
1. ${MAKEOBJDIRPREFIX}/`pwd`の様に説明があるから、sh -c 'for i in `find . -type d`; do mkdir $i/obj; done' などとやってみたけど、やはり無理だった。
2. ${MAKEOBJDIR}
3. obj.${MACHINE}
4. obj
5. /usr/obj/`pwd`
今日はここで諦めることにする。
最近のコメント