приветствую
выложен механизм сборки порта exim 4.72 для FreeBSD:
http://mta.org.ua/exim-4.69-conf/ports-freebsd/exim-4.72/
никаких принципиальных изменений по сравнению с механизмом сборки порта
exim 4.71 нет.
выложен механизм сборки порта exim 4.71 для OpenBSD:
http://mta.org.ua/exim-4.69-conf/ports-openbsd/exim-4.71/
на OpenBSD обнаружились странности сборки exim с поддержкой libspf2.
в libspf2 заложена следующая логика - если в системе не определен тип
данных ns_type (который на той же FreeBSD определен в
/usr/include/arpa/nameser.h), то при сборке libspf2 используется свой
файл с описанием в том числе этого типа - src/libreplace/arpa_nameser.h.
при этом в исходных текстах exim'а в файлах src/spf.h и
src/lookups/spf.c если не объявлена опция HAVE_NS_TYPE, она объявляется
с комментарием "Yes, we do have ns_type. spf.h redefines it if we don't
set this. Doh". при этом в файле /usr/local/include/spf2/spf_dns.h тип
данных ns_type переобъявляется только если не была объявлена опция
сборки HAVE_NS_TYPE.
в общем и целом, в этом случае тип ns_type не объявляется никем и сборка
exim прерывается с сообщением об ошибке.
для решения проблемы был создан крошечный патч, препятствующий
объявлению опции сборки HAVE_NS_TYPE, если она еще не была объявлена при
сборке exim:
http://mta.org.ua/exim-4.69-conf/patches/exim-4.72-spf-ns_type/patch-src::spf-ns_type.patch
этот патч включен в состав моего порта exim 4.71 для OprnBSD. он
используется по умолчанию. его использование может быть отключено путем
добавления в файл ports-openbsd/exim-4.71/Makefile.local следующей строки:
WITH_REPLACE_NS_TYPE=
кстати, штатно порт exim'а на OpenBSD не предназначен для сборки его с
поддержкой spf и dlfunc. поэтому кроме патчей исходников самого эксима
нужно будет после обновления дерева портов разово пропатчить сам порт.
делается это путем выполненения команда gmake patch_port в каталоге
ports-openbsd/exim-4.71
после этого можно копировать Makefile.local.sample в Makefile.local, при
необходимости править Makefile.local и выполнять gmake build
теперь о libspf2 1.2.9
механизм сборки обновлен и для FreeBSD и для OpenBSD:
http://mta.org.ua/exim-4.69-conf/ports-freebsd/libspf2-1.2.9_1/http://mta.org.ua/exim-4.69-conf/ports-openbsd/libspf2-1.2.9/
в процессе сборки под обеими ОС просто накладываются пара старых патчей.
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC