From 85e7fcfe5631986ad1144ea54fc179d8658571d3 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 25 Mar 2025 00:31:50 +0000 Subject: gentoo auto-resync : 25:03:2025 - 00:31:49 --- mail-mta/Manifest.gz | Bin 2381 -> 2379 bytes mail-mta/postfix/Manifest | 4 +- mail-mta/postfix/postfix-3.11_pre20250304.ebuild | 321 ----------------------- mail-mta/postfix/postfix-3.11_pre20250323.ebuild | 321 +++++++++++++++++++++++ 4 files changed, 323 insertions(+), 323 deletions(-) delete mode 100644 mail-mta/postfix/postfix-3.11_pre20250304.ebuild create mode 100644 mail-mta/postfix/postfix-3.11_pre20250323.ebuild (limited to 'mail-mta') diff --git a/mail-mta/Manifest.gz b/mail-mta/Manifest.gz index 191f0fcd72ff..658ecdd022fe 100644 Binary files a/mail-mta/Manifest.gz and b/mail-mta/Manifest.gz differ diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest index 4b97970aebd8..b67ae19a0980 100644 --- a/mail-mta/postfix/Manifest +++ b/mail-mta/postfix/Manifest @@ -5,13 +5,13 @@ AUX smtp.pass 29 BLAKE2B 589915bd2856fa64e22caa12fca54ef342eb07606de38d3879c13ac AUX smtp.sasl 42 BLAKE2B 67e9108101779b6027fa1e5cc7c9256a606d440e15bb037a0da186e6b4983ab26e88ede2f0604737c78144c03e182f66005062f1d49e10443d1ddb9757461d1f SHA512 a48e2bd173c4443dd2c389f6973a541dbcba4223b52b42b409a68d934a7fc82a98d4027267befcd5db6ec628cce6a9dffdf044e6fbd774b6e748f07f4106db47 DIST postfix-3.10.0.tar.gz 5047589 BLAKE2B b1788cabe0e2013ae01f3f8b8d78e2a191e2d439ce7a60948216f36201096027c3b926e23494fe6ccaced715a2ef2640a3420965ce94ada1fe5a7a1c65ac3022 SHA512 dbb492ce7747c196ca99a345bcafe7f0d905f80e38ecf680ab8976d3391a1eb1c80e4b0fec487947ed793a3163e39a9fcd34dc6f172dee7cac4c11a1ef76275e DIST postfix-3.10.1.tar.gz 5047708 BLAKE2B ff2ff4a6fc61eb7f513124abc7a03f69b4c195967816a28a4708fbe7256e78959d499941747ef2fea7999bd2754e2e640e98e247a7870449cffb66ebf30ffee9 SHA512 f977668a3475493c679884fb06e7b6aee33e082b2a828e63e1f67515907ded7b406468d2bb03685275b9cde50ac04c03415876119401d0ca45c5b28ca0277cfe -DIST postfix-3.11-20250304.tar.gz 5048687 BLAKE2B b32cb9323e37156241272065eb6461bc9e2a6c06b836d136ac2d01f460b13e75a64bf6de5cdf7f13a0e9a49e9871ce07db572fde7f5fe0c9aa3f67781456b158 SHA512 2cc46ad514f1315f60af6066d936832257b57446926c88b51191348397a696efad1790f7acc0d15ceec53ab743994e1adc5f7c18185b3bf2ae89b0eeca6d1a10 +DIST postfix-3.11-20250323.tar.gz 5052693 BLAKE2B b62e4b44fcc4059e392df2a20159a4a216ecbc592f280c2c981c56cfbbcd3e2bbbb5dd48cb1d2042e7c462829460927a7d622da92f8c7e5ffa92d64549c627b1 SHA512 71461277ffad0e8cf0d20aa79983b4e4e8fe6028cdae28b25892cb004586b897a8fdf61a3344064fe450811e16421282b5ad8f9df0c70e15b6045d6aa9d422d3 DIST postfix-3.9.1.tar.gz 4953855 BLAKE2B 78be7bf0f0d9e46429b40f98ddc98cac442cfdb404d77073346c973f3d0d4c52f299fc7f5d64bddaaf2db60dd234c52790f1efe4995faee8e2cd10c6f8e2096f SHA512 79109d9f19e51d9089a0f2b5c6134972148a6e1a7e385aabc79c0a32e09c78715ad94a93ae3eca1171b770c62d6bf3b8e079b94183ae851001db1a0cf21fff15 DIST postfix-3.9.2.tar.gz 4956185 BLAKE2B 539a09282e939a62de1f7aab4648a399872df744cb6e6ec4bd63c5281ada9c439c953e5da524d59dfe3c59debab8a6933046a6099efff2688dc1b3824edaa35d SHA512 14154077bd474283e522c427d9e45b3599be0c748c0bd2131309fcc506162e8522669a230c1a35bb467a5216d7e99c3d9685fc8f581232cd12e9337ea48d1981 DIST postfix-3.9.3.tar.gz 4956314 BLAKE2B 01d69092483f3894a54489c7455a4a1a0125e13b3e7675316ce0a34a193004c488a123c473d243f6b3ca6e288807a7251d165d64f0e448e198ebee6422e97851 SHA512 7539d81296da6d7d569a1f7ad0cee413a87e0293f09b5fbcc7d4b847dfbfba02c106a4d6be87c7443831fee1d0d6cc7fa152133dd784e960865afc240fda1946 EBUILD postfix-3.10.0.ebuild 8662 BLAKE2B d99988d74ea625d54f99aba1869680415fc5e24782f40460f3d2155ad162fd703a900917b924ccc0c987308f2ec911163e0fbca43d3f2e7655974a8da36cf000 SHA512 2c5e1a6e30688bb6fe92e42fcecb59ca99bfcd41a8d3efad1e616287f47147ad9327e8f94f7088a5024d5aa77263fd90efacf5f4efd98a95c0624b79d72169fa EBUILD postfix-3.10.1.ebuild 8685 BLAKE2B cf9fe63dedb5a30c80612254ce57ad16921ed387cc5393bb5caf7c821ca14b83b10fb4bb77b173fd29f994e90e71a5f3aa4ad99e3867abda51525a2248a05ec3 SHA512 ccb4b3ba8037ed65287d0b96091d5b2909bc8e9c88b8e1fd64d8b2184dde9b046ab90fa7712e84f1ed40e131e48131372b016eb03f22b4b269271f702703ad6a -EBUILD postfix-3.11_pre20250304.ebuild 8671 BLAKE2B 4c92f57998a99c701140ab6b9f8177813bd7f038e124cfdb32a4abb83b0ffd0d9bc635a9ff45b6725263f68b6b9d91dc79f0298c3a55a933e7124a73b6cc6a17 SHA512 bc9d4be8c5295f8fa8551ec0d2b5873f1cfb600152c05c3c45a736d239a1695f6e7c93aa52a742f56fbf28612f21d84fb28a8c1a62a5cd4dbca2c94b3c65f3aa +EBUILD postfix-3.11_pre20250323.ebuild 8689 BLAKE2B c7a4118ff266f0d65eeb36a9e9ca3e5fa7705715d3189bf31b9ea82028cfaee01ed0fda9943d5105d1bd585dba8eb73c0d961d5c8f61eacc59fb9034c008eaa6 SHA512 692fa10f47f9411051ead09327bb0dea5ed3ab815726a889c221c6e79c1e4d6fc5e310720b3e65915a94381b58df410ee1464630af01773a5ed5b0f274c32ee5 EBUILD postfix-3.9.1.ebuild 8591 BLAKE2B 5a82a288c9ae6a7e911da8e3116cef14042773ca0d1283999ed9e712ae5a90233c4bd5fa799be004091462edeac7a89da89740303f56ff25d1bb58439b2837d7 SHA512 0892d66dcce4edbf1b4c4ae5831c0816cd87aeefd2918dbacf543231a1f5691101c06cc32ca0035c0330139f0509456f6298ba80dc8272ac3c9a3640ae6bee19 EBUILD postfix-3.9.2.ebuild 8597 BLAKE2B 1e5db8da4849adcaccd19d7809a7cdfcf8661870ce9b2a6fbef9b57dd1d772697b24a83b16a102eab6d70efc0869db8c877e7206bb0843a00b95f6e4364f197b SHA512 46885b2e52c12a15959aae26e95f758b347809b1ed594d75c2ba29bee99460a6ecf3f30006e7b9f650da4094255e46bb029649fae172ee0ed397f4f7106fc0fc EBUILD postfix-3.9.3.ebuild 8597 BLAKE2B 1e5db8da4849adcaccd19d7809a7cdfcf8661870ce9b2a6fbef9b57dd1d772697b24a83b16a102eab6d70efc0869db8c877e7206bb0843a00b95f6e4364f197b SHA512 46885b2e52c12a15959aae26e95f758b347809b1ed594d75c2ba29bee99460a6ecf3f30006e7b9f650da4094255e46bb029649fae172ee0ed397f4f7106fc0fc diff --git a/mail-mta/postfix/postfix-3.11_pre20250304.ebuild b/mail-mta/postfix/postfix-3.11_pre20250304.ebuild deleted file mode 100644 index 0ed8bd78cd0f..000000000000 --- a/mail-mta/postfix/postfix-3.11_pre20250304.ebuild +++ /dev/null @@ -1,321 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit flag-o-matic pam systemd toolchain-funcs - -MY_PV="${PV/_pre/-}" -MY_SRC="${PN}-${MY_PV}" -MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/experimental" -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" -S="${WORKDIR}/${MY_SRC}" - -LICENSE="|| ( IBM EPL-2.0 )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~sparc ~x86" - -IUSE="+berkdb cdb dovecot-sasl +eai ldap ldap-bind lmdb mbox memcached mongodb mysql nis pam postgres sasl selinux sqlite ssl tlsrpt" - -DEPEND=" - acct-group/postfix - acct-group/postdrop - acct-user/postfix - dev-libs/libpcre2:0 - 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:= ) - mongodb? ( >=dev-libs/mongo-c-driver-1.23.0 >=dev-libs/libbson-1.23.0 ) - 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= ) - tlsrpt? ( net-libs/libtlsrpt ) - " - -RDEPEND="${DEPEND} - memcached? ( net-misc/memcached ) - net-mail/mailbase - !mail-mta/courier - !mail-mta/esmtp - !mail-mta/exim - !mail-mta/msmtp[mta] - !mail-mta/netqmail - !mail-mta/nullmailer - !mail-mta/sendmail - !mail-mta/opensmtpd - !mail-mta/ssmtp[mta] - selinux? ( sec-policy/selinux-postfix )" - -# require at least one db implementation for newalias (and postmap) -# command to function properly -REQUIRED_USE=" - || ( berkdb cdb lmdb ) - ldap-bind? ( ldap sasl ) - tlsrpt? ( ssl ) - " - -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() { - # bug #915670 - unset LD_LIBRARY_PATH - - # https://marc.info/?l=postfix-users&m=173542420611213&w=2 (bug #945733) - append-cflags -std=gnu17 - - for name in CDB LDAP LMDB MONGODB MYSQL PCRE PGSQL SDBM SQLITE TLSRPT - do - local AUXLIBS_${name}="" - done - - # Make sure LDFLAGS get passed down to the executables. - local mycc="" mylibs="${LDFLAGS} -ldl" - - # libpcre is EOL. prefer libpcre2 - mycc=" -DHAS_PCRE=2" - AUXLIBS_PCRE="$(pcre2-config --libs8)" - - use pam && mylibs="${mylibs} -lpam" - - if use ssl; then - mycc="${mycc} -DUSE_TLS" - mylibs="${mylibs} -lssl -lcrypto" - fi - - if ! use eai; then - mycc="${mycc} -DNO_EAI" - fi - - if use ldap; then - mycc="${mycc} -DHAS_LDAP" - AUXLIBS_LDAP="-lldap -llber" - fi - - if use lmdb; then - mycc="${mycc} -DHAS_LMDB" - AUXLIBS_LMDB="-llmdb -lpthread" - fi - - if use mongodb; then - mycc="${mycc} -DHAS_MONGODB $(pkg-config --cflags libmongoc-1.0)" - AUXLIBS_MONGODB="-lmongoc-1.0 -lbson-1.0" - 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 tlsrpt; then - mycc="${mycc} -DUSE_TLSRPT" - AUXLIBS_TLSRPT="-ltlsrpt" - 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" - # change default database type - if use lmdb; then - mycc="${mycc} -DDEF_DB_TYPE=\\\"lmdb\\\"" - elif use cdb; then - 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 - AUXLIBS_CDB="-lcdb" - else - 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_TLSRPT}" \ - AUXLIBS_CDB="${AUXLIBS_CDB}" \ - AUXLIBS_LDAP="${AUXLIBS_LDAP}" \ - AUXLIBS_LMDB="${AUXLIBS_LMDB}" \ - AUXLIBS_MONGODB="${AUXLIBS_MONGODB}" \ - AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" \ - AUXLIBS_PCRE="${AUXLIBS_PCRE}" \ - AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" \ - AUXLIBS_SDBM="${AUXLIBS_SDBM}" \ - 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, 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,log} - fperms 02755 /usr/sbin/post{drop,queue,log} - - keepdir /etc/postfix - keepdir /etc/postfix/postfix-files.d - if use mbox; then - mypostconf="mail_spool_directory=/var/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* - dodoc -r README_FILES/ examples/ - # 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 - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - # warn if no aliases database - # do not assume berkdb - if [[ ! -e /etc/mail/aliases.db \ - && ! -e /etc/mail/aliases.cdb \ - && ! -e /etc/mail/aliases.lmdb ]] ; 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 - # run newaliases anyway. otherwise, we might break when switching - # default database implementation - from berkdb to cdb for example - "${EROOT}"/usr/bin/newaliases - - # check and fix file permissions - "${EROOT}"/usr/sbin/postfix set-permissions - - # hint for configuring tls - if use ssl ; then - if "${EROOT}"/usr/sbin/postfix tls all-default-client; then - elog "To configure client side TLS settings, please run:" - 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, please run:" - elog "${EROOT}"/usr/sbin/postfix tls enable-server - fi - fi -} diff --git a/mail-mta/postfix/postfix-3.11_pre20250323.ebuild b/mail-mta/postfix/postfix-3.11_pre20250323.ebuild new file mode 100644 index 000000000000..ab61961de39d --- /dev/null +++ b/mail-mta/postfix/postfix-3.11_pre20250323.ebuild @@ -0,0 +1,321 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit flag-o-matic pam systemd toolchain-funcs + +MY_PV="${PV/_pre/-}" +MY_SRC="${PN}-${MY_PV}" +MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/experimental" +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" +S="${WORKDIR}/${MY_SRC}" + +LICENSE="|| ( IBM EPL-2.0 )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +IUSE="+berkdb cdb dovecot-sasl +eai ldap ldap-bind lmdb mbox memcached mongodb mysql nis pam postgres sasl selinux sqlite ssl tlsrpt" + +DEPEND=" + acct-group/postfix + acct-group/postdrop + acct-user/postfix + dev-libs/libpcre2:0 + 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:= ) + mongodb? ( >=dev-libs/mongo-c-driver-1.23.0 >=dev-libs/libbson-1.23.0 ) + 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= ) + tlsrpt? ( net-libs/libtlsrpt ) + " + +RDEPEND="${DEPEND} + memcached? ( net-misc/memcached ) + net-mail/mailbase + !mail-mta/courier + !mail-mta/esmtp + !mail-mta/exim + !mail-mta/msmtp[mta] + !mail-mta/netqmail + !mail-mta/nullmailer + !mail-mta/sendmail + !mail-mta/opensmtpd + !mail-mta/ssmtp[mta] + selinux? ( sec-policy/selinux-postfix )" + +# require at least one db implementation for newalias (and postmap) +# command to function properly +REQUIRED_USE=" + || ( berkdb cdb lmdb ) + ldap-bind? ( ldap sasl ) + tlsrpt? ( ssl ) + " + +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() { + # bug #915670 + unset LD_LIBRARY_PATH + + # https://marc.info/?l=postfix-users&m=173542420611213&w=2 (bug #945733) + append-cflags -std=gnu17 + + for name in CDB LDAP LMDB MONGODB MYSQL PCRE PGSQL SDBM SQLITE TLSRPT + do + local AUXLIBS_${name}="" + done + + # Make sure LDFLAGS get passed down to the executables. + local mycc="" mylibs="${LDFLAGS} -ldl" + + # libpcre is EOL. prefer libpcre2 + mycc=" -DHAS_PCRE=2" + AUXLIBS_PCRE="$(pcre2-config --libs8)" + + use pam && mylibs="${mylibs} -lpam" + + if use ssl; then + mycc="${mycc} -DUSE_TLS" + mylibs="${mylibs} -lssl -lcrypto" + fi + + if ! use eai; then + mycc="${mycc} -DNO_EAI" + fi + + if use ldap; then + mycc="${mycc} -DHAS_LDAP" + AUXLIBS_LDAP="-lldap -llber" + fi + + if use lmdb; then + mycc="${mycc} -DHAS_LMDB" + AUXLIBS_LMDB="-llmdb -lpthread" + fi + + if use mongodb; then + mycc="${mycc} -DHAS_MONGODB $(pkg-config --cflags libmongoc-1.0)" + AUXLIBS_MONGODB="-lmongoc-1.0 -lbson-1.0" + 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 tlsrpt; then + mycc="${mycc} -DUSE_TLSRPT" + AUXLIBS_TLSRPT="-ltlsrpt" + 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" + # change default database type + if use lmdb; then + mycc="${mycc} -DDEF_DB_TYPE=\\\"lmdb\\\"" + elif use cdb; then + 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 + AUXLIBS_CDB="-lcdb" + else + 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_TLSRPT}" \ + AUXLIBS_CDB="${AUXLIBS_CDB}" \ + AUXLIBS_LDAP="${AUXLIBS_LDAP}" \ + AUXLIBS_LMDB="${AUXLIBS_LMDB}" \ + AUXLIBS_MONGODB="${AUXLIBS_MONGODB}" \ + AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" \ + AUXLIBS_PCRE="${AUXLIBS_PCRE}" \ + AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" \ + AUXLIBS_SDBM="${AUXLIBS_SDBM}" \ + 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, 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,log} + fperms 02755 /usr/sbin/post{drop,queue,log} + + keepdir /etc/postfix + keepdir /etc/postfix/postfix-files.d + if use mbox; then + mypostconf="mail_spool_directory=/var/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* + dodoc -r README_FILES/ examples/ + # 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 + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + # warn if no aliases database + # do not assume berkdb + if [[ ! -e /etc/mail/aliases.db \ + && ! -e /etc/mail/aliases.cdb \ + && ! -e /etc/mail/aliases.lmdb ]] ; 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 + # run newaliases anyway. otherwise, we might break when switching + # default database implementation - from berkdb to cdb for example + "${EROOT}"/usr/bin/newaliases + + # check and fix file permissions + "${EROOT}"/usr/sbin/postfix set-permissions + + # hint for configuring tls + if use ssl ; then + if "${EROOT}"/usr/sbin/postfix tls all-default-client; then + elog "To configure client side TLS settings, please run:" + 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, please run:" + elog "${EROOT}"/usr/sbin/postfix tls enable-server + fi + fi +} -- cgit v1.2.3