= Postfix/2.7.0_for_RPM = Simon Mudd has built up-to-date RPMs for Postfix in the past. There isn't yet one for 2.7.0, but there *is* a guide. http://www.kutukupret.com/2010/02/08/compiling-postfix-2-7-0-as-rpm-package/ ---- == My own attempt == * download the srpm * `rpm -Uvh` on drydock * new files {{{ -rw-rw-r-- 1 build build 18K Feb 23 19:35 README-Postfix-SASL-RedHat.txt -rw-rw-r-- 1 build build 3.3K Feb 23 19:35 make-postfix.rpm -rw-rw-r-- 1 build build 42K Feb 23 19:35 postfix.spec.in -rw-rw-r-- 1 build build 49 Feb 23 19:35 postfix-sasl.conf -rw-rw-r-- 1 build build 507 Feb 23 19:35 postfix-saslauthd.conf -rw-rw-r-- 1 build build 116 Feb 23 19:35 postfix-pam.conf -rw-rw-r-- 1 build build 679 Feb 23 19:35 postfix-makedefs.patch -rw-rw-r-- 1 build build 6.8K Feb 23 19:35 postfix-get-distribution -rw-rw-r-- 1 build build 1.5K Feb 23 19:35 postfix-files.patch -rw-rw-r-- 1 build build 2.4K Feb 23 19:35 postfix-etc-init.d-postfix -rw-rw-r-- 1 build build 5.6K Feb 23 19:35 postfix-dict_cdb-1.1.11-20021104.tar.gz -rw-rw-r-- 1 build build 11K Feb 23 19:35 postfix-chroot.sh -rw-rw-r-- 1 build build 2.3K Feb 23 19:35 postfix-aliases -rw-rw-r-- 1 build build 3.2M Feb 23 19:35 postfix-2.6.5.tar.gz -rw-rw-r-- 1 build build 3.6K Feb 23 19:35 postfix-2.6.0-multiline-greeting.patch -rw-rw-r-- 1 build build 13K Feb 23 19:35 postfix-2.5.4-vda-ng.patch.gz -rw-rw-r-- 1 build build 25K Feb 23 19:35 postfix-2.3.2_libspf2-1.2.x-20060819.patch -rw-rw-r-- 1 build build 8.6K Feb 23 19:35 postfinger-1.30 -rw-rw-r-- 1 build build 14K Feb 23 19:35 make-postfix.spec }}} * mv postfix-2.7.0.tar.gz into SOURCES * start hacking those source files, find instances of '2.6' {{{ postfix-2.6.0-multiline-greeting.patch postfix-files.patch postfix.spec.in }}} * rename postfix-2.6.0-multiline-greeting.patch to postfix-2.7.0-multiline-greeting.patch * edit postfix-2.6.0-multiline-greeting.patch and change 2.6 to 2.7 * edit postfix-files.patch and update 2.6 to 2.7 * edit postfix.spec.in * set `V_postfix` to 2.7.0 * rename the src of the multiline greeting patch to 2.7.0 * throw your junk in the changelog * some shell exports to tell the specfile-maker what to do {{{ # customise this as you see fit, we don't want everything necessarily export POSTFIX_DOVECOT=1 export POSTFIX_LDAP=1 export POSTFIX_MYSQL_REDHAT=1 export POSTFIX_PCRE=1 export POSTFIX_PGSQL=1 export POSTFIX_SASL=2 export POSTFIX_SMTPD_MULTILINE_GREETING=1 export POSTFIX_TLS=1 export POSTFIX_VDA=0 export POSTFIX_DB=4 #export POSTFIX_CDB=1 # requires the tinycdb package #export POSTFIX_RBL_MAPS=1 # needed? }}} * `sh SOURCES/make-postfix.spec` {{{ Creating Postfix spec file: /home/build/rpm/SPECS/postfix.spec Checking rpm database for distribution information... - if the script gets stuck here: check and remove /var/lib/rpm/__db.00? files Distribution is: redhat-release-5Server-5.4.0.3 (rhel-5.0) enabling CDB support in spec file enabling LDAP support in spec file by default (disable with POSTFIX_LDAP=0) enabling PCRE support in spec file enabling PostGres support in spec file enabling MySQL support (RedHat mysql* packages) in spec file enabling Cyrus SASL v2 support in spec file enabling Dovecot SASL support in spec file enabling TLS support in spec file by default (disable with POSTFIX_TLS=0) }}} * `rpmbuild --sign -ba SPECS/postfix.spec` {{{ error: Failed build dependencies: tinycdb is needed by postfix-2.7.0-1.cdb.pcre.pgsql.mysql.sasl2.dovecot.rhel5.x86_64 }}} * Can get it here, or just not bother: http://lists.centos.org/pipermail/centos-devel/2007-September/002012.html * Huzzah! {{{ Wrote: /home/build/rpm/SRPMS/postfix-2.7.0-1.pcre.pgsql.mysql.sasl2.dovecot.rhel5.src.rpm Wrote: /home/build/rpm/RPMS/rh5Server/x86_64/postfix-2.7.0-1.pcre.pgsql.mysql.sasl2.dovecot.rhel5.anchor.rh5Server.x86_64.rpm Wrote: /home/build/rpm/RPMS/rh5Server/x86_64/postfix-debuginfo-2.7.0-1.pcre.pgsql.mysql.sasl2.dovecot.rhel5.anchor.rh5Server.x86_64.rpm }}}