summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEray Aslan <eras@gentoo.org>2014-08-07 05:56:05 +0000
committerEray Aslan <eras@gentoo.org>2014-08-07 05:56:05 +0000
commitce6b0d576b020f1f4e082788f6f2b90b34405477 (patch)
tree995234c904d47b11cd288f9ad0b5b18b5fa6238c /mail-mta/postfix
parentDepend on sys-apps/dbus[systemd]. (diff)
downloadhistorical-ce6b0d576b020f1f4e082788f6f2b90b34405477.tar.gz
historical-ce6b0d576b020f1f4e082788f6f2b90b34405477.tar.bz2
historical-ce6b0d576b020f1f4e082788f6f2b90b34405477.zip
Support building with db6 - bug #518994
Package-Manager: portage-2.2.11-r1/cvs/Linux x86_64 Manifest-Sign-Key: 0x77F1F175586A3B1F
Diffstat (limited to 'mail-mta/postfix')
-rw-r--r--mail-mta/postfix/ChangeLog8
-rw-r--r--mail-mta/postfix/Manifest32
-rw-r--r--mail-mta/postfix/files/postfix-2.11.1-db6.patch12
-rw-r--r--mail-mta/postfix/postfix-2.11.1-r1.ebuild324
4 files changed, 360 insertions, 16 deletions
diff --git a/mail-mta/postfix/ChangeLog b/mail-mta/postfix/ChangeLog
index 1d3b6910ab58..bdf245bbf9ef 100644
--- a/mail-mta/postfix/ChangeLog
+++ b/mail-mta/postfix/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for mail-mta/postfix
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/ChangeLog,v 1.521 2014/08/06 12:38:09 swift Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/ChangeLog,v 1.522 2014/08/07 05:55:54 eras Exp $
+
+*postfix-2.11.1-r1 (07 Aug 2014)
+
+ 07 Aug 2014; Eray Aslan <eras@gentoo.org> +files/postfix-2.11.1-db6.patch,
+ +postfix-2.11.1-r1.ebuild:
+ Support building with db6 - bug #518994
06 Aug 2014; Sven Vermeulen <swift@gentoo.org> postfix-2.11.1.ebuild,
postfix-2.12_pre20140801.ebuild:
diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest
index f5d3231ff595..f3400165da9f 100644
--- a/mail-mta/postfix/Manifest
+++ b/mail-mta/postfix/Manifest
@@ -1,6 +1,7 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX postfix-2.11.1-db6.patch 699 SHA256 90356024954a624306f2f5c8859e6a2a69965f83ca5e0d3d1005c9205bf41181 SHA512 9a6f00ae2d31b732be929ce647c222871704db02c09af659e260cf1a995bbde7f2045c59b9c33520070f427d4a2b377f6193bf6f9971087bf8df7f0c95d6d824 WHIRLPOOL 025a95e18942daf7d8a84a6ab9d17f14800aa34fc29bb5a8694f6667d1215553fe33375ef7e831937362b4b5129f6957ef3d8fd781508b554bfe841971524e15
AUX postfix.rc6.2.7 2217 SHA256 51f4bffa535d891f94d4a20ca2a4a42cc99189f3de78cee1c8d235e4a9d1721d SHA512 a675a4e0a6a550caa97588d5167b4d26fe7e47f03aadbfb3576c45eaa17059ce6912a583c96ae317138040b043dd9f7c34059cd1fd86c37f8586399c5edbd000 WHIRLPOOL a719ba7be97c5eb9a8203cef7276e6ee55965cd2ea33d809d0ca94b05254b32dfbafaa3e6e2e9ea804605c4badc7e7d547aa919ece063a43181c07bac51c23da
AUX postfix.service 267 SHA256 5d6aa3489e8d66a29d132d7170d1fd3b4c36374486c76764df8efc42457739ee SHA512 83def57dd70caca1c07d8493289573342c341c2fe2b376f68df3647be7a3bace9fa57ad07e3b52fc0ca56ea4c7cdfb094e74775c335d18ddd5fdc4632f721915 WHIRLPOOL f1faf22f0c0b8c33f9ae327a81792508e53101eca8c7d7db985d8898f10e985118f2231c09c444e907580061a4adee1de1788f74b7af3ffaafca22c07dee474b
AUX smtp.pass 141 SHA256 c9b3b56a8df2367cc15bc43a70304fac7ebdd7697e1d450d1bcb4bfdd3e078e9 SHA512 652b43be887109bf162647e9c0f08dc4283c9fa8795c11c14e88c60984e07593a4cff9e0e6c5dc92c484f547ae0be50a078599fc2fd67a66903b3ac7a8854b55 WHIRLPOOL f075d66d8ae7a13645066e572ab634721aada5aa828380afc5d45f26a6dd34165069bdc7b2edb89357330863f5aac40ee105bbef284392043589a2921381eb1f
@@ -12,25 +13,26 @@ DIST postfix-2.12-20140801.tar.gz 4142466 SHA256 71aa1783e0f8c4fa2b3ef81d62c10d3
DIST postfix-vda-v13-2.10.0.patch 55701 SHA256 6208021eb0b37ac6482e334e538ed5700cc22c4d4dd66ed9e975ae5f20bf935f SHA512 0b4b53a8cd28abf56eee3b2ed63ca1814251b60816e6ca1143249d25fd6ef7f905bec3134125ac6e851af685db8aae878012113693261529ae2ddbcf1bd93e62 WHIRLPOOL d98b7d2177b8b69738086880fd08c336fa60b99ff7413624e628fd5f17be2064f2ccaa37c047d3013ed41c0ff1bcb76e7962f8390c4179f28ab11733dd3b59d3
EBUILD postfix-2.10.2.ebuild 9625 SHA256 fb54cd49a8ac2f55e17f4a996acc7cbe240d49a783d777fe5bfece4a95cf7c81 SHA512 6e7103715a5e115ba95a4b3d7a8937c120bce99a2a144f10f06167c892ea85db36a576e7344e5c45bc9a4177d811450f380a2473b79e428d43a3eb3b57c24c3a WHIRLPOOL dbab1c13c6cc69c4319adf63840225fe254d99114a625f83dcf5bf127589d35d74f41d2e10c5c2e7eda597347d239f35e21cc5a59d62644204d2a9fb6d29925d
EBUILD postfix-2.10.3.ebuild 9633 SHA256 319e691eafe60bc00f4b778b58b6a5ae02cb879c0457a6fcffb0d0988c063c9a SHA512 4b1b844b2b5b6fc64309129758ef78d382383b382155a8cf71e3e1cd69091d88b712bdf28d6cc25de51c117f4dff87de2f1f1545b905e807248af4239a79d65a WHIRLPOOL 646877fe158d1e4ba401c3f076aeed263c641da4ee6338c02fa8508bf01f68a3a7b6156701f82f7a16dfa0c6a5a0e52571b3f065ee1a1fbcf017dffd0923bcb1
+EBUILD postfix-2.11.1-r1.ebuild 9750 SHA256 e9db223c01792d0405588a5976c6a21bfdeaeaf4eecfd6f0593d2721765d30a2 SHA512 40320b318b56a94ab779e270f00336f1513aae356105a737692a4587eb2fe50f44324eba296ac6e0e9ad6a8a413346f79153fe2930077e33dda985e3a8264028 WHIRLPOOL 97734ddb3594b55d8b5395e5e4082d7d4648674ac16caaf7819be8cb546c3f6dd6cb76205247793e9be90811e545da4b343fbb924969bd2bbc8db27924e133e1
EBUILD postfix-2.11.1.ebuild 9698 SHA256 72c3be21e0c0eef24fc5112170f95ec5025687d0466338ace19ee652b03ced3d SHA512 8594a7b38dede0a0b1f6f019d7f6995103c9d65592f0ffdd3e64be2b2677c9ec05f3a110492c8044b0cef1fcda87ec14ccdcb72eb03f967fabac7a80ca415da3 WHIRLPOOL b12f8b6cfa39e87257723598925eb5c9fc64a56a89c024c20fce424092c520c1e4e786ad89af152793101069881c122aa62219ec279fee2073d855fc4893d735
EBUILD postfix-2.12_pre20140801.ebuild 9432 SHA256 09234fbea20b7cdb50edeaec9d158729a15cb5c0538f45a5f81b44796d682c4c SHA512 4dcce51b8098ad0216981580eb067199b9cba0daf0e9c556306c1895283bf481a228fb4daec81427d4c82553bd2b3904d9c6d1d24616bc311a0f3199cd4ebef1 WHIRLPOOL cbb3214b0280471f27fa9cb06a328320b77ab991a9c370616556bc3ab1c797bd163af15e36f21cec9f24370739b016fe3e3bdda8139babe4f6fd1465f693a920
-MISC ChangeLog 5592 SHA256 5bce47d3ed91e97d988b9628047fdce4e201faa407368ae2e0ce245adbcfdf0b SHA512 ecdad47fc63fbb2cba9fc7120834e77c2dbb68304bcbbd6f3ec78567956ec9626c632f1c45d840495ae60c14e4563f011022589678711a08ac77d17688bcf624 WHIRLPOOL 6357f1cefaf3a5635c5bd10a680312fff0529eca488b887d95ccfa04ece20e3a32d665a6197d4261e740a6a0c769ccee5964108bc2f5b4c70af3f8ca005e9c3b
+MISC ChangeLog 5774 SHA256 910896acde4c3cbf19d0d71414045567cd341468e0bdf66346a711735bad1422 SHA512 0f8ca1a7d5b6afb8bb0d86fbd7205f80068773801db4d2e906f92f4c469b8017429bc1b0344fb2525d2e9bb60ecf1cddddbc601d573a699c911ac799140bd43d WHIRLPOOL f3e3ad0ba762ac710adf725de0b06f7f022866d650450dc8d59f1809900241db8a6ed39cca9e5082904c4f022163d037e76523280f23734b8e2b392a3eb801c0
MISC ChangeLog-2013 100301 SHA256 439e93c3f6ea08471888157d2347da51181aa9031d4bfdeef2197a6b26680246 SHA512 c678433163e86def50d59e47d7a1a0e8f4c4af860f80932255a7c95544e1f5b55a70b68905b02a417b2332bcf3aaa59281814d8504d70085f0874a23faa2bf02 WHIRLPOOL 15a12897a576cf98d856c551157b72b47aa45fd61d05c6ed55033ce37ce247045c6bcc8143b7ccce4666900d85e0a04087c977a311e31c20f554a991bec74fbc
MISC metadata.xml 754 SHA256 52b30e7748a792a156ad44b46878b67cb1a359c882e03f76b1d7b3b0bf111129 SHA512 bef165b527524efdcabce97c2fc0735f784dfc014ae810294e6a19b534edc6a01e14e532d730c8b8c2b76c99dafac672074317ec6dc23942285ad27895fd7220 WHIRLPOOL 702d14bd15db16217c664a39534bd1b19774d5f6c5a4a2a43e6595f400c06332c56849fd0d722c7982f5c40398b4bb0b3398b96c6f370a57d99d323d0e84ab51
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0
+Version: GnuPG v2
-iQIcBAEBCAAGBQJT4iFcAAoJEC7dUkA7aK9Hq+EP+QHFYJZXfrkNMKVoMVujkP8t
-1dnx2uQny+cKVgO3qB3alDAxwdUXaa+nn5nkxMYGipjyIuPJaa6Ty2MNOX96odAn
-ozJosEuVT5LCIPhTCDKE0OyCFzjBFpU/HV/kCt96SqAe31oTJ+f5NNpO2p6nIMKZ
-QTS9Au7AuYtgvcTTzy4clYG4s1kRMlUUVmU5dAWPLdVWP9DlXUWygng+/hpehw8m
-Om0SqAKgzcTKFxr6q+AO0LwEABmAxXmhfgF6scY9sRt3Kn0R99bdCl4ZdoT82xVx
-ZFd+Kxv57zzYI0LshzQnpEjD3Qfch1cu5yFaIcQj5l+FkIILARoxWyj3GpA2Iz5b
-Gbo0hGNcjlfIrt4qS+53qbYRhyEZDz2jFH89ugc43tln/8bwTgj3KipgRjFq53Is
-M7zsRYYhEgLNaaUqf7uNjxbtcQ6bfwWZKoH/Z+kb2Gl7Xg/shGyyVCHxLvWqHXJu
-4PfobTDoLtS0JjdJeL/UURlnULzZeRSUV1BIzgBCzX+0WGyFW9UcpaqJEmCU4OdH
-7s9vVwDOKmQ+9M9R7xd10+o9rT8zCEDL8IKDmOPy1yr3+xwAw6hHf8FtLXhpLvuE
-34FqSFmfGUqJi0/qbaWspKV/KX/WXp8BlbNbLpeCGUUpUrtjfsHDcMWDXYqPef06
-KjqrphwWBbeLBjJthyhz
-=wznc
+iQIbBAEBCAAGBQJT4xT2AAoJEHfx8XVYajsfvucP+Lps7qDQzdMeD3h9cCA7BuhR
+37I1vt6k9F88beoTKJBTaZK/eblO0imt16wjXgQ5Lqx5f9ZykvMyp0wQwEDNeH8O
+pQLxePxafsvK1tMtFhMbzctRbvUp6qpIbcBD8oHY7LiuJymEUA44kKi6tFTsQnzC
+UigPPIXtw2hjBXf2w3co6ku+8Gcp0xit0yTV9lFdumIk0YAhrPZNE4GdTIcMt0jm
+nq3FwUjArw9jHs94I/7bi5SA2rIPMO8X/mSmVYAqDxqJ4rS2aUx1Yj8h208mSW43
+lTCSYnntE2eB8A5xBRMUIQrN9Osk53tjORDjz231qF/DvHIl/iWdRIuPLaLp4zJR
+HP7cWIUm6uBoNbwlD+Ucr6szG842l7dAalfmt/V5HbWM4hUv/fghs7RbzPP0s4dz
+c25YSbfwW5CDiVlPM760PRSEYzgAuTdAl5mLRaqXThtPic4jlcHTCENDA8wS16+6
+vXlbNSZ/Tl+KomDDY/ffIkTWYQ2edf6VvN/yU+7UU1flOZ2NBFYtBzfZQb8Y+EhT
+h1pM/xM/oEt0BBxhY4LiyI86c8IBctzAQD4d5aA6Fv2TsFbQO9w9bZqVcFRDvQNe
+cFkAjM2/bZtR4qcxn/hZCmtIzqMksgZdX4om3p4mMKnS5iOC6wFbA0cq/7t17PNy
+wdDNZ2IyuwLuD7wXzG8=
+=IDjt
-----END PGP SIGNATURE-----
diff --git a/mail-mta/postfix/files/postfix-2.11.1-db6.patch b/mail-mta/postfix/files/postfix-2.11.1-db6.patch
new file mode 100644
index 000000000000..5f5cad406b0c
--- /dev/null
+++ b/mail-mta/postfix/files/postfix-2.11.1-db6.patch
@@ -0,0 +1,12 @@
+--- src/util/dict_db.c 2012-01-25 00:41:08.000000000 +0000
++++ src/util/dict_db.c 2014-06-25 18:56:10.000000000 +0000
+@@ -693,7 +688,8 @@
+ msg_fatal("set DB cache size %d: %m", dict_db_cache_size);
+ if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0)
+ msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM);
+-#if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
++#if DB_VERSION_MAJOR == 6 || DB_VERSION_MAJOR == 5 || \
++ (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
+ if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0)
+ FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags,
+ "open database %s: %m", db_path));
diff --git a/mail-mta/postfix/postfix-2.11.1-r1.ebuild b/mail-mta/postfix/postfix-2.11.1-r1.ebuild
new file mode 100644
index 000000000000..17365f6d1526
--- /dev/null
+++ b/mail-mta/postfix/postfix-2.11.1-r1.ebuild
@@ -0,0 +1,324 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/postfix-2.11.1-r1.ebuild,v 1.1 2014/08/07 05:55:54 eras Exp $
+
+EAPI=5
+inherit eutils flag-o-matic multilib pam ssl-cert systemd toolchain-funcs user versionator
+
+MY_PV="${PV/_pre/-}"
+MY_SRC="${PN}-${MY_PV}"
+MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/official"
+VDA_PV="2.10.0"
+VDA_P="${PN}-vda-v13-${VDA_PV}"
+RC_VER="2.7"
+
+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://vda.sourceforge.net/VDA/${VDA_P}.patch ) "
+
+LICENSE="IBM"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~x86"
+IUSE="+berkdb cdb doc dovecot-sasl hardened ldap ldap-bind lmdb memcached mbox mysql nis pam postgres sasl selinux sqlite ssl vda"
+
+DEPEND=">=dev-libs/libpcre-3.4
+ dev-lang/perl
+ berkdb? ( >=sys-libs/db-3.2 )
+ cdb? ( || ( >=dev-db/tinycdb-0.76 >=dev-db/cdb-0.75-r1 ) )
+ ldap? ( net-nds/openldap )
+ ldap-bind? ( net-nds/openldap[sasl] )
+ lmdb? ( >=dev-db/lmdb-0.9.11 )
+ mysql? ( virtual/mysql )
+ pam? ( virtual/pam )
+ postgres? ( dev-db/postgresql-base )
+ sasl? ( >=dev-libs/cyrus-sasl-2 )
+ selinux? ( sec-policy/selinux-postfix )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( >=dev-libs/openssl-0.9.6g )"
+
+RDEPEND="${DEPEND}
+ dovecot-sasl? ( net-mail/dovecot )
+ memcached? ( net-misc/memcached )
+ net-mail/mailbase
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/exim
+ !mail-mta/mini-qmail
+ !mail-mta/msmtp[mta]
+ !mail-mta/netqmail
+ !mail-mta/nullmailer
+ !mail-mta/qmail-ldap
+ !mail-mta/sendmail
+ !mail-mta/opensmtpd
+ !<mail-mta/ssmtp-2.64-r2
+ !>=mail-mta/ssmtp-2.64-r2[mta]
+ !net-mail/fastforward"
+
+REQUIRED_USE="ldap-bind? ( ldap sasl )"
+
+S="${WORKDIR}/${MY_SRC}"
+
+pkg_setup() {
+ # Add postfix, postdrop user/group (bug #77565)
+ enewgroup postfix 207
+ enewgroup postdrop 208
+ enewuser postfix 207 -1 /var/spool/postfix postfix,mail
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-db6.patch"
+ if use vda; then
+ epatch "${DISTDIR}"/${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"
+
+ epatch_user
+}
+
+src_configure() {
+ # 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 $(mysql_config --include)"
+ mylibs="${mylibs} $(mysql_config --libs)"
+ fi
+
+ if use postgres; then
+ mycc="${mycc} -DHAS_PGSQL -I$(pg_config --includedir)"
+ mylibs="${mylibs} -lpq -L$(pg_config --libdir)"
+ fi
+
+ if use sqlite; then
+ mycc="${mycc} -DHAS_SQLITE"
+ mylibs="${mylibs} -lsqlite3"
+ fi
+
+ if use ssl; then
+ mycc="${mycc} -DUSE_TLS"
+ mylibs="${mylibs} -lssl -lcrypto"
+ fi
+
+ if use lmdb; then
+ mycc="${mycc} -DHAS_LMDB"
+ mylibs="${mylibs} -llmdb"
+ fi
+
+ # broken. and "in other words, not supported" by upstream.
+ # Use inet_protocols setting in main.cf
+ #if ! use ipv6; then
+ # mycc="${mycc} -DNO_IPV6"
+ #fi
+
+ if use sasl; then
+ if use dovecot-sasl; then
+ # Set dovecot as default.
+ mycc="${mycc} -DDEF_SASL_SERVER=\\\"dovecot\\\""
+ fi
+ if use ldap-bind; then
+ mycc="${mycc} -DUSE_LDAP_SASL"
+ 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
+ mycc="${mycc} -DNO_NIS"
+ fi
+
+ if ! use berkdb; then
+ mycc="${mycc} -DNO_DB"
+ if use cdb; then
+ # change default hash format from Berkeley DB to cdb
+ mycc="${mycc} -DDEF_DB_TYPE=\\\"cdb\\\""
+ fi
+ fi
+
+ if use cdb; then
+ mycc="${mycc} -DHAS_CDB -I/usr/include/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
+
+ # 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
+
+ # Workaround for bug #76512
+ if use hardened; then
+ [[ "$(gcc-version)" == "3.4" ]] && replace-flags -O? -Os
+ fi
+
+ # Remove annoying C++ comment style warnings - bug #378099
+ append-flags -Wno-comment
+
+ sed -i -e "/^RANLIB/s/ranlib/$(tc-getRANLIB)/g" "${S}"/makedefs
+ sed -i -e "/^AR/s/ar/$(tc-getAR)/g" "${S}"/makedefs
+ emake DEBUG="" CC="$(tc-getCC)" OPT="${CFLAGS}" CCARGS="${mycc}" AUXLIBS="${mylibs}" makefiles
+}
+
+src_install () {
+ local myconf
+ use doc && myconf="readme_directory=\"/usr/share/doc/${PF}/readme\" \
+ html_directory=\"/usr/share/doc/${PF}/html\""
+
+ /bin/sh postfix-install \
+ -non-interactive \
+ install_root="${D}" \
+ config_directory="/etc/postfix" \
+ manpage_directory="/usr/share/man" \
+ command_directory="/usr/sbin" \
+ mailq_path="/usr/bin/mailq" \
+ newaliases_path="/usr/bin/newaliases" \
+ sendmail_path="/usr/sbin/sendmail" \
+ ${myconf} \
+ || 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
+
+ # Provide another link for legacy FSH
+ dosym /usr/sbin/sendmail /usr/$(get_libdir)/sendmail
+
+ # Install qshape tool and posttls-finger
+ dobin auxiliary/qshape/qshape.pl
+ doman man/man1/qshape.1
+ dobin bin/posttls-finger
+ doman man/man1/posttls-finger.1
+
+ # 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 -R 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
+ 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
+ # do not start mysql/postgres unnecessarily - bug #359913
+ use mysql || sed -i -e "s/mysql //" "${D}/etc/init.d/postfix"
+ use postgres || sed -i -e "s/postgresql //" "${D}/etc/init.d/postfix"
+
+ dodoc *README COMPATIBILITY HISTORY PORTING RELEASE_NOTES*
+ mv "${D}"/etc/postfix/{*.default,makedefs.out} "${D}"/usr/share/doc/${PF}/
+ use doc && mv "${S}"/examples "${D}"/usr/share/doc/${PF}/
+
+ pamd_mimic_system smtp auth account
+
+ if use sasl; then
+ insinto /etc/sasl2
+ newins "${FILESDIR}"/smtp.sasl smtpd.conf
+ fi
+
+ # header files
+ insinto /usr/include/postfix
+ doins include/*.h
+
+ # Remove unnecessary files
+ rm -f "${D}"/etc/postfix/{*LICENSE,access,aliases,canonical,generic}
+ rm -f "${D}"/etc/postfix/{header_checks,relocated,transport,virtual}
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+}
+
+pkg_preinst() {
+ # Postfix 2.9.
+ # default for inet_protocols changed from ipv4 to all in postfix-2.9.
+ # check inet_protocols setting in main.cf and modify if necessary to prevent
+ # performance loss with useless DNS lookups and useless connection attempts.
+ [[ -d ${ROOT}/etc/postfix ]] && {
+ if [[ "$(${D}/usr/sbin/postconf -dh inet_protocols)" != "ipv4" ]]; then
+ if [[ ! -n "$(${D}/usr/sbin/postconf -c ${ROOT}/etc/postfix -n inet_protocols)" ]];
+ then
+ ewarn "\nCOMPATIBILITY: adding inet_protocols=ipv4 to main.cf."
+ ewarn "That will keep the same behaviour as previous postfix versions."
+ ewarn "Specify inet_protocols explicitly if you want to enable IPv6.\n"
+ else
+ # delete inet_protocols setting. there is already one in /etc/postfix
+ sed -i -e /inet_protocols/d "${D}"/etc/postfix/main.cf || die
+ fi
+ fi
+ }
+}
+
+pkg_postinst() {
+ # 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
+
+ if [[ ! -e /etc/mail/aliases.db ]] ; then
+ ewarn
+ 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."
+ ewarn
+ fi
+
+ if [[ $(get_version_component_range 2 ${REPLACING_VERSIONS}) -lt 9 ]]; then
+ elog "If you are using old style postfix instances by symlinking"
+ elog "startup scripts in ${ROOT}etc/init.d, please consider"
+ elog "upgrading your config for postmulti support. For more info:"
+ elog "http://www.postfix.org/MULTI_INSTANCE_README.html"
+ if ! use berkdb; then
+ ewarn "\nPostfix is installed without BerkeleyDB support."
+ ewarn "Please turn on berkdb USE flag if you need hash or"
+ ewarn "btree table lookups.\n"
+ fi
+ ewarn "Postfix daemons now live under /usr/libexec/postfix"
+ ewarn "Please adjust your main.cf accordingly by running"
+ ewarn "etc-update/dispatch-conf or similar and accepting the new"
+ ewarn "daemon_directory setting."
+ fi
+}