diff options
author | Raphaël Marichez <falco@gentoo.org> | 2008-03-17 18:43:22 +0000 |
---|---|---|
committer | Raphaël Marichez <falco@gentoo.org> | 2008-03-17 18:43:22 +0000 |
commit | db21b429911cd9dde0b426d4f78d63a5b0dfd1e3 (patch) | |
tree | 3fc10a45317810113e5365d7f1dfd3caa00f1e5a /mail-mta/postfix | |
parent | stable x86, bug 213605 (diff) | |
download | historical-db21b429911cd9dde0b426d4f78d63a5b0dfd1e3.tar.gz historical-db21b429911cd9dde0b426d4f78d63a5b0dfd1e3.tar.bz2 historical-db21b429911cd9dde0b426d4f78d63a5b0dfd1e3.zip |
Version bump and new rc script, bug 207807 and bug 166872
Package-Manager: portage-2.1.4.4
Diffstat (limited to 'mail-mta/postfix')
-rw-r--r-- | mail-mta/postfix/ChangeLog | 10 | ||||
-rw-r--r-- | mail-mta/postfix/Manifest | 21 | ||||
-rw-r--r-- | mail-mta/postfix/files/postfix.rc6.2.5 | 48 | ||||
-rw-r--r-- | mail-mta/postfix/postfix-2.5.0.ebuild | 381 | ||||
-rw-r--r-- | mail-mta/postfix/postfix-2.5.1.ebuild | 381 |
5 files changed, 835 insertions, 6 deletions
diff --git a/mail-mta/postfix/ChangeLog b/mail-mta/postfix/ChangeLog index 7ad2917dc7ce..96df16d78331 100644 --- a/mail-mta/postfix/ChangeLog +++ b/mail-mta/postfix/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for mail-mta/postfix # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/ChangeLog,v 1.154 2008/03/16 08:13:22 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/ChangeLog,v 1.155 2008/03/17 18:43:21 falco Exp $ + +*postfix-2.5.1 (17 Mar 2008) +*postfix-2.5.0 (17 Mar 2008) + + 17 Mar 2008; Raphael Marichez <falco@gentoo.org> +files/postfix.rc6.2.5, + +postfix-2.5.0.ebuild, +postfix-2.5.1.ebuild: + Version bump (bug 207807). Removes bindnow-flags calls, and implements + multi-instances bug 166872, thanks to busby@edoceo.com for his rc script 16 Mar 2008; Ulrich Mueller <ulm@gentoo.org> -postfix-2.2.10-r1.ebuild: Remove old, bug 201671. diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest index d7a76347611a..b9bccd605fed 100644 --- a/mail-mta/postfix/Manifest +++ b/mail-mta/postfix/Manifest @@ -5,6 +5,7 @@ AUX mailer.conf 438 RMD160 b9efd9921c9e6295d8791e621e4e08510b526ac4 SHA1 fad8603 AUX postfix-2.0.9-get-FQDN.patch 1057 RMD160 492e9de53c0a16e71940ab4f4ed99bc4f76061fa SHA1 38f0322792822612a836ded1845368b23d3c1120 SHA256 6e5f5a1f9bc60e04d6decc8491c5955c625396f23698d961c412b50ec793e878 AUX postfix-master.cf.patch 1064 RMD160 25283e8c3c27ff156e229ad1ae8643d3be61d6b7 SHA1 86088a034f6cf4a09a68436c97df5e5babf11251 SHA256 b1f7040cb9445379c4318e2161efd79c74bc6927125f4542eb87500ece145f60 AUX postfix.rc6.2.2.9 648 RMD160 5c8242c63e4263734ae2c51f20c5970db53dc604 SHA1 fc8f2b301c853fe01ad920c33a3c1027a4480322 SHA256 8c7c77faf61f81f4e29bafd4255bdd2fc237c15059440b16c975a7f4967b3ac0 +AUX postfix.rc6.2.5 1414 RMD160 2e9fb6ba4af7a75350b729424bd29f8f376631ef SHA1 192b5c764ff67f8c72845dfdf439bcd8762f69ea SHA256 31cf4c75550cbaafab7b0f85e399bf378d1898d6bfdf9386a57dac1449c8349f AUX smtp.pass 141 RMD160 799433a4ee9e9e32f20aa2d31f85f33faa2bc7e6 SHA1 e1d75aa259fa07b257a617e056662aecfd19957f SHA256 c9b3b56a8df2367cc15bc43a70304fac7ebdd7697e1d450d1bcb4bfdd3e078e9 AUX smtp.sasl 131 RMD160 6831f9bbfd76be0d39fdda4270120824ebb9f52f SHA1 613dff95ac21bd306c2917e5360430772efbb146 SHA256 954ba1e80537ca01b935b856e31ec4e3e41c138f04b7cf99ccb969876b8b78e7 DIST postfix-2.2.10-vda.patch.gz 7799 RMD160 01c36255cb2bac7518b94fd5074d1182b7680bdd SHA1 00a989f11fb8bb4561738e454960d6b163a7c68e SHA256 32aa3f7219e3da3bda362223ee34d6571c796f601b565de1890bce628446e0cc @@ -15,16 +16,26 @@ DIST postfix-2.4.5-vda-ng.patch.gz 12241 RMD160 d88971edd77d2fd38479d55ad941599c DIST postfix-2.4.5.tar.gz 2934634 RMD160 a6ffd6211f292c56558ebd2ebce8f09deea95ca1 SHA1 dc3616ffd441c23748273527b6693835f3502ad2 SHA256 bce55ae6be130ef085c9968bfdf8ac36e4b77dd4bd84ba9da4fc7fc3464c65d7 DIST postfix-2.4.6-vda-ng-r2.patch.gz 12397 RMD160 a03f29df52eb5c2974206cd3ee32305c24d4be73 SHA1 71c9b71a238093f944865fbc90704a25710d3f3f SHA256 d8186d4c0f19b0a989d98305d9bd1c8e27223c3a4fb549d5581f279e567fadf5 DIST postfix-2.4.6.tar.gz 2935249 RMD160 115b3a4eb982701e29db2e52e294ec8ee69bdae5 SHA1 226222707fd8d963d3173070cac96370c453ffa7 SHA256 00d079d6354bb3979b186da6bbe281b42eea2716620da781bcdb36dd558edcca +DIST postfix-2.5.0-vda-ng-r1.patch.gz 28964 RMD160 35527bf9358ce35ca9cc863d1e5fe71ce0e3814e SHA1 134e9973c09fa2c137d4b4a4295eed6c209a43b5 SHA256 36e47b7b57317c1055c48481261bdccd4688fdad3ae26c7a2988ea812ac068d5 +DIST postfix-2.5.0.tar.gz 3153152 RMD160 2f7c29d63a747bce259ed5596e4b59f279aa8196 SHA1 d611ac3b6f0536a9320b355a76bd345997f08b7b SHA256 da757ac8181f258ad2ce4532a092e1c3e74bd65a73a75eec6c00130bffd53d99 +DIST postfix-2.5.1-vda-ng-r1.patch.gz 28964 RMD160 35527bf9358ce35ca9cc863d1e5fe71ce0e3814e SHA1 134e9973c09fa2c137d4b4a4295eed6c209a43b5 SHA256 36e47b7b57317c1055c48481261bdccd4688fdad3ae26c7a2988ea812ac068d5 +DIST postfix-2.5.1.tar.gz 3153629 RMD160 cf414306742d642ccab78212ee33af955d7a9023 SHA1 4ceb805b78aff4c872b7e55554d2364e06f695b3 SHA256 bad7ed98d1bbc8fd27d4b4d6d65a8dfe21794c109bc923e5fe45abea5b484037 EBUILD postfix-2.2.11-r1.ebuild 10448 RMD160 c407b24fb1bea9d24a383fee8dadafa947dadc30 SHA1 4ef1ef001c1cf8746174747044b8cccdc834a233 SHA256 5d4d6ed2a019db9e20c0cec7343536fe7712fe531e21e87f395f8994c3b3a09d EBUILD postfix-2.3.8-r1.ebuild 11781 RMD160 c198c76f96e2ff31912e1196eca5f47d97bec8d3 SHA1 4f4eff4ce639f32e31a07b85c00ac6aa310f6d69 SHA256 02343d6b1cb15cfe450535fa6a911456272beeb19ee3e076ed00b43e853f9867 EBUILD postfix-2.4.5.ebuild 11678 RMD160 fb60b2092618dc26a634fad020f825957e2d3413 SHA1 19d8dd063b6437b361ef4ad14239b5b7ef3c5cab SHA256 e206fe2db84685d199da6a18e29f0e50475a9cb979066bd65ad113cf0273c1c3 EBUILD postfix-2.4.6-r2.ebuild 11700 RMD160 0fde99296f4a9d1e9ebf444e80453f836e105a63 SHA1 4a10f47fb2a006618c1c4c1e44f31d5f810c963a SHA256 fb3503ad317bd1da989140ac2a94dfc5ac120e31c8a48b2be710f5b8442af1e7 -MISC ChangeLog 47671 RMD160 c4ab8b6768268d33f6375ef490fe890403ef7e7e SHA1 1b544c61ce02e4edc561954b5dcaadb67c640a4e SHA256 a46d6554e3a845e45b9275f4c596495bc49fd0b9769de6f3624d98e0a101fef4 +EBUILD postfix-2.5.0.ebuild 11937 RMD160 a5d46e3e49c8d189ceffeb30e27583539f78c33f SHA1 78dcaec4975a4459ae86a09281379c66ffc8e87f SHA256 0935a7dd56d8f027c39a4143d0f3adbf285a6947e33a0f2b35ab15d3f68c5807 +EBUILD postfix-2.5.1.ebuild 11937 RMD160 b94eef63281d0863034cdcec647002e9943a0690 SHA1 07589371944c2bad00e66cf8a71405e5e0d6fdc2 SHA256 58faf7ef353355b1bf2c3579c6c7ecca83965428ecf5433020c9faea91a146c1 +MISC ChangeLog 48004 RMD160 443a53a42b9ca3a7a080abcd9070dafc1c21946e SHA1 bafc6ddda114b2da41ca46f42c9a783e34f1dddf SHA256 de5a28a239197ac71bac5014fc14fa6e07ab3dc15eda65714c511c6cf86ed81f MISC metadata.xml 162 RMD160 fd38b82541901b3c6df18b630d79fe7883ae3f01 SHA1 e6aecefcc2137d6047cedfe447686775ab59cb48 SHA256 569031668e39895fb20829fb17a49a91a83e8f41b2195b0f04825c4340d2af6b -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.8 (GNU/Linux) +Version: GnuPG v2.0.7 (GNU/Linux) -iEYEARECAAYFAkfc1oQACgkQOeoy/oIi7uzjeACfalpgx9nscpzrzLYzzHnChhQH -YWUAmwVnhdHhasW18ISAeD+MwMv7J4UY -=oJSE +iQEVAwUBR9671TvRww8BFPxFAQKe+gf+PFxn5OxfT8Vy6w9ZK7oSGAYj89I9SP8E +5gYKbISoChjYb0cIllnQnNJrYXWjiqRy9AK40QeG+575j4eOHMdV84eXD61uBdRz +f/WbcoS+NxQtkNCC+oncaj9ITOui6xyHdT0wqZlpaErixGjpZ/ncCvMaWEN57zXD +RnXpggmMgys0oztRDOVbsTg1o/uhUlSuArjGMb/XDjWOpBwwJeGhprf2ETh737wp +fRKxUTLzfGkNTiehpOCv2WECsFbHYmVJjpDLjbZXOao4DauNaBbE3FYTUetN1EEk +XvmUQLY5rP5xXYwBoGhq4o7siW1+uXaAbRj5dVLf4K9Dk3TrvMCBvg== +=mXhS -----END PGP SIGNATURE----- diff --git a/mail-mta/postfix/files/postfix.rc6.2.5 b/mail-mta/postfix/files/postfix.rc6.2.5 new file mode 100644 index 000000000000..8814e225167b --- /dev/null +++ b/mail-mta/postfix/files/postfix.rc6.2.5 @@ -0,0 +1,48 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/files/postfix.rc6.2.5,v 1.1 2008/03/17 18:43:22 falco Exp $ + +# If you plan to simultaneously use several Postfix instances, don't forget +# to specify your alternate_config_directories variable in your main main.cf file. +# Then make a symlink from /etc/init.d/postfix to /etc/init.d/postfix.alt, +# prepare your new /etc/postfix.alt environment, and at least change these working paths: +# queue_directory = /var/spool/postfix.alt +# data_directory = /var/lib/postfix.alt + +CONF_DIR="/etc/postfix" +CONF_OPT="${SVCNAME##*.}" +if [[ -n ${CONF_OPT} && ${SVCNAME} != "postfix" ]]; then + CONF_DIR="${CONF_DIR}.${CONF_OPT}" +fi + +opts="${opts} reload" + +depend() { + use logger dns ypbind amavisd mysql postgresql antivirus postfix_greylist net saslauthd + if [ "${SVCNAME}" == "postfix" ]; then + provide mta + fi +} + +start() { + ebegin "Starting postfix (${CONF_DIR})" + if [ ! -d ${CONF_DIR} ]; then + eend 1 "${CONF_DIR} does not exist" + return 1 + fi + /usr/sbin/postfix -c ${CONF_DIR} start &>/dev/null + eend $? +} + +stop() { + ebegin "Stopping postfix (${CONF_DIR})" + /usr/sbin/postfix -c ${CONF_DIR} stop >/dev/null 2>&1 + eend $? +} + +reload() { + ebegin "Reloading postfix (${CONF_DIR})" + /usr/sbin/postfix -c ${CONF_DIR} reload >/dev/null 2>&1 + eend $? +} diff --git a/mail-mta/postfix/postfix-2.5.0.ebuild b/mail-mta/postfix/postfix-2.5.0.ebuild new file mode 100644 index 000000000000..964a4091ad77 --- /dev/null +++ b/mail-mta/postfix/postfix-2.5.0.ebuild @@ -0,0 +1,381 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/postfix-2.5.0.ebuild,v 1.1 2008/03/17 18:43:21 falco Exp $ + +# NOTE: this ebuild is a regular ebuild without mailer-config support! +# Comment lines below "regular ebuild" and uncomment lines below "mailer-config support" +# to turn this ebuild to a mailer-config enabled ebuild. + +# regular ebuild +inherit eutils multilib ssl-cert toolchain-funcs flag-o-matic pam +# mailer-config support +#inherit eutils multilib ssl-cert toolchain-funcs flag-o-matic mailer pam + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" + +# regular ebuild +IUSE="cdb dovecot-sasl hardened ipv6 ldap mailwrapper mbox mysql nis pam postgres sasl selinux ssl vda" +# mailer-config support +#IUSE="cdb dovecot-sasl hardened ipv6 ldap mbox mysql nis pam postgres sasl selinux ssl vda" + +MY_PV="${PV/_rc/-RC}" +MY_SRC="${PN}-${MY_PV}" +MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/official" +VDA_P="${P}-vda-ng-r1" +RC_VER="2.5" + +DESCRIPTION="A fast and secure drop-in replacement for sendmail." +HOMEPAGE="http://www.postfix.org/" +SRC_URI="${MY_URI}/${MY_SRC}.tar.gz + vda? ( http://gentoo.longitekk.com/${VDA_P}.patch.gz ) " + +LICENSE="IPL-1" +SLOT="0" + +# regular ebuild +PROVIDE="virtual/mta virtual/mda" +# mailer-config support +#PROVIDE="${PROVIDE} virtual/mda" + +DEPEND=">=sys-libs/db-3.2 + >=dev-libs/libpcre-3.4 + cdb? ( || ( >=dev-db/cdb-0.75-r1 >=dev-db/tinycdb-0.76 ) ) + ldap? ( >=net-nds/openldap-1.2 ) + mysql? ( virtual/mysql ) + pam? ( virtual/pam ) + postgres? ( >=dev-db/postgresql-7.1 ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( >=dev-libs/openssl-0.9.6g )" + +# regular ebuild +RDEPEND="${DEPEND} + >=net-mail/mailbase-0.00 + !mailwrapper? ( !virtual/mta ) + mailwrapper? ( >=net-mail/mailwrapper-0.2 ) + selinux? ( sec-policy/selinux-postfix )" + +# mailer-config support +#RDEPEND="${DEPEND} +# >=net-mail/mailbase-0.00 +# selinux? ( sec-policy/selinux-postfix )" + +S="${WORKDIR}/${MY_SRC}" + +group_user_check() { + einfo "Checking for postfix group ..." + enewgroup postfix 207 + einfo "Checking for postdrop group ..." + enewgroup postdrop 208 + einfo "Checking for postfix user ..." + enewuser postfix 207 -1 /var/spool/postfix postfix,mail +} + +pkg_setup() { + # Do not upgrade live from Postfix <2.5 + if [[ -f /var/lib/init.d/started/postfix ]] ; then + if has_version '<mail-mta/postfix-2.5.0' ; then + if [[ "${FORCE_UPGRADE}" ]] ; then + echo + ewarn "You are upgrading from an incompatible version and you have" + ewarn "FORCE_UPGRADE set, will build this package while Postfix is running." + ewarn "You MUST stop Postfix BEFORE installing this version to your system." + echo + else + echo + eerror "You are upgrading from an incompatible version." + eerror "You MUST stop Postfix BEFORE installing this version to your system." + eerror "If you want minimal downtime, emerge postfix with:" + eerror " FORCE_UPGRADE=1 emerge --buildpkgonly postfix" + eerror " /etc/init.d/postfix stop" + eerror " emerge --usepkgonly postfix" + eerror "Then run etc-update or dispatch-conf and merge the configuration files." + eerror "Then restart Postfix with: /etc/init.d/postfix start" + die "Upgrade from an incompatible version!" + echo + fi + else + echo + ewarn "It's safe to upgrade your current version while it's running." + ewarn "If you don't want to take any chance, please hit Ctrl+C now," + ewarn "stop Postfix, then emerge again." + ewarn "You have been warned!" + ewarn "Waiting 5 seconds before continuing ..." + echo + epause 5 + fi + fi + + echo + ewarn "Read \"ftp://ftp.porcupine.org/mirrors/postfix-release/official/${MY_SRC}.RELEASE_NOTES\"" + ewarn "for incompatible changes before continueing." + ewarn "Bugs should be filed at \"http://bugs.gentoo.org/\" and" + ewarn "assigned to \"net-mail@gentoo.org\"." + echo + + # Warnings to work around bug #45764 + if has_version '<=mail-mta/postfix-2.0.18' ; then + echo + ewarn "You are upgrading from postfix-2.0.18 or earlier, some of the empty queue" + ewarn "directories get deleted while unmerging the older version (see bug #45764)." + ewarn "Please run '/etc/postfix/post-install upgrade-source' to recreate them." + echo + fi + + # TLS non-prod warning + if use ssl ; then + echo + ewarn "You have \"ssl\" in your USE flags, TLS will be enabled." + ewarn "This service is incompatible with the previous TLS patch." + ewarn "Visit http://www.postfix.org/TLS_README.html for more info." + echo + fi + + # IPV6 non-prod warn + if use ipv6 ; then + echo + ewarn "You have \"ipv6\" in your USE flags, IPV6 will be enabled." + ewarn "Visit http://www.postfix.org/IPV6_README.html for more info." + echo + fi + + # SASL non-prod warning + if use sasl ; then + echo + elog "Postfix 2.3 and newer supports two SASL implementations." + elog "Cyrus SASL and Dovecot protocol version 1 (server only)" + elog "Visit http://www.postfix.org/SASL_README.html for more info." + echo + fi + + # Add postfix, postdrop user/group (bug #77565) + group_user_check || die "Failed to check/add needed user/group" +} + +src_unpack() { + unpack ${A} + + cd "${S}" + if use vda ; then + epatch "${WORKDIR}/${VDA_P}.patch" + fi + + sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:/etc/mail/aliases|" \ + src/util/sys_defs.h || die "sed failed" + + # change default paths to better comply with portage standard paths + sed -i -e "s:/usr/local/:/usr/:g" conf/master.cf || die "sed failed" +} + +src_compile() { + # 1) Added -Wl,-z,now wrt bug #62674 + # 2) Remove -ldl as it is not necessary, solves bug #106446 + # 3) -Wl,-z,now replaced by $(bindnow-flags) + # 4) Then bindnow-flags has been simply dropped according to + # http://www.mail-archive.com/gentoo-dev@lists.gentoo.org/msg23679.html + # 5) Make sure LDFLAGS get passed down to the executables. + local mycc="-DHAS_PCRE" mylibs="${LDFLAGS} -lpcre -lcrypt -lpthread" + + use pam && mylibs="${mylibs} -lpam" + + if use ldap ; then + mycc="${mycc} -DHAS_LDAP" + mylibs="${mylibs} -lldap -llber" + fi + + if use mysql ; then + mycc="${mycc} -DHAS_MYSQL -I/usr/include/mysql" + mylibs="${mylibs} -lmysqlclient -lm -lz" + fi + + if use postgres ; then + if best_version '=dev-db/postgresql-7.3*' ; then + mycc="${mycc} -DHAS_PGSQL -I/usr/include/postgresql" + else + mycc="${mycc} -DHAS_PGSQL -I/usr/include/postgresql/pgsql" + fi + mylibs="${mylibs} -lpq" + fi + + if use ssl ; then + mycc="${mycc} -DUSE_TLS" + mylibs="${mylibs} -lssl -lcrypto" + fi + + if use sasl ; then + if use dovecot-sasl ; then + # Set dovecot as default. + mycc="${mycc} -DDEF_SASL_SERVER=\\\"dovecot\\\"" + fi + mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl" + mylibs="${mylibs} -lsasl2" + elif use dovecot-sasl ; then + mycc="${mycc} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\"" + fi + + if ! use nis ; then + sed -i -e "s|#define HAS_NIS|//#define HAS_NIS|g" \ + src/util/sys_defs.h || die "sed failed" + fi + + if use cdb ; then + mycc="${mycc} -DHAS_CDB" + CDB_LIBS="" + + # Tinycdb is preferred. + if has_version dev-db/tinycdb ; then + einfo "Building with dev-db/tinycdb" + CDB_LIBS="-lcdb" + else + einfo "Building with dev-db/cdb" + CDB_PATH="/usr/$(get_libdir)" + for i in cdb.a alloc.a buffer.a unix.a byte.a ; do + CDB_LIBS="${CDB_LIBS} ${CDB_PATH}/${i}" + done + fi + + mylibs="${mylibs} ${CDB_LIBS}" + fi + + mycc="${mycc} -DDEF_DAEMON_DIR=\\\"/usr/$(get_libdir)/postfix\\\"" + mycc="${mycc} -DDEF_MANPAGE_DIR=\\\"/usr/share/man\\\"" + mycc="${mycc} -DDEF_README_DIR=\\\"/usr/share/doc/${PF}/readme\\\"" + mycc="${mycc} -DDEF_HTML_DIR=\\\"/usr/share/doc/${PF}/html\\\"" + + # Robin H. Johnson <robbat2@gentoo.org> 17/Nov/2006 + # Fix because infra boxes hit 2Gb .db files that fail a 32-bit fstat signed check. + mycc="${mycc} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" + filter-lfs-flags + + local my_cc=$(tc-getCC) + einfo "CC=${my_cc:=gcc}" + + # Workaround for bug #76512 + [[ "$(gcc-version)" == "3.4" ]] && use hardened && replace-flags -O? -Os + + make DEBUG="" CC="${my_cc:=gcc}" OPT="${CFLAGS}" CCARGS="${mycc}" AUXLIBS="${mylibs}" \ + makefiles || die "configure problem" + + emake || die "compile problem" +} + +src_install () { + /bin/sh postfix-install \ + -non-interactive \ + install_root="${D}" \ + config_directory="/usr/share/doc/${PF}/defaults" \ + readme_directory="/usr/share/doc/${PF}/readme" \ + || die "postfix-install failed" + + # Fix spool removal on upgrade + rm -Rf "${D}/var" + keepdir /var/spool/postfix + + # Install rmail for UUCP, closes bug #19127 + dobin auxiliary/rmail/rmail + + # mailwrapper stuff + if use mailwrapper ; then + mv "${D}/usr/sbin/sendmail" "${D}/usr/sbin/sendmail.postfix" + mv "${D}/usr/bin/rmail" "${D}/usr/bin/rmail.postfix" + # mailer-config support + #rm "${D}/usr/bin/mailq" "${D}/usr/bin/newaliases" + + mv "${D}/usr/share/man/man1/sendmail.1" \ + "${D}/usr/share/man/man1/sendmail-postfix.1" + mv "${D}/usr/share/man/man1/newaliases.1" \ + "${D}/usr/share/man/man1/newaliases-postfix.1" + mv "${D}/usr/share/man/man1/mailq.1" \ + "${D}/usr/share/man/man1/mailq-postfix.1" + mv "${D}/usr/share/man/man5/aliases.5" \ + "${D}/usr/share/man/man5/aliases-postfix.5" + + # regular ebuild + insinto /etc/mail + doins "${FILESDIR}/mailer.conf" + # mailer-config support + #mailer_install_conf + else + # Provide another link for legacy FSH + dosym /usr/sbin/sendmail /usr/$(get_libdir)/sendmail + fi + + # Install qshape tool + dobin auxiliary/qshape/qshape.pl + + # Performance tuning tools and their manuals + dosbin bin/smtp-{source,sink} bin/qmqp-{source,sink} + doman man/man1/smtp-{source,sink}.1 man/man1/qmqp-{source,sink}.1 + + # Set proper permissions on required files/directories + dodir /var/lib/postfix + keepdir /var/lib/postfix + fowners postfix:postfix /var/lib/postfix + fperms 0750 /var/lib/postfix + fowners root:postdrop /usr/sbin/post{drop,queue} + fperms 02711 /usr/sbin/post{drop,queue} + + keepdir /etc/postfix + mv "${D}"/usr/share/doc/${PF}/defaults/{*.cf,post*-*} "${D}"/etc/postfix + if use mbox ; then + mypostconf="mail_spool_directory=/var/spool/mail" + else + mypostconf="home_mailbox=.maildir/" + fi + "${D}/usr/sbin/postconf" -c "${D}/etc/postfix" \ + -e ${mypostconf} || die "postconf failed" + + insinto /etc/postfix + newins "${FILESDIR}/smtp.pass" saslpass + fperms 600 /etc/postfix/saslpass + + newinitd "${FILESDIR}/postfix.rc6.${RC_VER}" postfix || die "newinitd failed" + + mv "${S}/examples" "${D}/usr/share/doc/${PF}/" + dodoc *README COMPATIBILITY HISTORY INSTALL PORTING RELEASE_NOTES* + dohtml html/* + + pamd_mimic_system smtp auth account + + if use sasl ; then + insinto /etc/sasl2 + newins "${FILESDIR}/smtp.sasl" smtpd.conf + fi +} + +pkg_postinst() { + # Add postfix, postdrop user/group (bug #77565) + group_user_check || die "Failed to check/add needed user/group" + + # Do not install server.{key,pem) SSL certificates if they already exist + if use ssl && [[ ! -f "${ROOT}"/etc/ssl/postfix/server.key \ + && ! -f "${ROOT}"/etc/ssl/postfix/server.pem ]] ; then + SSL_ORGANIZATION="${SSL_ORGANIZATION:-Postfix SMTP Server}" + install_cert /etc/ssl/postfix/server + chown postfix:mail "${ROOT}"/etc/ssl/postfix/server.{key,pem} + fi + + ebegin "Fixing queue directories and permissions" + "${ROOT}/etc/postfix/post-install" upgrade-permissions + echo + ewarn "If you upgraded from Postfix-1.x, you must revisit" + ewarn "your configuration files. See" + ewarn " /usr/share/doc/${PF}/RELEASE_NOTES" + ewarn "for a list of changes." + + if [[ ! -e /etc/mail/aliases.db ]] ; then + echo + ewarn "You must edit /etc/mail/aliases to suit your needs" + ewarn "and then run /usr/bin/newaliases. Postfix will not" + ewarn "work correctly without it." + fi + + # regular ebuild + if ! use mailwrapper && [[ -e /etc/mailer.conf ]] ; then + einfo + einfo "Since you emerged Postfix without mailwrapper in USE," + einfo "you may want to 'emerge -C mailwrapper' now." + einfo + fi + # mailer-config support + #mailer_pkg_postinst +} diff --git a/mail-mta/postfix/postfix-2.5.1.ebuild b/mail-mta/postfix/postfix-2.5.1.ebuild new file mode 100644 index 000000000000..3dc34ecc89ec --- /dev/null +++ b/mail-mta/postfix/postfix-2.5.1.ebuild @@ -0,0 +1,381 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/postfix-2.5.1.ebuild,v 1.1 2008/03/17 18:43:21 falco Exp $ + +# NOTE: this ebuild is a regular ebuild without mailer-config support! +# Comment lines below "regular ebuild" and uncomment lines below "mailer-config support" +# to turn this ebuild to a mailer-config enabled ebuild. + +# regular ebuild +inherit eutils multilib ssl-cert toolchain-funcs flag-o-matic pam +# mailer-config support +#inherit eutils multilib ssl-cert toolchain-funcs flag-o-matic mailer pam + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" + +# regular ebuild +IUSE="cdb dovecot-sasl hardened ipv6 ldap mailwrapper mbox mysql nis pam postgres sasl selinux ssl vda" +# mailer-config support +#IUSE="cdb dovecot-sasl hardened ipv6 ldap mbox mysql nis pam postgres sasl selinux ssl vda" + +MY_PV="${PV/_rc/-RC}" +MY_SRC="${PN}-${MY_PV}" +MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/official" +VDA_P="${P}-vda-ng-r1" +RC_VER="2.5" + +DESCRIPTION="A fast and secure drop-in replacement for sendmail." +HOMEPAGE="http://www.postfix.org/" +SRC_URI="${MY_URI}/${MY_SRC}.tar.gz + vda? ( http://gentoo.longitekk.com/${VDA_P}.patch.gz ) " + +LICENSE="IPL-1" +SLOT="0" + +# regular ebuild +PROVIDE="virtual/mta virtual/mda" +# mailer-config support +#PROVIDE="${PROVIDE} virtual/mda" + +DEPEND=">=sys-libs/db-3.2 + >=dev-libs/libpcre-3.4 + cdb? ( || ( >=dev-db/cdb-0.75-r1 >=dev-db/tinycdb-0.76 ) ) + ldap? ( >=net-nds/openldap-1.2 ) + mysql? ( virtual/mysql ) + pam? ( virtual/pam ) + postgres? ( >=dev-db/postgresql-7.1 ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( >=dev-libs/openssl-0.9.6g )" + +# regular ebuild +RDEPEND="${DEPEND} + >=net-mail/mailbase-0.00 + !mailwrapper? ( !virtual/mta ) + mailwrapper? ( >=net-mail/mailwrapper-0.2 ) + selinux? ( sec-policy/selinux-postfix )" + +# mailer-config support +#RDEPEND="${DEPEND} +# >=net-mail/mailbase-0.00 +# selinux? ( sec-policy/selinux-postfix )" + +S="${WORKDIR}/${MY_SRC}" + +group_user_check() { + einfo "Checking for postfix group ..." + enewgroup postfix 207 + einfo "Checking for postdrop group ..." + enewgroup postdrop 208 + einfo "Checking for postfix user ..." + enewuser postfix 207 -1 /var/spool/postfix postfix,mail +} + +pkg_setup() { + # Do not upgrade live from Postfix <2.5 + if [[ -f /var/lib/init.d/started/postfix ]] ; then + if has_version '<mail-mta/postfix-2.5.0' ; then + if [[ "${FORCE_UPGRADE}" ]] ; then + echo + ewarn "You are upgrading from an incompatible version and you have" + ewarn "FORCE_UPGRADE set, will build this package while Postfix is running." + ewarn "You MUST stop Postfix BEFORE installing this version to your system." + echo + else + echo + eerror "You are upgrading from an incompatible version." + eerror "You MUST stop Postfix BEFORE installing this version to your system." + eerror "If you want minimal downtime, emerge postfix with:" + eerror " FORCE_UPGRADE=1 emerge --buildpkgonly postfix" + eerror " /etc/init.d/postfix stop" + eerror " emerge --usepkgonly postfix" + eerror "Then run etc-update or dispatch-conf and merge the configuration files." + eerror "Then restart Postfix with: /etc/init.d/postfix start" + die "Upgrade from an incompatible version!" + echo + fi + else + echo + ewarn "It's safe to upgrade your current version while it's running." + ewarn "If you don't want to take any chance, please hit Ctrl+C now," + ewarn "stop Postfix, then emerge again." + ewarn "You have been warned!" + ewarn "Waiting 5 seconds before continuing ..." + echo + epause 5 + fi + fi + + echo + ewarn "Read \"ftp://ftp.porcupine.org/mirrors/postfix-release/official/${MY_SRC}.RELEASE_NOTES\"" + ewarn "for incompatible changes before continueing." + ewarn "Bugs should be filed at \"http://bugs.gentoo.org/\" and" + ewarn "assigned to \"net-mail@gentoo.org\"." + echo + + # Warnings to work around bug #45764 + if has_version '<=mail-mta/postfix-2.0.18' ; then + echo + ewarn "You are upgrading from postfix-2.0.18 or earlier, some of the empty queue" + ewarn "directories get deleted while unmerging the older version (see bug #45764)." + ewarn "Please run '/etc/postfix/post-install upgrade-source' to recreate them." + echo + fi + + # TLS non-prod warning + if use ssl ; then + echo + ewarn "You have \"ssl\" in your USE flags, TLS will be enabled." + ewarn "This service is incompatible with the previous TLS patch." + ewarn "Visit http://www.postfix.org/TLS_README.html for more info." + echo + fi + + # IPV6 non-prod warn + if use ipv6 ; then + echo + ewarn "You have \"ipv6\" in your USE flags, IPV6 will be enabled." + ewarn "Visit http://www.postfix.org/IPV6_README.html for more info." + echo + fi + + # SASL non-prod warning + if use sasl ; then + echo + elog "Postfix 2.3 and newer supports two SASL implementations." + elog "Cyrus SASL and Dovecot protocol version 1 (server only)" + elog "Visit http://www.postfix.org/SASL_README.html for more info." + echo + fi + + # Add postfix, postdrop user/group (bug #77565) + group_user_check || die "Failed to check/add needed user/group" +} + +src_unpack() { + unpack ${A} + + cd "${S}" + if use vda ; then + epatch "${WORKDIR}/${VDA_P}.patch" + fi + + sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:/etc/mail/aliases|" \ + src/util/sys_defs.h || die "sed failed" + + # change default paths to better comply with portage standard paths + sed -i -e "s:/usr/local/:/usr/:g" conf/master.cf || die "sed failed" +} + +src_compile() { + # 1) Added -Wl,-z,now wrt bug #62674 + # 2) Remove -ldl as it is not necessary, solves bug #106446 + # 3) -Wl,-z,now replaced by $(bindnow-flags) + # 4) Then bindnow-flags has been simply dropped according to + # http://www.mail-archive.com/gentoo-dev@lists.gentoo.org/msg23679.html + # 5) Make sure LDFLAGS get passed down to the executables. + local mycc="-DHAS_PCRE" mylibs="${LDFLAGS} -lpcre -lcrypt -lpthread" + + use pam && mylibs="${mylibs} -lpam" + + if use ldap ; then + mycc="${mycc} -DHAS_LDAP" + mylibs="${mylibs} -lldap -llber" + fi + + if use mysql ; then + mycc="${mycc} -DHAS_MYSQL -I/usr/include/mysql" + mylibs="${mylibs} -lmysqlclient -lm -lz" + fi + + if use postgres ; then + if best_version '=dev-db/postgresql-7.3*' ; then + mycc="${mycc} -DHAS_PGSQL -I/usr/include/postgresql" + else + mycc="${mycc} -DHAS_PGSQL -I/usr/include/postgresql/pgsql" + fi + mylibs="${mylibs} -lpq" + fi + + if use ssl ; then + mycc="${mycc} -DUSE_TLS" + mylibs="${mylibs} -lssl -lcrypto" + fi + + if use sasl ; then + if use dovecot-sasl ; then + # Set dovecot as default. + mycc="${mycc} -DDEF_SASL_SERVER=\\\"dovecot\\\"" + fi + mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl" + mylibs="${mylibs} -lsasl2" + elif use dovecot-sasl ; then + mycc="${mycc} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\"" + fi + + if ! use nis ; then + sed -i -e "s|#define HAS_NIS|//#define HAS_NIS|g" \ + src/util/sys_defs.h || die "sed failed" + fi + + if use cdb ; then + mycc="${mycc} -DHAS_CDB" + CDB_LIBS="" + + # Tinycdb is preferred. + if has_version dev-db/tinycdb ; then + einfo "Building with dev-db/tinycdb" + CDB_LIBS="-lcdb" + else + einfo "Building with dev-db/cdb" + CDB_PATH="/usr/$(get_libdir)" + for i in cdb.a alloc.a buffer.a unix.a byte.a ; do + CDB_LIBS="${CDB_LIBS} ${CDB_PATH}/${i}" + done + fi + + mylibs="${mylibs} ${CDB_LIBS}" + fi + + mycc="${mycc} -DDEF_DAEMON_DIR=\\\"/usr/$(get_libdir)/postfix\\\"" + mycc="${mycc} -DDEF_MANPAGE_DIR=\\\"/usr/share/man\\\"" + mycc="${mycc} -DDEF_README_DIR=\\\"/usr/share/doc/${PF}/readme\\\"" + mycc="${mycc} -DDEF_HTML_DIR=\\\"/usr/share/doc/${PF}/html\\\"" + + # Robin H. Johnson <robbat2@gentoo.org> 17/Nov/2006 + # Fix because infra boxes hit 2Gb .db files that fail a 32-bit fstat signed check. + mycc="${mycc} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" + filter-lfs-flags + + local my_cc=$(tc-getCC) + einfo "CC=${my_cc:=gcc}" + + # Workaround for bug #76512 + [[ "$(gcc-version)" == "3.4" ]] && use hardened && replace-flags -O? -Os + + make DEBUG="" CC="${my_cc:=gcc}" OPT="${CFLAGS}" CCARGS="${mycc}" AUXLIBS="${mylibs}" \ + makefiles || die "configure problem" + + emake || die "compile problem" +} + +src_install () { + /bin/sh postfix-install \ + -non-interactive \ + install_root="${D}" \ + config_directory="/usr/share/doc/${PF}/defaults" \ + readme_directory="/usr/share/doc/${PF}/readme" \ + || die "postfix-install failed" + + # Fix spool removal on upgrade + rm -Rf "${D}/var" + keepdir /var/spool/postfix + + # Install rmail for UUCP, closes bug #19127 + dobin auxiliary/rmail/rmail + + # mailwrapper stuff + if use mailwrapper ; then + mv "${D}/usr/sbin/sendmail" "${D}/usr/sbin/sendmail.postfix" + mv "${D}/usr/bin/rmail" "${D}/usr/bin/rmail.postfix" + # mailer-config support + #rm "${D}/usr/bin/mailq" "${D}/usr/bin/newaliases" + + mv "${D}/usr/share/man/man1/sendmail.1" \ + "${D}/usr/share/man/man1/sendmail-postfix.1" + mv "${D}/usr/share/man/man1/newaliases.1" \ + "${D}/usr/share/man/man1/newaliases-postfix.1" + mv "${D}/usr/share/man/man1/mailq.1" \ + "${D}/usr/share/man/man1/mailq-postfix.1" + mv "${D}/usr/share/man/man5/aliases.5" \ + "${D}/usr/share/man/man5/aliases-postfix.5" + + # regular ebuild + insinto /etc/mail + doins "${FILESDIR}/mailer.conf" + # mailer-config support + #mailer_install_conf + else + # Provide another link for legacy FSH + dosym /usr/sbin/sendmail /usr/$(get_libdir)/sendmail + fi + + # Install qshape tool + dobin auxiliary/qshape/qshape.pl + + # Performance tuning tools and their manuals + dosbin bin/smtp-{source,sink} bin/qmqp-{source,sink} + doman man/man1/smtp-{source,sink}.1 man/man1/qmqp-{source,sink}.1 + + # Set proper permissions on required files/directories + dodir /var/lib/postfix + keepdir /var/lib/postfix + fowners postfix:postfix /var/lib/postfix + fperms 0750 /var/lib/postfix + fowners root:postdrop /usr/sbin/post{drop,queue} + fperms 02711 /usr/sbin/post{drop,queue} + + keepdir /etc/postfix + mv "${D}"/usr/share/doc/${PF}/defaults/{*.cf,post*-*} "${D}"/etc/postfix + if use mbox ; then + mypostconf="mail_spool_directory=/var/spool/mail" + else + mypostconf="home_mailbox=.maildir/" + fi + "${D}/usr/sbin/postconf" -c "${D}/etc/postfix" \ + -e ${mypostconf} || die "postconf failed" + + insinto /etc/postfix + newins "${FILESDIR}/smtp.pass" saslpass + fperms 600 /etc/postfix/saslpass + + newinitd "${FILESDIR}/postfix.rc6.${RC_VER}" postfix || die "newinitd failed" + + mv "${S}/examples" "${D}/usr/share/doc/${PF}/" + dodoc *README COMPATIBILITY HISTORY INSTALL PORTING RELEASE_NOTES* + dohtml html/* + + pamd_mimic_system smtp auth account + + if use sasl ; then + insinto /etc/sasl2 + newins "${FILESDIR}/smtp.sasl" smtpd.conf + fi +} + +pkg_postinst() { + # Add postfix, postdrop user/group (bug #77565) + group_user_check || die "Failed to check/add needed user/group" + + # Do not install server.{key,pem) SSL certificates if they already exist + if use ssl && [[ ! -f "${ROOT}"/etc/ssl/postfix/server.key \ + && ! -f "${ROOT}"/etc/ssl/postfix/server.pem ]] ; then + SSL_ORGANIZATION="${SSL_ORGANIZATION:-Postfix SMTP Server}" + install_cert /etc/ssl/postfix/server + chown postfix:mail "${ROOT}"/etc/ssl/postfix/server.{key,pem} + fi + + ebegin "Fixing queue directories and permissions" + "${ROOT}/etc/postfix/post-install" upgrade-permissions + echo + ewarn "If you upgraded from Postfix-1.x, you must revisit" + ewarn "your configuration files. See" + ewarn " /usr/share/doc/${PF}/RELEASE_NOTES" + ewarn "for a list of changes." + + if [[ ! -e /etc/mail/aliases.db ]] ; then + echo + ewarn "You must edit /etc/mail/aliases to suit your needs" + ewarn "and then run /usr/bin/newaliases. Postfix will not" + ewarn "work correctly without it." + fi + + # regular ebuild + if ! use mailwrapper && [[ -e /etc/mailer.conf ]] ; then + einfo + einfo "Since you emerged Postfix without mailwrapper in USE," + einfo "you may want to 'emerge -C mailwrapper' now." + einfo + fi + # mailer-config support + #mailer_pkg_postinst +} |