summaryrefslogtreecommitdiff
path: root/mail-mta
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-20 14:54:46 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-20 14:54:46 -0500
commit1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0 (patch)
tree18e2e784f9fb0dbc3546537acc42ad51b366d90e /mail-mta
parent9f6a581d94412ab1cf4b35c33101f6be0ddc7777 (diff)
downloadbaldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.gz
baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.xz
baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.zip
Adding metadata
Diffstat (limited to 'mail-mta')
-rw-r--r--mail-mta/opensmtpd/Manifest8
-rw-r--r--mail-mta/opensmtpd/files/smtpd-r1.service (renamed from mail-mta/opensmtpd/files/smtpd.service)1
-rw-r--r--mail-mta/opensmtpd/files/smtpd.socket8
-rw-r--r--mail-mta/opensmtpd/metadata.xml17
-rw-r--r--mail-mta/opensmtpd/opensmtpd-7.5.0_p0.ebuild111
-rw-r--r--mail-mta/opensmtpd/opensmtpd-7.6.0_p1.ebuild112
-rw-r--r--mail-mta/opensmtpd/opensmtpd-7.7.0_p0.ebuild112
-rw-r--r--mail-mta/opensmtpd/opensmtpd-7.8.0_p0.ebuild73
-rw-r--r--mail-mta/opensmtpd/opensmtpd-7.8.0_p1.ebuild108
-rw-r--r--mail-mta/postfix/Manifest12
-rw-r--r--mail-mta/postfix/files/makedefs.patch12
-rw-r--r--mail-mta/postfix/files/postfix-glibc-2.34.patch12
-rw-r--r--mail-mta/postfix/files/postfix-libressl-certkey.patch13
-rw-r--r--mail-mta/postfix/files/postfix-libressl-server.patch14
-rw-r--r--mail-mta/postfix/files/postfix.rc6.2.72
-rw-r--r--mail-mta/postfix/files/postfix.service2
-rw-r--r--mail-mta/postfix/files/src_tls_tls_certkey_c.patch12
-rw-r--r--mail-mta/postfix/files/src_tls_tls_misc_c.patch45
-rw-r--r--mail-mta/postfix/files/src_tls_tls_server_c.patch13
-rw-r--r--mail-mta/postfix/files/sys_defs_h.patch12
-rw-r--r--mail-mta/postfix/metadata.xml30
-rw-r--r--mail-mta/postfix/postfix-3.11.2.ebuild (renamed from mail-mta/postfix/postfix-3.10.8.ebuild)125
-rw-r--r--mail-mta/postfix/postfix-3.11.3.ebuild (renamed from mail-mta/postfix/postfix-3.11.0.ebuild)125
-rw-r--r--mail-mta/postfix/postfix-3.11.4.ebuild (renamed from mail-mta/postfix/postfix-3.11.1.ebuild)125
-rw-r--r--mail-mta/postfix/postfix-3.12_pre20260615.ebuild346
-rw-r--r--mail-mta/postfix/postfix-3.5.25.ebuild317
-rw-r--r--mail-mta/sendmail/Manifest6
-rw-r--r--mail-mta/sendmail/files/sendmail-8.13.1-delivered_hdr.patch (renamed from mail-mta/sendmail/files/sendmail-delivered_hdr.patch)4
-rw-r--r--mail-mta/sendmail/files/sendmail-8.18.1-cdb.patch47
-rw-r--r--mail-mta/sendmail/files/sendmail-8.19.0.0-newdb.patch14
-rw-r--r--mail-mta/sendmail/files/sendmail-maildir.mc (renamed from mail-mta/sendmail/files/sendmail-procmail.mc)1
-rw-r--r--mail-mta/sendmail/files/sendmail-musl-disable-cdefs.patch11
-rw-r--r--mail-mta/sendmail/files/sendmail-musl-stack-size.patch42
-rw-r--r--mail-mta/sendmail/files/tls.patch15
-rw-r--r--mail-mta/sendmail/metadata.xml19
-rw-r--r--mail-mta/sendmail/sendmail-8.18.1.ebuild211
-rw-r--r--mail-mta/sendmail/sendmail-8.18.2-r1.ebuild310
-rw-r--r--mail-mta/sendmail/sendmail-8.18.2.ebuild306
-rw-r--r--mail-mta/sendmail/sendmail-8.19.0.0-r1.ebuild310
-rw-r--r--mail-mta/sendmail/sendmail-8.19.0.1.ebuild309
40 files changed, 2288 insertions, 1084 deletions
diff --git a/mail-mta/opensmtpd/Manifest b/mail-mta/opensmtpd/Manifest
index d5c4bf8526d2..584dcaf412de 100644
--- a/mail-mta/opensmtpd/Manifest
+++ b/mail-mta/opensmtpd/Manifest
@@ -1,2 +1,8 @@
-DIST opensmtpd-7.8.0p0.tar.gz 744995 BLAKE2B 39b8122ef064142130603dd1712ee5cf9bbf6173d821c48dee81a9e8287085305b77ae8c0bd46a10f1226ed556c2a5e528849ee9461ef901dfb614f2e5d0f88b SHA512 ef4233909497c604c5c3de18c5ff50ee1e04f417d6ef0e6def3ebef214acee3a63306b27f5c7eab00992e24f3a7f2b2f2748fee2e535b3b291e194f1b8bd8652
+DIST opensmtpd-7.5.0p0.sum.sig 256 BLAKE2B 535753841c0bb6201a6dcc7c1659436fa25270ed2b0066b97b4e8e8934c5bc131c51e5337ef97c33661c3086071be92ccc31cdf6cf3a774caa34f62e701d7b53 SHA512 78075cc0170cbbf9367cde1201aaa34c3a86e023b3d4f1f79ffc28bfe90bcb74236b48e2242e3076294b1cb9133b9ecd720c10011b7508a9cc67cb9221d911cd
+DIST opensmtpd-7.5.0p0.tar.gz 926333 BLAKE2B 25c5786f423bd3efeae0b00de56ae1737e53b2206c179ba7650012ba7eaaefbfec8d942a3eba43d3b56e83616d8adb7e808f0ff35cb93e64439790f3f7045347 SHA512 1e4bf23e623d40732e4055a8db330b0dc69dbfbd4f3d89ef092ead3359aac4123f8a58feb61661be47d84c58e27d22c706dc308dfa245fa76f1d36ed2bb9a822
+DIST opensmtpd-7.6.0p1.sum.sig 256 BLAKE2B 8a15e253f22b3f653d5175b781fba83e1ca97c49d4b3a7b87d70adee46b4d8ce9eb7a8178b00770af8f647f9a2c466e331f4c99260bfcd3e06b60d9ee8d25a09 SHA512 20b6ac2df808ce17e058e8d10a8c30c73f51f723c570233cff9471707950a3c31edb01f00914bf085bac21a98d0d9f006c053a04bb53a9169532f4e800837593
+DIST opensmtpd-7.6.0p1.tar.gz 933649 BLAKE2B 15a392c411d19741963de6910f929c5528205a5d16ea3bb6bd8e4a1afa51f8f4b6ff541346c41d142e0a6d97b3817f67977988b33f5014c20084bdb251e64af7 SHA512 1e5ff894635f4b91a6b61aecafba588e58dda73cf17dc8595cd96120523e5efa479b5d888a363158f7e9cb73f15d5084f413cef1a6eb48f533c61cc350e0d328
+DIST opensmtpd-7.7.0p0.sum.sig 256 BLAKE2B 4a57ed2b3f93b224f66280bc4c98181d77f2512a457e277f96114c91f64618a0f7190568903f3fd049f6b9e4e11ea7bc9fc00cb687b0619405b5b971e77fd6a1 SHA512 4d49fdc24b5a72f7d4f87a1732d591b86ff33e272c3f0b2bb92fbda32eb7905f7a994c869cb013c91a957425351db61423a66bf2d37f8f351030e0c10aef9d5b
+DIST opensmtpd-7.7.0p0.tar.gz 978481 BLAKE2B 0462c7f9c92c2af61498c0a2633e9f8863951cf4edfcfc6bf6683520a2653aa3e148cb90075a73b53135396f0b2a903685c9469f83362c25725a1e637a29c219 SHA512 6a46a93bc0689603250376e414fc481fd5997c2bc7fc4e12d1522a9f4a2cad610f1c9452e9501b077e3ba2219a253e693160540fcfba595da8f68349bf795b92
+DIST opensmtpd-7.8.0p1.sum.sig 256 BLAKE2B 5b463c124b15ce68660dacf5553a62fdaea031980b5e0868a8713a129a407ca71651d92e8c73351cec377ef231b9010945e5297e2c6da9703908f71bd1691a9d SHA512 e77b1538660c95bd9c3c0bdd6aa7ba65066fba7edb6c294d396b80aa82f202ec2ca966fe7ee6c6eac2f863a9b1ce9b8184938b93bceb24a87d802605bc10e375
DIST opensmtpd-7.8.0p1.tar.gz 745487 BLAKE2B c263b5203e0a9e299900ba4d6d8c7ad036afb1e05d6b0e4c060a1bbfdfb398349d4bd3af3b0b865506e6d0a35edd149ef0f33a69847e26909e50a3d7a6b3ca64 SHA512 5364036cc0503436ed0836ccd8b5a756e1aec3625b142f15fc3a029dba47e05e6c9fe94e40d6d475a1bfb1b0ca1ee39ba21a4c9d8a98eb5d97b335f5e1389a3a
diff --git a/mail-mta/opensmtpd/files/smtpd.service b/mail-mta/opensmtpd/files/smtpd-r1.service
index fd2a65010604..fccd88f31472 100644
--- a/mail-mta/opensmtpd/files/smtpd.service
+++ b/mail-mta/opensmtpd/files/smtpd-r1.service
@@ -5,6 +5,7 @@ After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/smtpd
+PIDFile=/run/smtpd.pid
[Install]
WantedBy=multi-user.target
diff --git a/mail-mta/opensmtpd/files/smtpd.socket b/mail-mta/opensmtpd/files/smtpd.socket
deleted file mode 100644
index fb42f8557323..000000000000
--- a/mail-mta/opensmtpd/files/smtpd.socket
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=OpenSMTPD Socket
-
-[Socket]
-ListenStream=/var/run/smtpd.sock
-
-[Install]
-WantedBy=sockets.target
diff --git a/mail-mta/opensmtpd/metadata.xml b/mail-mta/opensmtpd/metadata.xml
index 27015403287a..3a5c05d927c9 100644
--- a/mail-mta/opensmtpd/metadata.xml
+++ b/mail-mta/opensmtpd/metadata.xml
@@ -1,22 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
<maintainer type="person">
- <email>zx2c4@gentoo.org</email>
- <name>Jason A. Donenfeld</name>
+ <email>cedk@gentoo.org</email>
</maintainer>
<longdescription lang="en">
-OpenSMTPD is an implementation of the server-side SMTP protocol as defined by RFC 5321, with some additional standard extensions. It allows ordinary machines to exchange e-mails with other systems speaking the SMTP protocol.
-</longdescription>
- <upstream>
- <remote-id type="cpe">cpe:/a:opensmtpd:opensmtpd</remote-id>
- </upstream>
+ OpenSMTPD is an implementation of the server-side SMTP protocol as defined by RFC 5321, with some additional standard extensions. It allows ordinary machines to exchange e-mails with other systems speaking the SMTP protocol.
+ </longdescription>
<use>
<flag name="mta">Enable this to install as system-wide MTA</flag>
</use>
+ <upstream>
+ <bugs-to>mailto:bugs@opensmtpd.org</bugs-to>
+ </upstream>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/mail-mta/opensmtpd/opensmtpd-7.5.0_p0.ebuild b/mail-mta/opensmtpd/opensmtpd-7.5.0_p0.ebuild
new file mode 100644
index 000000000000..0adad4bafef7
--- /dev/null
+++ b/mail-mta/opensmtpd/opensmtpd-7.5.0_p0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_METHOD="signify"
+inherit pam systemd verify-sig
+
+DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
+HOMEPAGE="https://www.opensmtpd.org"
+SRC_URI="
+ https://www.opensmtpd.org/archives/${P/_}.tar.gz
+ verify-sig? ( https://www.opensmtpd.org/archives/${P/_}.sum.sig )
+"
+S="${WORKDIR}/${P/_}"
+
+LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+IUSE="berkdb +mta pam split-usr"
+
+DEPEND="
+ dev-libs/libbsd
+ dev-libs/libevent:=
+ dev-libs/openssl:=
+ virtual/zlib:=
+ virtual/libcrypt:=
+ berkdb? ( sys-libs/db:= )
+ elibc_musl? ( sys-libs/fts-standalone )
+ pam? ( sys-libs/pam )
+"
+RDEPEND="${DEPEND}
+ acct-user/smtpd
+ acct-user/smtpq
+ app-misc/ca-certificates
+ net-mail/mailbase
+ !mail-client/mailx-support
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/exim
+ !mail-mta/msmtp[mta]
+ !mail-mta/netqmail
+ !mail-mta/nullmailer
+ !mail-mta/postfix
+ !mail-mta/sendmail
+ !mail-mta/ssmtp[mta]
+"
+BDEPEND="
+ app-alternatives/yacc
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/signify-keys-opensmtpd )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/${PN}.pub"
+
+QA_CONFIG_IMPL_DECL_SKIP=( closefrom )
+
+DOCS=( {CHANGES,README}.md )
+
+src_unpack() {
+ if use verify-sig; then
+ # Too many levels of symbolic links
+ cp "${DISTDIR}"/${P/_}.{sum.sig,tar.gz} "${WORKDIR}" || die
+ verify-sig_verify_signed_checksums \
+ ${P/_}.sum.sig sha256 ${P/_}.tar.gz
+ fi
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ --sysconfdir="${EPREFIX}"/etc/smtpd
+ --with-path-CAfile="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+ --with-path-empty="${EPREFIX}"/var/empty
+ --with-path-mbox="${EPREFIX}"/var/spool/mail
+ --with-path-queue="${EPREFIX}"/var/spool/smtpd
+ --with-path-pidfile=/run
+ --with-path-socket=/run
+ --with-user-smtpd=smtpd
+ --with-user-queue=smtpq
+ --with-group-queue=smtpq
+ --with-libevent="${EPREFIX}"/usr/$(get_libdir)
+ --with-libssl="${EPREFIX}"/usr/$(get_libdir)
+ $(use_with berkdb table-db)
+ $(use_with pam auth-pam)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/smtpd.initd smtpd
+ systemd_newunit "${FILESDIR}"/smtpd-r1.service smtpd.service
+
+ use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
+
+ dosym smtpctl /usr/sbin/makemap
+ dosym smtpctl /usr/sbin/newaliases
+
+ if use mta; then
+ dodir /usr/sbin
+ dosym smtpctl /usr/sbin/sendmail
+ # on USE="-split-usr" system sbin and bin are merged
+ # so symlink made above will collide with one below
+ use split-usr && dosym ../sbin/smtpctl /usr/bin/sendmail
+ dodir /usr/$(get_libdir)
+ dosym -r /usr/sbin/smtpctl /usr/$(get_libdir)/sendmail
+ fi
+}
diff --git a/mail-mta/opensmtpd/opensmtpd-7.6.0_p1.ebuild b/mail-mta/opensmtpd/opensmtpd-7.6.0_p1.ebuild
new file mode 100644
index 000000000000..f38bd8c0d8d3
--- /dev/null
+++ b/mail-mta/opensmtpd/opensmtpd-7.6.0_p1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_METHOD="signify"
+inherit pam systemd verify-sig
+
+DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
+HOMEPAGE="https://www.opensmtpd.org"
+SRC_URI="
+ https://www.opensmtpd.org/archives/${P/_}.tar.gz
+ verify-sig? ( https://www.opensmtpd.org/archives/${P/_}.sum.sig )
+"
+S="${WORKDIR}/${P/_}"
+
+LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+IUSE="berkdb +mta pam split-usr"
+
+DEPEND="
+ dev-libs/libbsd
+ dev-libs/libevent:=
+ dev-libs/openssl:=
+ virtual/zlib:=
+ virtual/libcrypt:=
+ berkdb? ( sys-libs/db:= )
+ elibc_musl? ( sys-libs/fts-standalone )
+ pam? ( sys-libs/pam )
+"
+RDEPEND="${DEPEND}
+ acct-user/smtpd
+ acct-user/smtpq
+ app-misc/ca-certificates
+ net-mail/mailbase
+ !mail-client/mailx-support
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/exim
+ !mail-mta/msmtp[mta]
+ !mail-mta/netqmail
+ !mail-mta/nullmailer
+ !mail-mta/postfix
+ !mail-mta/sendmail
+ !mail-mta/ssmtp[mta]
+"
+BDEPEND="
+ app-alternatives/yacc
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/signify-keys-opensmtpd )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/${PN}.pub"
+
+QA_CONFIG_IMPL_DECL_SKIP=( closefrom )
+
+DOCS=( {CHANGES,README}.md )
+
+src_unpack() {
+ if use verify-sig; then
+ # Too many levels of symbolic links
+ cp "${DISTDIR}"/${P/_}.{sum.sig,tar.gz} "${WORKDIR}" || die
+ verify-sig_verify_signed_checksums \
+ ${P/_}.sum.sig sha256 ${P/_}.tar.gz
+ fi
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ --sysconfdir="${EPREFIX}"/etc/smtpd
+ --with-path-CAfile="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+ --with-path-empty="${EPREFIX}"/var/empty
+ --with-path-mbox="${EPREFIX}"/var/spool/mail
+ --with-path-queue="${EPREFIX}"/var/spool/smtpd
+ --with-path-pidfile=/run
+ --with-path-socket=/run
+ --with-user-smtpd=smtpd
+ --with-user-queue=smtpq
+ --with-group-queue=smtpq
+ --with-libevent="${EPREFIX}"/usr/$(get_libdir)
+ --with-libssl="${EPREFIX}"/usr/$(get_libdir)
+ --with-libz=="${EPREFIX}"/usr/$(get_libdir)
+ $(use_with berkdb table-db)
+ $(use_with pam auth-pam)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/smtpd.initd smtpd
+ systemd_newunit "${FILESDIR}"/smtpd-r1.service smtpd.service
+
+ use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
+
+ dosym smtpctl /usr/sbin/makemap
+ dosym smtpctl /usr/sbin/newaliases
+
+ if use mta; then
+ dodir /usr/sbin
+ dosym smtpctl /usr/sbin/sendmail
+ # on USE="-split-usr" system sbin and bin are merged
+ # so symlink made above will collide with one below
+ use split-usr && dosym ../sbin/smtpctl /usr/bin/sendmail
+ dodir /usr/$(get_libdir)
+ dosym -r /usr/sbin/smtpctl /usr/$(get_libdir)/sendmail
+ fi
+}
diff --git a/mail-mta/opensmtpd/opensmtpd-7.7.0_p0.ebuild b/mail-mta/opensmtpd/opensmtpd-7.7.0_p0.ebuild
new file mode 100644
index 000000000000..f38bd8c0d8d3
--- /dev/null
+++ b/mail-mta/opensmtpd/opensmtpd-7.7.0_p0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_METHOD="signify"
+inherit pam systemd verify-sig
+
+DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
+HOMEPAGE="https://www.opensmtpd.org"
+SRC_URI="
+ https://www.opensmtpd.org/archives/${P/_}.tar.gz
+ verify-sig? ( https://www.opensmtpd.org/archives/${P/_}.sum.sig )
+"
+S="${WORKDIR}/${P/_}"
+
+LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+IUSE="berkdb +mta pam split-usr"
+
+DEPEND="
+ dev-libs/libbsd
+ dev-libs/libevent:=
+ dev-libs/openssl:=
+ virtual/zlib:=
+ virtual/libcrypt:=
+ berkdb? ( sys-libs/db:= )
+ elibc_musl? ( sys-libs/fts-standalone )
+ pam? ( sys-libs/pam )
+"
+RDEPEND="${DEPEND}
+ acct-user/smtpd
+ acct-user/smtpq
+ app-misc/ca-certificates
+ net-mail/mailbase
+ !mail-client/mailx-support
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/exim
+ !mail-mta/msmtp[mta]
+ !mail-mta/netqmail
+ !mail-mta/nullmailer
+ !mail-mta/postfix
+ !mail-mta/sendmail
+ !mail-mta/ssmtp[mta]
+"
+BDEPEND="
+ app-alternatives/yacc
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/signify-keys-opensmtpd )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/${PN}.pub"
+
+QA_CONFIG_IMPL_DECL_SKIP=( closefrom )
+
+DOCS=( {CHANGES,README}.md )
+
+src_unpack() {
+ if use verify-sig; then
+ # Too many levels of symbolic links
+ cp "${DISTDIR}"/${P/_}.{sum.sig,tar.gz} "${WORKDIR}" || die
+ verify-sig_verify_signed_checksums \
+ ${P/_}.sum.sig sha256 ${P/_}.tar.gz
+ fi
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ --sysconfdir="${EPREFIX}"/etc/smtpd
+ --with-path-CAfile="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+ --with-path-empty="${EPREFIX}"/var/empty
+ --with-path-mbox="${EPREFIX}"/var/spool/mail
+ --with-path-queue="${EPREFIX}"/var/spool/smtpd
+ --with-path-pidfile=/run
+ --with-path-socket=/run
+ --with-user-smtpd=smtpd
+ --with-user-queue=smtpq
+ --with-group-queue=smtpq
+ --with-libevent="${EPREFIX}"/usr/$(get_libdir)
+ --with-libssl="${EPREFIX}"/usr/$(get_libdir)
+ --with-libz=="${EPREFIX}"/usr/$(get_libdir)
+ $(use_with berkdb table-db)
+ $(use_with pam auth-pam)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/smtpd.initd smtpd
+ systemd_newunit "${FILESDIR}"/smtpd-r1.service smtpd.service
+
+ use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
+
+ dosym smtpctl /usr/sbin/makemap
+ dosym smtpctl /usr/sbin/newaliases
+
+ if use mta; then
+ dodir /usr/sbin
+ dosym smtpctl /usr/sbin/sendmail
+ # on USE="-split-usr" system sbin and bin are merged
+ # so symlink made above will collide with one below
+ use split-usr && dosym ../sbin/smtpctl /usr/bin/sendmail
+ dodir /usr/$(get_libdir)
+ dosym -r /usr/sbin/smtpctl /usr/$(get_libdir)/sendmail
+ fi
+}
diff --git a/mail-mta/opensmtpd/opensmtpd-7.8.0_p0.ebuild b/mail-mta/opensmtpd/opensmtpd-7.8.0_p0.ebuild
deleted file mode 100644
index 8ea7bff1b7f3..000000000000
--- a/mail-mta/opensmtpd/opensmtpd-7.8.0_p0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2023-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-inherit pam systemd
-
-DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
-HOMEPAGE="https://www.opensmtpd.org"
-SRC_URI="https://www.opensmtpd.org/archives/${P/_}.tar.gz"
-
-LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-IUSE=" pam +mta berkdb"
-
-DEPEND="
- acct-user/smtpd
- acct-user/smtpq
- >=dev-libs/openssl-1.1:0=
-
- elibc_musl? ( sys-libs/fts-standalone )
- sys-libs/zlib
- pam? ( sys-libs/pam )
- berkdb? ( sys-libs/db:= )
- dev-libs/libevent
- app-misc/ca-certificates
- net-mail/mailbase
- net-libs/libasr
- !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/postfix
- !mail-mta/qmail-ldap
- !mail-mta/sendmail
- !mail-mta/ssmtp[mta]
-"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${P/_}
-
-src_configure() {
- econf \
- --sysconfdir=/etc/smtpd \
- --with-path-mbox=/var/spool/mail \
- --with-path-empty=/var/empty \
- --with-path-socket=/run \
- --with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \
- --with-user-smtpd=smtpd \
- --with-user-queue=smtpq \
- --with-group-queue=smtpq \
- $(use_with pam auth-pam) \
- $(use_with berkdb table-db)
-}
-
-src_install() {
- default
- newinitd "${FILESDIR}"/smtpd.initd smtpd
- systemd_dounit "${FILESDIR}"/smtpd.{service,socket}
- use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
- dosym smtpctl /usr/sbin/makemap
- dosym smtpctl /usr/sbin/newaliases
- if use mta ; then
- dodir /usr/sbin
- dosym smtpctl /usr/sbin/sendmail
- dosym ../sbin/smtpctl /usr/bin/sendmail
- mkdir -p "${ED}"/usr/$(get_libdir) || die
- ln -s --relative "${ED}"/usr/sbin/smtpctl "${ED}"/usr/$(get_libdir)/sendmail || die
- fi
-}
diff --git a/mail-mta/opensmtpd/opensmtpd-7.8.0_p1.ebuild b/mail-mta/opensmtpd/opensmtpd-7.8.0_p1.ebuild
index 01811764daaa..662a1278e0d7 100644
--- a/mail-mta/opensmtpd/opensmtpd-7.8.0_p1.ebuild
+++ b/mail-mta/opensmtpd/opensmtpd-7.8.0_p1.ebuild
@@ -1,73 +1,117 @@
-# Copyright 2023-2026 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
-inherit pam systemd
+VERIFY_SIG_METHOD="signify"
+inherit autotools pam systemd verify-sig
DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
HOMEPAGE="https://www.opensmtpd.org"
-SRC_URI="https://www.opensmtpd.org/archives/${P/_}.tar.gz"
+SRC_URI="
+ https://www.opensmtpd.org/archives/${P/_}.tar.gz
+ verify-sig? ( https://www.opensmtpd.org/archives/${P/_}.sum.sig )
+"
+S="${WORKDIR}/${P/_}"
LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-IUSE=" pam +mta berkdb"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="berkdb +mta pam split-usr"
DEPEND="
- acct-user/smtpd
- acct-user/smtpq
- >=dev-libs/openssl-1.1:0=
-
+ dev-libs/libbsd
+ dev-libs/libevent:=
+ dev-libs/openssl:=
+ virtual/zlib:=
+ virtual/libcrypt:=
+ berkdb? ( sys-libs/db:= )
elibc_musl? ( sys-libs/fts-standalone )
- sys-libs/zlib
pam? ( sys-libs/pam )
- berkdb? ( sys-libs/db:= )
- dev-libs/libevent
+"
+RDEPEND="${DEPEND}
+ acct-user/smtpd
+ acct-user/smtpq
app-misc/ca-certificates
net-mail/mailbase
- net-libs/libasr
+ !mail-client/mailx-support
!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/postfix
- !mail-mta/qmail-ldap
!mail-mta/sendmail
!mail-mta/ssmtp[mta]
"
-RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/yacc
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/signify-keys-opensmtpd )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/${PN}.pub"
+
+QA_CONFIG_IMPL_DECL_SKIP=( closefrom )
-S=${WORKDIR}/${P/_}
+DOCS=( {CHANGES,README}.md )
+
+src_unpack() {
+ if use verify-sig; then
+ # Too many levels of symbolic links
+ cp "${DISTDIR}"/${P/_}.{sum.sig,tar.gz} "${WORKDIR}" || die
+ verify-sig_verify_signed_checksums \
+ ${P/_}.sum.sig sha256 ${P/_}.tar.gz
+ fi
+ default
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
src_configure() {
- econf \
- --sysconfdir=/etc/smtpd \
- --with-path-mbox=/var/spool/mail \
- --with-path-empty=/var/empty \
- --with-path-socket=/run \
- --with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \
- --with-user-smtpd=smtpd \
- --with-user-queue=smtpq \
- --with-group-queue=smtpq \
- $(use_with pam auth-pam) \
+ local myeconfargs=(
+ --sysconfdir="${EPREFIX}"/etc/smtpd
+ --with-path-CAfile="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+ --with-path-empty="${EPREFIX}"/var/empty
+ --with-path-mbox="${EPREFIX}"/var/spool/mail
+ --with-path-queue="${EPREFIX}"/var/spool/smtpd
+ --with-path-pidfile=/run
+ --with-path-socket=/run
+ --with-user-smtpd=smtpd
+ --with-user-queue=smtpq
+ --with-group-queue=smtpq
+ --with-libevent="${EPREFIX}"/usr/$(get_libdir)
+ --with-libssl="${EPREFIX}"/usr/$(get_libdir)
+ --with-libz=="${EPREFIX}"/usr/$(get_libdir)
$(use_with berkdb table-db)
+ $(use_with pam auth-pam)
+ )
+
+ econf "${myeconfargs[@]}"
}
src_install() {
default
+
newinitd "${FILESDIR}"/smtpd.initd smtpd
- systemd_dounit "${FILESDIR}"/smtpd.{service,socket}
+ systemd_newunit "${FILESDIR}"/smtpd-r1.service smtpd.service
+
use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
+
dosym smtpctl /usr/sbin/makemap
dosym smtpctl /usr/sbin/newaliases
- if use mta ; then
+
+ if use mta; then
dodir /usr/sbin
dosym smtpctl /usr/sbin/sendmail
- dosym ../sbin/smtpctl /usr/bin/sendmail
- mkdir -p "${ED}"/usr/$(get_libdir) || die
- ln -s --relative "${ED}"/usr/sbin/smtpctl "${ED}"/usr/$(get_libdir)/sendmail || die
+ # on USE="-split-usr" system sbin and bin are merged
+ # so symlink made above will collide with one below
+ use split-usr && dosym ../sbin/smtpctl /usr/bin/sendmail
+ dodir /usr/$(get_libdir)
+ dosym -r /usr/sbin/smtpctl /usr/$(get_libdir)/sendmail
fi
}
diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest
index d9a78df48826..5de478fece1d 100644
--- a/mail-mta/postfix/Manifest
+++ b/mail-mta/postfix/Manifest
@@ -1,4 +1,8 @@
-DIST postfix-3.10.8.tar.gz 5040857 BLAKE2B db3bad6842f2067e62e681bc3a1ed6766f95a587220167889778c05e7fb37180ffb2b368a00267543913dca30306afc8dac9dc3242796e902a74c0a87f6997fb SHA512 a34e9f84ec96c47765a417801a303bea32ca42bb16c6ae665c771f1a37c8369f6d140999f1015c8c28aa18dad86e918e0a072ea67dea644d271b1ed3beaf61ea
-DIST postfix-3.11.0.tar.gz 5279929 BLAKE2B 1b9b68ab201dfbe9e0dc06a1cdb2712c5ab28d0ab73e98b1cfaef07a3c9b02fc4552577c1fe739aafd2e53bda4dccb81973b954b0cb89acd3c7ce5d923b7d7b4 SHA512 aa377e3cb889aec166c73e90b3c7d3fbc1db48a558b13948d76b2a7aaccaee202dad7252e973d503800d97a4e6da9091ca792d037528f90521d04729594b23cc
-DIST postfix-3.11.1.tar.gz 5280696 BLAKE2B 38f5579b9252c6b91f1ea5af170fef3f1348dccdb41aaf0ab1c33eaaca2789d0b757bb03ef4b0e5ade1f69d7b195cbac4a714a0e5f0d2c8768d62db8adce23fc SHA512 065aee35d462a7121ef870f1af5b3d7efedd08e18f18c5d04d7c731b3b051ab8f70499cbdcea6cb559fbfb2115ff39509fa145abf6e99dade232ac4943d178d1
-DIST postfix-3.5.25.tar.gz 4660537 BLAKE2B b4738785f142a67c3a12fadd0d90067dd5c8bdc5e13fbe9295cd23e7519e2eb28769f0ad79318a8255f9adfa6524edbd340b806bc752ed0b9c013500c2ed0e6c SHA512 25d654fb49429d9c361579e20ca1762ec66e7b71a53b4dbf6057a61f4afee9052ce2f43a55e0349fb4e716b28406fbde69f592855117d28153aecf74434ded0b
+DIST postfix-3.11.2.tar.gz 5282053 BLAKE2B 94f19c22b5c5047c6f31fb8c73863598bf3a789f2b8d3019b76bde6bb2bd439aed21c509563d7134946aba4d51b8cdddcabc86fc52007839f4ee6b56d4fa820e SHA512 1929bd640bbc0952dc3057fa46990fce23b968ef69e8c051d7f5661c5a99f36657983aa0c0f621430abfe0cf6c1ad5c88a00372864b1093f25cf8fcb1477f119
+DIST postfix-3.11.2.tar.gz.asc 220 BLAKE2B a2960fcc939dc9462f70307648c7c169a9895c01244aef90ebafdb5ea8867e04cfe4df2b53e798de35862a23063b89473e1ee206bd916f15705149cdec2a6a1e SHA512 ad35331f72be947ebdac6f75e53d6b7e9bb1404ad74c30513d3c79d72f3e065e37f83ffc244a39148c8e0c6cf3bb1feeee178fb1943d0ad1802873256f92c7a1
+DIST postfix-3.11.3.tar.gz 5282523 BLAKE2B f88dd4e4b607ef729892ba3843c08b9d54864a2cc6605d9578eee85291be9918bf7f0d69cb2cff0b7e756de540c63c6ede1244557eb0027ca978484460085f6b SHA512 d1293c209a7033309975308991a2efa4f077bc7eb93b50a560ea714ea6280ada3726f5266c6b58926a326fda5a0fa68b486b543de092432ac9025dd424d24dd3
+DIST postfix-3.11.3.tar.gz.asc 220 BLAKE2B cca2a1aa33b4e8041703687c127848e5ac6cab7726b71985c9f83d3d5591a99469b32f0798127d2d8d79ed6ba35fabda8d63cabc57af9828662099618d670153 SHA512 b4d7d2f8c45aed1aee80a8416ddc424f15b916f55dcfc206500bc515dc3d491c1a56bd757ec7b384816f2182198943f97fa3bf3cc9f86c8757ba0982323411f8
+DIST postfix-3.11.4.tar.gz 5285318 BLAKE2B 7c41d43987949076d45507372cce748b6bd1a8a1407fa032ecaf91ab1ad086068e7920d43df0c8b8c47f415c8ccbeaeb7862470aa322f51176e197fbe941ca4f SHA512 0ff931861ab250bccff6a9592115b8991980c33574db14af9e5d1e1e42d896be41a5b1a38e41ce4f6b5cec236df37581ae52bd37a2810443e1ba17bbeb2bfaab
+DIST postfix-3.11.4.tar.gz.asc 220 BLAKE2B 8b7d008a5e068b0d6a08453cae3059d70ac5f16763102108f0c152acaed859a544e8ae152d0e3bae4bbe3fbba686174c0b4c21a37be3ea49deda7560ec2f4c45 SHA512 ab683d67ee0d776432547d640b2ae6339cecf4976e0b44eab068da619f5f8c532df5ec1b1676aa030ea98e882bbcbd43be13923f709b1f2938d54d5d0a292f52
+DIST postfix-3.12-20260615.tar.gz 5403254 BLAKE2B 4ed67d3e437714fa20e20b98f8c4203230584d6237a0ed6a97ea512659c7742886783b39ab948475b4fe431dbf0fa81221c3a15c441c26ee821e1a05db829410 SHA512 b3c7440ec7d7a7a1c127a27346157e004fdddcc730869fe4b176c85a04132280279086c571e9368b102bdcf1f10e19d2bf076561462021341c89bf80dd43337f
+DIST postfix-3.12-20260615.tar.gz.asc 220 BLAKE2B 4015509eddb850aa7dcd263171f33313ad4ccea07294aa0795639b93ff3b94f5adef910c746bae54bdf5b3fae4551e6d13f384fc6251685c21cceb24c26a7b0f SHA512 900aac7f29c6a5a5050010156572a309641dd2f23707b7761af1c1977c44973ed3d3f5672ed71fc05480daeccd4b57b1bd3004bc5aae3185bf1f9545bdc4caa3
diff --git a/mail-mta/postfix/files/makedefs.patch b/mail-mta/postfix/files/makedefs.patch
deleted file mode 100644
index dcb9811f3e63..000000000000
--- a/mail-mta/postfix/files/makedefs.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN postfix-3.7.3.orig/makedefs postfix-3.7.3/makedefs
---- postfix-3.7.3.orig/makedefs 2022-10-08 22:46:54.898431414 +0200
-+++ postfix-3.7.3/makedefs 2022-10-08 22:47:28.181433811 +0200
-@@ -627,7 +627,7 @@
- : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
- : ${PLUGIN_LD="${CC-gcc} -shared"}
- ;;
-- Linux.[345].*) SYSTYPE=LINUX$RELEASE_MAJOR
-+ Linux.[3456].*) SYSTYPE=LINUX$RELEASE_MAJOR
- case "$CCARGS" in
- *-DNO_DB*) ;;
- *-DHAS_DB*) ;;
diff --git a/mail-mta/postfix/files/postfix-glibc-2.34.patch b/mail-mta/postfix/files/postfix-glibc-2.34.patch
deleted file mode 100644
index 0da3ddf5ecdb..000000000000
--- a/mail-mta/postfix/files/postfix-glibc-2.34.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/util/sys_defs.h 2020-05-21 16:34:23.000000000 +0300
-+++ b/src/util/sys_defs.h 2021-08-07 19:14:20.000000000 +0300
-@@ -827,6 +827,9 @@
- #define HAVE_POSIX_GETPW_R
- #endif
- #endif
-+#if HAVE_GLIBC_API_VERSION_SUPPORT(2, 34)
-+#define HAS_CLOSEFROM
-+#endif
-
- #endif
-
diff --git a/mail-mta/postfix/files/postfix-libressl-certkey.patch b/mail-mta/postfix/files/postfix-libressl-certkey.patch
deleted file mode 100644
index b6ab8aeb7901..000000000000
--- a/mail-mta/postfix/files/postfix-libressl-certkey.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-see https://bugs.gentoo.org/678874
-
---- a/src/tls/tls_certkey.c.orig 2019-03-07 23:57:10 UTC
-+++ b/src/tls/tls_certkey.c
-@@ -144,7 +144,7 @@ static void init_pem_load_state(pem_load
-
- /* use_chain - load cert, key and chain into ctx or ssl */
-
--#if OPENSSL_VERSION_NUMBER >= 0x1010100fUL
-+#if OPENSSL_VERSION_NUMBER >= 0x1010100fUL && !defined(LIBRESSL_VERSION_NUMBER)
- static int use_chain(pem_load_state_t *st)
- {
- int ret;
diff --git a/mail-mta/postfix/files/postfix-libressl-server.patch b/mail-mta/postfix/files/postfix-libressl-server.patch
deleted file mode 100644
index 8573bb80bb59..000000000000
--- a/mail-mta/postfix/files/postfix-libressl-server.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-see https://bugs.gentoo.org/678874
-
---- a/src/tls/tls_server.c.orig 2018-12-26 19:21:49 UTC
-+++ b/src/tls/tls_server.c
-@@ -518,7 +518,9 @@ TLS_APPL_STATE *tls_server_init(const TL
- * ticket decryption callback already (since 2.11) asks OpenSSL to
- * avoid issuing new tickets when the presented ticket is re-usable.
- */
-+#ifndef LIBRESSL_VERSION_NUMBER
- SSL_CTX_set_num_tickets(server_ctx, 1);
-+#endif
- }
- #endif
- if (!ticketable)
diff --git a/mail-mta/postfix/files/postfix.rc6.2.7 b/mail-mta/postfix/files/postfix.rc6.2.7
index 5d429a597cce..62f6dda38cf4 100644
--- a/mail-mta/postfix/files/postfix.rc6.2.7
+++ b/mail-mta/postfix/files/postfix.rc6.2.7
@@ -45,7 +45,7 @@ start() {
stop() {
ebegin "Stopping postfix ${CONF_MESSAGE}"
/usr/sbin/postfix ${CONF_PARAM} stop >/dev/null 2>&1
- eend
+ eend $?
}
status() {
diff --git a/mail-mta/postfix/files/postfix.service b/mail-mta/postfix/files/postfix.service
index db585b3e29db..7a72aaa8e50b 100644
--- a/mail-mta/postfix/files/postfix.service
+++ b/mail-mta/postfix/files/postfix.service
@@ -12,7 +12,7 @@ ExecReload=/usr/sbin/postfix reload
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
-ReadWritePaths=-/etc/mail/aliases.db
+ReadWritePaths=-/etc/mail/aliases.db -/etc/mail/aliases.cdb -/etc/mail/aliases.lmdb
CapabilityBoundingSet=~ CAP_NET_ADMIN CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_MODULE
MemoryDenyWriteExecute=true
ProtectKernelModules=true
diff --git a/mail-mta/postfix/files/src_tls_tls_certkey_c.patch b/mail-mta/postfix/files/src_tls_tls_certkey_c.patch
deleted file mode 100644
index 21ef1223ebc2..000000000000
--- a/mail-mta/postfix/files/src_tls_tls_certkey_c.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/tls/tls_certkey.c
---- src/tls/tls_certkey.c.orig
-+++ src/tls/tls_certkey.c
-@@ -149,7 +149,7 @@ static void init_pem_load_state(pem_load_state_t *st,
-
- /* use_chain - load cert, key and chain into ctx or ssl */
-
--#if OPENSSL_VERSION_NUMBER >= 0x1010100fUL
-+#if OPENSSL_VERSION_NUMBER >= 0x1010100fUL && !defined(LIBRESSL_VERSION_NUMBER)
- static int use_chain(pem_load_state_t *st)
- {
- int ret;
diff --git a/mail-mta/postfix/files/src_tls_tls_misc_c.patch b/mail-mta/postfix/files/src_tls_tls_misc_c.patch
deleted file mode 100644
index b1028c5d739c..000000000000
--- a/mail-mta/postfix/files/src_tls_tls_misc_c.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: src/tls/tls_misc.c
---- src/tls/tls_misc.c.orig
-+++ src/tls/tls_misc.c
-@@ -657,7 +657,7 @@ void tls_param_init(void)
-
- int tls_library_init(void)
- {
-- OPENSSL_INIT_SETTINGS *init_settings;
-+ // OPENSSL_INIT_SETTINGS *init_settings;
- char *conf_name = *var_tls_cnf_name ? var_tls_cnf_name : 0;
- char *conf_file = 0;
- unsigned long init_opts = 0;
-@@ -681,6 +681,7 @@ int tls_library_init(void)
- msg_info("tls_library_init: using backwards-compatible defaults");
- return (init_res = TLS_LIB_INIT_OK);
- }
-+#if 0
- if ((init_settings = OPENSSL_INIT_new()) == 0) {
- msg_warn("error allocating OpenSSL init settings, "
- "disabling TLS support");
-@@ -763,6 +764,8 @@ int tls_library_init(void)
- TLS_LIB_INIT_RETURN(TLS_LIB_INIT_ERR);
- }
- TLS_LIB_INIT_RETURN(TLS_LIB_INIT_OK);
-+#endif
-+ return init_res = TLS_LIB_INIT_OK;
- }
-
- /* tls_pre_jail_init - Load TLS related pre-jail tables */
-@@ -1644,6 +1647,7 @@ int tls_validate_digest(const char *dgst)
- * Improves interoperability with clients and servers that prematurely
- * deploy SHA-2 certificates. Also facilitates DANE and TA support.
- */
-+#ifndef LIBRESSL_VERSION_NUMBER
- #if defined(LN_sha256) && defined(NID_sha256) && !defined(OPENSSL_NO_SHA256)
- if (!tls_digest_byname(LN_sha224, NULL))
- EVP_add_digest(EVP_sha224());
-@@ -1655,6 +1659,7 @@ int tls_validate_digest(const char *dgst)
- EVP_add_digest(EVP_sha384());
- if (!tls_digest_byname(LN_sha512, NULL))
- EVP_add_digest(EVP_sha512());
-+#endif
- #endif
-
- /*
diff --git a/mail-mta/postfix/files/src_tls_tls_server_c.patch b/mail-mta/postfix/files/src_tls_tls_server_c.patch
deleted file mode 100644
index 7db3472cf46e..000000000000
--- a/mail-mta/postfix/files/src_tls_tls_server_c.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: src/tls/tls_server.c
---- src/tls/tls_server.c.orig
-+++ src/tls/tls_server.c
-@@ -541,7 +541,9 @@ TLS_APPL_STATE *tls_server_init(const TLS_SERVER_INIT_
- * ticket decryption callback already (since 2.11) asks OpenSSL to
- * avoid issuing new tickets when the presented ticket is re-usable.
- */
-+#ifndef LIBRESSL_VERSION_NUMBER
- SSL_CTX_set_num_tickets(server_ctx, 1);
-+#endif
- }
- #endif
- if (!ticketable)
diff --git a/mail-mta/postfix/files/sys_defs_h.patch b/mail-mta/postfix/files/sys_defs_h.patch
deleted file mode 100644
index 411277bdfc9b..000000000000
--- a/mail-mta/postfix/files/sys_defs_h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN postfix-3.7.3.orig/src/util/sys_defs.h postfix-3.7.3/src/util/sys_defs.h
---- postfix-3.7.3.orig/src/util/sys_defs.h 2022-10-08 23:04:26.876507181 +0200
-+++ postfix-3.7.3/src/util/sys_defs.h 2022-10-08 23:05:13.566510543 +0200
-@@ -751,7 +751,7 @@
- /*
- * LINUX.
- */
--#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5)
-+#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) || defined(LINUX6)
- #define SUPPORTED
- #define UINT32_TYPE unsigned int
- #define UINT16_TYPE unsigned short
diff --git a/mail-mta/postfix/metadata.xml b/mail-mta/postfix/metadata.xml
index a0cfeac4192a..4e305bcea621 100644
--- a/mail-mta/postfix/metadata.xml
+++ b/mail-mta/postfix/metadata.xml
@@ -1,32 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
<maintainer type="person">
<email>eras@gentoo.org</email>
- <name>
- Eray Aslan
- </name>
+ <name>Eray Aslan</name>
</maintainer>
<maintainer type="person">
<email>williamh@gentoo.org</email>
- <name>
- William Hubbs
- </name>
+ <name>William Hubbs</name>
</maintainer>
- <upstream>
- <remote-id type="cpe">cpe:/a:postfix:postfix</remote-id>
- </upstream>
<use>
- <flag name="dovecot-sasl">Enable <pkg>net-mail/dovecot</pkg> protocol version 1 (server only) SASL implementation</flag>
+ <flag name="dovecot-sasl">Enable <pkg>net-mail/dovecot</pkg> protocol
+ version 1 (server only) SASL implementation</flag>
<flag name="eai">Add support for SMTPUTF8</flag>
- <flag name="ldap-bind">Add support for binding to LDAP backend using <pkg>dev-libs/cyrus-sasl</pkg>
+ <flag name="ldap-bind">Add support for binding to LDAP backend
+ using <pkg>dev-libs/cyrus-sasl</pkg>
</flag>
- <flag name="memcached">Add support for using <pkg>net-misc/memcached</pkg> for lookup tables</flag>
- <flag name="lmdb">Add support for using <pkg>dev-db/lmdb</pkg> for lookup tables</flag>
+ <flag name="memcached">Add support for using <pkg>net-misc/memcached</pkg>
+ for lookup tables</flag>
+ <flag name="lmdb">Add support for using <pkg>dev-db/lmdb</pkg>
+ for lookup tables</flag>
+ <flag name="mongodb">Add support for using <pkg>dev-db/mongodb</pkg>
+ for lookup tables</flag>
+ <flag name="tlsrpt">Add support for TLSRPT protocol</flag>
</use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/mail-mta/postfix/postfix-3.10.8.ebuild b/mail-mta/postfix/postfix-3.11.2.ebuild
index 7dc56163dc23..c8d03d9425d1 100644
--- a/mail-mta/postfix/postfix-3.10.8.ebuild
+++ b/mail-mta/postfix/postfix-3.11.2.ebuild
@@ -1,9 +1,15 @@
-# Copyright 2023-2026 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
-inherit flag-o-matic pam systemd toolchain-funcs
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/postfix.asc
+inherit eapi9-ver pam systemd toolchain-funcs verify-sig
-MY_PV="${PV/_pre/-}"
+if [[ ${PV} == *_rc* ]]; then
+ MY_PV="${PV/_rc/-RC}"
+else
+ MY_PV="${PV/_pre/-}"
+fi
MY_SRC="${PN}-${MY_PV}"
MY_URI="http://ftp.porcupine.org/mirrors/postfix-release/official"
RC_VER="2.7"
@@ -11,20 +17,20 @@ RC_VER="2.7"
DESCRIPTION="A fast and secure drop-in replacement for sendmail"
HOMEPAGE="https://www.postfix.org/"
SRC_URI="${MY_URI}/${MY_SRC}.tar.gz"
+SRC_URI+=" verify-sig? ( ${MY_URI}/${MY_SRC}.tar.gz.gpg2 -> ${MY_SRC}.tar.gz.asc )"
S="${WORKDIR}/${MY_SRC}"
LICENSE="|| ( IBM EPL-2.0 )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+berkdb cdb dovecot-sasl +eai ldap ldap-bind lmdb mbox memcached mongodb mariadb nis pam postgres sasl selinux sqlite ssl tlsrpt"
+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:= )
@@ -32,7 +38,7 @@ DEPEND="
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 )
- mariadb? ( dev-db/mariadb-connector-c:0= )
+ mysql? ( dev-db/mysql-connector-c:0= )
nis? ( net-libs/libnsl:= )
pam? ( sys-libs/pam )
postgres? ( dev-db/postgresql:* )
@@ -43,6 +49,7 @@ DEPEND="
"
RDEPEND="${DEPEND}
+ dev-lang/perl
memcached? ( net-misc/memcached )
net-mail/mailbase
!mail-mta/courier
@@ -56,17 +63,16 @@ RDEPEND="${DEPEND}
!mail-mta/ssmtp[mta]
selinux? ( sec-policy/selinux-postfix )"
-# require at least one db implementation for newalias (and postmap)
-# command to function properly
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-postfix )"
+
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|" \
+ sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:${EPREFIX}/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"
@@ -76,9 +82,6 @@ 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}=""
@@ -87,9 +90,25 @@ src_configure() {
# Make sure LDFLAGS get passed down to the executables.
local mycc="" mylibs="${LDFLAGS} -ldl"
+ # Determine local database type defaults
+ local default_database_type="lmdb"
+ local default_cache_db_type="lmdb"
+ if ! use lmdb; then
+ if use berkdb; then
+ default_database_type="hash"
+ default_cache_db_type="btree"
+ elif use cdb; then
+ default_database_type="cdb"
+ ewarn
+ ewarn "cdb USE flag is on but lmdb USE flag is not. Local database files"
+ ewarn "for caches will not work. Consider turning lmdb USE flag on."
+ ewarn
+ fi
+ fi
+
# libpcre is EOL. prefer libpcre2
mycc=" -DHAS_PCRE=2"
- AUXLIBS_PCRE="$(pcre2-config --libs8)"
+ AUXLIBS_PCRE="$($(tc-getPKG_CONFIG) --libs libpcre2-8)"
use pam && mylibs="${mylibs} -lpam"
@@ -113,18 +132,18 @@ src_configure() {
fi
if use mongodb; then
- mycc="${mycc} -DHAS_MONGODB $(pkg-config --cflags libmongoc-1.0)"
+ mycc="${mycc} -DHAS_MONGODB $($(tc-getPKG_CONFIG) --cflags libmongoc-1.0)"
AUXLIBS_MONGODB="-lmongoc-1.0 -lbson-1.0"
fi
- if use mariadb; then
- mycc="${mycc} -DHAS_MYSQL $(mariadb-config --include)"
- AUXLIBS_MYSQL="$(mariadb-config --libs)"
+ 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"
+ mycc="${mycc} -DHAS_PGSQL $($(tc-getPKG_CONFIG) --cflags libpq)"
+ AUXLIBS_PGSQL="$($(tc-getPKG_CONFIG) --libs libpq)"
fi
if use sqlite; then
@@ -145,7 +164,7 @@ src_configure() {
if use ldap-bind; then
mycc="${mycc} -DUSE_LDAP_SASL"
fi
- mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
+ mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${ESYSROOT}/usr/include/sasl"
mylibs="${mylibs} -lsasl2"
elif use dovecot-sasl; then
mycc="${mycc} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\""
@@ -157,24 +176,16 @@ src_configure() {
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"
+ mycc="${mycc} -DHAS_CDB -I${ESYSROOT}/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
+ printf -v AUXLIBS_CDB "${ESYSROOT}/usr/$(get_libdir)/%s " \
+ cdb.a alloc.a buffer.a unix.a byte.a || die
fi
fi
@@ -185,6 +196,8 @@ src_configure() {
shared=yes \
dynamicmaps=no \
pie=yes \
+ default_database_type="${default_database_type}" \
+ default_cache_db_type="${default_cache_db_type}" \
shlib_directory="/usr/$(get_libdir)/postfix/MAIL_VERSION" \
DEBUG="" \
CC="$(tc-getCC)" \
@@ -216,7 +229,7 @@ src_install() {
|| die "postfix-install failed"
# Fix spool removal on upgrade
- rm -Rf "${D}"/var
+ rm -Rf "${ED}"/var
keepdir /var/spool/postfix
# Install rmail for UUCP, closes bug #19127
@@ -254,7 +267,7 @@ src_install() {
mypostconf="home_mailbox=.maildir/"
fi
LD_LIBRARY_PATH="${S}/lib" \
- "${D}"/usr/sbin/postconf -c "${D}"/etc/postfix \
+ "${ED}"/usr/sbin/postconf -c "${ED}"/etc/postfix \
-e ${mypostconf} || die "postconf failed"
insinto /etc/postfix
@@ -262,9 +275,9 @@ src_install() {
fperms 600 /etc/postfix/saslpass
newinitd "${FILESDIR}"/postfix.rc6.${RC_VER} postfix
- # do not start maridb/postgres unnecessarily - bug #359913
- use mariadb || sed -i -e "s/mysql //" "${D}/etc/init.d/postfix"
- use postgres || sed -i -e "s/postgresql //" "${D}/etc/init.d/postfix"
+ # do not start mysql/postgres unnecessarily - bug #359913
+ use mysql || sed -i -e "s/mysql //" "${ED}/etc/init.d/postfix"
+ use postgres || sed -i -e "s/postgresql //" "${ED}/etc/init.d/postfix"
dodoc *README COMPATIBILITY HISTORY PORTING RELEASE_NOTES*
dodoc -r README_FILES/ examples/
@@ -288,20 +301,34 @@ src_install() {
}
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
+ if ver_replacing -lt 3.11 ; then
+ # This is an upgrade which requires user review
+ ewarn "Default database and cache type changed to lmdb"
+ ewarn "with postfix-3.11. Please read the migration guide:"
+ ewarn " https://www.postfix.org/NON_BERKELEYDB_README.html"
+ fi
+
+ if ! use berkdb && ! use cdb && ! use 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 "No backend for local database files is configured."
+ ewarn "newaliases and postmap commands will not work. This"
+ ewarn "is not a supported configuration and you are strongly"
+ ewarn "recommended to turn one of berkdb, cdb or lmdb USE flags"
+ ewarn "on."
ewarn
+ else
+ # 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 "You must edit /etc/mail/aliases to suit your needs"
+ ewarn "and then run /usr/bin/newaliases."
+ fi
+ # run newaliases anyway. otherwise, we might break when switching
+ # default database implementation
+ "${EROOT}"/usr/bin/newaliases
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
diff --git a/mail-mta/postfix/postfix-3.11.0.ebuild b/mail-mta/postfix/postfix-3.11.3.ebuild
index 7dc56163dc23..f99930a59667 100644
--- a/mail-mta/postfix/postfix-3.11.0.ebuild
+++ b/mail-mta/postfix/postfix-3.11.3.ebuild
@@ -1,9 +1,15 @@
-# Copyright 2023-2026 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
-inherit flag-o-matic pam systemd toolchain-funcs
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/postfix.asc
+inherit eapi9-ver pam systemd toolchain-funcs verify-sig
-MY_PV="${PV/_pre/-}"
+if [[ ${PV} == *_rc* ]]; then
+ MY_PV="${PV/_rc/-RC}"
+else
+ MY_PV="${PV/_pre/-}"
+fi
MY_SRC="${PN}-${MY_PV}"
MY_URI="http://ftp.porcupine.org/mirrors/postfix-release/official"
RC_VER="2.7"
@@ -11,20 +17,20 @@ RC_VER="2.7"
DESCRIPTION="A fast and secure drop-in replacement for sendmail"
HOMEPAGE="https://www.postfix.org/"
SRC_URI="${MY_URI}/${MY_SRC}.tar.gz"
+SRC_URI+=" verify-sig? ( ${MY_URI}/${MY_SRC}.tar.gz.gpg2 -> ${MY_SRC}.tar.gz.asc )"
S="${WORKDIR}/${MY_SRC}"
LICENSE="|| ( IBM EPL-2.0 )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+berkdb cdb dovecot-sasl +eai ldap ldap-bind lmdb mbox memcached mongodb mariadb nis pam postgres sasl selinux sqlite ssl tlsrpt"
+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:= )
@@ -32,7 +38,7 @@ DEPEND="
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 )
- mariadb? ( dev-db/mariadb-connector-c:0= )
+ mysql? ( dev-db/mysql-connector-c:0= )
nis? ( net-libs/libnsl:= )
pam? ( sys-libs/pam )
postgres? ( dev-db/postgresql:* )
@@ -43,6 +49,7 @@ DEPEND="
"
RDEPEND="${DEPEND}
+ dev-lang/perl
memcached? ( net-misc/memcached )
net-mail/mailbase
!mail-mta/courier
@@ -56,17 +63,16 @@ RDEPEND="${DEPEND}
!mail-mta/ssmtp[mta]
selinux? ( sec-policy/selinux-postfix )"
-# require at least one db implementation for newalias (and postmap)
-# command to function properly
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-postfix )"
+
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|" \
+ sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:${EPREFIX}/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"
@@ -76,9 +82,6 @@ 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}=""
@@ -87,9 +90,25 @@ src_configure() {
# Make sure LDFLAGS get passed down to the executables.
local mycc="" mylibs="${LDFLAGS} -ldl"
+ # Determine local database type defaults
+ local default_database_type="lmdb"
+ local default_cache_db_type="lmdb"
+ if ! use lmdb; then
+ if use berkdb; then
+ default_database_type="hash"
+ default_cache_db_type="btree"
+ elif use cdb; then
+ default_database_type="cdb"
+ ewarn
+ ewarn "cdb USE flag is on but lmdb USE flag is not. Local database files"
+ ewarn "for caches will not work. Consider turning lmdb USE flag on."
+ ewarn
+ fi
+ fi
+
# libpcre is EOL. prefer libpcre2
mycc=" -DHAS_PCRE=2"
- AUXLIBS_PCRE="$(pcre2-config --libs8)"
+ AUXLIBS_PCRE="$($(tc-getPKG_CONFIG) --libs libpcre2-8)"
use pam && mylibs="${mylibs} -lpam"
@@ -113,18 +132,18 @@ src_configure() {
fi
if use mongodb; then
- mycc="${mycc} -DHAS_MONGODB $(pkg-config --cflags libmongoc-1.0)"
+ mycc="${mycc} -DHAS_MONGODB $($(tc-getPKG_CONFIG) --cflags libmongoc-1.0)"
AUXLIBS_MONGODB="-lmongoc-1.0 -lbson-1.0"
fi
- if use mariadb; then
- mycc="${mycc} -DHAS_MYSQL $(mariadb-config --include)"
- AUXLIBS_MYSQL="$(mariadb-config --libs)"
+ 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"
+ mycc="${mycc} -DHAS_PGSQL $($(tc-getPKG_CONFIG) --cflags libpq)"
+ AUXLIBS_PGSQL="$($(tc-getPKG_CONFIG) --libs libpq)"
fi
if use sqlite; then
@@ -145,7 +164,7 @@ src_configure() {
if use ldap-bind; then
mycc="${mycc} -DUSE_LDAP_SASL"
fi
- mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
+ mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${ESYSROOT}/usr/include/sasl"
mylibs="${mylibs} -lsasl2"
elif use dovecot-sasl; then
mycc="${mycc} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\""
@@ -157,24 +176,16 @@ src_configure() {
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"
+ mycc="${mycc} -DHAS_CDB -I${ESYSROOT}/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
+ printf -v AUXLIBS_CDB "${ESYSROOT}/usr/$(get_libdir)/%s " \
+ cdb.a alloc.a buffer.a unix.a byte.a || die
fi
fi
@@ -185,6 +196,8 @@ src_configure() {
shared=yes \
dynamicmaps=no \
pie=yes \
+ default_database_type="${default_database_type}" \
+ default_cache_db_type="${default_cache_db_type}" \
shlib_directory="/usr/$(get_libdir)/postfix/MAIL_VERSION" \
DEBUG="" \
CC="$(tc-getCC)" \
@@ -216,7 +229,7 @@ src_install() {
|| die "postfix-install failed"
# Fix spool removal on upgrade
- rm -Rf "${D}"/var
+ rm -Rf "${ED}"/var
keepdir /var/spool/postfix
# Install rmail for UUCP, closes bug #19127
@@ -254,7 +267,7 @@ src_install() {
mypostconf="home_mailbox=.maildir/"
fi
LD_LIBRARY_PATH="${S}/lib" \
- "${D}"/usr/sbin/postconf -c "${D}"/etc/postfix \
+ "${ED}"/usr/sbin/postconf -c "${ED}"/etc/postfix \
-e ${mypostconf} || die "postconf failed"
insinto /etc/postfix
@@ -262,9 +275,9 @@ src_install() {
fperms 600 /etc/postfix/saslpass
newinitd "${FILESDIR}"/postfix.rc6.${RC_VER} postfix
- # do not start maridb/postgres unnecessarily - bug #359913
- use mariadb || sed -i -e "s/mysql //" "${D}/etc/init.d/postfix"
- use postgres || sed -i -e "s/postgresql //" "${D}/etc/init.d/postfix"
+ # do not start mysql/postgres unnecessarily - bug #359913
+ use mysql || sed -i -e "s/mysql //" "${ED}/etc/init.d/postfix"
+ use postgres || sed -i -e "s/postgresql //" "${ED}/etc/init.d/postfix"
dodoc *README COMPATIBILITY HISTORY PORTING RELEASE_NOTES*
dodoc -r README_FILES/ examples/
@@ -288,20 +301,34 @@ src_install() {
}
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
+ if ver_replacing -lt 3.11 ; then
+ # This is an upgrade which requires user review
+ ewarn "Default database and cache type changed to lmdb"
+ ewarn "with postfix-3.11. Please read the migration guide:"
+ ewarn " https://www.postfix.org/NON_BERKELEYDB_README.html"
+ fi
+
+ if ! use berkdb && ! use cdb && ! use 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 "No backend for local database files is configured."
+ ewarn "newaliases and postmap commands will not work. This"
+ ewarn "is not a supported configuration and you are strongly"
+ ewarn "recommended to turn one of berkdb, cdb or lmdb USE flags"
+ ewarn "on."
ewarn
+ else
+ # 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 "You must edit /etc/mail/aliases to suit your needs"
+ ewarn "and then run /usr/bin/newaliases."
+ fi
+ # run newaliases anyway. otherwise, we might break when switching
+ # default database implementation
+ "${EROOT}"/usr/bin/newaliases
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
diff --git a/mail-mta/postfix/postfix-3.11.1.ebuild b/mail-mta/postfix/postfix-3.11.4.ebuild
index 7dc56163dc23..f99930a59667 100644
--- a/mail-mta/postfix/postfix-3.11.1.ebuild
+++ b/mail-mta/postfix/postfix-3.11.4.ebuild
@@ -1,9 +1,15 @@
-# Copyright 2023-2026 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
-inherit flag-o-matic pam systemd toolchain-funcs
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/postfix.asc
+inherit eapi9-ver pam systemd toolchain-funcs verify-sig
-MY_PV="${PV/_pre/-}"
+if [[ ${PV} == *_rc* ]]; then
+ MY_PV="${PV/_rc/-RC}"
+else
+ MY_PV="${PV/_pre/-}"
+fi
MY_SRC="${PN}-${MY_PV}"
MY_URI="http://ftp.porcupine.org/mirrors/postfix-release/official"
RC_VER="2.7"
@@ -11,20 +17,20 @@ RC_VER="2.7"
DESCRIPTION="A fast and secure drop-in replacement for sendmail"
HOMEPAGE="https://www.postfix.org/"
SRC_URI="${MY_URI}/${MY_SRC}.tar.gz"
+SRC_URI+=" verify-sig? ( ${MY_URI}/${MY_SRC}.tar.gz.gpg2 -> ${MY_SRC}.tar.gz.asc )"
S="${WORKDIR}/${MY_SRC}"
LICENSE="|| ( IBM EPL-2.0 )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+berkdb cdb dovecot-sasl +eai ldap ldap-bind lmdb mbox memcached mongodb mariadb nis pam postgres sasl selinux sqlite ssl tlsrpt"
+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:= )
@@ -32,7 +38,7 @@ DEPEND="
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 )
- mariadb? ( dev-db/mariadb-connector-c:0= )
+ mysql? ( dev-db/mysql-connector-c:0= )
nis? ( net-libs/libnsl:= )
pam? ( sys-libs/pam )
postgres? ( dev-db/postgresql:* )
@@ -43,6 +49,7 @@ DEPEND="
"
RDEPEND="${DEPEND}
+ dev-lang/perl
memcached? ( net-misc/memcached )
net-mail/mailbase
!mail-mta/courier
@@ -56,17 +63,16 @@ RDEPEND="${DEPEND}
!mail-mta/ssmtp[mta]
selinux? ( sec-policy/selinux-postfix )"
-# require at least one db implementation for newalias (and postmap)
-# command to function properly
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-postfix )"
+
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|" \
+ sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:${EPREFIX}/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"
@@ -76,9 +82,6 @@ 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}=""
@@ -87,9 +90,25 @@ src_configure() {
# Make sure LDFLAGS get passed down to the executables.
local mycc="" mylibs="${LDFLAGS} -ldl"
+ # Determine local database type defaults
+ local default_database_type="lmdb"
+ local default_cache_db_type="lmdb"
+ if ! use lmdb; then
+ if use berkdb; then
+ default_database_type="hash"
+ default_cache_db_type="btree"
+ elif use cdb; then
+ default_database_type="cdb"
+ ewarn
+ ewarn "cdb USE flag is on but lmdb USE flag is not. Local database files"
+ ewarn "for caches will not work. Consider turning lmdb USE flag on."
+ ewarn
+ fi
+ fi
+
# libpcre is EOL. prefer libpcre2
mycc=" -DHAS_PCRE=2"
- AUXLIBS_PCRE="$(pcre2-config --libs8)"
+ AUXLIBS_PCRE="$($(tc-getPKG_CONFIG) --libs libpcre2-8)"
use pam && mylibs="${mylibs} -lpam"
@@ -113,18 +132,18 @@ src_configure() {
fi
if use mongodb; then
- mycc="${mycc} -DHAS_MONGODB $(pkg-config --cflags libmongoc-1.0)"
+ mycc="${mycc} -DHAS_MONGODB $($(tc-getPKG_CONFIG) --cflags libmongoc-1.0)"
AUXLIBS_MONGODB="-lmongoc-1.0 -lbson-1.0"
fi
- if use mariadb; then
- mycc="${mycc} -DHAS_MYSQL $(mariadb-config --include)"
- AUXLIBS_MYSQL="$(mariadb-config --libs)"
+ 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"
+ mycc="${mycc} -DHAS_PGSQL $($(tc-getPKG_CONFIG) --cflags libpq)"
+ AUXLIBS_PGSQL="$($(tc-getPKG_CONFIG) --libs libpq)"
fi
if use sqlite; then
@@ -145,7 +164,7 @@ src_configure() {
if use ldap-bind; then
mycc="${mycc} -DUSE_LDAP_SASL"
fi
- mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
+ mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${ESYSROOT}/usr/include/sasl"
mylibs="${mylibs} -lsasl2"
elif use dovecot-sasl; then
mycc="${mycc} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\""
@@ -157,24 +176,16 @@ src_configure() {
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"
+ mycc="${mycc} -DHAS_CDB -I${ESYSROOT}/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
+ printf -v AUXLIBS_CDB "${ESYSROOT}/usr/$(get_libdir)/%s " \
+ cdb.a alloc.a buffer.a unix.a byte.a || die
fi
fi
@@ -185,6 +196,8 @@ src_configure() {
shared=yes \
dynamicmaps=no \
pie=yes \
+ default_database_type="${default_database_type}" \
+ default_cache_db_type="${default_cache_db_type}" \
shlib_directory="/usr/$(get_libdir)/postfix/MAIL_VERSION" \
DEBUG="" \
CC="$(tc-getCC)" \
@@ -216,7 +229,7 @@ src_install() {
|| die "postfix-install failed"
# Fix spool removal on upgrade
- rm -Rf "${D}"/var
+ rm -Rf "${ED}"/var
keepdir /var/spool/postfix
# Install rmail for UUCP, closes bug #19127
@@ -254,7 +267,7 @@ src_install() {
mypostconf="home_mailbox=.maildir/"
fi
LD_LIBRARY_PATH="${S}/lib" \
- "${D}"/usr/sbin/postconf -c "${D}"/etc/postfix \
+ "${ED}"/usr/sbin/postconf -c "${ED}"/etc/postfix \
-e ${mypostconf} || die "postconf failed"
insinto /etc/postfix
@@ -262,9 +275,9 @@ src_install() {
fperms 600 /etc/postfix/saslpass
newinitd "${FILESDIR}"/postfix.rc6.${RC_VER} postfix
- # do not start maridb/postgres unnecessarily - bug #359913
- use mariadb || sed -i -e "s/mysql //" "${D}/etc/init.d/postfix"
- use postgres || sed -i -e "s/postgresql //" "${D}/etc/init.d/postfix"
+ # do not start mysql/postgres unnecessarily - bug #359913
+ use mysql || sed -i -e "s/mysql //" "${ED}/etc/init.d/postfix"
+ use postgres || sed -i -e "s/postgresql //" "${ED}/etc/init.d/postfix"
dodoc *README COMPATIBILITY HISTORY PORTING RELEASE_NOTES*
dodoc -r README_FILES/ examples/
@@ -288,20 +301,34 @@ src_install() {
}
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
+ if ver_replacing -lt 3.11 ; then
+ # This is an upgrade which requires user review
+ ewarn "Default database and cache type changed to lmdb"
+ ewarn "with postfix-3.11. Please read the migration guide:"
+ ewarn " https://www.postfix.org/NON_BERKELEYDB_README.html"
+ fi
+
+ if ! use berkdb && ! use cdb && ! use 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 "No backend for local database files is configured."
+ ewarn "newaliases and postmap commands will not work. This"
+ ewarn "is not a supported configuration and you are strongly"
+ ewarn "recommended to turn one of berkdb, cdb or lmdb USE flags"
+ ewarn "on."
ewarn
+ else
+ # 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 "You must edit /etc/mail/aliases to suit your needs"
+ ewarn "and then run /usr/bin/newaliases."
+ fi
+ # run newaliases anyway. otherwise, we might break when switching
+ # default database implementation
+ "${EROOT}"/usr/bin/newaliases
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
diff --git a/mail-mta/postfix/postfix-3.12_pre20260615.ebuild b/mail-mta/postfix/postfix-3.12_pre20260615.ebuild
new file mode 100644
index 000000000000..d906b77193bb
--- /dev/null
+++ b/mail-mta/postfix/postfix-3.12_pre20260615.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/postfix.asc
+inherit eapi9-ver pam systemd toolchain-funcs verify-sig
+
+if [[ ${PV} == *_rc* ]]; then
+ MY_PV="${PV/_rc/-RC}"
+else
+ MY_PV="${PV/_pre/-}"
+fi
+MY_SRC="${PN}-${MY_PV}"
+MY_URI="http://ftp.porcupine.org/mirrors/postfix-release/experimental"
+RC_VER="2.7"
+
+DESCRIPTION="A fast and secure drop-in replacement for sendmail"
+HOMEPAGE="https://www.postfix.org/"
+SRC_URI="${MY_URI}/${MY_SRC}.tar.gz"
+SRC_URI+=" verify-sig? ( ${MY_URI}/${MY_SRC}.tar.gz.gpg2 -> ${MY_SRC}.tar.gz.asc )"
+S="${WORKDIR}/${MY_SRC}"
+
+LICENSE="|| ( IBM EPL-2.0 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~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
+ 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}
+ dev-lang/perl
+ 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 )"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-postfix )"
+
+REQUIRED_USE="
+ ldap-bind? ( ldap sasl )
+ tlsrpt? ( ssl )
+ "
+
+src_prepare() {
+ default
+ sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:${EPREFIX}/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
+
+ 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"
+
+ # Determine local database type defaults
+ local default_database_type="lmdb"
+ local default_cache_db_type="lmdb"
+ if ! use lmdb; then
+ if use berkdb; then
+ default_database_type="hash"
+ default_cache_db_type="btree"
+ elif use cdb; then
+ default_database_type="cdb"
+ ewarn
+ ewarn "cdb USE flag is on but lmdb USE flag is not. Local database files"
+ ewarn "for caches will not work. Consider turning lmdb USE flag on."
+ ewarn
+ fi
+ fi
+
+ # libpcre is EOL. prefer libpcre2
+ mycc=" -DHAS_PCRE=2"
+ AUXLIBS_PCRE="$($(tc-getPKG_CONFIG) --libs libpcre2-8)"
+
+ 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 $($(tc-getPKG_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 $($(tc-getPKG_CONFIG) --cflags libpq)"
+ AUXLIBS_PGSQL="$($(tc-getPKG_CONFIG) --libs libpq)"
+ 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${ESYSROOT}/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"
+ fi
+
+ if use cdb; then
+ mycc="${mycc} -DHAS_CDB -I${ESYSROOT}/usr/include/cdb"
+ # Tinycdb is preferred.
+ if has_version dev-db/tinycdb ; then
+ AUXLIBS_CDB="-lcdb"
+ else
+ printf -v AUXLIBS_CDB "${ESYSROOT}/usr/$(get_libdir)/%s " \
+ cdb.a alloc.a buffer.a unix.a byte.a || die
+ 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 \
+ default_database_type="${default_database_type}" \
+ default_cache_db_type="${default_cache_db_type}" \
+ 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 "${ED}"/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" \
+ "${ED}"/usr/sbin/postconf -c "${ED}"/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 //" "${ED}/etc/init.d/postfix"
+ use postgres || sed -i -e "s/postgresql //" "${ED}/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() {
+ if ver_replacing -lt 3.12; then
+ ewarn "berkdb USE flag is off by default in postfix-3.12."
+ ewarn "Remember to turn it on if you are still using hash"
+ ewarn "or btree local database files."
+ fi
+
+ if ! use berkdb && ! use cdb && ! use lmdb; then
+ ewarn
+ ewarn "No backend for local database files is configured."
+ ewarn "newaliases and postmap commands will not work. This"
+ ewarn "is not a supported configuration and you are strongly"
+ ewarn "recommended to turn one of berkdb, cdb or lmdb USE flags"
+ ewarn "on."
+ ewarn
+ else
+ # 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 "You must edit /etc/mail/aliases to suit your needs"
+ ewarn "and then run /usr/bin/newaliases."
+ fi
+ # run newaliases anyway. otherwise, we might break when switching
+ # default database implementation
+ "${EROOT}"/usr/bin/newaliases
+ fi
+
+ # 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.5.25.ebuild b/mail-mta/postfix/postfix-3.5.25.ebuild
deleted file mode 100644
index 1b552a65cf8a..000000000000
--- a/mail-mta/postfix/postfix-3.5.25.ebuild
+++ /dev/null
@@ -1,317 +0,0 @@
-# Copyright 2021-2025 Liguros 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/_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 mariadb 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 )
- mariadb? ( dev-db/mariadb-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}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-glibc-2.34.patch"
-)
-
-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 mariadb; then
- mycc="${mycc} -DHAS_MYSQL $(mariadb-config --include)"
- AUXLIBS_MYSQL="$(mariadb-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 -std=gnu17
-
- 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 mariadb/postgres unnecessarily - bug #359913
- use mariadb || 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
-
- 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
-
- 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/sendmail/Manifest b/mail-mta/sendmail/Manifest
index 2c24d661f727..b51e8467be82 100644
--- a/mail-mta/sendmail/Manifest
+++ b/mail-mta/sendmail/Manifest
@@ -1,2 +1,6 @@
-DIST sendmail.8.18.1.tar.gz 2401566 BLAKE2B 3afa36073fd611c7fdb43ef0ab9f02d5fb8ae388e9471bdc7275c6c9dcee0a654f46ddef505b70e978cb1b818b0da375250678e501676d8bace534d59ee40d90 SHA512 9ce713b44439d4de6faa9e3cdfa2226b44b4fbeb352a5f81584c062570e9472da244158287e489aabe258d28fe54ca4964565c7b0adc7e1763d212be42f98061
DIST sendmail.8.18.2.tar.gz 2372458 BLAKE2B a291006fd498d61b8fe19eb02cdeb92f83cef68b5c3db0c8b6479edb8e4722ed2d2ae03cf39553c0631224a1dfa00754cf4ea32bb7bc762ad8152ccaebe606dc SHA512 55515220ea84db4b56b8154efbf21aeb7161943c92bd63527cfc20169ea566e299cc289f0a6e160dc5637f656bdc451707003750d4b42a7894d40f35f51f6040
+DIST sendmail.8.18.2.tar.gz.sig 543 BLAKE2B 6c397ada6b93de4608d11bc09d58c687819f333161865129d70d5dd3fc35124fda3f5c8d2533a10b8a327804feb261b4abd3506bb9a8ede686cc0b3f159203c5 SHA512 4e531f89e5e10dba7d3c66c8c5378aadeb139ec9d2f6ac6568f272adea4d1515c1ba858bb34585e0d52ac070185052e901d58bd677ef59a5cc733b4f60fb827f
+DIST sendmail.8.19.0.0.tar.gz 2379422 BLAKE2B a5e8b10853f4a1eba9db8e2e8a7cfb39c1dafb79fce2d10b0045089b60888f17802e8cb5af6db2c8f1d8e8dc0a59069fd9e6cf51ec6d49d44bd09b2618f12518 SHA512 4f3b76d60f13ed5ce9c334788ae6efad42beb47b2ce649bd83572da8fef2d7607e0a30ec2a1a1613fccfd942162168cc0ecfd6604ca0d5bcdaa83a929bfaa634
+DIST sendmail.8.19.0.0.tar.gz.sig 543 BLAKE2B a9bf1f101c18ac3ff41654d04ca79dd3e0bad06d46c490b565332c945ae78b1a96da64c92a593cbb2b78c1465b0d88a9b903f90f55d03046163a807ba2cb984c SHA512 4952ef892e3dd68afe27f1fbf1c8e4916b17ec59092d4724168bb51bf793fbd4bf513f88c1578dfb96a645bab186a7c4508335cf816fe2b61624320158d016cf
+DIST sendmail.8.19.0.1.tar.gz 2373351 BLAKE2B d8f0a589185a0b3311a7fa7132f61e5ad6ce140f29af70bd4e6d2793d3736b1cb32c913ef543901255a50a912d06bc62b9dec18448c4bdb5bf45600c13c4b905 SHA512 11d48f31ee36f6b2bceefed9a79c4a8f35c38bcdaae120427b45bcd0baa4a68cdf8065a94a883dce13b9162dd0fa1ead6cf6d1742e7388e309c0bf13e234c617
+DIST sendmail.8.19.0.1.tar.gz.sig 543 BLAKE2B 3359056cab08a27e453dcb85535cc2b26b81db54ed6e64effa3e540b7847eb7fd08707648e36b96129e49a489a1f8390b2748032111827b57caf9bce838d5d09 SHA512 64af4ab600959d2975d9e0bfe423d64903be94c4734dbcd2623ff6b0f6b7682e2bcd2f45b9a24f6b6e70600f4b1dc724677e95aa98e75124fdb4cbd06865ae4f
diff --git a/mail-mta/sendmail/files/sendmail-delivered_hdr.patch b/mail-mta/sendmail/files/sendmail-8.13.1-delivered_hdr.patch
index 6837fed1c46d..7ea73bad3f52 100644
--- a/mail-mta/sendmail/files/sendmail-delivered_hdr.patch
+++ b/mail-mta/sendmail/files/sendmail-8.13.1-delivered_hdr.patch
@@ -1,5 +1,5 @@
---- sendmail/conf.c.orig 2004-07-14 21:54:23.000000000 +0000
-+++ sendmail/conf.c 2004-12-06 15:22:05.000000000 +0000
+--- a/sendmail/conf.c
++++ b/sendmail/conf.c
@@ -117,6 +117,7 @@
{ "content-length", H_ACHECK, NULL },
{ "subject", H_ENCODABLE, NULL },
diff --git a/mail-mta/sendmail/files/sendmail-8.18.1-cdb.patch b/mail-mta/sendmail/files/sendmail-8.18.1-cdb.patch
new file mode 100644
index 000000000000..aee9a747b73d
--- /dev/null
+++ b/mail-mta/sendmail/files/sendmail-8.18.1-cdb.patch
@@ -0,0 +1,47 @@
+Link: https://narkive.com/tsmcN7nY.2
+
+--- a/sendmail/map.c
++++ b/sendmail/map.c
+@@ -3042,7 +3042,7 @@
+ char **av;
+ int *statp;
+ {
+- char *data;
++ char *data, *result;
+ struct cdb *cdbmap;
+ unsigned int klen, dlen;
+ int st, fd;
+@@ -3050,6 +3050,7 @@
+ char buf[MAXPATHLEN];
+
+ data = NULL;
++ result = NULL;
+ cdbmap = map->map_db1;
+ if (tTd(38, 20))
+ sm_dprintf("cdb_map_lookup(%s, %s)\n", map->map_mname, name);
+@@ -3136,14 +3137,22 @@
+ else
+ {
+ dlen = cdb_datalen(cdbmap);
+- data = malloc(dlen + 1);
++ data = (char *) sm_malloc(dlen + 1);
++ if (NULL == data)
++ {
++ *statp = EX_TEMPFAIL;
++ return NULL;
++ }
+ cdb_read(cdbmap, data, dlen, cdb_datapos(cdbmap));
+ data[dlen] = '\0';
+ }
+ if (bitset(MF_MATCHONLY, map->map_mflags))
+- return map_rewrite(map, name, strlen(name), NULL);
++ result = map_rewrite(map, name, strlen(name), NULL);
+ else
+- return map_rewrite(map, data, dlen, av);
++ result = map_rewrite(map, data, dlen, av);
++
++ SM_FREE(data);
++ return result;
+ }
+
+ /*
diff --git a/mail-mta/sendmail/files/sendmail-8.19.0.0-newdb.patch b/mail-mta/sendmail/files/sendmail-8.19.0.0-newdb.patch
new file mode 100644
index 000000000000..0310e7f9dff1
--- /dev/null
+++ b/mail-mta/sendmail/files/sendmail-8.19.0.0-newdb.patch
@@ -0,0 +1,14 @@
+Link: https://narkive.com/H54UQbMD.3
+Bug: https://bugs.gentoo.org/971182
+
+--- a/libsmdb/smdb2.c
++++ b/libsmdb/smdb2.c
+@@ -440,7 +440,7 @@
+
+ static void
+ db_err_cb(
+-# if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3
++# if DB_VERSION_MAJOR > 4 || DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3
+ const DB_ENV *dbenv, const char *errpfx, const char *msg
+ # else
+ const char *errpfx, char *msg
diff --git a/mail-mta/sendmail/files/sendmail-procmail.mc b/mail-mta/sendmail/files/sendmail-maildir.mc
index af994ae33ad0..eb8a3f06c48f 100644
--- a/mail-mta/sendmail/files/sendmail-procmail.mc
+++ b/mail-mta/sendmail/files/sendmail-maildir.mc
@@ -7,6 +7,7 @@ DOMAIN(generic)dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`local_lmtp',`/usr/sbin/mail.local')dnl
FEATURE(`local_procmail')dnl
+dnl FEATURE(`local_procmail',`/usr/bin/maildrop',`maildrop -d $u')dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
diff --git a/mail-mta/sendmail/files/sendmail-musl-disable-cdefs.patch b/mail-mta/sendmail/files/sendmail-musl-disable-cdefs.patch
new file mode 100644
index 000000000000..6dc4ac63105e
--- /dev/null
+++ b/mail-mta/sendmail/files/sendmail-musl-disable-cdefs.patch
@@ -0,0 +1,11 @@
+--- a/include/sm/os/sm_os_linux.h 2020-06-09 11:57:46.789786561 +0200
++++ b/include/sm/os/sm_os_linux.h 2020-06-09 11:57:49.174781812 +0200
+@@ -33,7 +33,7 @@
+ # endif /* LINUX_VERSION_CODE */
+ #endif /* SM_CONF_SHM */
+
+-#define SM_CONF_SYS_CDEFS_H 1
++#define SM_CONF_SYS_CDEFS_H 0
+ #ifndef SM_CONF_SEM
+ # define SM_CONF_SEM 2
+ #endif /* SM_CONF_SEM */
diff --git a/mail-mta/sendmail/files/sendmail-musl-stack-size.patch b/mail-mta/sendmail/files/sendmail-musl-stack-size.patch
new file mode 100644
index 000000000000..9993adfece34
--- /dev/null
+++ b/mail-mta/sendmail/files/sendmail-musl-stack-size.patch
@@ -0,0 +1,42 @@
+Set default pthread stack size to 256 KB
+
+This patch tries to fix various crashes for applications depending on libmilter
+by setting the stack size for pthreads to 256 KB. The default stack size for
+musl libc is set to 80 KB whereas glibc has it set to 8 MB. This causes problems
+when a large amount of memory is allocated on the stack.
+
+For example, opendkim allocates blocks of 64 KB multiple times, which causes
+libmilter (and therefore opendkim) to crash. For now, a stack size of 256 KB
+looks sufficient and makes opendkim stop crashing.
+
+Fixes https://bugs.alpinelinux.org/issues/6360
+
+--- a/libmilter/libmilter.h
++++ b/libmilter/libmilter.h
+@@ -127,10 +127,10 @@
+ # define MI_SOCK_READ(s, b, l) read(s, b, l)
+ # define MI_SOCK_READ_FAIL(x) ((x) < 0)
+ # define MI_SOCK_WRITE(s, b, l) write(s, b, l)
+-
+-# define thread_create(ptid,wr,arg) pthread_create(ptid, NULL, wr, arg)
+ # define sthread_get_id() pthread_self()
+
++extern int thread_create(pthread_t *ptid, void *(*wr) (void *), void *arg);
++
+ typedef pthread_mutex_t smutex_t;
+ # define smutex_init(mp) (pthread_mutex_init(mp, NULL) == 0)
+ # define smutex_destroy(mp) (pthread_mutex_destroy(mp) == 0)
+--- a/libmilter/main.c
++++ b/libmilter/main.c
+@@ -16,6 +16,12 @@
+ #include <fcntl.h>
+ #include <sys/stat.h>
+
++int thread_create(pthread_t *ptid, void *(*wr) (void *), void *arg) {
++ pthread_attr_t attr;
++ pthread_attr_init(&attr);
++ pthread_attr_setstacksize(&attr,256*1024);
++ return pthread_create(ptid, &attr, wr, arg);
++}
+
+ static smfiDesc_ptr smfi = NULL;
diff --git a/mail-mta/sendmail/files/tls.patch b/mail-mta/sendmail/files/tls.patch
deleted file mode 100644
index 0c2f5e8a7d47..000000000000
--- a/mail-mta/sendmail/files/tls.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-$OpenBSD: patch-sendmail_tls_c,v 1.2 2022/01/26 13:01:08 ajacoutot Exp $
-
-Unbreak build with opaque DH in LibreSSL 3.5: force use of DH_set0_pqg().
-
-Index: sendmail/tls.c
---- sendmail/tls.c.orig
-+++ sendmail/tls.c
-@@ -43,6 +43,7 @@ SM_RCSID("@(#)$Id: tls.c,v 8.127 2013-11-27 02:51:11 g
- # include <openssl/bn.h>
- # include <openssl/dsa.h>
- # else
-+# define MTA_HAVE_DH_set0_pqg 1
- # define X509_STORE_CTX_get0_cert(ctx) (ctx)->cert
- # define MTA_RSA_TMP_CB 1
- # define MTA_ASN1_STRING_data ASN1_STRING_data
diff --git a/mail-mta/sendmail/metadata.xml b/mail-mta/sendmail/metadata.xml
index 03034e7904ff..b57d3624d689 100644
--- a/mail-mta/sendmail/metadata.xml
+++ b/mail-mta/sendmail/metadata.xml
@@ -1,12 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
+ <maintainer type="person" proxied="yes">
+ <email>cfuga@cfuga.mx</email>
+ <name>Cristian Othón Martínez Vera</name>
</maintainer>
- <upstream>
- <remote-id type="cpe">cpe:/a:sendmail:sendmail</remote-id>
- </upstream>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="eai">Add support for SMTPUTF8</flag>
+ <flag name="fips">Add support for FIPS mode (experimental)</flag>
+ <flag name="tinycdb">Add support for using <pkg>dev-db/tinycdb</pkg>
+ for lookup tables</flag>
+ </use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/mail-mta/sendmail/sendmail-8.18.1.ebuild b/mail-mta/sendmail/sendmail-8.18.1.ebuild
deleted file mode 100644
index 94acfacb7112..000000000000
--- a/mail-mta/sendmail/sendmail-8.18.1.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 2021-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-inherit multilib systemd toolchain-funcs
-
-DESCRIPTION="Widely-used Mail Transport Agent (MTA)"
-HOMEPAGE="https://www.sendmail.org/"
-SRC_URI="ftp://ftp.sendmail.org/pub/${PN}/${PN}.${PV}.tar.gz"
-
-LICENSE="Sendmail GPL-2" # GPL-2 is here for initscript
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-IUSE="ipv6 ldap mbox nis sasl sockets ssl tcpd"
-
-BDEPEND="sys-devel/m4"
-DEPEND="net-mail/mailbase
- sasl? ( >=dev-libs/cyrus-sasl-2.1.10 )
- tcpd? ( sys-apps/tcp-wrappers )
- ssl? (
- dev-libs/openssl:0=
-
- )
- dev-perl/File-Flock
- ldap? ( net-nds/openldap )
- >=sys-libs/db-3.2:=
- !net-mail/vacation"
-RDEPEND="${DEPEND}
- acct-group/smmsp
- acct-user/smmsp
- >=net-mail/mailbase-0.00
- >=mail-filter/libmilter-1.0.2_p1-r1
- !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/postfix
- !mail-mta/opensmtpd
- !mail-mta/qmail-ldap
- !>=mail-mta/ssmtp-2.64-r2[mta]"
-
-PDEPEND="!mbox? ( mail-filter/procmail )"
-
-src_prepare() {
- eapply "${FILESDIR}"/"${PN}"-8.16.1-build-system.patch
- eapply -p0 "${FILESDIR}"/sendmail-delivered_hdr.patch
- eapply -p0 "${FILESDIR}"/tls.patch
-
- local confCC="$(tc-getCC)"
- local confCCOPTS="${CFLAGS}"
- local confLDOPTS="${LDFLAGS}"
- local confMAPDEF="-DMAP_REGEX -DHASFLOCK"
- local confENVDEF="-DMAXDAEMONS=64"
- local conf_sendmail_LIBS=""
-
- confENVDEF="${confLIBS} -DHAS_GETHOSTBYNAME2=1"
-
- use sasl && confLIBS="${confLIBS} -lsasl2" \
- && confENVDEF="${confENVDEF} -DSASL=2" \
- && confCCOPTS="${confCCOPTS} -I/usr/include/sasl" \
- && conf_sendmail_LIBS="${conf_sendmail_LIBS} -lsasl2"
-
- use tcpd && confENVDEF="${confENVDEF} -DTCPWRAPPERS" \
- && confLIBS="${confLIBS} -lwrap"
-
- # Bug #542370 - lets add support for modern crypto (PFS)
- use ssl && confENVDEF="${confENVDEF} -DSTARTTLS -D_FFR_DEAL_WITH_ERROR_SSL" \
- && confENVDEF="${confENVDEF} -D_FFR_TLS_1 -D_FFR_TLS_EC" \
- && confLIBS="${confLIBS} -lssl -lcrypto" \
- && conf_sendmail_LIBS="${conf_sendmail_LIBS} -lssl -lcrypto"
-
- use ldap && confMAPDEF="${confMAPDEF} -DLDAPMAP" \
- && confLIBS="${confLIBS} -lldap -llber"
-
- use ipv6 && confENVDEF="${confENVDEF} -DNETINET6"
-
- use nis && confENVDEF="${confENVDEF} -DNIS"
-
- use sockets && confENVDEF="${confENVDEF} -DSOCKETMAP"
-
- sed -e "s:@@confCCOPTS@@:${confCCOPTS}:" \
- -e "s/@@confLDOPTS@@/${confLDOPTS}/" \
- -e "s/@@confCC@@/${confCC}/" \
- -e "s/@@confMAPDEF@@/${confMAPDEF}/" \
- -e "s/@@confENVDEF@@/${confENVDEF}/" \
- -e "s/@@confLIBS@@/${confLIBS}/" \
- -e "s/@@conf_sendmail_LIBS@@/${conf_sendmail_LIBS}/" \
- "${FILESDIR}"/site.config.m4 > devtools/Site/site.config.m4 || die "sed failed"
-
- echo "APPENDDEF(\`confLIBDIRS', \`-L${EPREFIX}/usr/$(get_libdir)')" >> devtools/Site/site.config.m4 || die "echo failed"
-
- eapply_user
-}
-
-src_compile() {
- sh Build AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" || die "compilation failed in main build script"
-}
-
-src_install() {
- local MY_LIBDIR=/usr/$(get_libdir)
- local MY_OBJDIR="obj.`uname -s`.`uname -r`.`uname -m`"
-
- dodir /usr/bin ${MY_LIBDIR}
- dodir /usr/share/man/man{1,5,8} /usr/sbin /usr/share/sendmail-cf
- dodir /var/spool/{mqueue,clientmqueue} /etc/conf.d
-
- keepdir /var/spool/{clientmqueue,mqueue}
-
- for dir in libsmutil sendmail mailstats praliases smrsh makemap vacation editmap
- do
- make DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \
- SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \
- MANOWN=root MANGRP=root INCOWN=root INCGRP=root \
- LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root \
- MSPQOWN=root CFOWN=root CFGRP=root \
- install -C "${MY_OBJDIR}/${dir}" \
- || die "install 1 failed"
- done
-
- for dir in rmail mail.local
- do
- make DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \
- SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \
- MANOWN=root MANGRP=root INCOWN=root INCGRP=root \
- LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root \
- MSPQOWN=root CFOWN=root CFGRP=root \
- force-install -C "${MY_OBJDIR}/${dir}" \
- || die "install 2 failed"
- done
-
- fowners root:smmsp /usr/sbin/sendmail
- fperms 2555 /usr/sbin/sendmail
- fowners smmsp:smmsp /var/spool/clientmqueue
- fperms 770 /var/spool/clientmqueue
- fperms 700 /var/spool/mqueue
- dosym ../sbin/makemap /usr/bin/makemap
- dodoc FAQ KNOWNBUGS README RELEASE_NOTES doc/op/op.ps
-
- newdoc sendmail/README README.sendmail
- newdoc sendmail/SECURITY SECURITY
- newdoc sendmail/TUNING TUNING
- newdoc smrsh/README README.smrsh
-
- newdoc cf/README README.cf
- newdoc cf/cf/README README.install-cf
-
- cp -pPR cf/* "${ED}"/usr/share/sendmail-cf || die "copy failed"
-
- docinto contrib
- dodoc contrib/*
-
- insinto /etc/mail
-
- if use mbox; then
- newins "${FILESDIR}"/sendmail.mc-r1 sendmail.mc
- else
- newins "${FILESDIR}"/sendmail-procmail.mc sendmail.mc
- fi
-
- # See discussion on bug #730890
- m4 "${ED}"/usr/share/sendmail-cf/m4/cf.m4 \
- <(grep -v "${EPREFIX}"/usr/share/sendmail-cf/m4/cf.m4 "${ED}"/etc/mail/sendmail.mc) \
- > "${ED}"/etc/mail/sendmail.cf || die "cf.m4 failed"
-
- echo "include(\`/usr/share/sendmail-cf/m4/cf.m4')dnl" \
- > "${ED}"/etc/mail/submit.mc || die "echo failed"
-
- cat "${ED}"/usr/share/sendmail-cf/cf/submit.mc >> "${ED}"/etc/mail/submit.mc || die "submit.mc cat failed"
-
- echo "# local-host-names - include all aliases for your machine here" \
- > "${D}"/etc/mail/local-host-names || die "local-host-names echo failed"
-
- cat <<- EOF > "${ED}"/etc/mail/trusted-users
- # trusted-users - users that can send mail as others without a warning
- # apache, mailman, majordomo, uucp are good candidates
- EOF
-
- cat <<- EOF > "${ED}"/etc/mail/access
- # Check the /usr/share/doc/sendmail/README.cf file for a description
- # of the format of this file. (search for access_db in that file)
- # The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
- # package.
- #
-
- EOF
-
- cat <<- EOF > "${ED}"/etc/conf.d/sendmail
- # Config file for /etc/init.d/sendmail
- # add start-up options here
- SENDMAIL_OPTS="-bd -q30m -L sm-mta" # default daemon mode
- CLIENTMQUEUE_OPTS="-Ac -q30m -L sm-cm" # clientmqueue
- KILL_OPTS="" # add -9/-15/your favorite evil SIG level here
-
- EOF
-
- if use sasl; then
- dodir /etc/sasl2
- cat <<- EOF > "${ED}"/etc/sasl2/Sendmail.conf
- pwcheck_method: saslauthd
- mech_list: PLAIN LOGIN
-
- EOF
- fi
-
- doinitd "${FILESDIR}"/sendmail
- systemd_dounit "${FILESDIR}"/sendmail.service
- systemd_dounit "${FILESDIR}"/sm-client.service
-}
diff --git a/mail-mta/sendmail/sendmail-8.18.2-r1.ebuild b/mail-mta/sendmail/sendmail-8.18.2-r1.ebuild
new file mode 100644
index 000000000000..bed697169c2b
--- /dev/null
+++ b/mail-mta/sendmail/sendmail-8.18.2-r1.ebuild
@@ -0,0 +1,310 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: please bump this together with mail-filter/libmilter and app-shells/smrsh
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/sendmail.asc"
+inherit systemd toolchain-funcs verify-sig
+
+DESCRIPTION="Widely-used Mail Transport Agent (MTA)"
+HOMEPAGE="https://www.sendmail.org/"
+if [[ -n $(ver_cut 4) ]] ; then
+ # Snapshots have an extra version component (e.g. 8.17.1 vs 8.17.1.9)
+ SRC_URI="
+ https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz.sig )
+ "
+fi
+
+SRC_URI+="
+ https://ftp.sendmail.org/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/${PN}.${PV}.tar.gz.sig )
+"
+SRC_URI+="
+ https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz.sig )
+"
+
+LICENSE="Sendmail GPL-2" # GPL-2 is here for initscript
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+berkdb eai fips ldap mbox nis sasl selinux ssl tcpd tinycdb"
+REQUIRED_USE="
+ || ( berkdb tinycdb )
+ fips? ( ssl )
+"
+
+DEPEND="
+ acct-group/smmsp
+ >=acct-user/smmsp-0-r2
+ net-mail/mailbase
+ berkdb? ( >=sys-libs/db-3.2:= )
+ eai? ( dev-libs/icu:= )
+ elibc_musl? ( virtual/libcrypt:= )
+ ldap? ( net-nds/openldap:= )
+ nis? ( net-libs/libnsl:= )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.10 )
+ ssl? (
+ >=dev-libs/openssl-1.1.1:=
+ fips? ( >=dev-libs/openssl-3:=[fips] )
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ tinycdb? ( dev-db/tinycdb )
+"
+RDEPEND="
+ ${DEPEND}
+ >=mail-filter/libmilter-1.0.2_p2
+ sys-devel/m4
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/exim
+ !mail-mta/msmtp[mta]
+ !mail-mta/netqmail
+ !mail-mta/notqmail
+ !mail-mta/nullmailer
+ !mail-mta/opensmtpd
+ !mail-mta/postfix
+ !>=mail-mta/ssmtp-2.64-r2[mta]
+ selinux? ( sec-policy/selinux-sendmail )
+"
+BDEPEND="
+ sys-devel/m4
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-sendmail-20250220 )
+"
+PDEPEND="
+ !mbox? (
+ || (
+ mail-filter/procmail
+ mail-filter/maildrop
+ )
+ )
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.13.1-delivered_hdr.patch
+ "${FILESDIR}"/${PN}-8.16.1-build-system.patch
+ "${FILESDIR}"/${PN}-8.18.1-cdb.patch
+)
+
+src_prepare() {
+ default
+
+ local confCCOPTS="${CFLAGS}"
+ local confENVDEF="-DMAXDAEMONS=64 -DHAS_GETHOSTBYNAME2=1"
+ local confLDOPTS="${LDFLAGS}"
+ local confLIBS=
+ local confMAPDEF="-DMAP_REGEX"
+ local conf_sendmail_LIBS=
+
+ # Always enable ipv6 and sockets
+ confENVDEF+=" -DNETINET6 -DSOCKETMAP"
+
+ # Enable same domain/one domain features
+ confENVDEV+=" -D_FFR_SAMEDOMAIN -D_FFR_MF_ONEDOMAIN"
+
+ if use berkdb; then
+ # See bug #808954 for FLOCK
+ confENVDEF+=" -DHASFLOCK=1"
+ confMAPDEF+=" -DNEWDB"
+ confLIBS+=" -ldb"
+ else
+ confMAPDEF+=" -UNEWDB"
+ fi
+
+ if use eai; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags icu-uc)"
+ confENVDEF+=" -DUSE_EAI"
+ confLIBS+=" $($(tc-getPKG_CONFIG) --libs icu-uc)"
+ fi
+
+ if use ldap; then
+ confMAPDEF+=" -DLDAPMAP"
+ confLIBS+=" -lldap -llber"
+ fi
+
+ use nis && confENVDEF+=" -DNIS"
+
+ if use sasl; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags libsasl2)"
+ confENVDEF+=" -DSASL=2"
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs libsasl2)"
+ fi
+
+ if use ssl; then
+ # Bug #542370 - lets add support for modern crypto (PFS)
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags openssl)"
+ confENVDEF+=" -DSTARTTLS -D_FFR_DEAL_WITH_ERROR_SSL"
+ confENVDEF+=" -D_FFR_TLS_1 -D_FFR_TLS_EC"
+ # Bug #944822 - fix certification chain with intermediate cert file
+ confENVDEF+=" -D_FFR_TLS_USE_CERTIFICATE_CHAIN_FILE"
+ confENVDEF+=" -DDANE"
+
+ if use fips; then
+ confENVDEF+=" -D_FFR_FIPSMODE"
+ fi
+
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs openssl)"
+ fi
+
+ if use tcpd; then
+ confENVDEF+=" -DTCPWRAPPERS"
+ confLIBS+=" -lwrap"
+ fi
+
+ if use tinycdb; then
+ confMAPDEF+=" -DCDB=2"
+ confLIBS+=" -lcdb"
+ else
+ confMAPDEF+=" -UCDB"
+ fi
+
+ if use elibc_musl; then
+ confENVDEF+=" -DHASSTRERROR -DHASRRESVPORT=0 -DNEEDSGETIPNODE"
+
+ eapply "${FILESDIR}"/${PN}-musl-stack-size.patch
+ eapply "${FILESDIR}"/${PN}-musl-disable-cdefs.patch
+ fi
+
+ sed -e "s|@@confCC@@|$(tc-getCC)|" \
+ -e "s|@@confCCOPTS@@|${confCCOPTS}|" \
+ -e "s|@@confENVDEF@@|${confENVDEF}|" \
+ -e "s|@@confLDOPTS@@|${confLDOPTS}|" \
+ -e "s|@@confLIBS@@|${confLIBS}|" \
+ -e "s|@@confMAPDEF@@|${confMAPDEF}|" \
+ -e "s|@@conf_sendmail_LIBS@@|${conf_sendmail_LIBS}|" \
+ "${FILESDIR}"/site.config.m4 > devtools/Site/site.config.m4 \
+ || die "failed to generate site.config.m4"
+
+ echo "APPENDDEF(\`confLIBDIRS', \`-L${EPREFIX}/usr/$(get_libdir)')" \
+ >> devtools/Site/site.config.m4 || die "failed adding to site.config.m4"
+}
+
+src_compile() {
+ sh Build AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" || die "compilation failed in main build script"
+}
+
+src_install() {
+ dodir /usr/{bin,$(get_libdir)}
+ dodir /usr/share/man/man{1,5,8} /usr/sbin /usr/share/sendmail-cf
+ dodir /var/spool/{mqueue,clientmqueue} /etc/conf.d
+
+ keepdir /var/spool/{clientmqueue,mqueue}
+
+ local emakeargs=(
+ DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)"
+ MANROOT=/usr/share/man/man
+ SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root
+ MANOWN=root MANGRP=root INCOWN=root INCGRP=root
+ LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root
+ MSPQOWN=root CFOWN=root CFGRP=root
+ )
+
+ local dir
+ for dir in libsmutil sendmail mailstats praliases smrsh makemap vacation editmap; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" install
+ done
+ for dir in rmail mail.local; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" force-install
+ done
+
+ fowners root:smmsp /usr/sbin/sendmail
+ fperms 2555 /usr/sbin/sendmail
+ fowners smmsp:smmsp /var/spool/clientmqueue
+ fperms 770 /var/spool/clientmqueue
+ fperms 700 /var/spool/mqueue
+ dodoc FAQ KNOWNBUGS README RELEASE_NOTES doc/op/op.ps
+
+ dodoc sendmail/{SECURITY,TUNING}
+ newdoc sendmail/README README.sendmail
+ newdoc smrsh/README README.smrsh
+
+ newdoc cf/README README.cf
+ newdoc cf/cf/README README.install-cf
+
+ dodoc -r contrib
+
+ cp -pPR cf/. "${ED}"/usr/share/sendmail-cf || die
+
+ insinto /etc/mail
+ if use mbox; then
+ newins "${FILESDIR}"/sendmail.mc-r1 sendmail.mc
+ else
+ newins "${FILESDIR}"/sendmail-maildir.mc sendmail.mc
+ fi
+
+ # See discussion on bug #730890
+ m4 "${ED}"/usr/share/sendmail-cf/m4/cf.m4 \
+ <(grep -v "${EPREFIX}"/usr/share/sendmail-cf/m4/cf.m4 "${ED}"/etc/mail/sendmail.mc) \
+ > "${ED}"/etc/mail/sendmail.cf || die "cf.m4 failed"
+
+ echo "include(\`/usr/share/sendmail-cf/m4/cf.m4')dnl" \
+ > "${ED}"/etc/mail/submit.mc || die "submit.mc echo failed"
+
+ cat "${ED}"/usr/share/sendmail-cf/cf/submit.mc \
+ >> "${ED}"/etc/mail/submit.mc || die "submit.mc cat failed"
+
+ echo "# local-host-names - include all aliases for your machine here" \
+ > "${ED}"/etc/mail/local-host-names || die "local-host-names echo failed"
+
+ cat <<- EOF > "${ED}"/etc/mail/trusted-users || die "trusted-users cat failed"
+ # trusted-users - users that can send mail as others without a warning
+ # apache, mailman, majordomo, uucp are good candidates
+ EOF
+
+ cat <<- EOF > "${ED}"/etc/mail/access || die "access cat failed"
+ # Check the ${EPREFIX}/usr/share/sendmail-cf/README file for a description
+ # of the format of this file. (search for access_db in that file)
+ #
+
+ EOF
+
+ cat <<- EOF > "${ED}"/etc/conf.d/sendmail || die "sendmail cat failed"
+ # Config file for /etc/init.d/sendmail
+ # add start-up options here
+ SENDMAIL_OPTS="-bd -q30m -L sm-mta" # default daemon mode
+ CLIENTMQUEUE_OPTS="-Ac -q30m -L sm-cm" # clientmqueue
+ KILL_OPTS="" # add -9/-15/your favorite evil SIG level here
+
+ EOF
+
+ if use sasl; then
+ dodir /etc/sasl2
+ cat <<- EOF > "${ED}"/etc/sasl2/Sendmail.conf || die "Sendmail.conf cat failed"
+ pwcheck_method: saslauthd
+ mech_list: PLAIN LOGIN
+
+ EOF
+ fi
+
+ doinitd "${FILESDIR}"/sendmail
+ systemd_dounit "${FILESDIR}"/sendmail.service
+ systemd_dounit "${FILESDIR}"/sm-client.service
+}
+
+pkg_postinst() {
+ if ! use berkdb; then
+ ewarn "If your configuration relies on userdb, you should install"
+ ewarn "this package with USE=berkdb."
+ fi
+
+ if ! use mbox; then
+ elog "Starting with mail-mta/sendmail-8.18.1 you could use either"
+ elog "procmail or maildrop to use maildir-style mailbox in user's home directory."
+ elog ""
+ elog "If you prefer procmail (default), emerge mail-filter/procmail with USE=-mbox"
+ elog "and include the following lines in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail')dnl"
+ elog "\tMAILER(\`procmail')dnl"
+ elog ""
+ elog "If you prefer maildrop, you'll need to ensure that you configure a mail"
+ elog "storage location using DEFAULT in /etc/maildroprc, for example:"
+ elog "\tDEFAULT=\$HOME/.maildir"
+ elog ""
+ elog "and include the following line in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail',\`/usr/bin/maildrop',\`maildrop -d $u')dnl"
+ fi
+}
diff --git a/mail-mta/sendmail/sendmail-8.18.2.ebuild b/mail-mta/sendmail/sendmail-8.18.2.ebuild
index f625c9200a49..380a790f0957 100644
--- a/mail-mta/sendmail/sendmail-8.18.2.ebuild
+++ b/mail-mta/sendmail/sendmail-8.18.2.ebuild
@@ -1,98 +1,183 @@
-# Copyright 2021-2025 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
-inherit multilib systemd toolchain-funcs
+# Note: please bump this together with mail-filter/libmilter and app-shells/smrsh
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/sendmail.asc"
+inherit systemd toolchain-funcs verify-sig
DESCRIPTION="Widely-used Mail Transport Agent (MTA)"
HOMEPAGE="https://www.sendmail.org/"
-SRC_URI="ftp://ftp.sendmail.org/pub/${PN}/${PN}.${PV}.tar.gz"
+if [[ -n $(ver_cut 4) ]] ; then
+ # Snapshots have an extra version component (e.g. 8.17.1 vs 8.17.1.9)
+ SRC_URI="
+ https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz.sig )
+ "
+fi
+
+SRC_URI+="
+ https://ftp.sendmail.org/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/${PN}.${PV}.tar.gz.sig )
+"
+SRC_URI+="
+ https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz.sig )
+"
LICENSE="Sendmail GPL-2" # GPL-2 is here for initscript
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-IUSE="ipv6 ldap mbox nis sasl sockets ssl tcpd"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="+berkdb eai fips ldap mbox nis sasl selinux ssl tcpd tinycdb"
+REQUIRED_USE="
+ || ( berkdb tinycdb )
+ fips? ( ssl )
+"
-BDEPEND="sys-devel/m4"
-DEPEND="net-mail/mailbase
+DEPEND="
+ acct-group/smmsp
+ >=acct-user/smmsp-0-r2
+ net-mail/mailbase
+ berkdb? ( >=sys-libs/db-3.2:= )
+ eai? ( dev-libs/icu:= )
+ elibc_musl? ( virtual/libcrypt:= )
+ ldap? ( net-nds/openldap:= )
+ nis? ( net-libs/libnsl:= )
sasl? ( >=dev-libs/cyrus-sasl-2.1.10 )
- tcpd? ( sys-apps/tcp-wrappers )
ssl? (
- dev-libs/openssl:0=
-
+ >=dev-libs/openssl-1.1.1:=
+ fips? ( >=dev-libs/openssl-3:=[fips] )
)
- dev-perl/File-Flock
- ldap? ( net-nds/openldap )
- >=sys-libs/db-3.2:=
- !net-mail/vacation"
-RDEPEND="${DEPEND}
- acct-group/smmsp
- acct-user/smmsp
- >=net-mail/mailbase-0.00
- >=mail-filter/libmilter-1.0.2_p1-r1
+ tcpd? ( sys-apps/tcp-wrappers )
+ tinycdb? ( dev-db/tinycdb )
+"
+RDEPEND="
+ ${DEPEND}
+ >=mail-filter/libmilter-1.0.2_p2
+ sys-devel/m4
!mail-mta/courier
!mail-mta/esmtp
!mail-mta/exim
- !mail-mta/mini-qmail
!mail-mta/msmtp[mta]
!mail-mta/netqmail
+ !mail-mta/notqmail
!mail-mta/nullmailer
- !mail-mta/postfix
!mail-mta/opensmtpd
- !mail-mta/qmail-ldap
- !>=mail-mta/ssmtp-2.64-r2[mta]"
-
-PDEPEND="!mbox? ( mail-filter/procmail )"
+ !mail-mta/postfix
+ !>=mail-mta/ssmtp-2.64-r2[mta]
+ selinux? ( sec-policy/selinux-sendmail )
+"
+BDEPEND="
+ sys-devel/m4
+ virtual/pkgconfig
+ verify-sig? ( ~sec-keys/openpgp-keys-sendmail-20250220 )
+"
+PDEPEND="
+ !mbox? (
+ || (
+ mail-filter/procmail
+ mail-filter/maildrop
+ )
+ )
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.13.1-delivered_hdr.patch
+ "${FILESDIR}"/${PN}-8.16.1-build-system.patch
+)
src_prepare() {
- eapply "${FILESDIR}"/"${PN}"-8.16.1-build-system.patch
- eapply -p0 "${FILESDIR}"/sendmail-delivered_hdr.patch
-# eapply -p0 "${FILESDIR}"/tls.patch
+ default
- local confCC="$(tc-getCC)"
local confCCOPTS="${CFLAGS}"
+ local confENVDEF="-DMAXDAEMONS=64 -DHAS_GETHOSTBYNAME2=1"
local confLDOPTS="${LDFLAGS}"
- local confMAPDEF="-DMAP_REGEX -DHASFLOCK"
- local confENVDEF="-DMAXDAEMONS=64"
- local conf_sendmail_LIBS=""
+ local confLIBS=
+ local confMAPDEF="-DMAP_REGEX"
+ local conf_sendmail_LIBS=
+
+ # Always enable ipv6 and sockets
+ confENVDEF+=" -DNETINET6 -DSOCKETMAP"
+
+ # Enable same domain/one domain features
+ confENVDEV+=" -D_FFR_SAMEDOMAIN -D_FFR_MF_ONEDOMAIN"
+
+ if use berkdb; then
+ # See bug #808954 for FLOCK
+ confENVDEF+=" -DHASFLOCK=1"
+ confMAPDEF+=" -DNEWDB"
+ confLIBS+=" -ldb"
+ else
+ confMAPDEF+=" -UNEWDB"
+ fi
+
+ if use eai; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags icu-uc)"
+ confENVDEF+=" -DUSE_EAI"
+ confLIBS+=" $($(tc-getPKG_CONFIG) --libs icu-uc)"
+ fi
- confENVDEF="${confLIBS} -DHAS_GETHOSTBYNAME2=1"
+ if use ldap; then
+ confMAPDEF+=" -DLDAPMAP"
+ confLIBS+=" -lldap -llber"
+ fi
- use sasl && confLIBS="${confLIBS} -lsasl2" \
- && confENVDEF="${confENVDEF} -DSASL=2" \
- && confCCOPTS="${confCCOPTS} -I/usr/include/sasl" \
- && conf_sendmail_LIBS="${conf_sendmail_LIBS} -lsasl2"
+ use nis && confENVDEF+=" -DNIS"
- use tcpd && confENVDEF="${confENVDEF} -DTCPWRAPPERS" \
- && confLIBS="${confLIBS} -lwrap"
+ if use sasl; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags libsasl2)"
+ confENVDEF+=" -DSASL=2"
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs libsasl2)"
+ fi
- # Bug #542370 - lets add support for modern crypto (PFS)
- use ssl && confENVDEF="${confENVDEF} -DSTARTTLS -D_FFR_DEAL_WITH_ERROR_SSL" \
- && confENVDEF="${confENVDEF} -D_FFR_TLS_1 -D_FFR_TLS_EC" \
- && confLIBS="${confLIBS} -lssl -lcrypto" \
- && conf_sendmail_LIBS="${conf_sendmail_LIBS} -lssl -lcrypto"
+ if use ssl; then
+ # Bug #542370 - lets add support for modern crypto (PFS)
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags openssl)"
+ confENVDEF+=" -DSTARTTLS -D_FFR_DEAL_WITH_ERROR_SSL"
+ confENVDEF+=" -D_FFR_TLS_1 -D_FFR_TLS_EC"
+ # Bug #944822 - fix certification chain with intermediate cert file
+ confENVDEF+=" -D_FFR_TLS_USE_CERTIFICATE_CHAIN_FILE"
+ confENVDEF+=" -DDANE"
- use ldap && confMAPDEF="${confMAPDEF} -DLDAPMAP" \
- && confLIBS="${confLIBS} -lldap -llber"
+ if use fips; then
+ confENVDEF+=" -D_FFR_FIPSMODE"
+ fi
+
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs openssl)"
+ fi
- use ipv6 && confENVDEF="${confENVDEF} -DNETINET6"
+ if use tcpd; then
+ confENVDEF+=" -DTCPWRAPPERS"
+ confLIBS+=" -lwrap"
+ fi
- use nis && confENVDEF="${confENVDEF} -DNIS"
+ if use tinycdb; then
+ confMAPDEF+=" -DCDB=2"
+ confLIBS+=" -lcdb"
+ else
+ confMAPDEF+=" -UCDB"
+ fi
- use sockets && confENVDEF="${confENVDEF} -DSOCKETMAP"
+ if use elibc_musl; then
+ confENVDEF+=" -DHASSTRERROR -DHASRRESVPORT=0 -DNEEDSGETIPNODE"
- sed -e "s:@@confCCOPTS@@:${confCCOPTS}:" \
- -e "s/@@confLDOPTS@@/${confLDOPTS}/" \
- -e "s/@@confCC@@/${confCC}/" \
- -e "s/@@confMAPDEF@@/${confMAPDEF}/" \
- -e "s/@@confENVDEF@@/${confENVDEF}/" \
- -e "s/@@confLIBS@@/${confLIBS}/" \
- -e "s/@@conf_sendmail_LIBS@@/${conf_sendmail_LIBS}/" \
- "${FILESDIR}"/site.config.m4 > devtools/Site/site.config.m4 || die "sed failed"
+ eapply "${FILESDIR}"/${PN}-musl-stack-size.patch
+ eapply "${FILESDIR}"/${PN}-musl-disable-cdefs.patch
+ fi
- echo "APPENDDEF(\`confLIBDIRS', \`-L${EPREFIX}/usr/$(get_libdir)')" >> devtools/Site/site.config.m4 || die "echo failed"
+ sed -e "s|@@confCC@@|$(tc-getCC)|" \
+ -e "s|@@confCCOPTS@@|${confCCOPTS}|" \
+ -e "s|@@confENVDEF@@|${confENVDEF}|" \
+ -e "s|@@confLDOPTS@@|${confLDOPTS}|" \
+ -e "s|@@confLIBS@@|${confLIBS}|" \
+ -e "s|@@confMAPDEF@@|${confMAPDEF}|" \
+ -e "s|@@conf_sendmail_LIBS@@|${conf_sendmail_LIBS}|" \
+ "${FILESDIR}"/site.config.m4 > devtools/Site/site.config.m4 \
+ || die "failed to generate site.config.m4"
- eapply_user
+ echo "APPENDDEF(\`confLIBDIRS', \`-L${EPREFIX}/usr/$(get_libdir)')" \
+ >> devtools/Site/site.config.m4 || die "failed adding to site.config.m4"
}
src_compile() {
@@ -100,35 +185,27 @@ src_compile() {
}
src_install() {
- local MY_LIBDIR=/usr/$(get_libdir)
- local MY_OBJDIR="obj.`uname -s`.`uname -r`.`uname -m`"
-
- dodir /usr/bin ${MY_LIBDIR}
+ dodir /usr/{bin,$(get_libdir)}
dodir /usr/share/man/man{1,5,8} /usr/sbin /usr/share/sendmail-cf
dodir /var/spool/{mqueue,clientmqueue} /etc/conf.d
keepdir /var/spool/{clientmqueue,mqueue}
- for dir in libsmutil sendmail mailstats praliases smrsh makemap vacation editmap
- do
- make DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \
- SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \
- MANOWN=root MANGRP=root INCOWN=root INCGRP=root \
- LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root \
- MSPQOWN=root CFOWN=root CFGRP=root \
- install -C "${MY_OBJDIR}/${dir}" \
- || die "install 1 failed"
- done
+ local emakeargs=(
+ DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)"
+ MANROOT=/usr/share/man/man
+ SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root
+ MANOWN=root MANGRP=root INCOWN=root INCGRP=root
+ LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root
+ MSPQOWN=root CFOWN=root CFGRP=root
+ )
- for dir in rmail mail.local
- do
- make DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \
- SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \
- MANOWN=root MANGRP=root INCOWN=root INCGRP=root \
- LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root \
- MSPQOWN=root CFOWN=root CFGRP=root \
- force-install -C "${MY_OBJDIR}/${dir}" \
- || die "install 2 failed"
+ local dir
+ for dir in libsmutil sendmail mailstats praliases smrsh makemap vacation editmap; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" install
+ done
+ for dir in rmail mail.local; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" force-install
done
fowners root:smmsp /usr/sbin/sendmail
@@ -136,58 +213,53 @@ src_install() {
fowners smmsp:smmsp /var/spool/clientmqueue
fperms 770 /var/spool/clientmqueue
fperms 700 /var/spool/mqueue
- dosym ../sbin/makemap /usr/bin/makemap
dodoc FAQ KNOWNBUGS README RELEASE_NOTES doc/op/op.ps
+ dodoc sendmail/{SECURITY,TUNING}
newdoc sendmail/README README.sendmail
- newdoc sendmail/SECURITY SECURITY
- newdoc sendmail/TUNING TUNING
newdoc smrsh/README README.smrsh
newdoc cf/README README.cf
newdoc cf/cf/README README.install-cf
- cp -pPR cf/* "${ED}"/usr/share/sendmail-cf || die "copy failed"
+ dodoc -r contrib
- docinto contrib
- dodoc contrib/*
+ cp -pPR cf/. "${ED}"/usr/share/sendmail-cf || die
insinto /etc/mail
-
if use mbox; then
newins "${FILESDIR}"/sendmail.mc-r1 sendmail.mc
else
- newins "${FILESDIR}"/sendmail-procmail.mc sendmail.mc
+ newins "${FILESDIR}"/sendmail-maildir.mc sendmail.mc
fi
# See discussion on bug #730890
m4 "${ED}"/usr/share/sendmail-cf/m4/cf.m4 \
- <(grep -v "${EPREFIX}"/usr/share/sendmail-cf/m4/cf.m4 "${ED}"/etc/mail/sendmail.mc) \
- > "${ED}"/etc/mail/sendmail.cf || die "cf.m4 failed"
+ <(grep -v "${EPREFIX}"/usr/share/sendmail-cf/m4/cf.m4 "${ED}"/etc/mail/sendmail.mc) \
+ > "${ED}"/etc/mail/sendmail.cf || die "cf.m4 failed"
echo "include(\`/usr/share/sendmail-cf/m4/cf.m4')dnl" \
- > "${ED}"/etc/mail/submit.mc || die "echo failed"
+ > "${ED}"/etc/mail/submit.mc || die "submit.mc echo failed"
- cat "${ED}"/usr/share/sendmail-cf/cf/submit.mc >> "${ED}"/etc/mail/submit.mc || die "submit.mc cat failed"
+ cat "${ED}"/usr/share/sendmail-cf/cf/submit.mc \
+ >> "${ED}"/etc/mail/submit.mc || die "submit.mc cat failed"
echo "# local-host-names - include all aliases for your machine here" \
- > "${D}"/etc/mail/local-host-names || die "local-host-names echo failed"
+ > "${ED}"/etc/mail/local-host-names || die "local-host-names echo failed"
- cat <<- EOF > "${ED}"/etc/mail/trusted-users
+ cat <<- EOF > "${ED}"/etc/mail/trusted-users || die "trusted-users cat failed"
# trusted-users - users that can send mail as others without a warning
# apache, mailman, majordomo, uucp are good candidates
EOF
- cat <<- EOF > "${ED}"/etc/mail/access
- # Check the /usr/share/doc/sendmail/README.cf file for a description
+ cat <<- EOF > "${ED}"/etc/mail/access || die "access cat failed"
+ # Check the ${EPREFIX}/usr/share/sendmail-cf/README file for a description
# of the format of this file. (search for access_db in that file)
- # The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
- # package.
#
EOF
- cat <<- EOF > "${ED}"/etc/conf.d/sendmail
+ cat <<- EOF > "${ED}"/etc/conf.d/sendmail || die "sendmail cat failed"
# Config file for /etc/init.d/sendmail
# add start-up options here
SENDMAIL_OPTS="-bd -q30m -L sm-mta" # default daemon mode
@@ -198,9 +270,9 @@ src_install() {
if use sasl; then
dodir /etc/sasl2
- cat <<- EOF > "${ED}"/etc/sasl2/Sendmail.conf
- pwcheck_method: saslauthd
- mech_list: PLAIN LOGIN
+ cat <<- EOF > "${ED}"/etc/sasl2/Sendmail.conf || die "Sendmail.conf cat failed"
+ pwcheck_method: saslauthd
+ mech_list: PLAIN LOGIN
EOF
fi
@@ -209,3 +281,29 @@ src_install() {
systemd_dounit "${FILESDIR}"/sendmail.service
systemd_dounit "${FILESDIR}"/sm-client.service
}
+
+pkg_postinst() {
+ if ! use berkdb; then
+ ewarn "If your configuration relies on userdb, you should install"
+ ewarn "this package with USE=berkdb."
+ fi
+
+ if ! use mbox; then
+ elog "Starting with mail-mta/sendmail-8.18.1 you could use either"
+ elog "procmail or maildrop to use maildir-style mailbox in user's home directory."
+ elog ""
+ elog "If you prefer procmail (default), emerge mail-filter/procmail with USE=-mbox"
+ elog "and include the following lines in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail')dnl"
+ elog "\tMAILER(\`procmail')dnl"
+ elog ""
+ elog "If you prefer maildrop, you'll need to ensure that you configure a mail"
+ elog "storage location using DEFAULT in /etc/maildroprc, for example:"
+ elog "\tDEFAULT=\$HOME/.maildir"
+ elog ""
+ elog "and include the following line in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail',\`/usr/bin/maildrop',\`maildrop -d $u')dnl"
+ fi
+}
diff --git a/mail-mta/sendmail/sendmail-8.19.0.0-r1.ebuild b/mail-mta/sendmail/sendmail-8.19.0.0-r1.ebuild
new file mode 100644
index 000000000000..221c435e3c60
--- /dev/null
+++ b/mail-mta/sendmail/sendmail-8.19.0.0-r1.ebuild
@@ -0,0 +1,310 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: please bump this together with mail-filter/libmilter and app-shells/smrsh
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/sendmail.asc"
+inherit systemd toolchain-funcs verify-sig
+
+DESCRIPTION="Widely-used Mail Transport Agent (MTA)"
+HOMEPAGE="https://www.sendmail.org/"
+if [[ -n $(ver_cut 4) ]] ; then
+ # Snapshots have an extra version component (e.g. 8.17.1 vs 8.17.1.9)
+ SRC_URI="
+ https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz.sig )
+ "
+fi
+
+SRC_URI+="
+ https://ftp.sendmail.org/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/${PN}.${PV}.tar.gz.sig )
+"
+SRC_URI+="
+ https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz.sig )
+"
+
+LICENSE="Sendmail GPL-2" # GPL-2 is here for initscript
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+berkdb eai fips ldap mbox nis sasl selinux ssl tcpd tinycdb"
+REQUIRED_USE="
+ || ( berkdb tinycdb )
+ fips? ( ssl )
+"
+
+DEPEND="
+ acct-group/smmsp
+ >=acct-user/smmsp-0-r2
+ net-mail/mailbase
+ berkdb? ( >=sys-libs/db-3.2:= )
+ eai? ( dev-libs/icu:= )
+ elibc_musl? ( virtual/libcrypt:= )
+ ldap? ( net-nds/openldap:= )
+ nis? ( net-libs/libnsl:= )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.10 )
+ ssl? (
+ >=dev-libs/openssl-1.1.1:=
+ fips? ( >=dev-libs/openssl-3:=[fips] )
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ tinycdb? ( dev-db/tinycdb )
+"
+RDEPEND="
+ ${DEPEND}
+ >=mail-filter/libmilter-1.0.2_p2
+ sys-devel/m4
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/exim
+ !mail-mta/msmtp[mta]
+ !mail-mta/netqmail
+ !mail-mta/notqmail
+ !mail-mta/nullmailer
+ !mail-mta/opensmtpd
+ !mail-mta/postfix
+ !>=mail-mta/ssmtp-2.64-r2[mta]
+ selinux? ( sec-policy/selinux-sendmail )
+"
+BDEPEND="
+ sys-devel/m4
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-sendmail-20251229 )
+"
+PDEPEND="
+ !mbox? (
+ || (
+ mail-filter/procmail
+ mail-filter/maildrop
+ )
+ )
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.13.1-delivered_hdr.patch
+ "${FILESDIR}"/${PN}-8.16.1-build-system.patch
+ "${FILESDIR}"/${PN}-8.19.0.0-newdb.patch
+)
+
+src_prepare() {
+ default
+
+ local confCCOPTS="${CFLAGS}"
+ local confENVDEF="-DMAXDAEMONS=64 -DHAS_GETHOSTBYNAME2=1"
+ local confLDOPTS="${LDFLAGS}"
+ local confLIBS=
+ local confMAPDEF="-DMAP_REGEX"
+ local conf_sendmail_LIBS=
+
+ # Always enable ipv6 and sockets
+ confENVDEF+=" -DNETINET6 -DSOCKETMAP"
+
+ # Enable same domain/one domain features
+ confENVDEV+=" -D_FFR_SAMEDOMAIN -D_FFR_MF_ONEDOMAIN"
+
+ if use berkdb; then
+ # See bug #808954 for FLOCK
+ confENVDEF+=" -DHASFLOCK=1"
+ confMAPDEF+=" -DNEWDB"
+ confLIBS+=" -ldb"
+ else
+ confMAPDEF+=" -UNEWDB"
+ fi
+
+ if use eai; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags icu-uc)"
+ confENVDEF+=" -DUSE_EAI"
+ confLIBS+=" $($(tc-getPKG_CONFIG) --libs icu-uc)"
+ fi
+
+ if use ldap; then
+ confMAPDEF+=" -DLDAPMAP"
+ confLIBS+=" -lldap -llber"
+ fi
+
+ use nis && confENVDEF+=" -DNIS"
+
+ if use sasl; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags libsasl2)"
+ confENVDEF+=" -DSASL=2"
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs libsasl2)"
+ fi
+
+ if use ssl; then
+ # Bug #542370 - lets add support for modern crypto (PFS)
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags openssl)"
+ confENVDEF+=" -DSTARTTLS -D_FFR_DEAL_WITH_ERROR_SSL"
+ confENVDEF+=" -D_FFR_TLS_1 -D_FFR_TLS_EC"
+ # Bug #944822 - fix certification chain with intermediate cert file
+ confENVDEF+=" -D_FFR_TLS_USE_CERTIFICATE_CHAIN_FILE"
+ confENVDEF+=" -DDANE"
+
+ if use fips; then
+ confENVDEF+=" -D_FFR_FIPSMODE"
+ fi
+
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs openssl)"
+ fi
+
+ if use tcpd; then
+ confENVDEF+=" -DTCPWRAPPERS"
+ confLIBS+=" -lwrap"
+ fi
+
+ if use tinycdb; then
+ confMAPDEF+=" -DCDB=2"
+ confLIBS+=" -lcdb"
+ else
+ confMAPDEF+=" -UCDB"
+ fi
+
+ if use elibc_musl; then
+ confENVDEF+=" -DHASSTRERROR -DHASRRESVPORT=0 -DNEEDSGETIPNODE"
+
+ eapply "${FILESDIR}"/${PN}-musl-stack-size.patch
+ eapply "${FILESDIR}"/${PN}-musl-disable-cdefs.patch
+ fi
+
+ sed -e "s|@@confCC@@|$(tc-getCC)|" \
+ -e "s|@@confCCOPTS@@|${confCCOPTS}|" \
+ -e "s|@@confENVDEF@@|${confENVDEF}|" \
+ -e "s|@@confLDOPTS@@|${confLDOPTS}|" \
+ -e "s|@@confLIBS@@|${confLIBS}|" \
+ -e "s|@@confMAPDEF@@|${confMAPDEF}|" \
+ -e "s|@@conf_sendmail_LIBS@@|${conf_sendmail_LIBS}|" \
+ "${FILESDIR}"/site.config.m4 > devtools/Site/site.config.m4 \
+ || die "failed to generate site.config.m4"
+
+ echo "APPENDDEF(\`confLIBDIRS', \`-L${EPREFIX}/usr/$(get_libdir)')" \
+ >> devtools/Site/site.config.m4 || die "failed adding to site.config.m4"
+}
+
+src_compile() {
+ sh Build AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" || die "compilation failed in main build script"
+}
+
+src_install() {
+ dodir /usr/{bin,$(get_libdir)}
+ dodir /usr/share/man/man{1,5,8} /usr/sbin /usr/share/sendmail-cf
+ dodir /var/spool/{mqueue,clientmqueue} /etc/conf.d
+
+ keepdir /var/spool/{clientmqueue,mqueue}
+
+ local emakeargs=(
+ DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)"
+ MANROOT=/usr/share/man/man
+ SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root
+ MANOWN=root MANGRP=root INCOWN=root INCGRP=root
+ LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root
+ MSPQOWN=root CFOWN=root CFGRP=root
+ )
+
+ local dir
+ for dir in libsmutil sendmail mailstats praliases smrsh makemap vacation editmap; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" install
+ done
+ for dir in rmail mail.local; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" force-install
+ done
+
+ fowners root:smmsp /usr/sbin/sendmail
+ fperms 2555 /usr/sbin/sendmail
+ fowners smmsp:smmsp /var/spool/clientmqueue
+ fperms 770 /var/spool/clientmqueue
+ fperms 700 /var/spool/mqueue
+ dodoc FAQ KNOWNBUGS README RELEASE_NOTES doc/op/op.ps
+
+ dodoc sendmail/{SECURITY,TUNING}
+ newdoc sendmail/README README.sendmail
+ newdoc smrsh/README README.smrsh
+
+ newdoc cf/README README.cf
+ newdoc cf/cf/README README.install-cf
+
+ dodoc -r contrib
+
+ cp -pPR cf/. "${ED}"/usr/share/sendmail-cf || die
+
+ insinto /etc/mail
+ if use mbox; then
+ newins "${FILESDIR}"/sendmail.mc-r1 sendmail.mc
+ else
+ newins "${FILESDIR}"/sendmail-maildir.mc sendmail.mc
+ fi
+
+ # See discussion on bug #730890
+ m4 "${ED}"/usr/share/sendmail-cf/m4/cf.m4 \
+ <(grep -v "${EPREFIX}"/usr/share/sendmail-cf/m4/cf.m4 "${ED}"/etc/mail/sendmail.mc) \
+ > "${ED}"/etc/mail/sendmail.cf || die "cf.m4 failed"
+
+ echo "include(\`/usr/share/sendmail-cf/m4/cf.m4')dnl" \
+ > "${ED}"/etc/mail/submit.mc || die "submit.mc echo failed"
+
+ cat "${ED}"/usr/share/sendmail-cf/cf/submit.mc \
+ >> "${ED}"/etc/mail/submit.mc || die "submit.mc cat failed"
+
+ echo "# local-host-names - include all aliases for your machine here" \
+ > "${ED}"/etc/mail/local-host-names || die "local-host-names echo failed"
+
+ cat <<- EOF > "${ED}"/etc/mail/trusted-users || die "trusted-users cat failed"
+ # trusted-users - users that can send mail as others without a warning
+ # apache, mailman, majordomo, uucp are good candidates
+ EOF
+
+ cat <<- EOF > "${ED}"/etc/mail/access || die "access cat failed"
+ # Check the ${EPREFIX}/usr/share/sendmail-cf/README file for a description
+ # of the format of this file. (search for access_db in that file)
+ #
+
+ EOF
+
+ cat <<- EOF > "${ED}"/etc/conf.d/sendmail || die "sendmail cat failed"
+ # Config file for /etc/init.d/sendmail
+ # add start-up options here
+ SENDMAIL_OPTS="-bd -q30m -L sm-mta" # default daemon mode
+ CLIENTMQUEUE_OPTS="-Ac -q30m -L sm-cm" # clientmqueue
+ KILL_OPTS="" # add -9/-15/your favorite evil SIG level here
+
+ EOF
+
+ if use sasl; then
+ dodir /etc/sasl2
+ cat <<- EOF > "${ED}"/etc/sasl2/Sendmail.conf || die "Sendmail.conf cat failed"
+ pwcheck_method: saslauthd
+ mech_list: PLAIN LOGIN
+
+ EOF
+ fi
+
+ doinitd "${FILESDIR}"/sendmail
+ systemd_dounit "${FILESDIR}"/sendmail.service
+ systemd_dounit "${FILESDIR}"/sm-client.service
+}
+
+pkg_postinst() {
+ if ! use berkdb; then
+ ewarn "If your configuration relies on userdb, you should install"
+ ewarn "this package with USE=berkdb."
+ fi
+
+ if ! use mbox; then
+ elog "Starting with mail-mta/sendmail-8.18.1 you could use either"
+ elog "procmail or maildrop to use maildir-style mailbox in user's home directory."
+ elog ""
+ elog "If you prefer procmail (default), emerge mail-filter/procmail with USE=-mbox"
+ elog "and include the following lines in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail')dnl"
+ elog "\tMAILER(\`procmail')dnl"
+ elog ""
+ elog "If you prefer maildrop, you'll need to ensure that you configure a mail"
+ elog "storage location using DEFAULT in /etc/maildroprc, for example:"
+ elog "\tDEFAULT=\$HOME/.maildir"
+ elog ""
+ elog "and include the following line in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail',\`/usr/bin/maildrop',\`maildrop -d $u')dnl"
+ fi
+}
diff --git a/mail-mta/sendmail/sendmail-8.19.0.1.ebuild b/mail-mta/sendmail/sendmail-8.19.0.1.ebuild
new file mode 100644
index 000000000000..8b7f6c28c5fb
--- /dev/null
+++ b/mail-mta/sendmail/sendmail-8.19.0.1.ebuild
@@ -0,0 +1,309 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: please bump this together with mail-filter/libmilter and app-shells/smrsh
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/sendmail.asc"
+inherit systemd toolchain-funcs verify-sig
+
+DESCRIPTION="Widely-used Mail Transport Agent (MTA)"
+HOMEPAGE="https://www.sendmail.org/"
+if [[ -n $(ver_cut 4) ]] ; then
+ # Snapshots have an extra version component (e.g. 8.17.1 vs 8.17.1.9)
+ SRC_URI="
+ https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/snapshots/${PN}.${PV}.tar.gz.sig )
+ "
+fi
+
+SRC_URI+="
+ https://ftp.sendmail.org/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/${PN}.${PV}.tar.gz.sig )
+"
+SRC_URI+="
+ https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz
+ verify-sig? ( https://ftp.sendmail.org/past-releases/${PN}.${PV}.tar.gz.sig )
+"
+
+LICENSE="Sendmail GPL-2" # GPL-2 is here for initscript
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+berkdb eai fips ldap mbox nis sasl selinux ssl tcpd tinycdb"
+REQUIRED_USE="
+ || ( berkdb tinycdb )
+ fips? ( ssl )
+"
+
+DEPEND="
+ acct-group/smmsp
+ >=acct-user/smmsp-0-r2
+ net-mail/mailbase
+ berkdb? ( >=sys-libs/db-3.2:= )
+ eai? ( dev-libs/icu:= )
+ elibc_musl? ( virtual/libcrypt:= )
+ ldap? ( net-nds/openldap:= )
+ nis? ( net-libs/libnsl:= )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.10 )
+ ssl? (
+ >=dev-libs/openssl-1.1.1:=
+ fips? ( >=dev-libs/openssl-3:=[fips] )
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ tinycdb? ( dev-db/tinycdb )
+"
+RDEPEND="
+ ${DEPEND}
+ >=mail-filter/libmilter-1.0.2_p2
+ sys-devel/m4
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/exim
+ !mail-mta/msmtp[mta]
+ !mail-mta/netqmail
+ !mail-mta/notqmail
+ !mail-mta/nullmailer
+ !mail-mta/opensmtpd
+ !mail-mta/postfix
+ !>=mail-mta/ssmtp-2.64-r2[mta]
+ selinux? ( sec-policy/selinux-sendmail )
+"
+BDEPEND="
+ sys-devel/m4
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-sendmail-20251229 )
+"
+PDEPEND="
+ !mbox? (
+ || (
+ mail-filter/procmail
+ mail-filter/maildrop
+ )
+ )
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.13.1-delivered_hdr.patch
+ "${FILESDIR}"/${PN}-8.16.1-build-system.patch
+)
+
+src_prepare() {
+ default
+
+ local confCCOPTS="${CFLAGS}"
+ local confENVDEF="-DMAXDAEMONS=64 -DHAS_GETHOSTBYNAME2=1"
+ local confLDOPTS="${LDFLAGS}"
+ local confLIBS=
+ local confMAPDEF="-DMAP_REGEX"
+ local conf_sendmail_LIBS=
+
+ # Always enable ipv6 and sockets
+ confENVDEF+=" -DNETINET6 -DSOCKETMAP"
+
+ # Enable same domain/one domain features
+ confENVDEV+=" -D_FFR_SAMEDOMAIN -D_FFR_MF_ONEDOMAIN"
+
+ if use berkdb; then
+ # See bug #808954 for FLOCK
+ confENVDEF+=" -DHASFLOCK=1"
+ confMAPDEF+=" -DNEWDB"
+ confLIBS+=" -ldb"
+ else
+ confMAPDEF+=" -UNEWDB"
+ fi
+
+ if use eai; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags icu-uc)"
+ confENVDEF+=" -DUSE_EAI"
+ confLIBS+=" $($(tc-getPKG_CONFIG) --libs icu-uc)"
+ fi
+
+ if use ldap; then
+ confMAPDEF+=" -DLDAPMAP"
+ confLIBS+=" -lldap -llber"
+ fi
+
+ use nis && confENVDEF+=" -DNIS"
+
+ if use sasl; then
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags libsasl2)"
+ confENVDEF+=" -DSASL=2"
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs libsasl2)"
+ fi
+
+ if use ssl; then
+ # Bug #542370 - lets add support for modern crypto (PFS)
+ confCCOPTS+=" $($(tc-getPKG_CONFIG) --cflags openssl)"
+ confENVDEF+=" -DSTARTTLS -D_FFR_DEAL_WITH_ERROR_SSL"
+ confENVDEF+=" -D_FFR_TLS_1 -D_FFR_TLS_EC"
+ # Bug #944822 - fix certification chain with intermediate cert file
+ confENVDEF+=" -D_FFR_TLS_USE_CERTIFICATE_CHAIN_FILE"
+ confENVDEF+=" -DDANE"
+
+ if use fips; then
+ confENVDEF+=" -D_FFR_FIPSMODE"
+ fi
+
+ conf_sendmail_LIBS+=" $($(tc-getPKG_CONFIG) --libs openssl)"
+ fi
+
+ if use tcpd; then
+ confENVDEF+=" -DTCPWRAPPERS"
+ confLIBS+=" -lwrap"
+ fi
+
+ if use tinycdb; then
+ confMAPDEF+=" -DCDB=2"
+ confLIBS+=" -lcdb"
+ else
+ confMAPDEF+=" -UCDB"
+ fi
+
+ if use elibc_musl; then
+ confENVDEF+=" -DHASSTRERROR -DHASRRESVPORT=0 -DNEEDSGETIPNODE"
+
+ eapply "${FILESDIR}"/${PN}-musl-stack-size.patch
+ eapply "${FILESDIR}"/${PN}-musl-disable-cdefs.patch
+ fi
+
+ sed -e "s|@@confCC@@|$(tc-getCC)|" \
+ -e "s|@@confCCOPTS@@|${confCCOPTS}|" \
+ -e "s|@@confENVDEF@@|${confENVDEF}|" \
+ -e "s|@@confLDOPTS@@|${confLDOPTS}|" \
+ -e "s|@@confLIBS@@|${confLIBS}|" \
+ -e "s|@@confMAPDEF@@|${confMAPDEF}|" \
+ -e "s|@@conf_sendmail_LIBS@@|${conf_sendmail_LIBS}|" \
+ "${FILESDIR}"/site.config.m4 > devtools/Site/site.config.m4 \
+ || die "failed to generate site.config.m4"
+
+ echo "APPENDDEF(\`confLIBDIRS', \`-L${EPREFIX}/usr/$(get_libdir)')" \
+ >> devtools/Site/site.config.m4 || die "failed adding to site.config.m4"
+}
+
+src_compile() {
+ sh Build AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" || die "compilation failed in main build script"
+}
+
+src_install() {
+ dodir /usr/{bin,$(get_libdir)}
+ dodir /usr/share/man/man{1,5,8} /usr/sbin /usr/share/sendmail-cf
+ dodir /var/spool/{mqueue,clientmqueue} /etc/conf.d
+
+ keepdir /var/spool/{clientmqueue,mqueue}
+
+ local emakeargs=(
+ DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)"
+ MANROOT=/usr/share/man/man
+ SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root
+ MANOWN=root MANGRP=root INCOWN=root INCGRP=root
+ LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root
+ MSPQOWN=root CFOWN=root CFGRP=root
+ )
+
+ local dir
+ for dir in libsmutil sendmail mailstats praliases smrsh makemap vacation editmap; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" install
+ done
+ for dir in rmail mail.local; do
+ emake -j1 -C obj.*/${dir} "${emakeargs[@]}" force-install
+ done
+
+ fowners root:smmsp /usr/sbin/sendmail
+ fperms 2555 /usr/sbin/sendmail
+ fowners smmsp:smmsp /var/spool/clientmqueue
+ fperms 770 /var/spool/clientmqueue
+ fperms 700 /var/spool/mqueue
+ dodoc FAQ KNOWNBUGS README RELEASE_NOTES doc/op/op.ps
+
+ dodoc sendmail/{SECURITY,TUNING}
+ newdoc sendmail/README README.sendmail
+ newdoc smrsh/README README.smrsh
+
+ newdoc cf/README README.cf
+ newdoc cf/cf/README README.install-cf
+
+ dodoc -r contrib
+
+ cp -pPR cf/. "${ED}"/usr/share/sendmail-cf || die
+
+ insinto /etc/mail
+ if use mbox; then
+ newins "${FILESDIR}"/sendmail.mc-r1 sendmail.mc
+ else
+ newins "${FILESDIR}"/sendmail-maildir.mc sendmail.mc
+ fi
+
+ # See discussion on bug #730890
+ m4 "${ED}"/usr/share/sendmail-cf/m4/cf.m4 \
+ <(grep -v "${EPREFIX}"/usr/share/sendmail-cf/m4/cf.m4 "${ED}"/etc/mail/sendmail.mc) \
+ > "${ED}"/etc/mail/sendmail.cf || die "cf.m4 failed"
+
+ echo "include(\`/usr/share/sendmail-cf/m4/cf.m4')dnl" \
+ > "${ED}"/etc/mail/submit.mc || die "submit.mc echo failed"
+
+ cat "${ED}"/usr/share/sendmail-cf/cf/submit.mc \
+ >> "${ED}"/etc/mail/submit.mc || die "submit.mc cat failed"
+
+ echo "# local-host-names - include all aliases for your machine here" \
+ > "${ED}"/etc/mail/local-host-names || die "local-host-names echo failed"
+
+ cat <<- EOF > "${ED}"/etc/mail/trusted-users || die "trusted-users cat failed"
+ # trusted-users - users that can send mail as others without a warning
+ # apache, mailman, majordomo, uucp are good candidates
+ EOF
+
+ cat <<- EOF > "${ED}"/etc/mail/access || die "access cat failed"
+ # Check the ${EPREFIX}/usr/share/sendmail-cf/README file for a description
+ # of the format of this file. (search for access_db in that file)
+ #
+
+ EOF
+
+ cat <<- EOF > "${ED}"/etc/conf.d/sendmail || die "sendmail cat failed"
+ # Config file for /etc/init.d/sendmail
+ # add start-up options here
+ SENDMAIL_OPTS="-bd -q30m -L sm-mta" # default daemon mode
+ CLIENTMQUEUE_OPTS="-Ac -q30m -L sm-cm" # clientmqueue
+ KILL_OPTS="" # add -9/-15/your favorite evil SIG level here
+
+ EOF
+
+ if use sasl; then
+ dodir /etc/sasl2
+ cat <<- EOF > "${ED}"/etc/sasl2/Sendmail.conf || die "Sendmail.conf cat failed"
+ pwcheck_method: saslauthd
+ mech_list: PLAIN LOGIN
+
+ EOF
+ fi
+
+ doinitd "${FILESDIR}"/sendmail
+ systemd_dounit "${FILESDIR}"/sendmail.service
+ systemd_dounit "${FILESDIR}"/sm-client.service
+}
+
+pkg_postinst() {
+ if ! use berkdb; then
+ ewarn "If your configuration relies on userdb, you should install"
+ ewarn "this package with USE=berkdb."
+ fi
+
+ if ! use mbox; then
+ elog "Starting with mail-mta/sendmail-8.18.1 you could use either"
+ elog "procmail or maildrop to use maildir-style mailbox in user's home directory."
+ elog ""
+ elog "If you prefer procmail (default), emerge mail-filter/procmail with USE=-mbox"
+ elog "and include the following lines in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail')dnl"
+ elog "\tMAILER(\`procmail')dnl"
+ elog ""
+ elog "If you prefer maildrop, you'll need to ensure that you configure a mail"
+ elog "storage location using DEFAULT in /etc/maildroprc, for example:"
+ elog "\tDEFAULT=\$HOME/.maildir"
+ elog ""
+ elog "and include the following line in sendmail.mc to create your sendmail.cf"
+ elog "configuration file:"
+ elog "\tFEATURE(\`local_procmail',\`/usr/bin/maildrop',\`maildrop -d $u')dnl"
+ fi
+}