Суть вопроса:
Хочу, чтобы инсталляция порта проходила с заранее определенными параметрами.Пример:
Если я хочу проинсталлировать php4 (дефолтная конфигурация меня не устраивает), то:
1. правлю /usr/ports/lang/php4/Makefile, а именно
добавляю нужные параметры
CONFIGURE_ARGS+=--with-mysql
2. устанавливаю PHP с нужными мне параметрами, определенными в Makefile
make deinstall install clean
Способ рабочий, но слегка муторный. Много портов, требующих специфические недефолтные настройки, частые критические уязвимости, частый апгрейд то одного порта то другого... Makefile с нужной конфигурацией живет до первого обновления портов через cvsup, а затем приходится его править вновь.
Правда я нашел способ. Ведь для установки заранее заданных переменных можно использовать /etc/make.conf . Он инклудится при вызове make из /usr/share/mk/sys.mk даже до вызова Makefile, имеет тот же синтаксис что и Makefile.
В итоге получается следующая картина в /etc/make.conf :
.if ${.CURDIR} == "/usr/ports/lang/php4"
WITH_MYSQL=yes
.endif
И это работает! Но вот если в make.conf поместить
.if ${.CURDIR} == "/usr/ports/lang/php4"
CONFIGURE_ARGS+=--with-mysql
.endif
то это работать не будет, поскольку позже в Makefile переменная CONFIGURE_ARGS переопределится:
CONFIGURE_ARGS= --enable-versioning \
<...>
ВОПРОС: Как предопределить параметры вида --with-mysql (a не WITH_MYSQL) в /etc/make.conf ?