Подключение VDA патча (ограничения размеров виртуальных ящиков) к Postfix: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Подготовка)
м (Откат правок Roduc (обсуждение) к версии Misha)
 
(не показано 8 промежуточных версий 2 участников)
Строка 11: Строка 11:
  
 
==Подготовка==
 
==Подготовка==
#Идем в репозитарий пакетов, например [ftp://ftp.pbone.net/pub/mandrakelinux/official/20XX/SRPMS/main сюда], выкачиваем и устанавливаем пакет postfix-*.src.rpm
+
#Идем в репозитарий пакетов, например [ftp://ftp.mandriva.ru/mandriva/official сюда], выкачиваем и устанавливаем пакет postfix-*.src.rpm
#Идем на сайт [http://vda.sourceforge.net/ VDA] и выкачиваем патч VDA к нашей версии Postfix, в данном случае  postfix-2.4.5-vda-ng.patch.gz и затем копируем в папку /usr/src/rpm/SOURCES. В Manriva 2010.0 этот патч уже входит в исходники, но не установлен.
+
#В Manriva 2010.0 этот патч уже входит в исходники, но не установлен, так что у кого Mandriva 2010.0, качать ничего не надо. Идем на сайт [http://vda.sourceforge.net/ VDA] и выкачиваем патч VDA к нашей версии Postfix, в данном случае  postfix-2.4.5-vda-ng.patch.gz и затем копируем в папку /usr/src/rpm/SOURCES (~/rpmbuild/SOURCES).  
#Редактируем файл /usr/src/rpm/SPECS/postfix.spec
+
#Редактируем файл /usr/src/rpm/SPECS/postfix.spec (~/rpmbuild/SPECS/postfix.spec)
 
Находим строку
 
Находим строку
 
<pre>%bcond_with VDA</pre>
 
<pre>%bcond_with VDA</pre>
Строка 28: Строка 28:
  
 
==Сборка пакета==
 
==Сборка пакета==
Идем в папку /usr/src/rpm/SPECS/ и выполняем
+
Идем в папку /usr/src/rpm/SPECS/ (~/rpmbuild/SPECS/postfix.spec) и выполняем
 
<pre># rpm -bb postfix.spec</pre>
 
<pre># rpm -bb postfix.spec</pre>
 
Если попросит, то доустановить нужные пакеты
 
Если попросит, то доустановить нужные пакеты
 +
 
==Проверка==
 
==Проверка==
После компиляции, можно проверить, установился ли патч.<br />
+
#Идем в папку с собранными пакетами /usr/src/rpm/RPMS/i586 (~/rpmbuild/rpms/i386/) и устанавливаем оттуда пакеты postfix-*.rpm, postfix-mysql-*.i586.rpm.
Заходим в папку /usr/src/rpm/BUILD/postfix-2.4.5. Копируем туда же postfix-2.4.5-vda-ng.patch.gz и пробуем его повторно накатить.
+
# Устанавливаем скомпиленый пакет postfix (может быть придется удалить старый пакет) и проверяем, как описано вначале статьи.
<pre>gzip -dc postfix-2.4.5-vda-ng.patch.gz | patch -p1</pre>
 
И если будет ругаться, что патч уже установлен, то тогда жмем "Ctrl-C". Значит все нормально.<br />
 
Идем в папку с собранными пакетами /usr/src/rpm/RPMS/i586 и устанавливаем оттуда пакеты postfix-2.4.5-2mdv2008.0.i586.rpm, postfix-mysql-2.4.5-2mdv2008.0.i586.rpm.
 

Текущая версия на 16:06, 5 марта 2013

После долгих попыток настроить ограничение размеров почтовых ящиков, выяснилось, что хоть 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

Если результат положительный значит патч был наложен.

Подготовка

  1. Идем в репозитарий пакетов, например сюда, выкачиваем и устанавливаем пакет postfix-*.src.rpm
  2. В Manriva 2010.0 этот патч уже входит в исходники, но не установлен, так что у кого Mandriva 2010.0, качать ничего не надо. Идем на сайт VDA и выкачиваем патч VDA к нашей версии Postfix, в данном случае postfix-2.4.5-vda-ng.patch.gz и затем копируем в папку /usr/src/rpm/SOURCES (~/rpmbuild/SOURCES).
  3. Редактируем файл /usr/src/rpm/SPECS/postfix.spec (~/rpmbuild/SPECS/postfix.spec)

Находим строку

%bcond_with VDA

И заменяем на

%bcond_without VDA

Находим строку

Patch9: http://web.onda.com.br/nadal/postfix/VDA/postfix-*-vda.patch

И заменяем на

Patch9:         postfix-*-vda-ng.patch.gz

Находим строку

Virtual Delivery Agent: --%{with_TXT VDA}

И заменяем на

Virtual Delivery Agent: --with VDA --%{with_TXT VDA}

Сборка пакета

Идем в папку /usr/src/rpm/SPECS/ (~/rpmbuild/SPECS/postfix.spec) и выполняем

# rpm -bb postfix.spec

Если попросит, то доустановить нужные пакеты

Проверка

  1. Идем в папку с собранными пакетами /usr/src/rpm/RPMS/i586 (~/rpmbuild/rpms/i386/) и устанавливаем оттуда пакеты postfix-*.rpm, postfix-mysql-*.i586.rpm.
  2. Устанавливаем скомпиленый пакет postfix (может быть придется удалить старый пакет) и проверяем, как описано вначале статьи.