[ports][freebsd] установить переменные Makefile-а

Sharp

Есть следующая проблема:
у многих портов есть переменные, которые влияют на сборку. типа сказал WITH_OPTIMIZED_CFLAGS=yes и оно собралось с -O3.
Хочется для каждого порта один раз выставить эти переменные. Причем для каждого свои. Т.е. просто прописать в /etc/make.conf WITH_OPTIMIZED_CFLAGS=yes нельзя.
попытка прописать что-то типа .if defined(PORTNAME) ... .endif тоже не помогает, и это логично.
Вопрос: в какой файлик и в каком формате это можно прописать?
p.s. или зачем мне это надо.
хочется добиться полностью автоматического апгрейда. т.е. в простейшем случае пустить cvsup, а следом portupgrade -a.
на данный момент так не получается, приходится некоторым портам руками указывать make WITH_...

sergey_m

Твикание параметров сборки порта через переменные в make.conf - это old style. От него отказываются по той самой причине, которую ты только что описал. Порты, параметры сборки которых могут конфигурироваться должны поддерживать OPTIONS. Это фича bsd.port.mk, когда ты единожды указываешь конфигурацию сборки и она сохраняется в /var/db/ports/${port}/options. То есть в скором будущем, когда все порты будут научены использовать OPTIONS, твоё желание исполнится. Кстати, а каких портах сейчас идёт речь?

Sharp

прям сходу могу вспомнить, что mplayer оптимизацию не сохраняет.
Так же приходится apache и openoffice самому запускать на сборку.
p.s.
очень жаль, что /var/db/ports куда как меньше, чем /var/db/pkg

sergey_m

Можешь научить порт mplayer слову OPTIONS, выслать PR, увидеть это закоммиченным.
Оставить комментарий
Имя или ник:
Комментарий: