Date: Tuesday, November 1, 2022 @ 18:16:53
Author: felixonmars
Revision: 459941
archrelease: copy trunk to staging-x86_64
Added:
postfix/repos/staging-x86_64/
postfix/repos/staging-x86_64/PKGBUILD
(from rev 459940, postfix/trunk/PKGBUILD)
postfix/repos/staging-x86_64/keys/
postfix/repos/staging-x86_64/linux6.patch
(from rev 459940, postfix/trunk/linux6.patch)
postfix/repos/staging-x86_64/postfix-3.5.8-main_defaults.patch
(from rev 459940, postfix/trunk/postfix-3.5.8-main_defaults.patch)
postfix/repos/staging-x86_64/postfix.install
(from rev 459940, postfix/trunk/postfix.install)
postfix/repos/staging-x86_64/postfix.service
(from rev 459940, postfix/trunk/postfix.service)
postfix/repos/staging-x86_64/postfix.sysusers
(from rev 459940, postfix/trunk/postfix.sysusers)
postfix/repos/staging-x86_64/postfix.tmpfiles
(from rev 459940, postfix/trunk/postfix.tmpfiles)
-----------------------------------+
PKGBUILD | 243 ++++++++++++++++++++++++++++++++++++
linux6.patch | 38 +++++
postfix-3.5.8-main_defaults.patch | 19 ++
postfix.install | 8 +
postfix.service | 18 ++
postfix.sysusers | 2
postfix.tmpfiles | 16 ++
7 files changed, 344 insertions(+)
Copied: postfix/repos/staging-x86_64/PKGBUILD (from rev 459940,
postfix/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2022-11-01 18:16:53 UTC (rev 459941)
@@ -0,0 +1,243 @@
+# Maintainer: David Runge <[email protected]>
+# Contributor: Gaetan Bisson <[email protected]>
+# Contributor: Jeff Brodnax <[email protected]>
+# Contributor: Paul Mattal <[email protected]>
+
+pkgbase=postfix
+pkgname=(postfix postfix-cdb postfix-ldap postfix-lmdb postfix-mysql
+postfix-pcre postfix-pgsql postfix-sqlite)
+pkgver=3.7.3
+pkgrel=3
+pkgdesc="Fast, easy to administer, secure mail server"
+arch=(x86_64)
+url="http://www.postfix.org/"
+license=(EPL)
+depends=(glibc)
+makedepends=(db icu libldap libnsl libsasl lmdb mariadb-libs openssl pcre2
+postgresql-libs sqlite tinycdb zlib)
+options=(debug)
+source=(
+ https://de.postfix.org/ftpmirror/official/$pkgname-$pkgver.tar.gz
+
$pkgname-$pkgver.tar.gz.sig::https://de.postfix.org/ftpmirror/official/$pkgname-$pkgver.tar.gz.gpg2
+ linux6.patch
+ $pkgname-3.5.8-main_defaults.patch
+ $pkgname.service
+ $pkgname.sysusers
+ $pkgname.tmpfiles
+)
+sha512sums=('4ceedd1b7b364f47a3becc041cf29a48aea54e38306fd1227c5a7c25894831fb5c37150d99d781d237175e58da21ac53887c97d99bb6b715c4988777596ee890'
+ 'SKIP'
+
'3557a530095b36e9e3db4e085dbdff1ed9a52a1e14113cbf7f2a5e3406516bac1f58b346c236133aebdece2a77bbedac09b1ce06ee6b6bd75497454741bff8e7'
+
'7b2785aa8120ca3ff91b405baf675e9e11f8d58b18a9b842672e7ae30932febddac10556a70823d8746fcb160bceb4dbabdee45cf46b02fc0127057656fb85c4'
+
'27f54747ad480d65b560c9dbc97e12c6353e4bceca0ffe3e358e31de56db0ad79928164c9f8790c73a9f791daa378253d2ee29b5a766661778553ec889b2cf97'
+
'a7f15970f613ae7b98ce1b84ca0a6034ce3cc7b2b9ce7160dad9731f740fb762f4a54f44acceb5f06f8744fa9e952b088086af8a69da388a600b742a3cda37f2'
+
'd08574a6acd595fc146513c92dc1bb341c3432d67de1e93ab73a7ce60e385dd34f3a55e3d3d7aec5f358ac4aae260f028599ac47650ebc663cea3043a760a7bc')
+b2sums=('005abf49b27e59bd3e3251e345df4da0c830314c4d4478aee11057163166afa1a0159017c46bead6572d29d9738a18e1a42a0b72fe260facd3ad77f8ed309271'
+ 'SKIP'
+
'a978f3a02f6aef4bfd48f7ea1e373e37c0f1471afad1c98224a23e5f63b63ed679d7b29043dc4c8baefb6af20228876c496d532499e9335c15d7596f20f525b5'
+
'b5f19e0619f1fb017cd889c14e341c21146b3afe7b9eefcdb7fb1eb83a357434b899d1e92f3ab0023c78ef8f2de6ae54c4599ee0f0bd04d257f4ca0a4dc9a16c'
+
'02dd441cf6e4a7c2bc0de876f020b0784d811f77a5c6102dd075d67b07158dbc53c8b4d62bc8035283d4f349008574b1c3fac03f4519d56ffd809cb5bcfb7bea'
+
'db58b7deb24cea16fb84f56680f0000683f72e11a95039969878e3819607aad5e65af9d9f50007e7710609065c0e3ebb9b30c1d929162b74eca5e74434d82cf1'
+
'de31693cea5f452a9c8c0d1cf5210a6e67c0176f8b1a4d74106f2e803911569e9fdbb2301b3b5dc7ad6a6da285026b1a3ed3de52117d216b030cf0d92348909d')
+validpgpkeys=('622C7C012254C186677469C50C0B590E80CA15A7') # Wietse Venema
<[email protected]>
+
+_pick() {
+ local p="$1" f d; shift
+ for f; do
+ d="$srcdir/$p/${f#$pkgdir/}"
+ mkdir -p "$(dirname "$d")"
+ mv "$f" "$d"
+ rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
+ done
+}
+
+prepare() {
+ # support Linux 6.x
+ patch -Np2 -d $pkgbase-$pkgver -i ../linux6.patch
+ # add distribution defaults to main.cf (alias_maps and alias_database)
+ patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-3.5.8-main_defaults.patch
+}
+
+build() {
+ local _ccargs=(
+ '-fPIC' '-fcommon'
+ '-DUSE_SASL_AUTH'
+ '-DUSE_CYRUS_SASL' '-I/usr/include/sasl'
+ '-DHAS_LDAP'
+ '-DUSE_LDAP_SASL'
+ '-DHAS_LMDB'
+ '-DUSE_TLS'
+ '-DHAS_MYSQL' '-I/usr/include/mysql'
+ '-DHAS_PCRE=2'
+ '-DHAS_PGSQL' '-I/usr/include/postgresql'
+ '-DHAS_SQLITE'
+ '-DHAS_CDB'
+ '-DDEF_COMMAND_DIR=\"/usr/bin\"'
+ '-DDEF_DAEMON_DIR=\"/usr/lib/postfix/bin\"'
+ '-DDEF_SENDMAIL_PATH=\"/usr/bin/sendmail\"'
+ '-DDEF_README_DIR=\"/usr/share/doc/postfix\"'
+ '-DDEF_MANPAGE_DIR=\"/usr/share/man\"'
+ )
+
+ # NOTE: descriptions of variables in makedefs
+ make makefiles \
+ DEBUG='' \
+ pie=yes \
+ shared=yes \
+ dynamicmaps=yes \
+ CCARGS="${_ccargs[*]}" \
+ AUXLIBS="$(pkgconf --libs openssl libsasl2) -lnsl" \
+ AUXLIBS_LDAP='-lldap -llber' \
+ AUXLIBS_LMDB="$(pkgconf --libs lmdb)" \
+ AUXLIBS_PCRE="$(pcre2-config --libs8)" \
+ AUXLIBS_MYSQL="$(pkgconf --libs mariadb)" \
+ AUXLIBS_PGSQL="$(pkgconf --libs libpq)" \
+ AUXLIBS_SQLITE="$(pkgconf --libs sqlite3)" \
+ AUXLIBS_CDB='-lcdb' \
+ SHLIB_RPATH="-Wl,-rpath,/usr/lib/postfix $LDFLAGS" \
+ OPT="$CFLAGS $CPPFLAGS $LDFLAGS" \
+ -C $pkgbase-$pkgver
+
+ make -C $pkgbase-$pkgver
+}
+
+package_postfix() {
+ local _name _feature
+
+ local _dynamicmaps_file="$pkgdir/etc/$pkgbase/dynamicmaps.cf"
+ local _dynamicmaps_dir="$pkgdir/etc/$pkgbase/dynamicmaps.cf.d"
+ local _files_file="$pkgdir/etc/$pkgbase/$pkgbase-files"
+ local _files_dir="$pkgdir/etc/$pkgbase/$pkgbase-files.d"
+
+ depends+=(db libsasl openssl zlib libicuuc.so libnsl.so)
+ optdepends=(
+ 'perl: for postfix-collate.pl, postfix-tlstype.pl and qshape'
+ 'postfix-cdb: for CDB integration'
+ 'postfix-ldap: for LDAP integration'
+ 'postfix-lmdb: for LMDB integration'
+ 'postfix-mysql: for MySQL integration'
+ 'postfix-pcre: for PCRE integration'
+ 'postfix-pgsql: for PostgreSQL integration'
+ 'postfix-sqlite: for SQLite integration'
+ )
+ conflicts=(smtp-server smtp-forwarder)
+ provides=(smtp-server smtp-forwarder)
+
backup=(etc/postfix/{access,aliases,canonical,generic,header_checks,main.cf,master.cf,relocated,transport,virtual})
+ install=$pkgbase.install
+
+ cd $pkgname-$pkgver
+ LD_LIBRARY_PATH="lib:$LD_LIBRARY_PATH" \
+ sh postfix-install -non-interactive install_root="$pkgdir"
+
+ # additional man pages and scripts
+ for _name in posttls-finger {smtp,qmqp}-{sink,source}; do
+ install -vDm 644 man/man1/$_name.1 -t "$pkgdir/usr/share/man/man1/"
+ install -vDm 755 bin/$_name -t "$pkgdir/usr/bin/"
+ done
+ install -vDm 644 man/man1/qshape.1 -t "$pkgdir/usr/share/man/man1/"
+ install -vDm 755 auxiliary/qshape/qshape.pl "$pkgdir/usr/bin/qshape"
+ install -vDm 755 auxiliary/collate/collate.pl
"$pkgdir/usr/bin/postfix-collate.pl"
+ install -vDm 755 auxiliary/collate/tlstype.pl
"$pkgdir/usr/bin/postfix-tlstype.pl"
+ install -vDm 644 auxiliary/collate/README* -t
"$pkgdir/usr/share/doc/$pkgname/collate/"
+ # license
+ install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
+ # systemd service
+ install -vDm 644 ../$pkgname.service -t "$pkgdir/usr/lib/systemd/system/"
+ # sysusers.d
+ install -vDm 644 ../$pkgname.sysusers
"$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+ # tmpfiles.d
+ # NOTE: follows setup in conf/postfix-files
+ install -vDm 644 ../$pkgname.tmpfiles
"$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+
+ # create dynamicmaps.cf.d and postfix-files.d entries for split packages
+ # remove targetted files from main configuration files
+ for _feature in {cdb,ldap,lmdb,mysql,pcre,pgsql,sqlite}; do
+ printf "Split out dynamicmaps file for %s\n" $pkgbase-$_feature
+ grep "$pkgbase-$_feature" "$_dynamicmaps_file" >
"$_dynamicmaps_dir/$pkgbase-$_feature.cf"
+ sed -e "/$pkgbase-$_feature/d" -i "$_dynamicmaps_file"
+ (
+ cd "$pkgdir"
+ _pick $pkgbase-$_feature
etc/$pkgbase/dynamicmaps.cf.d/$pkgbase-$_feature.cf
+ )
+
+ printf "Split out %s from %s-files.d\n" $pkgbase-$_feature $pkgbase
+ grep "$pkgbase-$_feature" "$_files_file" >
"$_files_dir/$pkgbase-$_feature.cf"
+ sed -e "/$pkgbase-$_feature/d" -i "$_files_file"
+
+ printf "Split %s from %s-files\n" ${_feature^^}_README $pkgbase
+ grep "${_feature^^}_README:" "$_files_file" >>
"$_files_dir/$pkgbase-$_feature.cf"
+ sed -e "/${_feature^^}_README:/d" -i "$_files_file"
+
+ if [[ "$_feature" != cdb ]]; then
+ printf "Split %s from %s-files\n" ${_feature}_table.5 $pkgbase
+ grep "${_feature}_table.5:" "$_files_file" >>
"$_files_dir/$pkgbase-$_feature.cf"
+ sed -e "/${_feature}_table.5:/d" -i "$_files_file"
+ (
+ cd "$pkgdir"
+ _pick $pkgbase-$_feature usr/share/man/man5/${_feature}_table.5
+ )
+ fi
+ (
+ cd "$pkgdir"
+ _pick $pkgbase-$_feature
etc/$pkgbase/$pkgbase-files.d/$pkgbase-$_feature.cf
+ _pick $pkgbase-$_feature usr/lib/$pkgbase/$pkgbase-$_feature.so
+ _pick $pkgbase-$_feature usr/share/doc/$pkgbase/${_feature^^}_README
+ )
+ # install directories that are otherwise cleared by calls to _pick()
+ install -vdm 755 "$_dynamicmaps_dir"
+ install -vdm 755 "$_files_dir"
+ done
+
+ # remove non-reproducible file, that only lists what the build circumstances
were
+ rm -v "$pkgdir/etc/$pkgname/makedefs.out"
+ sed -e '/makedefs/d' -i "$pkgdir/etc/$pkgname/$pkgname-files"
+}
+
+package_postfix-cdb() {
+ depends+=(postfix libcdb.so)
+ pkgdesc+=' (CDB integration)'
+
+ mv -v $pkgname/* "$pkgdir"
+}
+
+package_postfix-ldap() {
+ depends+=(postfix libldap)
+ pkgdesc+=' (LDAP integration)'
+
+ mv -v $pkgname/* "$pkgdir"
+}
+
+package_postfix-lmdb() {
+ depends+=(lmdb postfix)
+ pkgdesc+=' (LMDB integration)'
+
+ mv -v $pkgname/* "$pkgdir"
+}
+
+package_postfix-mysql() {
+ depends+=(postfix libmariadb.so)
+ pkgdesc+=' (MySQL integration)'
+
+ mv -v $pkgname/* "$pkgdir"
+}
+
+package_postfix-pcre() {
+ depends+=(pcre2 postfix)
+ pkgdesc+=' (PCRE integration)'
+
+ mv -v $pkgname/* "$pkgdir"
+}
+
+package_postfix-pgsql() {
+ depends+=(postfix libpq.so)
+ pkgdesc+=' (PostgreSQL integration)'
+
+ mv -v $pkgname/* "$pkgdir"
+}
+
+package_postfix-sqlite() {
+ depends+=(postfix sqlite)
+ pkgdesc+=' (SQLite integration)'
+
+ mv -v $pkgname/* "$pkgdir"
+}
Copied: postfix/repos/staging-x86_64/linux6.patch (from rev 459940,
postfix/trunk/linux6.patch)
===================================================================
--- staging-x86_64/linux6.patch (rev 0)
+++ staging-x86_64/linux6.patch 2022-11-01 18:16:53 UTC (rev 459941)
@@ -0,0 +1,38 @@
+From b65530350fa4a7eee40946160fd80c3e1e0b63e5 Mon Sep 17 00:00:00 2001
+From: Wietse Venema <[email protected]>
+Date: Thu, 6 Oct 2022 00:00:00 -0500
+Subject: [PATCH] postfix-3.8-20221006
+
+---
+ postfix/makedefs | 3 ++-
+ postfix/src/util/sys_defs.h | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/postfix/makedefs b/postfix/makedefs
+index 2839f3a8..9e061b37 100644
+--- a/postfix/makedefs
++++ b/postfix/makedefs
+@@ -627,7 +627,8 @@ EOF
+ : ${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/postfix/src/util/sys_defs.h b/postfix/src/util/sys_defs.h
+index c9ebc337..37e460f9 100644
+--- a/postfix/src/util/sys_defs.h
++++ b/postfix/src/util/sys_defs.h
+@@ -751,7 +751,8 @@ extern int initgroups(const char *, int);
+ /*
+ * 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
Copied: postfix/repos/staging-x86_64/postfix-3.5.8-main_defaults.patch (from
rev 459940, postfix/trunk/postfix-3.5.8-main_defaults.patch)
===================================================================
--- staging-x86_64/postfix-3.5.8-main_defaults.patch
(rev 0)
+++ staging-x86_64/postfix-3.5.8-main_defaults.patch 2022-11-01 18:16:53 UTC
(rev 459941)
@@ -0,0 +1,19 @@
+diff -ruN a/conf/main.cf b/conf/main.cf
+--- a/conf/main.cf 2019-06-16 02:33:53.000000000 +0200
++++ b/conf/main.cf 2020-11-09 18:22:06.436205639 +0100
+@@ -401,6 +401,7 @@
+ #alias_maps = hash:/etc/aliases
+ #alias_maps = hash:/etc/aliases, nis:mail.aliases
+ #alias_maps = netinfo:/aliases
++alias_maps = hash:/etc/postfix/aliases
+
+ # The alias_database parameter specifies the alias database(s) that
+ # are built with "newaliases" or "sendmail -bi". This is a separate
+@@ -411,6 +412,7 @@
+ #alias_database = dbm:/etc/mail/aliases
+ #alias_database = hash:/etc/aliases
+ #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
++alias_database = $alias_maps
+
+ # ADDRESS EXTENSIONS (e.g., user+foo)
+ #
Copied: postfix/repos/staging-x86_64/postfix.install (from rev 459940,
postfix/trunk/postfix.install)
===================================================================
--- staging-x86_64/postfix.install (rev 0)
+++ staging-x86_64/postfix.install 2022-11-01 18:16:53 UTC (rev 459941)
@@ -0,0 +1,8 @@
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ # introduction of split packages
+ if [ "$(vercmp "$2" "3.5.9")" -le 0 ]; then
+ echo "WARNING: The following features are now only available via
optdepends: cdb, ldap, lmdb, mysql, pcre, pgsql, sqlite."
+ fi
+}
Copied: postfix/repos/staging-x86_64/postfix.service (from rev 459940,
postfix/trunk/postfix.service)
===================================================================
--- staging-x86_64/postfix.service (rev 0)
+++ staging-x86_64/postfix.service 2022-11-01 18:16:53 UTC (rev 459941)
@@ -0,0 +1,18 @@
+[Unit]
+Description=Postfix Mail Transport Agent
+After=network.target
+
+[Service]
+CapabilityBoundingSet=~ CAP_NET_ADMIN CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_MODULE
+ExecReload=/usr/bin/postfix reload
+ExecStart=/usr/bin/postfix start
+ExecStop=/usr/bin/postfix stop
+PIDFile=/var/spool/postfix/pid/master.pid
+PrivateDevices=true
+PrivateTmp=true
+ProtectSystem=true
+Restart=always
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
Copied: postfix/repos/staging-x86_64/postfix.sysusers (from rev 459940,
postfix/trunk/postfix.sysusers)
===================================================================
--- staging-x86_64/postfix.sysusers (rev 0)
+++ staging-x86_64/postfix.sysusers 2022-11-01 18:16:53 UTC (rev 459941)
@@ -0,0 +1,2 @@
+g postdrop 75 -
+u postfix 73 - /var/spool/postfix
Copied: postfix/repos/staging-x86_64/postfix.tmpfiles (from rev 459940,
postfix/trunk/postfix.tmpfiles)
===================================================================
--- staging-x86_64/postfix.tmpfiles (rev 0)
+++ staging-x86_64/postfix.tmpfiles 2022-11-01 18:16:53 UTC (rev 459941)
@@ -0,0 +1,16 @@
+z /usr/bin/postdrop 2755 root postdrop
+z /usr/bin/postqueue 2755 root postdrop
+z /var/lib/postfix 700 postfix root
+z /var/spool/postfix/active 700 postfix root
+z /var/spool/postfix/bounce 700 postfix root
+z /var/spool/postfix/corrupt 700 postfix root
+z /var/spool/postfix/defer 700 postfix root
+z /var/spool/postfix/deferred 700 postfix root
+z /var/spool/postfix/flush 700 postfix root
+z /var/spool/postfix/hold 700 postfix root
+z /var/spool/postfix/incoming 700 postfix root
+z /var/spool/postfix/maildrop 730 postfix postdrop
+z /var/spool/postfix/private 700 postfix root
+z /var/spool/postfix/public 710 postfix postdrop
+z /var/spool/postfix/saved 700 postfix root
+z /var/spool/postfix/trace 700 postfix root