如何替换通过Macports安装的二进制文件?

时间:2017-04-21 09:31:50

标签: macos mariadb macports

我想将当前的MariaDB安装替换为使用debug标志编译的安装。我可以编译一个二进制文件并复制/粘贴通过Macports安装的二进制文件,还是还有别的东西?

2 个答案:

答案 0 :(得分:2)

编辑MacPorts Portfile可能最简单,添加您需要的标记,然后重新安装。您可以使用port file mariadb-10.1找到Portfile(如果这是您正在使用的版本),编辑它并在{{1}所包含的块中追加您需要附加到configure.args-append的任何标记。 }。

保存文件并运行if {$subport eq $name} { ... }以从源代码重新编译,其中

  • sudo port -sn upgrade --force mariadb-10.1指示MacPorts从源代码重新编译(以避免下载没有更改的二进制文件)
  • -s指示MacPorts保留所有未修改的依赖项
  • 尽管已经安装了mariadb-10.1,
  • -n仍在重建。

请注意,如果使用rsync方法同步端口树(这是默认设置),则将还原对Portfile的任何更改。如果这不是您想要的,您可以设置local portfile repository

答案 1 :(得分:1)

所以我就这样做了。这是@ neverpanic的回答以及来自MariaDB #irc频道的更多问题的混合:

  1. 找到MariaDB的端口文件:port file mariadb-10.1
  2. 为构建添加调试标志。在configure.args-append下添加-DCMAKE_BUILD_TYPE=Debug,在最后一个版本之后添加一个新版本:variant debug { configure.optflags -O0 -g3 }
  3. 强制重建:sudo port -sn upgrade --force mariadb-10.1 +debug
  4. 最后执行port contents mariadb-10.1-server查找LaunchCtl plist文件,并在程序名称后面添加--debug标志。