如何通过选择“make config”中的所有选项来自动化端口安装?

时间:2015-03-22 17:50:53

标签: makefile freebsd ports

我想在FreeBSD环境中自动安装端口。通常我采用默认设置,但对于某些端口我想 - 自动 - 选择所有选项。

是否可以执行类似

的操作
/usr/ports/.../> make config
/usr/ports/.../> ** select all options **
/usr/ports/.../> make clean install BATCH=yes

在脚本中?

1 个答案:

答案 0 :(得分:2)

没有自动的方法可以做到这一点。配置系统的重点是让操作员选择要选择的选项。

由于ports系统现在还支持多项选择,因此您无法始终选择所有选项。来自/usr/ports/Mk/bsd.options.mk

# OPTIONS_SINGLE    - List of single-choice grouped options: 1 and
#                     only 1 among N
# OPTIONS_RADIO     - List of radio-choice grouped options: 0 or 1
#                     among N
# OPTIONS_MULTI     - List of multiple-choice grouped options: at
#                     least 1 among N
# OPTIONS_GROUP     - List of group-choice grouped options: 0 or
#                     more among N

但是,设置的选项在端口更新更改名称或选项数之前一直有效。因此,一般情况下,您无法为每次构建重新运行make config

您可以尝试的一件事是在调用/var/db/*/options之前自己>生成必要的_OPTIONS_READ文件(make install clean中的最新端口版本)。 这取决于正确解析端口的Makefile。您要在OPTIONS_SINGLE中选择哪个选项?

注意:您可以在调用BATCH时定义make以构建端口。这应该跳过那些需要交互的端口。但如果我正确地阅读/usr/ports/Mk/bsd.port.mk,它将使用默认设置构建端口。