diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
commit | d18bf1e01b65ee4bf0c804e2843b282d3d4e5d7c (patch) | |
tree | 4a95cbc6ffdf13bad6ecbc7f8d5af99631984123 /mail-mta/postfix | |
parent | e748ba9741f6540f4675c23e3e37b73e822c13a4 (diff) |
gentoo resync : 15.06.2021
Diffstat (limited to 'mail-mta/postfix')
-rw-r--r-- | mail-mta/postfix/Manifest | 8 | ||||
-rw-r--r-- | mail-mta/postfix/postfix-3.5.11.ebuild | 313 | ||||
-rw-r--r-- | mail-mta/postfix/postfix-3.6.1.ebuild | 289 | ||||
-rw-r--r-- | mail-mta/postfix/postfix-3.7_pre20210612.ebuild (renamed from mail-mta/postfix/postfix-3.7_pre20210424.ebuild) | 0 |
4 files changed, 608 insertions, 2 deletions
diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest index 7af86886b7f3..d4eedfd6908a 100644 --- a/mail-mta/postfix/Manifest +++ b/mail-mta/postfix/Manifest @@ -3,13 +3,17 @@ AUX postfix.service 662 BLAKE2B dcf9ceb71ad483b580d126fcb5ac68889cdeb898df3333d3 AUX smtp.pass 29 BLAKE2B 589915bd2856fa64e22caa12fca54ef342eb07606de38d3879c13ac395413c84de6c3b733c83cc0625a4433167efcc7d504b2f87fa26c05b2facde9c3d103021 SHA512 a8a940099a77ea0547004daf5392a6efc0cd643f10072803d65e37763012464ad25b1b925ae9e32bffb3c3e8a5d4b2d3bb5619a174d58fdc4ea5d4090db0d365 AUX smtp.sasl 42 BLAKE2B 67e9108101779b6027fa1e5cc7c9256a606d440e15bb037a0da186e6b4983ab26e88ede2f0604737c78144c03e182f66005062f1d49e10443d1ddb9757461d1f SHA512 a48e2bd173c4443dd2c389f6973a541dbcba4223b52b42b409a68d934a7fc82a98d4027267befcd5db6ec628cce6a9dffdf044e6fbd774b6e748f07f4106db47 DIST postfix-3.5.10.tar.gz 4621130 BLAKE2B 32a0ef43131c1bff319fb8a159e78a4fd81aba85aa2c8aab3020d575e6216a1e5fb4612a4aa3693b62de5825a29bf5ea1c1870835f033569a5d2d3e494306ef1 SHA512 5845701d3dcdaaea376a44810a84dbe908e96e5ff54921cd40fd2d5c5643ed8e4add5936e149237fea4cb69c1ffb4ceb4171d1e779be096aa21a6e5021b604da +DIST postfix-3.5.11.tar.gz 4621709 BLAKE2B 8c6ed5047790f121b1e248a3c8985c04a95a4071a960376c9a1b31cabdbb6a8b0ee9a378fb813061442c7aad98956ed4917e92155ed3b7ea10369a41eec20d58 SHA512 a1fb3ef8114fc044e9e51af115ffce8c3b3668c1c7123915f728b2b2dadc4418d07af520377512733214e3aae2490d608fd2776de86c5e9300bb29ab92348d6e DIST postfix-3.5.8.tar.gz 4614733 BLAKE2B 13166e854f70987f981bb5e7e5dabfaa73b3170ab16fc1ff8f70f6b98a0697ac980bdf74bbfb39fdfd1972f922a31a28882b1575b79fd8f01d81e08e68d756bc SHA512 0abb07d99e343b76e6a26b4a090af9d592f4dfd03c8c737cc72bfb0f4267dafcbb0cb0aa7b6255f8b834c9289d89a5c47b167be3758239309937cb77e0d9464b DIST postfix-3.5.9.tar.gz 4620852 BLAKE2B 66a7bd71e7f74c8f25963ed8d41f04f1f95e060fd23c848065a0e947e766efe058e6593ed8ce1f69528f5b2e9868756d0ea0622b3d77486852882622dd3bb872 SHA512 9ff3a33cdd5811e470d5c6cfa896fa76e4d3257b139deec5f420d18e34232f327b7c8496c5d13566c6f9ae1fdf8719feb9981372b2869b0208a2eb3a1daaeadd DIST postfix-3.6.0.tar.gz 4748506 BLAKE2B f4692500cb78e82cede48d750eb86db61dc67ba1d69d220d24c965b57941402a5bf157b4a69d65133d37ce3d9e1341260d07ebd4477184b3caa56b22fd13b4f5 SHA512 af326472333935de111d7f7025af53a1dfd84382c2d2891e91624ce665c258831f28d92fd73d1ab68f82192d9848025bd30d16eb48b3912b46e3fb50dbf194bf -DIST postfix-3.7-20210424.tar.gz 4738620 BLAKE2B 106a9e6eaaa0e1a0595736ad7f6bb6d9bb1e8e4f563b34c6e0e9bf744744e1b22d9c5ce35ac71fa0a40d698908b18ab91924083e847feb0a95b14aa45236fb6e SHA512 7661c4c597ecf14a7ac350b3ba2d0dccb39ab1d4d67791fe3cc995e8b1a4256e2473170330607ccbd3b361fad20c78013f94a04b6759fe7b5375592539f2edb8 +DIST postfix-3.6.1.tar.gz 4748754 BLAKE2B c64d8f4c12cd7cb39bd15c371c20db4aa61b39120b6c078eda7c48c94d65e181b51ac8f74f3231791fc3ad6c0d04f74975f50776f984ffa9b9f8a4c5c99cbade SHA512 6f83a6aa55bd442fe005b35c7470483ff5ba6781121f783b07ef454580354fc5c85d0d5106936810d6bef0f5592937f0863eec3b82e138caac7694e2a3bb7bc3 +DIST postfix-3.7-20210612.tar.gz 4747624 BLAKE2B 1e1dd5969885c8af6f4c59bfd0c0860b64c372ba5662a89a4e39800054c3077a9bb85c2bab262173bd22a7ed02b4c7b6d53971a74a589655250da398851babe8 SHA512 a539a912ae679450e8f19a24593d4a4f70409c266b14404743dffdc9ecd7b843e414dcb84c47f15bdb0b754c06b65d3aa6b7bbc037db56c4339f9da762896099 EBUILD postfix-3.5.10.ebuild 8698 BLAKE2B 40aed4bdcc1a9eddec5e0660999adea5b8f31a04dcbd0494155940c8b9545ba232796ec059632d0c863b306a32deeac109e93c6bd3c4a1d2c19facb26e59ff56 SHA512 603e713ce215b54ff9726f27cbfa70d5f09d35e892f21ea8644ba3c1e8164f4c520922078f2e24284543791369fadee52b566d75fd5fdf9d7027c7e4af428a13 +EBUILD postfix-3.5.11.ebuild 8698 BLAKE2B 40aed4bdcc1a9eddec5e0660999adea5b8f31a04dcbd0494155940c8b9545ba232796ec059632d0c863b306a32deeac109e93c6bd3c4a1d2c19facb26e59ff56 SHA512 603e713ce215b54ff9726f27cbfa70d5f09d35e892f21ea8644ba3c1e8164f4c520922078f2e24284543791369fadee52b566d75fd5fdf9d7027c7e4af428a13 EBUILD postfix-3.5.8-r1.ebuild 8693 BLAKE2B e0ca3baeabcb4b0e703115c6839b4b0e0d75c789421c8fbd0aaeccff22630f797f11e5b8cc5ae1f09d21773f257a5edc117392b377d9c743e5de62cf42289540 SHA512 7ff76d64ab024375f4d015634898f1f8475d349ed9718c40e02ffad2abddfb32676b076168bc0bdb35f78b4e95df596d1fd286b95b9d5a7fb57d4c8188dd46b2 EBUILD postfix-3.5.9-r1.ebuild 8698 BLAKE2B 40aed4bdcc1a9eddec5e0660999adea5b8f31a04dcbd0494155940c8b9545ba232796ec059632d0c863b306a32deeac109e93c6bd3c4a1d2c19facb26e59ff56 SHA512 603e713ce215b54ff9726f27cbfa70d5f09d35e892f21ea8644ba3c1e8164f4c520922078f2e24284543791369fadee52b566d75fd5fdf9d7027c7e4af428a13 EBUILD postfix-3.6.0.ebuild 7984 BLAKE2B 30ccb9c5339e0cf795b97e6228a5190d0bbce455d1a254b536fc684f767e82ed54d80f3291847ea0dc52f5c05d9c0e5e0309f5f4fad05bc8fa49de98c48c3e11 SHA512 5cefa9c8a1a6b83f0158e704f69fd2f6a9633c801e3051c5abe6fcff5c4213c514b93629c0f620823d0166c329126967b10fb51206e43b0cda03e0f145966634 -EBUILD postfix-3.7_pre20210424.ebuild 7984 BLAKE2B 8ff4ea5764bf32b9950ec05d0128bd86f37a2379d97112863c56b55f7d823c4d1d96053c35235b707c92d4b3bec8307ce401d386cc9ebd1661b1a6725e52ad02 SHA512 0f06f240cdbb600cedac028f95f12e35562d88dd1bfebce4d750458ec8c207441ade65838931b986140d4dc148dd8189c2fd78ff7afc8b1b8199a4df6020b476 +EBUILD postfix-3.6.1.ebuild 7984 BLAKE2B 30ccb9c5339e0cf795b97e6228a5190d0bbce455d1a254b536fc684f767e82ed54d80f3291847ea0dc52f5c05d9c0e5e0309f5f4fad05bc8fa49de98c48c3e11 SHA512 5cefa9c8a1a6b83f0158e704f69fd2f6a9633c801e3051c5abe6fcff5c4213c514b93629c0f620823d0166c329126967b10fb51206e43b0cda03e0f145966634 +EBUILD postfix-3.7_pre20210612.ebuild 7984 BLAKE2B 8ff4ea5764bf32b9950ec05d0128bd86f37a2379d97112863c56b55f7d823c4d1d96053c35235b707c92d4b3bec8307ce401d386cc9ebd1661b1a6725e52ad02 SHA512 0f06f240cdbb600cedac028f95f12e35562d88dd1bfebce4d750458ec8c207441ade65838931b986140d4dc148dd8189c2fd78ff7afc8b1b8199a4df6020b476 MISC metadata.xml 939 BLAKE2B 01474efe62df1eda9a3ba5976847064d615b3c32d9c71838354ef375c851c7ab4d1fcc2bc0d2945ce3d259fc6a698938cee6d1354c4e0f02f1e66395e377a0c5 SHA512 8602700c2a21b66ecf2c024c06ce23452f7effd9c06a5d58c1ccb351bcdef43a3c89575cc9136efc72fcd4e06ecb0654017b51bb145e7ffeeda771e3f4e7a673 diff --git a/mail-mta/postfix/postfix-3.5.11.ebuild b/mail-mta/postfix/postfix-3.5.11.ebuild new file mode 100644 index 000000000000..e68677152aa4 --- /dev/null +++ b/mail-mta/postfix/postfix-3.5.11.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic pam systemd toolchain-funcs + +MY_PV="${PV/_rc/-RC}" +MY_SRC="${PN}-${MY_PV}" +MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/official" +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" + +LICENSE="|| ( IBM EPL-2.0 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="+berkdb cdb dovecot-sasl +eai hardened ldap ldap-bind lmdb memcached mbox mysql nis pam postgres sasl selinux sqlite ssl" + +DEPEND=" + acct-group/postfix + acct-group/postdrop + acct-user/postfix + >=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-r4 ) ) + eai? ( dev-libs/icu:= ) + ldap? ( net-nds/openldap ) + ldap-bind? ( net-nds/openldap[sasl] ) + lmdb? ( >=dev-db/lmdb-0.9.11 ) + mysql? ( dev-db/mysql-connector-c:0= ) + nis? ( net-libs/libnsl ) + pam? ( sys-libs/pam ) + postgres? ( dev-db/postgresql:* ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( + dev-libs/openssl:0= + )" + +RDEPEND="${DEPEND} + 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[mta] + !net-mail/fastforward + selinux? ( sec-policy/selinux-postfix )" + +REQUIRED_USE="ldap-bind? ( ldap sasl )" + +S="${WORKDIR}/${MY_SRC}" + +src_prepare() { + default + 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_configure() { + for name in CDB LDAP LMDB MYSQL PCRE PGSQL SDBM SQLITE + do + local AUXLIBS_${name}="" + done + + # Make sure LDFLAGS get passed down to the executables. + local mycc="-DHAS_PCRE" mylibs="${LDFLAGS} -ldl" + AUXLIBS_PCRE="$(pcre-config --libs)" + + use pam && mylibs="${mylibs} -lpam" + + if use ldap; then + mycc="${mycc} -DHAS_LDAP" + AUXLIBS_LDAP="-lldap -llber" + fi + + if use mysql; then + mycc="${mycc} -DHAS_MYSQL $(mysql_config --include)" + AUXLIBS_MYSQL="$(mysql_config --libs)" + fi + + if use postgres; then + mycc="${mycc} -DHAS_PGSQL -I$(pg_config --includedir)" + AUXLIBS_PGSQL="-L$(pg_config --libdir) -lpq" + fi + + if use sqlite; then + mycc="${mycc} -DHAS_SQLITE" + AUXLIBS_SQLITE="-lsqlite3 -lpthread" + fi + + if use ssl; then + mycc="${mycc} -DUSE_TLS" + mylibs="${mylibs} -lssl -lcrypto" + fi + + if use lmdb; then + mycc="${mycc} -DHAS_LMDB" + AUXLIBS_LMDB="-llmdb -lpthread" + fi + + if ! use eai; then + mycc="${mycc} -DNO_EAI" + 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" + # Tinycdb is preferred. + if has_version dev-db/tinycdb ; then + einfo "Building with dev-db/tinycdb" + AUXLIBS_CDB="-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 + AUXLIBS_CDB="${AUXLIBS_CDB} ${CDB_PATH}/${i}" + done + fi + 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 makefiles shared=yes dynamicmaps=no pie=yes \ + shlib_directory="/usr/$(get_libdir)/postfix/MAIL_VERSION" \ + DEBUG="" CC="$(tc-getCC)" OPT="${CFLAGS}" CCARGS="${mycc}" AUXLIBS="${mylibs}" \ + AUXLIBS_CDB="${AUXLIBS_CDB}" AUXLIBS_LDAP="${AUXLIBS_LDAP}" \ + AUXLIBS_LMDB="${AUXLIBS_LMDB}" AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" \ + AUXLIBS_PCRE="${AUXLIBS_PCRE}" AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" \ + AUXLIBS_SQLITE="${AUXLIBS_SQLITE}" +} + +src_install() { + LD_LIBRARY_PATH="${S}/lib" \ + /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" \ + || 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 ../sbin/sendmail /usr/$(get_libdir)/sendmail + + # Install qshape, posttls-finger and collate + dobin auxiliary/qshape/qshape.pl + doman man/man1/qshape.1 + dobin bin/posttls-finger + doman man/man1/posttls-finger.1 + dobin auxiliary/collate/collate.pl + newdoc auxiliary/collate/README README.collate + + # 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 + 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 02755 /usr/sbin/post{drop,queue} + + keepdir /etc/postfix + keepdir /etc/postfix/postfix-files.d + if use mbox; then + mypostconf="mail_spool_directory=/var/spool/mail" + else + mypostconf="home_mailbox=.maildir/" + fi + LD_LIBRARY_PATH="${S}/lib" \ + "${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 "${S}"/examples "${D}"/usr/share/doc/${PF}/ + # postfix set-permissions expects uncompressed man files + docompress -x /usr/share/man + + if use pam; then + pamd_mimic_system smtp auth account + fi + + if use sasl; then + insinto /etc/sasl2 + newins "${FILESDIR}"/smtp.sasl smtpd.conf + fi + + # header files + insinto /usr/include/postfix + doins include/*.h + + if has_version mail-mta/postfix; then + # let the sysadmin decide when to change the compatibility_level + sed -i -e /^compatibility_level/"s/^/#/" "${D}"/etc/postfix/main.cf || die + fi + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_preinst() { + if has_version '<mail-mta/postfix-3.4'; then + elog + elog "Postfix-3.4 introduces a new master.cf service 'postlog'" + elog "with type 'unix-dgram' that is used by the new postlogd(8) daemon." + elog "Before backing out to an older Postfix version, edit the master.cf" + elog "file and remove the postlog entry." + elog + fi +} + +pkg_postinst() { + 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 + + # check and fix file permissions + "${EROOT}"/usr/sbin/postfix set-permissions + + # configure tls + if use ssl ; then + if "${EROOT}"/usr/sbin/postfix tls all-default-client; then + elog "To configure client side TLS settings:" + elog "${EROOT}"/usr/sbin/postfix tls enable-client + fi + if "${EROOT}"/usr/sbin/postfix tls all-default-server; then + elog "To configure server side TLS settings:" + elog "${EROOT}"/usr/sbin/postfix tls enable-server + fi + fi +} diff --git a/mail-mta/postfix/postfix-3.6.1.ebuild b/mail-mta/postfix/postfix-3.6.1.ebuild new file mode 100644 index 000000000000..96598ffacec1 --- /dev/null +++ b/mail-mta/postfix/postfix-3.6.1.ebuild @@ -0,0 +1,289 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit pam systemd toolchain-funcs + +MY_PV="${PV/_rc/-RC}" +MY_SRC="${PN}-${MY_PV}" +MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/official" +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" + +LICENSE="|| ( IBM EPL-2.0 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="+berkdb cdb dovecot-sasl +eai ldap ldap-bind lmdb memcached mbox mysql nis pam postgres sasl selinux sqlite ssl" + +DEPEND=" + acct-group/postfix + acct-group/postdrop + acct-user/postfix + >=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-r4 ) ) + eai? ( dev-libs/icu:= ) + ldap? ( net-nds/openldap ) + ldap-bind? ( net-nds/openldap[sasl] ) + lmdb? ( >=dev-db/lmdb-0.9.11 ) + mysql? ( dev-db/mysql-connector-c:0= ) + nis? ( net-libs/libnsl ) + pam? ( sys-libs/pam ) + postgres? ( dev-db/postgresql:* ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( >=dev-libs/openssl-1.1.1:0= ) + " + +RDEPEND="${DEPEND} + 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[mta] + !net-mail/fastforward + selinux? ( sec-policy/selinux-postfix )" + +REQUIRED_USE="ldap-bind? ( ldap sasl )" + +S="${WORKDIR}/${MY_SRC}" + +src_prepare() { + default + 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_configure() { + for name in CDB LDAP LMDB MYSQL PCRE PGSQL SDBM SQLITE + do + local AUXLIBS_${name}="" + done + + # Make sure LDFLAGS get passed down to the executables. + local mycc="-DHAS_PCRE" mylibs="${LDFLAGS} -ldl" + AUXLIBS_PCRE="$(pcre-config --libs)" + + use pam && mylibs="${mylibs} -lpam" + + if use ldap; then + mycc="${mycc} -DHAS_LDAP" + AUXLIBS_LDAP="-lldap -llber" + fi + + if use mysql; then + mycc="${mycc} -DHAS_MYSQL $(mysql_config --include)" + AUXLIBS_MYSQL="$(mysql_config --libs)" + fi + + if use postgres; then + mycc="${mycc} -DHAS_PGSQL -I$(pg_config --includedir)" + AUXLIBS_PGSQL="-L$(pg_config --libdir) -lpq" + fi + + if use sqlite; then + mycc="${mycc} -DHAS_SQLITE" + AUXLIBS_SQLITE="-lsqlite3 -lpthread" + fi + + if use ssl; then + mycc="${mycc} -DUSE_TLS" + mylibs="${mylibs} -lssl -lcrypto" + fi + + if use lmdb; then + mycc="${mycc} -DHAS_LMDB" + AUXLIBS_LMDB="-llmdb -lpthread" + fi + + if ! use eai; then + mycc="${mycc} -DNO_EAI" + 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" + # Tinycdb is preferred. + if has_version dev-db/tinycdb ; then + einfo "Building with dev-db/tinycdb" + AUXLIBS_CDB="-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 + AUXLIBS_CDB="${AUXLIBS_CDB} ${CDB_PATH}/${i}" + done + fi + fi + + sed -i -e "/^RANLIB/s/ranlib/$(tc-getRANLIB)/g" "${S}"/makedefs + sed -i -e "/^AR/s/ar/$(tc-getAR)/g" "${S}"/makedefs + + emake makefiles shared=yes dynamicmaps=no pie=yes \ + shlib_directory="/usr/$(get_libdir)/postfix/MAIL_VERSION" \ + DEBUG="" CC="$(tc-getCC)" OPT="${CFLAGS}" CCARGS="${mycc}" AUXLIBS="${mylibs}" \ + AUXLIBS_CDB="${AUXLIBS_CDB}" AUXLIBS_LDAP="${AUXLIBS_LDAP}" \ + AUXLIBS_LMDB="${AUXLIBS_LMDB}" AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" \ + AUXLIBS_PCRE="${AUXLIBS_PCRE}" AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" \ + AUXLIBS_SQLITE="${AUXLIBS_SQLITE}" +} + +src_install() { + LD_LIBRARY_PATH="${S}/lib" \ + /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" \ + || 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 ../sbin/sendmail /usr/$(get_libdir)/sendmail + + # Install qshape, posttls-finger and collate and tlstype + dobin auxiliary/qshape/qshape.pl + doman man/man1/qshape.1 + dobin bin/posttls-finger + doman man/man1/posttls-finger.1 + dobin auxiliary/collate/collate.pl + newdoc auxiliary/collate/README README.collate + dobin auxiliary/collate/tlstype.pl + dodoc auxiliary/collate/README.tlstype + + # 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 + 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 02755 /usr/sbin/post{drop,queue} + + keepdir /etc/postfix + keepdir /etc/postfix/postfix-files.d + if use mbox; then + mypostconf="mail_spool_directory=/var/spool/mail" + else + mypostconf="home_mailbox=.maildir/" + fi + LD_LIBRARY_PATH="${S}/lib" \ + "${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 "${S}"/examples "${D}"/usr/share/doc/${PF}/ + # postfix set-permissions expects uncompressed man files + docompress -x /usr/share/man + + if use pam; then + pamd_mimic_system smtp auth account + fi + + if use sasl; then + insinto /etc/sasl2 + newins "${FILESDIR}"/smtp.sasl smtpd.conf + fi + + # header files + insinto /usr/include/postfix + doins include/*.h + + if has_version mail-mta/postfix; then + # let the sysadmin decide when to change the compatibility_level + sed -i -e /^compatibility_level/"s/^/#/" "${D}"/etc/postfix/main.cf || die + fi + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + 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 + + # check and fix file permissions + "${EROOT}"/usr/sbin/postfix set-permissions + + # configure tls + if use ssl ; then + if "${EROOT}"/usr/sbin/postfix tls all-default-client; then + elog "To configure client side TLS settings:" + elog "${EROOT}"/usr/sbin/postfix tls enable-client + fi + if "${EROOT}"/usr/sbin/postfix tls all-default-server; then + elog "To configure server side TLS settings:" + elog "${EROOT}"/usr/sbin/postfix tls enable-server + fi + fi +} diff --git a/mail-mta/postfix/postfix-3.7_pre20210424.ebuild b/mail-mta/postfix/postfix-3.7_pre20210612.ebuild index 5abe1a30db9f..5abe1a30db9f 100644 --- a/mail-mta/postfix/postfix-3.7_pre20210424.ebuild +++ b/mail-mta/postfix/postfix-3.7_pre20210612.ebuild |