[exim-conf] механизм сборки pkgsrc exim 4.76 для NetBSD/DragonFly BSD/Solaris/Open Solaris

Victor Ustugov victor на corvax.kiev.ua
Вт Май 10 21:02:59 EEST 2011


Victor Ustugov wrote:

> обновился механизм сборки порта exim для FreeBSD с собранными мной патчами

обновился механизм сборки pkgsrc exim для NetBSD/DragonFly
BSD/Solaris/Open Solaris:

http://mta.org.ua/exim-4.70-conf/packages/pkgsrc-netbsd/exim-4.76/
http://mta.org.ua/exim-4.70-conf/packages/pkgsrc-dragonfly/exim-4.76/
http://mta.org.ua/exim-4.70-conf/packages/pkgsrc-solaris/exim-4.76/

в настоящий момент времени механизмы сборки pkgsrc exim для NetBSD и
DragonFly BSD ничем не отличаются.
в недавнем прошлом они отличались использованием внутри механизма сборки
make и bmake соответственно.

в будущем механизмы сборки pkgsrc для NetBSD и DragonFly BSD скорее
всего будут объединены.
возможно будет использован один механизм сборки pkgsrc для всех систем,
который в зависимости от системы будет накладывать на сам порт те или
иные патчи в зависимости от системы.

также возможно расширение поддерживаемых систем за счет CentOS, т. к. у
нас тут есть постмастера, использующие CentOS + pkgsrc + exim

pkgsrc для RedHat/CentOS/Fedora будет отличаться лишь стартовым скриптом
и механизмом его регистрации с помощью chkconfig, а также удалением из
системы стартового скрипта. также в RedHat/CentOS/Fedora при установке
exim из pkgsrc будет настроен mail wrapper с использованием механизма
alternatives.

> единственным отличием от обычной схемы является то, что в официальном
> дереве портов нет еще exim 4.76

с pkgsrc в этом плане все лучше.
сегодня утром уже точно exim 4.76 был в их дереве.

> поэтому после обновления конфигуратора нужно зайти в подкаталог
> packages/ports-freebsd/exim-4.76_0 и выполнить gmake replace

для pkgsrc это не нужно.
разве что дерево pkgsrc в системе не самое свежее, а все зависимости уже
собраны и установлены.
тогда можно вместо обновления дерева pkgsrc можно просто выполнить gmake
replace_port

> в результате штатный каталог порта exim будет заменен содержимым
> каталога packages/ports-freebsd/exim-4.76_0/core
> 
> содержимое каталога packages/ports-freebsd/exim-4.76_0/core получено
> путем применения патча
> http://www.freebsd.org/cgi/query-pr.cgi?prp=156903-1-txt&n=/exim.port.patch,
> взятого с http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/156903, к
> содержимому каталога порта exim 4.75
> 
> все остальное как всегда - нужно скопировать
> packages/ports-freebsd/exim-4.76_0/Makefile.local.sample в
> packages/ports-freebsd/exim-4.76_0/Makefile.local и включить нужные
> опции сборки, после чего в packages/ports-freebsd/exim-4.76_0 выполнить
> gmake portupgrade

для pkgsrc нужно выполнить gmake patch_port
в случае NetBSD и DragonFly BSD при этом только обновится файл
options.mk (будут добавлены новые опции сборки).
в случае Solaris и Open Solaris в pkgsrc будут добавлены манифест,
скрипты установки и удаления pkgsrc из системы, которые будут
импортировать файл манифеста в систему и соответственно удалять его, а
также модифицируется файл сообщения об окончании сборки exim'а.

после этого нужно выполнить gmake build
ну и потом уже gmake deinstall install

для некоторых из систем, поддерживающих pkgsrc, собраны бинарные пакеты
и выложены на http://mta.org.ua/updates/:

http://mta.org.ua/updates/NetBSD/5.0.2/i386/exim-4.76.tgz
http://mta.org.ua/updates/DragonFly/2.6-RELEASE/i386/exim-4.76.tgz
http://mta.org.ua/updates/SunOS/5.10/i386/exim-4.76.tgz
http://mta.org.ua/updates/SunOS/5.11/i386/exim-4.76.tgz

-- 
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




Подробная информация о списке рассылки exim-conf