diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 1e95c2a..d1f0352 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -pflogsumm-*.tar.gz -postfix-*.tar.gz +/pflogsumm-*.tar.gz +/postfix-*.tar.gz diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..195c6fe --- /dev/null +++ b/gating.yaml @@ -0,0 +1,16 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: [bodhi_update_push_testing] +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +#gating rawhide +--- !Policy +product_versions: + - fedora-* +decision_contexts: [bodhi_update_push_stable] +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} \ No newline at end of file diff --git a/pflogsumm-1.1.5-datecalc.patch b/pflogsumm-1.1.5-datecalc.patch deleted file mode 100644 index 77ca806..0000000 --- a/pflogsumm-1.1.5-datecalc.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git pflogsumm-1.1.5/pflogsumm.pl pflogsumm-1.1.5/pflogsumm.pl -index 31de5bd..36384dd 100755 ---- pflogsumm-1.1.5/pflogsumm.pl -+++ pflogsumm-1.1.5/pflogsumm.pl -@@ -398,8 +398,8 @@ Copyright (C) 1998-2010 by James S. Seymour, Release 1.1.5 - use strict; - use locale; - use Getopt::Long; --eval { require Date::Calc }; --my $hasDateCalc = $@ ? 0 : 1; -+require Date::Calc; -+my $hasDateCalc = 1; - - my $mailqCmd = "mailq"; - my $release = "1.1.5"; diff --git a/pflogsumm-1.1.5-ipv6-warnings-fix.patch b/pflogsumm-1.1.5-ipv6-warnings-fix.patch deleted file mode 100644 index 51e759e..0000000 --- a/pflogsumm-1.1.5-ipv6-warnings-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git pflogsumm-1.1.5/pflogsumm.pl pflogsumm-1.1.5/pflogsumm.pl -index 36384dd..eb527d0 100755 ---- pflogsumm-1.1.5/pflogsumm.pl -+++ pflogsumm-1.1.5/pflogsumm.pl -@@ -1536,7 +1536,7 @@ sub gimme_domain { - # split domain/ipaddr into separates - # newer versions of Postfix have them "dom.ain[i.p.add.ress]" - # older versions of Postfix have them "dom.ain/i.p.add.ress" -- unless((($domain, $ipAddr) = /^([^\[]+)\[((?:\d{1,3}\.){3}\d{1,3})\]/) == 2 || -+ unless((($domain, $ipAddr) = /^([^\[]+)\[((?:\d{1,3}\.){3}\d{1,3}|[0-9a-f:]+)\]/) == 2 || - (($domain, $ipAddr) = /^([^\/]+)\/([0-9a-f.:]+)/i) == 2) { - # more exhaustive method - ($domain, $ipAddr) = /^([^\[\(\/]+)[\[\(\/]([^\]\)]+)[\]\)]?:?\s*$/; diff --git a/pflogsumm-1.1.6-syslog-name-underscore-fix.patch b/pflogsumm-1.1.6-syslog-name-underscore-fix.patch new file mode 100644 index 0000000..d5e461d --- /dev/null +++ b/pflogsumm-1.1.6-syslog-name-underscore-fix.patch @@ -0,0 +1,18 @@ +diff --git a/pflogsumm b/pflogsumm +index cb3b8a9..35309f0 100755 +--- a/pflogsumm ++++ b/pflogsumm +@@ -503,7 +503,12 @@ $usageMsg = + # Accept either "_"s or "-"s in --switches + foreach (@ARGV) { + last if($_ eq "--"); +- tr/_/-/ if(/^--\w/); ++ if (/^--\w/) ++ { ++ my @argspl = split("=", $_, 2); ++ $argspl[0] =~ tr/_/-/; ++ $_ = join("=", @argspl); ++ } + } + + # Some pre-inits for convenience diff --git a/plans/all.fmf b/plans/all.fmf new file mode 100644 index 0000000..5b892e7 --- /dev/null +++ b/plans/all.fmf @@ -0,0 +1,6 @@ +summary: Test plan with all Fedora tests +discover: + how: fmf + url: https://src.fedoraproject.org/tests/postfix.git +execute: + how: tmt diff --git a/postfix-3.4.0-config.patch b/postfix-3.10.5-config.patch similarity index 83% rename from postfix-3.4.0-config.patch rename to postfix-3.10.5-config.patch index eff0f57..c09a76d 100644 --- a/postfix-3.4.0-config.patch +++ b/postfix-3.10.5-config.patch @@ -1,8 +1,8 @@ diff --git a/conf/main.cf b/conf/main.cf -index 7af8bde..495e346 100644 +index 3687c85..ae3af9e 100644 --- a/conf/main.cf +++ b/conf/main.cf -@@ -132,6 +132,10 @@ mail_owner = postfix +@@ -136,6 +136,10 @@ mail_owner = postfix #inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost @@ -13,7 +13,7 @@ index 7af8bde..495e346 100644 # The proxy_interfaces parameter specifies the network interface # addresses that this mail system receives mail on by way of a -@@ -176,7 +180,7 @@ mail_owner = postfix +@@ -180,7 +184,7 @@ mail_owner = postfix # # See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS". # @@ -22,7 +22,7 @@ index 7af8bde..495e346 100644 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, # mail.$mydomain, www.$mydomain, ftp.$mydomain -@@ -398,7 +402,7 @@ unknown_local_recipient_reject_code = 550 +@@ -407,7 +411,7 @@ unknown_local_recipient_reject_code = 550 # "postfix reload" to eliminate the delay. # #alias_maps = dbm:/etc/aliases @@ -31,7 +31,7 @@ index 7af8bde..495e346 100644 #alias_maps = hash:/etc/aliases, nis:mail.aliases #alias_maps = netinfo:/aliases -@@ -409,7 +413,7 @@ unknown_local_recipient_reject_code = 550 +@@ -418,7 +422,7 @@ unknown_local_recipient_reject_code = 550 # #alias_database = dbm:/etc/aliases #alias_database = dbm:/etc/mail/aliases @@ -40,11 +40,13 @@ index 7af8bde..495e346 100644 #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases # ADDRESS EXTENSIONS (e.g., user+foo) -@@ -479,7 +483,27 @@ unknown_local_recipient_reject_code = 550 +@@ -487,8 +491,28 @@ unknown_local_recipient_reject_code = 550 + # non-UNIX accounts with "User unknown in local recipient table". # # Cyrus IMAP over LMTP. Specify ``lmtpunix cmd="lmtpd" - # listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf. +-# listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf. -#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp ++# listen="/var/lib/imap/socket/lmtp" prefork=0'' in cyrus.conf. +#mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp + +# If using the cyrus-imapd IMAP server deliver local mail to the IMAP @@ -69,7 +71,7 @@ index 7af8bde..495e346 100644 # # Cyrus IMAP via command line. Uncomment the "cyrus...pipe" and # subsequent line in master.cf. -@@ -499,8 +523,7 @@ unknown_local_recipient_reject_code = 550 +@@ -508,8 +532,7 @@ unknown_local_recipient_reject_code = 550 # the main.cf file, otherwise the SMTP server will reject mail for # non-UNIX accounts with "User unknown in local recipient table". # @@ -79,11 +81,13 @@ index 7af8bde..495e346 100644 #fallback_transport = # The luser_relay parameter specifies an optional destination address -@@ -673,4 +696,41 @@ sample_directory = +@@ -682,6 +705,43 @@ sample_directory = # readme_directory: The location of the Postfix README files. # readme_directory = -inet_protocols = ipv4 + shlib_directory = /usr/lib/postfix/${mail_version} + meta_directory = /etc/postfix + +# TLS CONFIGURATION +# @@ -123,15 +127,15 @@ index 7af8bde..495e346 100644 +# +smtp_tls_security_level = may diff --git a/conf/master.cf b/conf/master.cf -index c0f2508..05c5d07 100644 +index 5abe06c..81ae929 100644 --- a/conf/master.cf +++ b/conf/master.cf -@@ -98,14 +98,14 @@ postlog unix-dgram n - n - 1 postlogd +@@ -116,14 +116,14 @@ postlog unix-dgram n - n - 1 postlogd # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe --# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} -+# user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user} +-# flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} ++# flags=DRX user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # diff --git a/postfix-3.4.4-res-macros-fix.patch b/postfix-3.4.4-res-macros-fix.patch deleted file mode 100644 index 1034c85..0000000 --- a/postfix-3.4.4-res-macros-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/dns/dns_str_resflags.c b/src/dns/dns_str_resflags.c -index 5f2cce5..df32345 100644 ---- a/src/dns/dns_str_resflags.c -+++ b/src/dns/dns_str_resflags.c -@@ -60,10 +60,16 @@ static const LONG_NAME_MASK resflag_table[] = { - "RES_DEFNAMES", RES_DEFNAMES, - "RES_STAYOPEN", RES_STAYOPEN, - "RES_DNSRCH", RES_DNSRCH, -+#ifdef RES_INSECURE1 - "RES_INSECURE1", RES_INSECURE1, -+#endif -+#ifdef RES_INSECURE2 - "RES_INSECURE2", RES_INSECURE2, -+#endif - "RES_NOALIASES", RES_NOALIASES, -+#ifdef RES_USE_INET6 - "RES_USE_INET6", RES_USE_INET6, -+#endif - #ifdef RES_ROTATE - "RES_ROTATE", RES_ROTATE, - #endif diff --git a/postfix-3.4.0-large-fs.patch b/postfix-3.8.0-large-fs.patch similarity index 92% rename from postfix-3.4.0-large-fs.patch rename to postfix-3.8.0-large-fs.patch index fbc55f1..b0c7933 100644 --- a/postfix-3.4.0-large-fs.patch +++ b/postfix-3.8.0-large-fs.patch @@ -21,10 +21,10 @@ index 50a4aa7..beef3db 100644 if (msg_verbose) msg_info("%s: %s: block size %lu, blocks free %lu", diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h -index a8d2571..ad07498 100644 +index 1fb449d..bcaac27 100644 --- a/src/util/sys_defs.h +++ b/src/util/sys_defs.h -@@ -769,8 +769,8 @@ extern int initgroups(const char *, int); +@@ -783,8 +783,8 @@ extern int initgroups(const char *, int); #define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0) #define ROOT_PATH "/bin:/usr/bin:/sbin:/usr/sbin" #define FIONREAD_IN_TERMIOS_H diff --git a/postfix-3.3.3-alternatives.patch b/postfix-3.9.0-alternatives.patch similarity index 85% rename from postfix-3.3.3-alternatives.patch rename to postfix-3.9.0-alternatives.patch index 2c3ba18..d384239 100644 --- a/postfix-3.3.3-alternatives.patch +++ b/postfix-3.9.0-alternatives.patch @@ -1,8 +1,8 @@ diff --git a/conf/post-install b/conf/post-install -index 25ef7e6..4fd6434 100644 +index ed7c79a..c647f81 100644 --- a/conf/post-install +++ b/conf/post-install -@@ -537,6 +537,17 @@ test -n "$create" && { +@@ -541,6 +541,18 @@ test -n "$create" && { case $path in no|no/*) continue;; esac @@ -15,6 +15,7 @@ index 25ef7e6..4fd6434 100644 + /usr/share/man/man1/mailq.1.gz) path=/usr/share/man/man1/mailq.postfix.1.gz ;; + /usr/share/man/man1/newaliases.1.gz) path=/usr/share/man/man1/newaliases.postfix.1.gz ;; + /usr/share/man/man5/aliases.5.gz) path=/usr/share/man/man5/aliases.postfix.5.gz ;; ++ /usr/share/man/man8/smtp.8.gz) path=/usr/share/man/man8/smtp.postfix.8.gz ;; + /usr/share/man/man8/smtpd.8.gz) path=/usr/share/man/man8/smtpd.postfix.8.gz ;; + esac # Pick up the flags. diff --git a/postfix-3.4.0-files.patch b/postfix-3.9.0-files.patch similarity index 84% rename from postfix-3.4.0-files.patch rename to postfix-3.9.0-files.patch index ad73553..03ae645 100644 --- a/postfix-3.4.0-files.patch +++ b/postfix-3.9.0-files.patch @@ -1,8 +1,8 @@ diff --git a/conf/postfix-files b/conf/postfix-files -index 4ed9d1f..19711d2 100644 +index 5a93982..b843fec 100644 --- a/conf/postfix-files +++ b/conf/postfix-files -@@ -83,7 +83,6 @@ $shlib_directory/${LIB_PREFIX}sqlite${LIB_SUFFIX}:f:root:-:755 +@@ -84,7 +84,6 @@ $shlib_directory/${LIB_PREFIX}sqlite${LIB_SUFFIX}:f:root:-:755 $meta_directory/dynamicmaps.cf.d:d:root:-:755 $meta_directory/dynamicmaps.cf:f:root:-:644 $meta_directory/main.cf.proto:f:root:-:644 @@ -10,7 +10,7 @@ index 4ed9d1f..19711d2 100644 $meta_directory/master.cf.proto:f:root:-:644 $meta_directory/postfix-files.d:d:root:-:755 $meta_directory/postfix-files:f:root:-:644 -@@ -141,18 +140,13 @@ $command_directory/postqueue:f:root:$setgid_group:2755:u +@@ -142,18 +141,13 @@ $command_directory/postqueue:f:root:$setgid_group:2755:u $sendmail_path:f:root:-:755 $newaliases_path:l:$sendmail_path $mailq_path:l:$sendmail_path @@ -29,7 +29,7 @@ index 4ed9d1f..19711d2 100644 $config_directory/main.cf:f:root:-:644:p $config_directory/master.cf:f:root:-:644:p $config_directory/pcre_table:f:root:-:644:o -@@ -165,8 +159,8 @@ $config_directory/postfix-script:f:root:-:755:o +@@ -166,8 +160,8 @@ $config_directory/postfix-script:f:root:-:755:o $config_directory/postfix-script-sgid:f:root:-:755:o $config_directory/postfix-script-nosgid:f:root:-:755:o $config_directory/post-install:f:root:-:755:o @@ -40,7 +40,7 @@ index 4ed9d1f..19711d2 100644 $manpage_directory/man1/postalias.1:f:root:-:644 $manpage_directory/man1/postcat.1:f:root:-:644 $manpage_directory/man1/postconf.1:f:root:-:644 -@@ -180,9 +174,9 @@ $manpage_directory/man1/postmap.1:f:root:-:644 +@@ -181,9 +175,9 @@ $manpage_directory/man1/postmap.1:f:root:-:644 $manpage_directory/man1/postmulti.1:f:root:-:644 $manpage_directory/man1/postqueue.1:f:root:-:644 $manpage_directory/man1/postsuper.1:f:root:-:644 @@ -52,11 +52,13 @@ index 4ed9d1f..19711d2 100644 $manpage_directory/man5/body_checks.5:f:root:-:644 $manpage_directory/man5/bounce.5:f:root:-:644 $manpage_directory/man5/canonical.5:f:root:-:644 -@@ -230,7 +224,7 @@ $manpage_directory/man8/qmqpd.8:f:root:-:644 +@@ -231,8 +225,8 @@ $manpage_directory/man8/qmgr.8:f:root:-:644 + $manpage_directory/man8/qmqpd.8:f:root:-:644 $manpage_directory/man8/scache.8:f:root:-:644 $manpage_directory/man8/showq.8:f:root:-:644 - $manpage_directory/man8/smtp.8:f:root:-:644 +-$manpage_directory/man8/smtp.8:f:root:-:644 -$manpage_directory/man8/smtpd.8:f:root:-:644 ++$manpage_directory/man8/smtp.postfix.8:f:root:-:644 +$manpage_directory/man8/smtpd.postfix.8:f:root:-:644 $manpage_directory/man8/spawn.8:f:root:-:644 $manpage_directory/man8/tlsproxy.8:f:root:-:644 diff --git a/postfix-etc-init.d-postfix b/postfix-etc-init.d-postfix index c609b0a..52bd7bd 100644 --- a/postfix-etc-init.d-postfix +++ b/postfix-etc-init.d-postfix @@ -51,15 +51,20 @@ conf_check() { } make_aliasesdb() { - if [ "$(/usr/sbin/postconf -h alias_database)" == "hash:/etc/aliases" ] + local MAP="" + local ALIASESDB="$(/usr/sbin/postconf -h alias_database)" + [ "$ALIASESDB" = "hash:/etc/aliases" ] && MAP="db" + [ "$ALIASESDB" = "lmdb:/etc/aliases" ] && MAP="lmdb" + + if [ "$MAP" = "db" -o "$MAP" = "lmdb" ] then - # /etc/aliases.db may be used by other MTA, make sure nothing + # /etc/aliases.db|lmdb may be used by other MTA, make sure nothing # has touched it since our last newaliases call - [ /etc/aliases -nt /etc/aliases.db ] || - [ "$ALIASESDB_STAMP" -nt /etc/aliases.db ] || - [ "$ALIASESDB_STAMP" -ot /etc/aliases.db ] || return + [ /etc/aliases -nt /etc/aliases.$MAP ] || + [ "$ALIASESDB_STAMP" -nt /etc/aliases.$MAP ] || + [ "$ALIASESDB_STAMP" -ot /etc/aliases.$MAP ] || return /usr/bin/newaliases - touch -r /etc/aliases.db "$ALIASESDB_STAMP" + touch -r /etc/aliases.$MAP "$ALIASESDB_STAMP" else /usr/bin/newaliases fi diff --git a/postfix.aliasesdb b/postfix.aliasesdb index 8c0156e..863b405 100644 --- a/postfix.aliasesdb +++ b/postfix.aliasesdb @@ -3,15 +3,20 @@ ALIASESDB_STAMP=/var/lib/misc/postfix.aliasesdb-stamp make_aliasesdb() { - if [ "$(/usr/sbin/postconf -h alias_database)" == "hash:/etc/aliases" ] + local MAP="" + local ALIASESDB="$(/usr/sbin/postconf -h alias_database)" + [ "$ALIASESDB" = "hash:/etc/aliases" ] && MAP="db" + [ "$ALIASESDB" = "lmdb:/etc/aliases" ] && MAP="lmdb" + + if [ "$MAP" = "db" -o "$MAP" = "lmdb" ] then - # /etc/aliases.db may be used by other MTA, make sure nothing + # /etc/aliases.db|lmdb may be used by other MTA, make sure nothing # has touched it since our last newaliases call - [ /etc/aliases -nt /etc/aliases.db ] || - [ "$ALIASESDB_STAMP" -nt /etc/aliases.db ] || - [ "$ALIASESDB_STAMP" -ot /etc/aliases.db ] || return 0 + [ /etc/aliases -nt /etc/aliases.$MAP ] || + [ "$ALIASESDB_STAMP" -nt /etc/aliases.$MAP ] || + [ "$ALIASESDB_STAMP" -ot /etc/aliases.$MAP ] || return 0 /usr/bin/newaliases - touch -r /etc/aliases.db "$ALIASESDB_STAMP" + touch -r /etc/aliases.$MAP "$ALIASESDB_STAMP" else /usr/bin/newaliases fi diff --git a/postfix.service b/postfix.service index e2b43a6..1016ac3 100644 --- a/postfix.service +++ b/postfix.service @@ -11,6 +11,7 @@ PrivateTmp=true CapabilityBoundingSet=~ CAP_NET_ADMIN CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_MODULE ProtectSystem=true PrivateDevices=true +ExecStartPre=-/usr/sbin/restorecon -R /var/spool/postfix/pid ExecStartPre=-/usr/libexec/postfix/aliasesdb ExecStartPre=-/usr/libexec/postfix/chroot-update ExecStart=/usr/sbin/postfix start diff --git a/postfix.spec b/postfix.spec index 4097212..30811de 100644 --- a/postfix.spec +++ b/postfix.spec @@ -1,17 +1,29 @@ # plugins have unresolvable symbols in compile time %undefine _strict_symbol_defs_build +%if 0%{?rhel} < 10 +%bcond_without db +%else +%bcond_with db +%endif %bcond_without mysql %bcond_without pgsql %bcond_without sqlite %bcond_without cdb %bcond_without ldap +%bcond_without lmdb %bcond_without pcre %bcond_without sasl %bcond_without tls %bcond_without ipv6 %bcond_without pflogsumm +%if %{without db} && %{with lmdb} +%global defmap_lmdb 1 +%else +%global defmap_lmdb 0 +%endif + %global sysv2systemdnvr 2.8.12-2 # hardened build if not overrided @@ -20,12 +32,9 @@ # Postfix requires one exlusive uid/gid and a 2nd exclusive gid for its own # use. Let me know if the second gid collides with another package. # Be careful: Redhat's 'mail' user & group isn't unique! -%define postfix_uid 89 +# It's now handled by systemd-sysusers. %define postfix_user postfix -%define postfix_gid 89 -%define postfix_group postfix %define maildrop_group postdrop -%define maildrop_gid 90 %define postfix_config_dir %{_sysconfdir}/postfix %define postfix_daemon_dir %{_libexecdir}/postfix @@ -47,33 +56,35 @@ Name: postfix Summary: Postfix Mail Transport Agent -Version: 3.4.10 +Version: 3.10.7 Release: 1%{?dist} Epoch: 2 URL: http://www.postfix.org -License: (IBM and GPLv2+) or (EPL-2.0 and GPLv2+) +License: (IPL-1.0 OR EPL-2.0) AND GPL-2.0-or-later AND BSD-4-Clause-UC Requires(post): systemd systemd-sysv hostname Requires(post): %{_sbindir}/alternatives Requires(post): %{_bindir}/openssl -Requires(pre): %{_sbindir}/groupadd -Requires(pre): %{_sbindir}/useradd Requires(preun): %{_sbindir}/alternatives Requires(preun): systemd Requires(postun): systemd # Required by /usr/libexec/postfix/postfix-script -Requires: diffutils, findutils +Requires: diffutils +Requires: findutils +# for restorecon +Requires: policycoreutils Provides: MTA smtpd smtpdaemon server(smtp) -Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz +Source0: http://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz Source1: postfix-etc-init.d-postfix Source2: postfix.service Source3: README-Postfix-SASL-RedHat.txt Source4: postfix.aliasesdb Source5: postfix-chroot-update +Source6: postfix.sysusers # Sources 50-99 are upstream [patch] contributions -%define pflogsumm_ver 1.1.5 +%define pflogsumm_ver 1.1.6 # Postfix Log Entry Summarizer: http://jimsun.linxnet.com/postfix_contrib.html Source53: http://jimsun.linxnet.com/downloads/pflogsumm-%{pflogsumm_ver}.tar.gz @@ -85,38 +96,62 @@ Source101: postfix-pam.conf # Patches -Patch1: postfix-3.4.0-config.patch -Patch2: postfix-3.4.0-files.patch -Patch3: postfix-3.3.3-alternatives.patch -Patch4: postfix-3.4.0-large-fs.patch -Patch9: pflogsumm-1.1.5-datecalc.patch -# rhbz#1384871, sent upstream -Patch10: pflogsumm-1.1.5-ipv6-warnings-fix.patch +Patch1: postfix-3.10.5-config.patch +Patch2: postfix-3.9.0-files.patch +Patch3: postfix-3.9.0-alternatives.patch +# probably rhbz#428996 +Patch4: postfix-3.8.0-large-fs.patch +# rhbz#1931403, sent upstream +Patch9: pflogsumm-1.1.6-syslog-name-underscore-fix.patch Patch11: postfix-3.4.4-chroot-example-fix.patch -Patch12: postfix-3.4.4-res-macros-fix.patch # Optional patches - set the appropriate environment variables to include # them when building the package/spec file # Determine the different packages required for building postfix -BuildRequires: libdb-devel, perl-generators, pkgconfig, zlib-devel -BuildRequires: systemd-units, libicu-devel, libnsl2-devel -BuildRequires: gcc, m4, findutils +BuildRequires: make +BuildRequires: perl-generators +BuildRequires: pkgconfig +BuildRequires: zlib-devel +BuildRequires: systemd-units +BuildRequires: libicu-devel +BuildRequires: gcc +BuildRequires: m4 +BuildRequires: findutils +BuildRequires: systemd-rpm-macros +BuildRequires: sed +%if 0%{?rhel} < 9 +BuildRequires: libnsl2-devel +%endif +%{?with_db:BuildRequires: libdb-devel} %{?with_ldap:BuildRequires: openldap-devel} +%{?with_lmdb:BuildRequires: lmdb-devel} %{?with_sasl:BuildRequires: cyrus-sasl-devel} -%{?with_pcre:BuildRequires: pcre-devel} +%{?with_pcre:BuildRequires: pcre2-devel} %{?with_mysql:BuildRequires: mariadb-connector-c-devel} %{?with_pgsql:BuildRequires: libpq-devel} %{?with_sqlite:BuildRequires: sqlite-devel} %{?with_cdb:BuildRequires: tinycdb-devel} %{?with_tls:BuildRequires: openssl-devel} +%if 0%{?defmap_lmdb} +Requires: %{name}-lmdb%{?_isa} = %{epoch}:%{version}-%{release} +%endif + +%if "%{_sbindir}" == "%{_bindir}" +# Compat symlinks for Requires in other packages. +# We rely on filesystem to create the symlinks for us. +Requires: filesystem(unmerged-sbin-symlinks) +Provides: /usr/sbin/sendmail +Provides: /usr/sbin/smtp-sink +%endif + %description Postfix is a Mail Transport Agent (MTA). -%if 0%{?fedora} < 23 +%if 0%{?fedora} < 23 && 0%{?rhel} < 9 %package sysvinit Summary: SysV initscript for postfix BuildArch: noarch @@ -198,6 +233,16 @@ This provides support for LDAP maps in Postfix. If you plan to use LDAP maps with Postfix, you need this. %endif +%if %{with lmdb} +%package lmdb +Summary: Postfix LDMB map support +Requires: %{name} = %{epoch}:%{version}-%{release} + +%description lmdb +This provides support for LMDB maps in Postfix. If you plan to use LMDB +maps with Postfix, you need this. +%endif + %if %{with pcre} %package pcre Summary: Postfix PCRE map support @@ -211,10 +256,10 @@ maps with Postfix, you need this. %prep %setup -q # Apply obligatory patches -%patch1 -p1 -b .config -%patch2 -p1 -b .files -%patch3 -p1 -b .alternatives -%patch4 -p1 -b .large-fs +%patch -P1 -p1 -b .config +%patch -P2 -p1 -b .files +%patch -P3 -p1 -b .alternatives +%patch -P4 -p1 -b .large-fs # Change DEF_SHLIB_DIR according to build host sed -i \ @@ -224,22 +269,41 @@ src/global/mail_params.h %if %{with pflogsumm} gzip -dc %{SOURCE53} | tar xf - pushd pflogsumm-%{pflogsumm_ver} -%patch9 -p1 -b .datecalc -%patch10 -p1 -b .ipv6-warnings-fix +%patch -P9 -p1 -b .pflogsumm-1.1.6-syslog-name-underscore-fix popd %endif -%patch11 -p1 -b .chroot-example-fix -%patch12 -p1 -b .res-macros-fix +%patch -P11 -p1 -b .chroot-example-fix + +# Backport 3.8-20221006 fix for uname -r detection +sed -i makedefs -e '\@Linux\.@s|345|3456|' +sed -i src/util/sys_defs.h -e 's@defined(LINUX5)@defined(LINUX5) || defined(LINUX6)@' for f in README_FILES/TLS_{LEGACY_,}README TLS_ACKNOWLEDGEMENTS; do iconv -f iso8859-1 -t utf8 -o ${f}{_,} && touch -r ${f}{,_} && mv -f ${f}{_,} done +# fix default maps +%if 0%{?defmap_lmdb} + sed -i '/^\s*alias_maps\s*=\s*hash:\/etc\/aliases/ s|hash:|lmdb:|g' conf/main.cf + sed -i '/^\s*alias_database\s*=\s*hash:\/etc\/aliases/ s|hash:|lmdb:|g' conf/main.cf + echo >> conf/main.cf + echo "default_database_type = lmdb" >> conf/main.cf +%endif + %build -unset AUXLIBS AUXLIBS_LDAP AUXLIBS_PCRE AUXLIBS_MYSQL AUXLIBS_PGSQL AUXLIBS_SQLITE AUXLIBS_CDB -CCARGS="-fPIC -fcommon" +%set_build_flags +unset AUXLIBS AUXLIBS_LDAP AUXLIBS_LMDB AUXLIBS_PCRE AUXLIBS_MYSQL AUXLIBS_PGSQL AUXLIBS_SQLITE AUXLIBS_CDB +CCARGS="-fPIC -fcommon -std=gnu17" +%if 0%{?rhel} >= 9 +AUXLIBS="" +%else AUXLIBS="-lnsl" +%endif + +%if %{without db} + CCARGS="${CCARGS} -DNO_DB" +%endif %ifarch s390 s390x ppc CCARGS="${CCARGS} -fsigned-char" @@ -249,10 +313,13 @@ CCARGS="${CCARGS} -fsigned-char" CCARGS="${CCARGS} -DHAS_LDAP -DLDAP_DEPRECATED=1 %{?with_sasl:-DUSE_LDAP_SASL}" AUXLIBS_LDAP="-lldap -llber" %endif +%if %{with lmdb} + CCARGS="${CCARGS} -DHAS_LMDB" + AUXLIBS_LMDB="-llmdb" +%endif %if %{with pcre} - # -I option required for pcre 3.4 (and later?) - CCARGS="${CCARGS} -DHAS_PCRE -I%{_includedir}/pcre" - AUXLIBS_PCRE="-lpcre" + CCARGS="${CCARGS} -DHAS_PCRE=2 `pcre2-config --cflags`" + AUXLIBS_PCRE=`pcre2-config --libs8` %endif %if %{with mysql} CCARGS="${CCARGS} -DHAS_MYSQL -I%{_includedir}/mysql" @@ -290,8 +357,10 @@ CCARGS="${CCARGS} -fsigned-char" CCARGS="${CCARGS} -DDEF_CONFIG_DIR=\\\"%{postfix_config_dir}\\\"" CCARGS="${CCARGS} $(getconf LFS_CFLAGS)" - -LDFLAGS="%{?__global_ldflags} %{?_hardened_build:-Wl,-z,relro,-z,now}" +%if 0%{?rhel} >= 9 + CCARGS="${CCARGS} -DNO_NIS" +%endif +LDFLAGS="$LDFLAGS %{?_hardened_build:-Wl,-z,relro,-z,now}" # SHLIB_RPATH is needed to find private libraries # LDFLAGS are added to SHLIB_RPATH because the postfix build system @@ -299,23 +368,21 @@ LDFLAGS="%{?__global_ldflags} %{?_hardened_build:-Wl,-z,relro,-z,now}" # way how to get them in make -f Makefile.init makefiles shared=yes dynamicmaps=yes \ %{?_hardened_build:pie=yes} CCARGS="${CCARGS}" AUXLIBS="${AUXLIBS}" \ - AUXLIBS_LDAP="${AUXLIBS_LDAP}" AUXLIBS_PCRE="${AUXLIBS_PCRE}" \ - AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" \ - AUXLIBS_SQLITE="${AUXLIBS_SQLITE}" AUXLIBS_CDB="${AUXLIBS_CDB}"\ + AUXLIBS_LDAP="${AUXLIBS_LDAP}" AUXLIBS_LMDB="${AUXLIBS_LMDB}" \ + AUXLIBS_PCRE="${AUXLIBS_PCRE}" AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" \ + AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" AUXLIBS_SQLITE="${AUXLIBS_SQLITE}" \ + AUXLIBS_CDB="${AUXLIBS_CDB}" \ DEBUG="" SHLIB_RPATH="-Wl,-rpath,%{postfix_shlib_dir} $LDFLAGS" \ - OPT="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-comment" \ + OPT="$CFLAGS -fno-strict-aliasing -Wno-comment" \ POSTFIX_INSTALL_OPTS=-keep-build-mtime -make %{?_smp_mflags} +%make_build %install -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT - # install postfix into $RPM_BUILD_ROOT # Move stuff around so we don't conflict with sendmail -for i in man1/mailq.1 man1/newaliases.1 man1/sendmail.1 man5/aliases.5 man8/smtpd.8; do +for i in man1/mailq.1 man1/newaliases.1 man1/sendmail.1 man5/aliases.5 man8/smtp{,d}.8; do dest=$(echo $i | sed 's|\.[1-9]$|.postfix\0|') mv man/$i man/$dest sed -i "s|^\.so $i|\.so $dest|" man/man?/*.[1-9] @@ -339,7 +406,7 @@ make non-interactive-package \ sample_directory=%{postfix_sample_dir} \ readme_directory=%{postfix_readme_dir} || exit 1 -%if 0%{?fedora} < 23 +%if 0%{?fedora} < 23 && 0%{?rhel} < 9 # This installs into the /etc/rc.d/init.d directory mkdir -p $RPM_BUILD_ROOT%{_initrddir} install -c %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/postfix @@ -351,14 +418,17 @@ install -m 644 %{SOURCE2} %{buildroot}%{_unitdir} install -m 755 %{SOURCE4} %{buildroot}%{postfix_daemon_dir}/aliasesdb install -m 755 %{SOURCE5} %{buildroot}%{postfix_daemon_dir}/chroot-update +# systemd-sysusers +install -p -D -m 0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/postfix.conf + install -c auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail.postfix for i in active bounce corrupt defer deferred flush incoming private saved maildrop public pid saved trace; do mkdir -p $RPM_BUILD_ROOT%{postfix_queue_dir}/$i done -# install performance benchmark tools by hand -for i in smtp-sink smtp-source ; do +# install performance benchmark and test tools by hand +for i in smtp-sink smtp-source posttls-finger ; do install -c -m 755 bin/$i $RPM_BUILD_ROOT%{postfix_command_dir}/ install -c -m 755 man/man1/$i.1 $RPM_BUILD_ROOT%{_mandir}/man1/ done @@ -396,7 +466,7 @@ find $RPM_BUILD_ROOT%{postfix_doc_dir} -type d | xargs chmod 755 %if %{with pflogsumm} install -c -m 644 pflogsumm-%{pflogsumm_ver}/pflogsumm-faq.txt $RPM_BUILD_ROOT%{postfix_doc_dir}/pflogsumm-faq.txt install -c -m 644 pflogsumm-%{pflogsumm_ver}/pflogsumm.1 $RPM_BUILD_ROOT%{_mandir}/man1/pflogsumm.1 -install -c pflogsumm-%{pflogsumm_ver}/pflogsumm.pl $RPM_BUILD_ROOT%{postfix_command_dir}/pflogsumm +install -c pflogsumm-%{pflogsumm_ver}/pflogsumm $RPM_BUILD_ROOT%{postfix_command_dir}/pflogsumm %endif # install qshape @@ -409,9 +479,7 @@ rm -f $RPM_BUILD_ROOT%{postfix_config_dir}/aliases # create /usr/lib/sendmail mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib -pushd $RPM_BUILD_ROOT%{_prefix}/lib -ln -sf ../sbin/sendmail.postfix . -popd +ln -sf --relative $RPM_BUILD_ROOT%{_sbindir}/sendmail.postfix $RPM_BUILD_ROOT%{_prefix}/lib/ mkdir -p $RPM_BUILD_ROOT%{_var}/lib/misc touch $RPM_BUILD_ROOT%{_var}/lib/misc/postfix.aliasesdb-stamp @@ -419,7 +487,7 @@ touch $RPM_BUILD_ROOT%{_var}/lib/misc/postfix.aliasesdb-stamp # prepare alternatives ghosts for i in %{postfix_command_dir}/sendmail %{_bindir}/{mailq,newaliases,rmail} \ %{_sysconfdir}/pam.d/smtp %{_prefix}/lib/sendmail \ - %{_mandir}/{man1/{mailq.1,newaliases.1},man5/aliases.5,man8/{sendmail.8,smtpd.8}} + %{_mandir}/{man1/{mailq.1,newaliases.1},man5/aliases.5,man8/{sendmail.8,smtp{,d}.8}} do touch $RPM_BUILD_ROOT$i done @@ -435,7 +503,7 @@ function split_file # split global dynamic maps configuration to individual sub-packages pushd $RPM_BUILD_ROOT%{postfix_config_dir} for map in %{?with_mysql:mysql} %{?with_pgsql:pgsql} %{?with_sqlite:sqlite} \ -%{?with_cdb:cdb} %{?with_ldap:ldap} %{?with_pcre:pcre}; do +%{?with_cdb:cdb} %{?with_ldap:ldap} %{?with_lmdb:lmdb} %{?with_pcre:pcre}; do rm -f dynamicmaps.cf.d/"$map" "postfix-files.d/$map" split_file "^\s*$map\b" "$map" dynamicmaps.cf sed -i "s|postfix-$map\\.so|%{postfix_shlib_dir}/\\0|" "dynamicmaps.cf.d/$map" @@ -460,21 +528,27 @@ popd readme_directory=%{postfix_readme_dir} &> /dev/null ALTERNATIVES_DOCS="" -[ "%%{_excludedocs}" = 1 ] || ALTERNATIVES_DOCS='--slave %{_mandir}/man1/mailq.1.gz mta-mailqman %{_mandir}/man1/mailq.postfix.1.gz - --slave %{_mandir}/man1/newaliases.1.gz mta-newaliasesman %{_mandir}/man1/newaliases.postfix.1.gz - --slave %{_mandir}/man8/sendmail.8.gz mta-sendmailman %{_mandir}/man1/sendmail.postfix.1.gz - --slave %{_mandir}/man5/aliases.5.gz mta-aliasesman %{_mandir}/man5/aliases.postfix.5.gz - --slave %{_mandir}/man8/smtpd.8.gz mta-smtpdman %{_mandir}/man8/smtpd.postfix.8.gz' +[ "%%{_excludedocs}" = 1 ] || ALTERNATIVES_DOCS='--follower %{_mandir}/man1/mailq.1.gz mta-mailqman %{_mandir}/man1/mailq.postfix.1.gz + --follower %{_mandir}/man1/newaliases.1.gz mta-newaliasesman %{_mandir}/man1/newaliases.postfix.1.gz + --follower %{_mandir}/man8/sendmail.8.gz mta-sendmailman %{_mandir}/man1/sendmail.postfix.1.gz + --follower %{_mandir}/man5/aliases.5.gz mta-aliasesman %{_mandir}/man5/aliases.postfix.5.gz + --follower %{_mandir}/man8/smtp.8.gz mta-smtpman %{_mandir}/man8/smtp.postfix.8.gz + --follower %{_mandir}/man8/smtpd.8.gz mta-smtpdman %{_mandir}/man8/smtpd.postfix.8.gz' -%{_sbindir}/alternatives --install %{postfix_command_dir}/sendmail mta %{postfix_command_dir}/sendmail.postfix 60 \ - --slave %{_bindir}/mailq mta-mailq %{_bindir}/mailq.postfix \ - --slave %{_bindir}/newaliases mta-newaliases %{_bindir}/newaliases.postfix \ - --slave %{_sysconfdir}/pam.d/smtp mta-pam %{_sysconfdir}/pam.d/smtp.postfix \ - --slave %{_bindir}/rmail mta-rmail %{_bindir}/rmail.postfix \ - --slave %{_prefix}/lib/sendmail mta-sendmail %{_prefix}/lib/sendmail.postfix \ +alternatives --install %{postfix_command_dir}/sendmail mta %{postfix_command_dir}/sendmail.postfix 60 \ + --follower %{_bindir}/mailq mta-mailq %{_bindir}/mailq.postfix \ + --follower %{_bindir}/newaliases mta-newaliases %{_bindir}/newaliases.postfix \ + --follower %{_sysconfdir}/pam.d/smtp mta-pam %{_sysconfdir}/pam.d/smtp.postfix \ + --follower %{_bindir}/rmail mta-rmail %{_bindir}/rmail.postfix \ + --follower %{_prefix}/lib/sendmail mta-sendmail %{_prefix}/lib/sendmail.postfix \ $ALTERNATIVES_DOCS \ --initscript postfix +# Make sure that /usr/sbin/sendmail is not missing, if /usr/sbin is a +# directory. The symlink will only be created if there is no symlink +# or file already. +test -h /usr/sbin || ln -s ../bin/sendmail /usr/sbin/sendmail 2>/dev/null || : + %if %{with sasl} # Move sasl config to new location if [ -f %{_libdir}/sasl2/smtpd.conf ]; then @@ -486,7 +560,7 @@ fi # Create self-signed SSL certificate if [ ! -f %{sslkey} ]; then umask 077 - %{_bindir}/openssl genrsa 4096 > %{sslkey} 2> /dev/null + %{_bindir}/openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out %{sslkey} 2>/dev/null || echo "openssl genpkey failed" fi if [ ! -f %{sslcert} ]; then @@ -495,8 +569,10 @@ if [ ! -f %{sslcert} ]; then FQDN=localhost.localdomain fi - %{_bindir}/openssl req -new -key %{sslkey} -x509 -sha256 -days 365 -set_serial $RANDOM -out %{sslcert} \ - -subj "/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=${FQDN}/emailAddress=root@${FQDN}" + req_cmd="%{_bindir}/openssl req -new -key %{sslkey} -x509 -sha256 -days 365 -set_serial $RANDOM -out %{sslcert} \ + -subj /C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=${FQDN}/emailAddress=root@${FQDN}" +# openssl-3.0 and fallback for backward compatibility with openssl < 3.0 + $req_cmd -noenc -copy_extensions none 2>/dev/null || $req_cmd 2>/dev/null || echo "openssl req failed" chmod 644 %{sslcert} fi @@ -504,15 +580,12 @@ exit 0 %pre # Add user and groups if necessary -%{_sbindir}/groupadd -g %{maildrop_gid} -r %{maildrop_group} 2>/dev/null -%{_sbindir}/groupadd -g %{postfix_gid} -r %{postfix_group} 2>/dev/null -%{_sbindir}/groupadd -g 12 -r mail 2>/dev/null -%{_sbindir}/useradd -d %{postfix_queue_dir} -s /sbin/nologin -g %{postfix_group} -G mail -M -r -u %{postfix_uid} %{postfix_user} 2>/dev/null +%sysusers_create_compat %{SOURCE6} -# hack, to turn man8/smtpd.8.gz into alternatives symlink (part of the rhbz#1051180 fix) -# this could be probably dropped in f23+ -if [ -e %{_mandir}/man8/smtpd.8.gz ]; then - [ -h %{_mandir}/man8/smtpd.8.gz ] || rm -f %{_mandir}/man8/smtpd.8.gz +# hack, to turn man8/smtp.8.gz into alternatives symlink (part of the rhbz#2274402 fix) +# this could be probably dropped in f44+ +if [ -e %{_mandir}/man8/smtp.8.gz ]; then + [ -h %{_mandir}/man8/smtp.8.gz ] || rm -f %{_mandir}/man8/smtp.8.gz fi exit 0 @@ -521,14 +594,14 @@ exit 0 %systemd_preun %{name}.service if [ "$1" = 0 ]; then - %{_sbindir}/alternatives --remove mta %{postfix_command_dir}/sendmail.postfix + alternatives --remove mta %{postfix_command_dir}/sendmail.postfix fi exit 0 %postun %systemd_postun_with_restart %{name}.service -%if 0%{?fedora} < 23 +%if 0%{?fedora} < 23 && 0%{?rhel} < 9 %post sysvinit /sbin/chkconfig --add postfix >/dev/null 2>&1 ||: @@ -587,6 +660,8 @@ fi %exclude %{postfix_doc_dir}/README_FILES/CDB_README %exclude %{_mandir}/man5/ldap_table.5* %exclude %{postfix_doc_dir}/README_FILES/LDAP_README +%exclude %{_mandir}/man5/lmdb_table.5* +%exclude %{postfix_doc_dir}/README_FILES/LMDB_README %exclude %{_mandir}/man5/pcre_table.5* %exclude %{postfix_doc_dir}/README_FILES/PCRE_README @@ -622,11 +697,12 @@ fi %attr(0644, root, root) %{_mandir}/man5/*.postfix.5* %attr(0644, root, root) %{_mandir}/man8/[a-qt-v]*.8* %attr(0644, root, root) %{_mandir}/man8/s[ch-lnp]*.8* -%attr(0644, root, root) %{_mandir}/man8/smtp.8* +%attr(0644, root, root) %{_mandir}/man8/smtp.postfix.8* %attr(0644, root, root) %{_mandir}/man8/smtpd.postfix.8* %attr(0755, root, root) %{postfix_command_dir}/smtp-sink %attr(0755, root, root) %{postfix_command_dir}/smtp-source +%attr(0755, root, root) %{postfix_command_dir}/posttls-finger %attr(0755, root, root) %{postfix_command_dir}/postalias %attr(0755, root, root) %{postfix_command_dir}/postcat @@ -635,7 +711,7 @@ fi %attr(0755, root, root) %{postfix_command_dir}/postfix %attr(0755, root, root) %{postfix_command_dir}/postkick %attr(0755, root, root) %{postfix_command_dir}/postlock -%attr(0755, root, root) %{postfix_command_dir}/postlog +%attr(2755, root, %{maildrop_group}) %{postfix_command_dir}/postlog %attr(0755, root, root) %{postfix_command_dir}/postmap %attr(0755, root, root) %{postfix_command_dir}/postmulti %attr(2755, root, %{maildrop_group}) %{postfix_command_dir}/postqueue @@ -678,6 +754,7 @@ fi %ghost %{_mandir}/man1/newaliases.1.gz %ghost %{_mandir}/man5/aliases.5.gz %ghost %{_mandir}/man8/sendmail.8.gz +%ghost %{_mandir}/man8/smtp.8.gz %ghost %{_mandir}/man8/smtpd.8.gz %ghost %attr(0755, root, root) %{_bindir}/mailq @@ -688,7 +765,10 @@ fi %ghost %attr(0644, root, root) %{_var}/lib/misc/postfix.aliasesdb-stamp -%if 0%{?fedora} < 23 +# systemd-sysusers +%{_sysusersdir}/postfix.conf + +%if 0%{?fedora} < 23 && 0%{?rhel} < 9 %files sysvinit %{_initrddir}/postfix %endif @@ -747,6 +827,15 @@ fi %attr(0644, root, root) %{postfix_doc_dir}/README_FILES/LDAP_README %endif +%if %{with lmdb} +%files lmdb +%attr(0644, root, root) %{postfix_config_dir}/dynamicmaps.cf.d/lmdb +%attr(0644, root, root) %{postfix_config_dir}/postfix-files.d/lmdb +%attr(0755, root, root) %{postfix_shlib_dir}/postfix-lmdb.so +%attr(0644, root, root) %{_mandir}/man5/lmdb_table.5* +%attr(0644, root, root) %{postfix_doc_dir}/README_FILES/LMDB_README +%endif + %if %{with pcre} %files pcre %attr(0644, root, root) %{postfix_config_dir}/dynamicmaps.cf.d/pcre @@ -757,6 +846,337 @@ fi %endif %changelog +* Fri Jan 02 2026 Jaroslav Škarvada - 2:3.10.7-1 +- New version + Resolves: rhbz#2417154 + +* Thu Oct 30 2025 Jaroslav Škarvada - 2:3.10.5-1 +- New version + Resolves: rhbz#2406450 +- Changed protocol for downloading sources from FTP to HTTP (HTTPS isn't supported) + +* Mon Aug 25 2025 Jaroslav Škarvada - 2:3.10.4-1 +- New version + Resolves: rhbz#2389310 + +* Wed Aug 06 2025 František Zatloukal - 2:3.10.3-3 +- Rebuilt for icu 77.1 + +* Fri Jul 25 2025 Fedora Release Engineering - 2:3.10.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jul 10 2025 Jaroslav Škarvada - 2:3.10.3-1 +- New version + Resolves: rhbz#2379297 +- Updated cyrus-imapd comment in config to point to the correct location + Related: RHEL-63089 + +* Thu Jun 5 2025 Jaroslav Škarvada - 2:3.10.2-3 +- Updated pflogsumm to 1.1.6 + Resolves: rhbz#2368396 + +* Thu May 08 2025 Zbigniew Jędrzejewski-Szmek - 2:3.10.2-2 +- Make sure the /usr/sbin/sendmail symlink is created on unmerged systems + Resolves: rhbz#2360491 + +* Thu Apr 24 2025 Jaroslav Škarvada - 2:3.10.2-1 +- New version + Resolves: rhbz#2361704 + +* Thu Mar 6 2025 Jaroslav Škarvada - 2:3.10.1-1 +- New version + Resolves: rhbz#2346039 + +* Sat Jan 18 2025 Fedora Release Engineering - 2:3.9.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 2:3.9.1-3 +- Rebuilt for the bin-sbin merge (2nd attempt) + +* Sun Dec 08 2024 Pete Walter - 2:3.9.1-2 +- Rebuild for ICU 76 + +* Thu Dec 5 2024 Jaroslav Škarvada - 2:3.9.1-1 +- New version + Resolves: rhbz#2330454 + +* Thu Jul 25 2024 Jaroslav Škarvada - 2:3.9.0-8 +- Fixed postlog RPM verification + +* Thu Jul 25 2024 Jaroslav Škarvada - 2:3.9.0-7 +- Explicitly set default_database_type if lmdb map is used + +* Fri Jul 19 2024 Fedora Release Engineering - 2:3.9.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 2:3.9.0-5 +- Rebuilt for the bin-sbin merge + +* Fri Apr 12 2024 Jaroslav Škarvada - 2:3.9.0-4 +- Fixed closing quote in alternatives + Related: rhbz#2274402 + +* Thu Apr 11 2024 Jaroslav Škarvada - 2:3.9.0-3 +- Fixed typo in alternatives + Related: rhbz#2274402 + +* Thu Apr 11 2024 Jaroslav Škarvada - 2:3.9.0-2 +- Added man8/smtp.8.gz to alternatives + Resolves: rhbz#2274402 + +* Thu Mar 7 2024 Jaroslav Škarvada - 2:3.9.0-1 +- New version + Resolves: rhbz#2268245 + +* Tue Mar 5 2024 Jaroslav Škarvada - 2:3.8.6-1 +- New version + Resolves: rhbz#2267836 + +* Tue Feb 27 2024 Jaroslav Škarvada - 2:3.8.5-4 +- Dropped mail group configuration / creation, it is provided by setup + Resolves: rhbz#2244744 + +* Thu Feb 01 2024 Pete Walter - 2:3.8.5-3 +- Rebuild for ICU 74 + +* Thu Jan 25 2024 Fedora Release Engineering - 2:3.8.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Jaroslav Škarvada - 2:3.8.5-1 +- New version + Resolves: rhbz#2259469 + +* Sun Jan 21 2024 Fedora Release Engineering - 2:3.8.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 2 2024 Jaroslav Škarvada - 2:3.8.4-1 +- New version + Resolves: rhbz#2255641 +- Fixed SMTP smuggling vulnerability + Resolves: CVE-2023-51764 + +* Tue Dec 12 2023 Jaroslav Škarvada - 2:3.8.3-2 +- Converted license tag to SPDX + +* Thu Nov 2 2023 Jaroslav Škarvada - 2:3.8.3-1 +- New version + Resolves: rhbz#2247553 + +* Mon Oct 9 2023 Jaroslav Škarvada - 2:3.8.2-2 +- Drop libdb for RHEL>9 + Related: rhbz#1788480 + +* Tue Sep 5 2023 Jaroslav Škarvada - 2:3.8.2-1 +- New version + Resolves: rhbz#2236828 + +* Mon Aug 14 2023 Jaroslav Škarvada - 2:3.8.1-5 +- Use systemd-sysusers, original patch by + Jonathan Wright + +* Fri Jul 21 2023 Fedora Release Engineering - 2:3.8.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 František Zatloukal - 2:3.8.1-3 +- Rebuilt for ICU 73.2 + +* Tue Jul 11 2023 Jaroslav Škarvada - 2:3.8.1-2 +- Fixed possible warning when postfix is restarted + Resolves: rhbz#2218058 + +* Tue Jun 6 2023 Jaroslav Škarvada - 2:3.8.1-1 +- New version + Resolves: rhbz#2212596 + +* Thu May 25 2023 Tomas Korbar - 2:3.8.0-3 +- Fix freed memory access + +* Wed Apr 26 2023 Jaroslav Škarvada - 2:3.8.0-2 +- Dropped whitespace-name-fix patch, not needed + +* Wed Apr 26 2023 Jaroslav Škarvada - 2:3.8.0-1 +- New version + Resolves: rhbz#2187121 + +* Wed Jan 25 2023 Jaroslav Škarvada - 2:3.7.4-1 +- New version + Resolves: rhbz#2162932 + +* Fri Jan 20 2023 Fedora Release Engineering - 2:3.7.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 31 2022 Mamoru TASAKA - 2:3.7.3-3 +- Backport upstream fix for uname -r detection with kernel 6.x + +* Sat Dec 31 2022 Pete Walter - 2:3.7.3-2 +- Rebuild for ICU 72 + +* Mon Oct 10 2022 Jaroslav Škarvada - 2:3.7.3-1 +- New version + Resolves: rhbz#2133120 + +* Mon Aug 01 2022 Frantisek Zatloukal - 2:3.7.2-4 +- Rebuilt for ICU 71.1 + +* Sat Jul 23 2022 Stewart Smith - 2:3.7.2-3 +- Build with pcre2 instead of the deprecated pcre library + +* Fri Jul 22 2022 Fedora Release Engineering - 2:3.7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Apr 28 2022 Jaroslav Škarvada - 2:3.7.2-1 +- New version + Resolves: rhbz#2079634 + +* Tue Apr 19 2022 Jaroslav Škarvada - 2:3.7.1-1 +- New version + Resolves: rhbz#2076317 + +* Tue Feb 22 2022 Jaroslav Škarvada - 2:3.7.0-1 +- New version + Resolves: rhbz#2051046 + +* Thu Jan 20 2022 Jaroslav Škarvada - 2:3.6.4-1 +- New version + Resolves: rhbz#2040977 +- Suppressed openssl output during SSL certificates generation + Resolves: rhbz#2041589 + +* Mon Jan 17 2022 Jaroslav Škarvada - 2:3.6.3-5 +- Fixed pflogsumm to allow underscores in the syslog_name + Resolves: rhbz#1931403 + +* Tue Dec 14 2021 Jaroslav Škarvada - 2:3.6.3-4 +- Added SELinux workound for systemd service to work after 'postfix start' + +* Wed Dec 08 2021 Timm Bäder - 2:3.6.3-3 +- Use %%set_build_flags to set all build flags + +* Fri Nov 12 2021 Björn Esser - 2:3.6.3-2 +- Rebuild(libnsl2) + +* Wed Nov 10 2021 Jaroslav Škarvada - 2:3.6.3-1 +- New version + Resolves: rhbz#2020984 + +* Tue Sep 14 2021 Sahana Prasad - 2:3.6.2-6 +- Rebuilt with OpenSSL 3.0.0 + +* Thu Aug 5 2021 Jaroslav Škarvada - 2:3.6.2-5 +- Fixed cleanup crash when processing messages with whitespace only fullname +- Fixed whitespaces in the glibc-234-build-fix patch + +* Thu Aug 5 2021 Jaroslav Škarvada - 2:3.6.2-4 +- Updated patch fixing FTBFS with the glibc-2.34 + +* Tue Aug 3 2021 Jaroslav Škarvada - 2:3.6.2-3 +- Fixed openssl req parameters + +* Mon Aug 2 2021 Jaroslav Škarvada - 2:3.6.2-2 +- Fixed scriptlets to work with openssl-3.0 + +* Thu Jul 29 2021 Jaroslav Škarvada - 2:3.6.2-1 +- New version + Resolves: rhbz#1985778 + +* Fri Jul 23 2021 Fedora Release Engineering - 2:3.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jul 2 2021 Jaroslav Škarvada - 2:3.6.1-2 +- Fixed build on rhel < 9 + +* Mon Jun 14 2021 Jaroslav Škarvada - 2:3.6.1-1 +- New version + Resolves: rhbz#1971363 + +* Thu May 20 2021 Pete Walter - 2:3.6.0-3 +- Rebuild for ICU 69 + +* Wed May 19 2021 Pete Walter - 2:3.6.0-2 +- Rebuild for ICU 69 + +* Fri Apr 30 2021 Jaroslav Škarvada - 2:3.6.0-1 +- New version + Resolves: rhbz#1955369 + +* Thu Apr 22 2021 Jaroslav Škarvada - 2:3.5.10-2 +- Fixed NIS build requirements + +* Mon Apr 12 2021 Jaroslav Škarvada - 2:3.5.10-1 +- New version + Resolves: rhbz#1948306 + +* Thu Mar 25 2021 Jaroslav Škarvada - 2:3.5.9-7 +- Simplified macros related to NIS + +* Wed Mar 24 2021 Jaroslav Škarvada - 2:3.5.9-6 +- Disable NIS support for RHEL9+ (patch from fjanus@redhat.com) + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2:3.5.9-5 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Fri Feb 19 2021 Jaroslav Škarvada - 2:3.5.9-4 +- Fixed sysvinit conditionals for RHEL + Resolves: rhbz#1930709 + +* Mon Feb 08 2021 Pavel Raiskup - 2:3.5.9-3 +- rebuild for libpq ABI fix rhbz#1908268 + +* Wed Jan 27 2021 Fedora Release Engineering - 2:3.5.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 18 2021 Jaroslav Škarvada - 2:3.5.9-1 +- New version + Resolves: rhbz#1917155 + +* Mon Nov 9 2020 Jaroslav Škarvada - 2:3.5.8-1 +- New version + Resolves: rhbz#1895644 + +* Mon Aug 31 2020 Jaroslav Škarvada - 2:3.5.7-1 +- New version + Resolves: rhbz#1873857 + +* Thu Aug 6 2020 Jaroslav Škarvada - 2:3.5.6-2 +- Minor spec cleanup +- Added posttls-finger test tool + Resolves: rhbz#1865701 + +* Tue Jul 28 2020 Jaroslav Škarvada - 2:3.5.6-1 +- New version + Resolves: rhbz#1860547 + +* Tue Jul 14 2020 Tom Stellard - 2:3.5.4-3 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Wed Jul 8 2020 Jaroslav Škarvada - 2:3.5.4-2 +- Added support for LMDB maps + +* Mon Jun 29 2020 Jaroslav Škarvada - 2:3.5.4-1 +- New version + Resolves: rhbz#1851650 + +* Mon Jun 15 2020 Jaroslav Škarvada - 2:3.5.3-1 +- New version + Resolves: rhbz#1846939 + +* Tue May 19 2020 Jaroslav Škarvada - 2:3.5.2-1 +- New version + Resolves: rhbz#1836653 + +* Fri May 15 2020 Pete Walter - 2:3.5.1-2 +- Rebuild for ICU 67 + +* Mon Apr 20 2020 Jaroslav Škarvada - 2:3.5.1-1 +- New version + Resolves: rhbz#1825547 + +* Mon Mar 16 2020 Jaroslav Škarvada - 2:3.5.0-1 +- New version + Resolves: rhbz#1813740 + * Thu Mar 12 2020 Jaroslav Škarvada - 2:3.4.10-1 - New version Resolves: rhbz#1812987 diff --git a/postfix.sysusers b/postfix.sysusers new file mode 100644 index 0000000..7778edf --- /dev/null +++ b/postfix.sysusers @@ -0,0 +1,3 @@ +u postfix 89 - /var/spool/postfix /sbin/nologin +g postdrop 90 +m postfix mail diff --git a/sources b/sources index 74f9061..195284e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pflogsumm-1.1.5.tar.gz) = 994d660692dfea38a1dd9866d15f15035657e85131c1f5a2cd82baa5bd4ad987a00939cb5233f316d2090014c52ae68ef20db0c893f8634969484e0e74678f4d -SHA512 (postfix-3.4.10.tar.gz) = b337fff8212bfec100d4f415ddb04a4539fad31c7cb555a37e778e7807d70a2a6879ac6d79af96a0593c23189cfaf65e5021fd4e8d39c641ccaabdd06cb7daad +SHA512 (pflogsumm-1.1.6.tar.gz) = 4581d2120bc17cfb322fda8d293989a2754eb9fa2696e3a1cea9032e85ed6a566e75aea1f628a6c7bbc7b9d6bf47ffeb873f95d71d7cb7f0ee46e27e492cf630 +SHA512 (postfix-3.10.7.tar.gz) = 28d7c05bfd6fb15f906c67cca989c4b47640ec631b640943deb66d91e44a6684deb79af95f0d4ba4dd362d9ba59179e5ed268942384e5e35ba472c91cf366e4c