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的时候应用上述参数。

原文 http://freebsd.5d6d.com/thread-45-1-1.html