Busy FreeBSD RELENG_72008年09月01日 10時37分34秒

7.1 RELEASE が近付いている。ここ、一、二週間、頻繁に MFC されている。特にここ二、三日の間に、大量の変更が RELENG_7 に流れて来ている。

make buildworld をする度に綺麗に全てを作り直していたらたくさんの時間が掛かる。そこで、NO_CLEAN を用いている人も多いだろうと思う。これで、随分と速くなる。ところが時折、buildworld が失敗する。以前は全部綺麗に削除してやり直していた。

この buildworld が失敗する原因は、ファイルが削除される時が多い。特に、ヘッダファイルが削除されると、色々と被害の領域が広くなる。実は、これらを回避するのに全てを削除して、作り直す必要もない。失敗した時は、失敗したプログラムに対応する /usr/obj/usr/src からディレクトリを削除して buildworld を再開する。これで、かなりの確率で次の buildworld が通る。ライブラリの場合は、削除するディレクトリが幾つかに渡る事がある。

数回ぐらい失敗する事もあるが、全てを作り直すよりも速い。二度目からは、namei キャッシュを始めとするディスク cache が良く効く。