Подключение VDA патча (ограничения размеров виртуальных ящиков) к Postfix
После долгих попыток настроить ограничение размеров почтовых ящиков, выяснилось, что хоть patch VDA входит в состав пакета postfix-2.4.5-2mdv2008.0.rpm, но он не подключен в spec файле и поэтому пакет собран без его поддержки.
Содержание
Проверка
Prefer с форума http://www.postfix.ru предложил (см тут)
Можно предложить следующий совет тем кто установил Postfix из RPM или других бинарных дистрибутивов и хотел бы убедится что патч VDA был применен.
Надо просто проверить "понимает" ли Postfix дополнительные параметры вводимые патчем. Например параметр virtual_mailbox_limit_maps (его нет в исходной конфигурации).
Выполним команду postconf virtual_mailbox_limit_maps.
Или посмотрим текстовые строки в теле postconf:
strings /usr/sbin/postconf | grep virtual_mailbox_limit_maps
Если результат положительный значит патч был наложен.
Подготовка
- Идем в репозитарий пакетов, например сюда, выкачиваем и устанавливаем пакет postfix-2.4.5-2mdv2008.0.src.rpm
- Идем на сайт VDA и выкачиваем патч VDA к нашей версии Postfix, в данном случае postfix-2.4.5-vda-ng.patch.gz и затем копируем в папку /usr/src/rpm/SOURCES.
- Редактируем файл /usr/src/rpm/SPECS/postfix.spec
Находим строку
%bcond_with VDA
И заменяем на
%bcond_without VDA
Находим строку
Patch9: http://web.onda.com.br/nadal/postfix/VDA/postfix-2.3.3-vda.patch
И заменяем на
Patch9: postfix-2.4.5-vda-ng.patch.gz
Находим строку
Virtual Delivery Agent: --%{with_TXT VDA}
И заменяем на
Virtual Delivery Agent: --with VDA --%{with_TXT VDA}
Сборка пакета
Идем в папку /usr/src/rpm/SPECS/ и выполняем
# rpm -bb postfix.spec
Если попросит, то доустановить нужные пакеты
Проверка
После компиляции, можно проверить, установился ли патч.
Заходим в папку /usr/src/rpm/BUILD/postfix-2.4.5. Копируем туда же postfix-2.4.5-vda-ng.patch.gz и пробуем его повторно накатить.
gzip -dc postfix-2.4.5-vda-ng.patch.gz | patch -p1
И если будет ругаться, что патч уже установлен, то тогда жмем "Ctrl-C". Значит все нормально.
Идем в папку с собранными пакетами /usr/src/rpm/RPMS/i586 и устанавливаем оттуда пакеты postfix-2.4.5-2mdv2008.0.i586.rpm, postfix-mysql-2.4.5-2mdv2008.0.i586.rpm.