diff options
author | Eray Aslan <eras@gentoo.org> | 2014-08-07 05:56:05 +0000 |
---|---|---|
committer | Eray Aslan <eras@gentoo.org> | 2014-08-07 05:56:05 +0000 |
commit | ce6b0d576b020f1f4e082788f6f2b90b34405477 (patch) | |
tree | 995234c904d47b11cd288f9ad0b5b18b5fa6238c /mail-mta/postfix | |
parent | Depend on sys-apps/dbus[systemd]. (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | mail-mta/postfix/Manifest | 32 | ||||
-rw-r--r-- | mail-mta/postfix/files/postfix-2.11.1-db6.patch | 12 | ||||
-rw-r--r-- | mail-mta/postfix/postfix-2.11.1-r1.ebuild | 324 |
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 +} |