2004-11-30

/etc/make.confの設定例

Last updated $Date: 2006/04/24 16:53:49 $

/etc/make.conf

ホスト固有の設定をするために/etc/make.confで環境変数を指定しましょう。 デフォルト値は/usr/share/example/etc/defaults/make.confを参考にしてください。

コンパイラの最適化の設定

最適化レベルは特に指定しなくても大丈夫です。CFLAGSは/usr/share/mk/sys.mkで、COPTFLAGSは/usr/src/sys/conf/kern.pre.mkで適切に設定されます。過激に細かくオプションをつけるとビルド出来なかったり、OpenSSHが接続できなかったりします。

また使用しているプロセッサの種類をdmesgで確認して、/usr/share/mk/bsd.cpu.mkを参考にCPUTYPEを設定します。

/etc/make.conf

CPUTYPE=    pentium4
#CFLAGS=    -O2 -fno-strict-aliasing -pipe
#COPTFLAGS= -O2 -fno-strict-aliasing -pipe

cvsupの設定

/usr/share/examples/cvsup/以下にサンプルファイルが入っていますので、それを/usr/sup/などにコピーします。

# mkdir -p /usr/sup
# cp -p /usr/share/examples/cvsup/*-supfile /usr/sup/
# cp -p /usr/share/examples/cvsup/refuse /usr/sup/

最近のADSLや光回線などの速度が速い回線を使っている場合は、ports-supfileとstandard-supfileの中にある圧縮を指定する部分をコメントアウトします。cvsupサーバーの負担が軽くなります。

/usr/sup/{ports,standard}-supfile

#*default compress

/etc/make.conf

SUP_UPDATE=     yes
SUP=            /usr/local/bin/cvsup
SUPFLAGS=       -Z -g -L 2
SUPHOST=        cvsup4.jp.freebsd.org
SUPFILE=        /usr/sup/standard-supfile
PORTSSUPFILE=   /usr/sup/ports-supfile
DOCSUPFILE=     /usr/sup/doc-supfile

SUPHOSTは Statistics for CVSup serversで負荷の低いサーバーを見て決めてください。

またはsysutils/fastest_cvsupをインストールして

# fastest_cvsup -c jp

でping値の低い近いサーバーを計測して決めても良いと思います。

ccache の設定

ccacheと/usr/local/share/doc/ccache/ccache-howto-freebsd.txtを参照。

/etc/make.conf

.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*)) && !defined(NOCCACHE)
CC=/usr/local/libexec/ccache/world-cc
CXX=/usr/local/libexec/ccache/world-c++
.endif

distfilesサイトの設定

ローカルLANにdistfilesキャッシュホストを構築した場合にMASTER_SITE_OVERRIDEを指定するとソースコードのダウンロード負荷を減らすことが出来ます。

/etc/make.conf

MASTER_SITE_OVERRIDE=¥
    http://ports.example.jp/ports/distfiles/${DIST_SUBDIR}/

ports.example.jpは環境にあわせて書き換えてください。 定期的にportsclean -Dを実行して古いソースコードを削除することをオススメします。

/usr/portsをNFSでマウントする場合

/usr/portsをNFSで公開して、LAN内のホストでNFSマウントすることでportsツリーを共有することができます。 /etc/exportsに下記のように記入して、/etc/rc.confでnfs_server_enable="YES"を指定してNFSサーバーを起動します。

/etc/exportsの例

/usr/ports -alldirs -network 192.168.1.0 -mask 255.255.255.0

その場合マウントした各ホストは、ビルド中にファイルロックで問題が出ることがあるので、/usr/portsをreadonly(読み込みのみ)でマウントすることをオススメします。 readonlyでマウントした場合、ビルドするために/urs/ports以外の書き込みできるディレクトリをWRKDIRPREFIXで指定する必要があります。 またソースコードをfetchする必要があるときにdistfilesディレクトリが書き込みできる必要があります。それはDISTDIRで指定します。

/etc/fstabの例

192.168.1.1:/usr/ports  /usr/ports  nfs ro,bg   0   0

/etc/make.conf

WRKDIRPREFIX=   /var/tmp
#DISTDIR=   /var/tmp/usr/ports/distfiles/
Permanent link | Trackback | | このエントリーを含むはてなブックマーク livedoor Clip View blog reactions del.icio.us

otsune posted at 03:31 in
WriteBacks
TrackBack ping me at
http://www.otsune.com/bsd/conf/make_conf.
Post a comment

writeback message: