mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-05 14:07:27 -08:00
mail-mta/postfix: add 3.10.6
Signed-off-by: Eray Aslan <eras@gentoo.org>
This commit is contained in:
parent
865cb01cba
commit
ef767b1e97
@ -1,3 +1,4 @@
|
||||
DIST postfix-3.10.4.tar.gz 5050100 BLAKE2B e0a9b3dbd858e9b2bacb137b886ef35a89220caf91da5bcb90de5fd3df7285645deaff6e58f571cdc75966098cf13190b0315690c270b9f3ed69a21e63d2d3ab SHA512 da3a581551670ad4aa595ab50a8dd0bbe7d9e93ee354342c778ae1b461aa7bad9a640e4a55e27b025975c47c92f8238c8d281e1ca5bd1579a009d81ce06924d9
|
||||
DIST postfix-3.10.5.tar.gz 5039523 BLAKE2B 054a2b1c57a1ea6a3f43bc8ec156165c66bb5c9f1bbff1c3a8bd423b229a00202fd46052de07b6b5bd356aa1ee9965883ffaa63552bcb5264593df8668853f20 SHA512 3bec6185f1311f9726c5dc3a902f7e7b9a2e80488bf544805118d212bc1e6496668b60414485331dd0fc807dc1714d0bda6a219e710cdd6c56270a33e1aacabc
|
||||
DIST postfix-3.10.6.tar.gz 5039838 BLAKE2B ca9f371f15af45c72ee97830d5bfb08b4ef2020409e55b1a99ef20681dfaec86fa7f7f799caa7b6e5757da0ea9ccbd5ac51104244b2e315f3cedb414b3e46451 SHA512 c7effc1148e308317eaa688f2efd490d07201298e7f52c8cc6e6871466039bb7e6b97a29e494df5841eb34d4f07c022f6a70f3c72439d3b81957da511d9032b3
|
||||
DIST postfix-3.11-20251124.tar.gz 5146141 BLAKE2B d9e35223a555b61f03964d85aaba02d6a0bae5287dbf96f50e464a32bee66ec6c18cb0a814a88fb7860a6a52b18d2d85fdb570fae2b399fd6eb9edd470a9ed65 SHA512 dd22b5e27b9d051d7bcab60d2ef937e6ac41ed78392689ba89fd49901ce28c59bc995962f39e6894b96da00eb684f909bb903610df6778df36af0e93480f2e77
|
||||
|
||||
325
mail-mta/postfix/postfix-3.10.6.ebuild
Normal file
325
mail-mta/postfix/postfix-3.10.6.ebuild
Normal file
@ -0,0 +1,325 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit flag-o-matic pam systemd toolchain-funcs
|
||||
|
||||
MY_PV="${PV/_pre/-}"
|
||||
MY_SRC="${PN}-${MY_PV}"
|
||||
MY_URI="http://ftp.porcupine.org/mirrors/postfix-release/official"
|
||||
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"
|
||||
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
|
||||
dev-lang/perl
|
||||
berkdb? ( >=sys-libs/db-3.2:* )
|
||||
cdb? ( || ( >=dev-db/tinycdb-0.76 >=dev-db/cdb-0.75-r4 ) )
|
||||
eai? ( dev-libs/icu:= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
ldap-bind? ( net-nds/openldap:=[sasl] )
|
||||
lmdb? ( >=dev-db/lmdb-0.9.11:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.23.0 >=dev-libs/libbson-1.23.0 )
|
||||
mysql? ( dev-db/mysql-connector-c:0= )
|
||||
nis? ( net-libs/libnsl:= )
|
||||
pam? ( sys-libs/pam )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
sasl? ( >=dev-libs/cyrus-sasl-2 )
|
||||
sqlite? ( dev-db/sqlite:3 )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:0= )
|
||||
tlsrpt? ( net-libs/libtlsrpt )
|
||||
"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
memcached? ( net-misc/memcached )
|
||||
net-mail/mailbase
|
||||
!mail-mta/courier
|
||||
!mail-mta/esmtp
|
||||
!mail-mta/exim
|
||||
!mail-mta/msmtp[mta]
|
||||
!mail-mta/netqmail
|
||||
!mail-mta/nullmailer
|
||||
!mail-mta/sendmail
|
||||
!mail-mta/opensmtpd
|
||||
!mail-mta/ssmtp[mta]
|
||||
selinux? ( sec-policy/selinux-postfix )"
|
||||
|
||||
REQUIRED_USE="
|
||||
ldap-bind? ( ldap sasl )
|
||||
tlsrpt? ( ssl )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:/etc/mail/aliases|" \
|
||||
src/util/sys_defs.h || die "sed failed"
|
||||
# change default paths to better comply with portage standard paths
|
||||
sed -i -e "s:/usr/local/:/usr/:g" conf/master.cf || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# bug #915670
|
||||
unset LD_LIBRARY_PATH
|
||||
|
||||
# https://marc.info/?l=postfix-users&m=173542420611213&w=2 (bug #945733)
|
||||
append-cflags -std=gnu17
|
||||
|
||||
for name in CDB LDAP LMDB MONGODB MYSQL PCRE PGSQL SDBM SQLITE TLSRPT
|
||||
do
|
||||
local AUXLIBS_${name}=""
|
||||
done
|
||||
|
||||
# Make sure LDFLAGS get passed down to the executables.
|
||||
local mycc="" mylibs="${LDFLAGS} -ldl"
|
||||
|
||||
# libpcre is EOL. prefer libpcre2
|
||||
mycc=" -DHAS_PCRE=2"
|
||||
AUXLIBS_PCRE="$(pcre2-config --libs8)"
|
||||
|
||||
use pam && mylibs="${mylibs} -lpam"
|
||||
|
||||
if use ssl; then
|
||||
mycc="${mycc} -DUSE_TLS"
|
||||
mylibs="${mylibs} -lssl -lcrypto"
|
||||
fi
|
||||
|
||||
if ! use eai; then
|
||||
mycc="${mycc} -DNO_EAI"
|
||||
fi
|
||||
|
||||
if use ldap; then
|
||||
mycc="${mycc} -DHAS_LDAP"
|
||||
AUXLIBS_LDAP="-lldap -llber"
|
||||
fi
|
||||
|
||||
if use lmdb; then
|
||||
mycc="${mycc} -DHAS_LMDB"
|
||||
AUXLIBS_LMDB="-llmdb -lpthread"
|
||||
fi
|
||||
|
||||
if use mongodb; then
|
||||
mycc="${mycc} -DHAS_MONGODB $(pkg-config --cflags libmongoc-1.0)"
|
||||
AUXLIBS_MONGODB="-lmongoc-1.0 -lbson-1.0"
|
||||
fi
|
||||
|
||||
if use mysql; then
|
||||
mycc="${mycc} -DHAS_MYSQL $(mysql_config --include)"
|
||||
AUXLIBS_MYSQL="$(mysql_config --libs)"
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
mycc="${mycc} -DHAS_PGSQL -I$(pg_config --includedir)"
|
||||
AUXLIBS_PGSQL="-L$(pg_config --libdir) -lpq"
|
||||
fi
|
||||
|
||||
if use sqlite; then
|
||||
mycc="${mycc} -DHAS_SQLITE"
|
||||
AUXLIBS_SQLITE="-lsqlite3 -lpthread"
|
||||
fi
|
||||
|
||||
if use tlsrpt; then
|
||||
mycc="${mycc} -DUSE_TLSRPT"
|
||||
AUXLIBS_TLSRPT="-ltlsrpt"
|
||||
fi
|
||||
|
||||
if use sasl; then
|
||||
if use dovecot-sasl; then
|
||||
# Set dovecot as default.
|
||||
mycc="${mycc} -DDEF_SASL_SERVER=\\\"dovecot\\\""
|
||||
fi
|
||||
if use ldap-bind; then
|
||||
mycc="${mycc} -DUSE_LDAP_SASL"
|
||||
fi
|
||||
mycc="${mycc} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
|
||||
mylibs="${mylibs} -lsasl2"
|
||||
elif use dovecot-sasl; then
|
||||
mycc="${mycc} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\""
|
||||
fi
|
||||
|
||||
if ! use nis; then
|
||||
mycc="${mycc} -DNO_NIS"
|
||||
fi
|
||||
|
||||
if ! use berkdb; then
|
||||
mycc="${mycc} -DNO_DB"
|
||||
# change default database type
|
||||
if use lmdb; then
|
||||
mycc="${mycc} -DDEF_DB_TYPE=\\\"lmdb\\\""
|
||||
elif use cdb; then
|
||||
mycc="${mycc} -DDEF_DB_TYPE=\\\"cdb\\\""
|
||||
fi
|
||||
fi
|
||||
|
||||
if use cdb; then
|
||||
mycc="${mycc} -DHAS_CDB -I/usr/include/cdb"
|
||||
# Tinycdb is preferred.
|
||||
if has_version dev-db/tinycdb ; then
|
||||
AUXLIBS_CDB="-lcdb"
|
||||
else
|
||||
CDB_PATH="/usr/$(get_libdir)"
|
||||
for i in cdb.a alloc.a buffer.a unix.a byte.a ; do
|
||||
AUXLIBS_CDB="${AUXLIBS_CDB} ${CDB_PATH}/${i}"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
sed -i -e "/^RANLIB/s/ranlib/$(tc-getRANLIB)/g" "${S}"/makedefs
|
||||
sed -i -e "/^AR/s/ar/$(tc-getAR)/g" "${S}"/makedefs
|
||||
|
||||
emake makefiles \
|
||||
shared=yes \
|
||||
dynamicmaps=no \
|
||||
pie=yes \
|
||||
shlib_directory="/usr/$(get_libdir)/postfix/MAIL_VERSION" \
|
||||
DEBUG="" \
|
||||
CC="$(tc-getCC)" \
|
||||
OPT="${CFLAGS}" \
|
||||
CCARGS="${mycc}" \
|
||||
AUXLIBS="${mylibs} ${AUXLIBS_TLSRPT}" \
|
||||
AUXLIBS_CDB="${AUXLIBS_CDB}" \
|
||||
AUXLIBS_LDAP="${AUXLIBS_LDAP}" \
|
||||
AUXLIBS_LMDB="${AUXLIBS_LMDB}" \
|
||||
AUXLIBS_MONGODB="${AUXLIBS_MONGODB}" \
|
||||
AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" \
|
||||
AUXLIBS_PCRE="${AUXLIBS_PCRE}" \
|
||||
AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" \
|
||||
AUXLIBS_SDBM="${AUXLIBS_SDBM}" \
|
||||
AUXLIBS_SQLITE="${AUXLIBS_SQLITE}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
LD_LIBRARY_PATH="${S}/lib" \
|
||||
/bin/sh postfix-install \
|
||||
-non-interactive \
|
||||
install_root="${D}" \
|
||||
config_directory="/etc/postfix" \
|
||||
manpage_directory="/usr/share/man" \
|
||||
command_directory="/usr/sbin" \
|
||||
mailq_path="/usr/bin/mailq" \
|
||||
newaliases_path="/usr/bin/newaliases" \
|
||||
sendmail_path="/usr/sbin/sendmail" \
|
||||
|| die "postfix-install failed"
|
||||
|
||||
# Fix spool removal on upgrade
|
||||
rm -Rf "${D}"/var
|
||||
keepdir /var/spool/postfix
|
||||
|
||||
# Install rmail for UUCP, closes bug #19127
|
||||
dobin auxiliary/rmail/rmail
|
||||
|
||||
# Provide another link for legacy FSH
|
||||
dosym ../sbin/sendmail /usr/$(get_libdir)/sendmail
|
||||
|
||||
# Install qshape, posttls-finger, collate and tlstype
|
||||
dobin auxiliary/qshape/qshape.pl
|
||||
doman man/man1/qshape.1
|
||||
dobin bin/posttls-finger
|
||||
doman man/man1/posttls-finger.1
|
||||
dobin auxiliary/collate/collate.pl
|
||||
newdoc auxiliary/collate/README README.collate
|
||||
dobin auxiliary/collate/tlstype.pl
|
||||
dodoc auxiliary/collate/README.tlstype
|
||||
|
||||
# Performance tuning tools and their manuals
|
||||
dosbin bin/smtp-{source,sink} bin/qmqp-{source,sink}
|
||||
doman man/man1/smtp-{source,sink}.1 man/man1/qmqp-{source,sink}.1
|
||||
|
||||
# Set proper permissions on required files/directories
|
||||
keepdir /var/lib/postfix
|
||||
fowners -R postfix:postfix /var/lib/postfix
|
||||
fperms 0750 /var/lib/postfix
|
||||
fowners root:postdrop /usr/sbin/post{drop,queue,log}
|
||||
fperms 02755 /usr/sbin/post{drop,queue,log}
|
||||
|
||||
keepdir /etc/postfix
|
||||
keepdir /etc/postfix/postfix-files.d
|
||||
if use mbox; then
|
||||
mypostconf="mail_spool_directory=/var/mail"
|
||||
else
|
||||
mypostconf="home_mailbox=.maildir/"
|
||||
fi
|
||||
LD_LIBRARY_PATH="${S}/lib" \
|
||||
"${D}"/usr/sbin/postconf -c "${D}"/etc/postfix \
|
||||
-e ${mypostconf} || die "postconf failed"
|
||||
|
||||
insinto /etc/postfix
|
||||
newins "${FILESDIR}"/smtp.pass saslpass
|
||||
fperms 600 /etc/postfix/saslpass
|
||||
|
||||
newinitd "${FILESDIR}"/postfix.rc6.${RC_VER} postfix
|
||||
# do not start mysql/postgres unnecessarily - bug #359913
|
||||
use mysql || sed -i -e "s/mysql //" "${D}/etc/init.d/postfix"
|
||||
use postgres || sed -i -e "s/postgresql //" "${D}/etc/init.d/postfix"
|
||||
|
||||
dodoc *README COMPATIBILITY HISTORY PORTING RELEASE_NOTES*
|
||||
dodoc -r README_FILES/ examples/
|
||||
# postfix set-permissions expects uncompressed man files
|
||||
docompress -x /usr/share/man
|
||||
|
||||
if use pam; then
|
||||
pamd_mimic_system smtp auth account
|
||||
fi
|
||||
|
||||
if use sasl; then
|
||||
insinto /etc/sasl2
|
||||
newins "${FILESDIR}"/smtp.sasl smtpd.conf
|
||||
fi
|
||||
|
||||
# header files
|
||||
insinto /usr/include/postfix
|
||||
doins include/*.h
|
||||
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
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
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user