freebsd的ports非常优秀,使用ports安装的软件可以用portupgrade进行升级。 以前一直有一个问题困扰我。那就是:我在用ports安装某个软件,如果指定了一些特殊的编译参数,如安装mysql时指定特殊字符集等
make WITH_CHARSET=gbk WITH_XCHARSET=all BUILD_OPTIMIZED=yes install clean
这样安装的mysql在使用portupgrade升级的时候,只按照默认的编译,也就是说上面的特殊参数丢失了。使得我在升级mysql的时候不得不手动用make deinstall make install升级。
其实,有一个文件可以让portupgrade升级的时候加入某些参数。那就是/usr/local/etc/pkgtools.conf 编辑该文件并加入以下内容
MAKE_ARGS = {
'databases/mysql*-server' => [
'WITH_CHARSET=gbk',
'WITH_XCHARSET=all',
'SKIP_DNS_CHECK=yes',
'BUILD_OPTIMIZED=yes',
'BUILD_STATIC=yes',
],
}
这样portupgrade会在升级mysql的时候应用上述参数。