Date: Thursday, April 15, 2021 @ 13:29:49 Author: foutrelis Revision: 412519
archrelease: copy trunk to staging-x86_64 Added: postfix/repos/staging-x86_64/ postfix/repos/staging-x86_64/PKGBUILD (from rev 412518, postfix/trunk/PKGBUILD) postfix/repos/staging-x86_64/postfix-3.5.8-main_defaults.patch (from rev 412518, postfix/trunk/postfix-3.5.8-main_defaults.patch) postfix/repos/staging-x86_64/postfix.install (from rev 412518, postfix/trunk/postfix.install) postfix/repos/staging-x86_64/postfix.service (from rev 412518, postfix/trunk/postfix.service) postfix/repos/staging-x86_64/postfix.sysusers (from rev 412518, postfix/trunk/postfix.sysusers) postfix/repos/staging-x86_64/postfix.tmpfiles (from rev 412518, postfix/trunk/postfix.tmpfiles) -----------------------------------+ PKGBUILD | 237 ++++++++++++++++++++++++++++++++++++ postfix-3.5.8-main_defaults.patch | 19 ++ postfix.install | 8 + postfix.service | 18 ++ postfix.sysusers | 2 postfix.tmpfiles | 16 ++ 6 files changed, 300 insertions(+) Copied: postfix/repos/staging-x86_64/PKGBUILD (from rev 412518, postfix/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2021-04-15 13:29:49 UTC (rev 412519) @@ -0,0 +1,237 @@ +# Maintainer: David Runge <dv...@archlinux.org> +# Contributor: Gaetan Bisson <bis...@archlinux.org> +# Contributor: Jeff Brodnax <tullyarc...@bellsouth.net> +# Contributor: Paul Mattal <p...@archlinux.org> + +pkgbase=postfix +pkgname=('postfix' 'postfix-cdb' 'postfix-ldap' 'postfix-lmdb' 'postfix-mysql' +'postfix-pcre' 'postfix-pgsql' 'postfix-sqlite') +pkgver=3.5.10 +pkgrel=2 +url="http://www.postfix.org/" +pkgdesc='Fast, easy to administer, secure mail server' +license=('EPL') +arch=('x86_64') +depends=('glibc') +makedepends=('db' 'icu' 'libldap' 'libnsl' 'libsasl' 'lmdb' 'mariadb-libs' +'openssl' 'pcre' 'postgresql-libs' 'sqlite' 'tinycdb' 'zlib') +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" + "${pkgname}-3.5.8-main_defaults.patch" + "${pkgname}.service" + "${pkgname}.sysusers" + "${pkgname}.tmpfiles" +) +sha512sums=('5845701d3dcdaaea376a44810a84dbe908e96e5ff54921cd40fd2d5c5643ed8e4add5936e149237fea4cb69c1ffb4ceb4171d1e779be096aa21a6e5021b604da' + 'SKIP' + '7b2785aa8120ca3ff91b405baf675e9e11f8d58b18a9b842672e7ae30932febddac10556a70823d8746fcb160bceb4dbabdee45cf46b02fc0127057656fb85c4' + '27f54747ad480d65b560c9dbc97e12c6353e4bceca0ffe3e358e31de56db0ad79928164c9f8790c73a9f791daa378253d2ee29b5a766661778553ec889b2cf97' + 'a7f15970f613ae7b98ce1b84ca0a6034ce3cc7b2b9ce7160dad9731f740fb762f4a54f44acceb5f06f8744fa9e952b088086af8a69da388a600b742a3cda37f2' + 'd08574a6acd595fc146513c92dc1bb341c3432d67de1e93ab73a7ce60e385dd34f3a55e3d3d7aec5f358ac4aae260f028599ac47650ebc663cea3043a760a7bc') +b2sums=('32a0ef43131c1bff319fb8a159e78a4fd81aba85aa2c8aab3020d575e6216a1e5fb4612a4aa3693b62de5825a29bf5ea1c1870835f033569a5d2d3e494306ef1' + 'SKIP' + 'b5f19e0619f1fb017cd889c14e341c21146b3afe7b9eefcdb7fb1eb83a357434b899d1e92f3ab0023c78ef8f2de6ae54c4599ee0f0bd04d257f4ca0a4dc9a16c' + '02dd441cf6e4a7c2bc0de876f020b0784d811f77a5c6102dd075d67b07158dbc53c8b4d62bc8035283d4f349008574b1c3fac03f4519d56ffd809cb5bcfb7bea' + 'db58b7deb24cea16fb84f56680f0000683f72e11a95039969878e3819607aad5e65af9d9f50007e7710609065c0e3ebb9b30c1d929162b74eca5e74434d82cf1' + 'de31693cea5f452a9c8c0d1cf5210a6e67c0176f8b1a4d74106f2e803911569e9fdbb2301b3b5dc7ad6a6da285026b1a3ed3de52117d216b030cf0d92348909d') +validpgpkeys=('622C7C012254C186677469C50C0B590E80CA15A7') # Wietse Venema <wie...@porcupine.org> + +prepare() { + cd "${pkgbase}-${pkgver}" + # add distribution defaults to main.cf (alias_maps and alias_database) + patch -Np1 -i ../"${pkgbase}-3.5.8-main_defaults.patch" + + # create work directories for split package configuration + mkdir -vp dynamicmaps.cf.d "${pkgbase}-files.d" +} + +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_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\"' + ) + + cd "${pkgbase}-${pkgver}" + # 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="$(pkgconf --libs pcre)" \ + 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}" + + make +} + +package_postfix() { + local _name _feature + + depends+=('db' 'libsasl' 'openssl' 'zlib' 'libicuuc.so' 'libnsl.so') + optdepends=( + 'perl: for postfix-collate.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 -Dm 644 "man/man1/qshape.1" -t "${pkgdir}/usr/share/man/man1/" + install -Dm 755 "auxiliary/qshape/qshape.pl" "${pkgdir}/usr/bin/qshape" + install -Dm 755 "auxiliary/collate/collate.pl" "${pkgdir}/usr/bin/postfix-collate.pl" + # 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 + grep "${pkgbase}-${_feature}" "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf" > "dynamicmaps.cf.d/${pkgbase}-${_feature}.cf" + sed -e "/${pkgbase}-${_feature}/d" -i "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf" + grep "${pkgbase}-${_feature}" "${pkgdir}/etc/${pkgbase}/${pkgbase}-files" > "${pkgbase}-files.d/${pkgbase}-${_feature}.cf" + sed -e "/${pkgbase}-${_feature}/d" -i "${pkgdir}/etc/${pkgbase}/${pkgname}-files" + grep "${_feature^^}_README:" "${pkgdir}/etc/${pkgbase}/${pkgbase}-files" >> "${pkgbase}-files.d/${pkgbase}-${_feature}.cf" + sed -e "/${_feature^^}_README:/d" -i "${pkgdir}/etc/${pkgbase}/${pkgname}-files" + if [[ "${_feature}" != cdb ]]; then + grep "${_feature}_table.5:" "${pkgdir}/etc/${pkgbase}/${pkgbase}-files" >> "${pkgbase}-files.d/${pkgbase}-${_feature}.cf" + sed -e "/${_feature}_table.5:/d" -i "${pkgdir}/etc/${pkgbase}/${pkgname}-files" + # remove files, that are part of the split packages + rm -vf "${pkgdir}/usr/share/man/man5/${_feature}_table.5" + fi + # remove files, that are part of the split packages + rm -vf "${pkgdir}/usr/lib/${pkgbase}/${pkgbase}-${_feature}.so" + rm -vf "${pkgdir}/usr/share/doc/${pkgbase}/${_feature^^}_README" + 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') + name+=' (CDB integration)' + + cd "${pkgbase}-${pkgver}" + install -vDm 755 lib/${pkgname}.so -t "${pkgdir}/usr/lib/${pkgbase}/" + install -vDm 644 "dynamicmaps.cf.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf.d/" + install -vDm 644 "${pkgbase}-files.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/${pkgbase}-files.d/" + install -vDm 644 README_FILES/CDB_README -t "${pkgdir}/usr/share/doc/${pkgbase}/" +} + +package_postfix-ldap() { + depends+=('postfix' 'libldap') + name+=' (LDAP integration)' + + cd "${pkgbase}-${pkgver}" + install -vDm 755 lib/${pkgname}.so -t "${pkgdir}/usr/lib/${pkgbase}/" + install -vDm 644 "dynamicmaps.cf.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf.d/" + install -vDm 644 "${pkgbase}-files.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/${pkgbase}-files.d/" + install -vDm 644 man/man5/ldap_table.5 -t "${pkgdir}/usr/share/man/man5/" + install -vDm 644 README_FILES/LDAP_README -t "${pkgdir}/usr/share/doc/${pkgbase}/" +} + +package_postfix-lmdb() { + depends+=('lmdb' 'postfix') + name+=' (LMDB integration)' + + cd "${pkgbase}-${pkgver}" + install -vDm 755 lib/${pkgname}.so -t "${pkgdir}/usr/lib/${pkgbase}/" + install -vDm 644 "dynamicmaps.cf.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf.d/" + install -vDm 644 "${pkgbase}-files.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/${pkgbase}-files.d/" + install -vDm 644 man/man5/lmdb_table.5 -t "${pkgdir}/usr/share/man/man5/" + install -vDm 644 README_FILES/LMDB_README -t "${pkgdir}/usr/share/doc/${pkgbase}/" +} + +package_postfix-mysql() { + depends+=('postfix' 'libmariadb.so') + name+=' (MySQL integration)' + + cd "${pkgbase}-${pkgver}" + install -vDm 755 lib/${pkgname}.so -t "${pkgdir}/usr/lib/${pkgbase}/" + install -vDm 644 "dynamicmaps.cf.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf.d/" + install -vDm 644 "${pkgbase}-files.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/${pkgbase}-files.d/" + install -vDm 644 man/man5/mysql_table.5 -t "${pkgdir}/usr/share/man/man5/" + install -vDm 644 README_FILES/MYSQL_README -t "${pkgdir}/usr/share/doc/${pkgbase}/" +} + +package_postfix-pcre() { + depends+=('pcre' 'postfix') + name+=' (PCRE integration)' + + cd "${pkgbase}-${pkgver}" + install -vDm 755 lib/${pkgname}.so -t "${pkgdir}/usr/lib/${pkgbase}/" + install -vDm 644 "dynamicmaps.cf.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf.d/" + install -vDm 644 "${pkgbase}-files.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/${pkgbase}-files.d/" + install -vDm 644 man/man5/pcre_table.5 -t "${pkgdir}/usr/share/man/man5/" + install -vDm 644 README_FILES/PCRE_README -t "${pkgdir}/usr/share/doc/${pkgbase}/" +} + +package_postfix-pgsql() { + depends+=('postfix' 'libpq.so') + name+=' (PostgreSQL integration)' + + cd "${pkgbase}-${pkgver}" + install -vDm 755 lib/${pkgname}.so -t "${pkgdir}/usr/lib/${pkgbase}/" + install -vDm 644 "dynamicmaps.cf.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf.d/" + install -vDm 644 "${pkgbase}-files.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/${pkgbase}-files.d/" + install -vDm 644 man/man5/pgsql_table.5 -t "${pkgdir}/usr/share/man/man5/" + install -vDm 644 README_FILES/PGSQL_README -t "${pkgdir}/usr/share/doc/${pkgbase}/" +} + +package_postfix-sqlite() { + depends+=('postfix' 'sqlite') + name+=' (SQLite integration)' + + cd "${pkgbase}-${pkgver}" + install -vDm 755 lib/${pkgname}.so -t "${pkgdir}/usr/lib/${pkgbase}/" + install -vDm 644 "dynamicmaps.cf.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/dynamicmaps.cf.d/" + install -vDm 644 "${pkgbase}-files.d/${pkgname}.cf" -t "${pkgdir}/etc/${pkgbase}/${pkgbase}-files.d/" + install -vDm 644 man/man5/sqlite_table.5 -t "${pkgdir}/usr/share/man/man5/" + install -vDm 644 README_FILES/SQLITE_README -t "${pkgdir}/usr/share/doc/${pkgbase}/" +} Copied: postfix/repos/staging-x86_64/postfix-3.5.8-main_defaults.patch (from rev 412518, 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 2021-04-15 13:29:49 UTC (rev 412519) @@ -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 412518, postfix/trunk/postfix.install) =================================================================== --- staging-x86_64/postfix.install (rev 0) +++ staging-x86_64/postfix.install 2021-04-15 13:29:49 UTC (rev 412519) @@ -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 412518, postfix/trunk/postfix.service) =================================================================== --- staging-x86_64/postfix.service (rev 0) +++ staging-x86_64/postfix.service 2021-04-15 13:29:49 UTC (rev 412519) @@ -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 412518, postfix/trunk/postfix.sysusers) =================================================================== --- staging-x86_64/postfix.sysusers (rev 0) +++ staging-x86_64/postfix.sysusers 2021-04-15 13:29:49 UTC (rev 412519) @@ -0,0 +1,2 @@ +g postdrop 75 - +u postfix 73 - /var/spool/postfix Copied: postfix/repos/staging-x86_64/postfix.tmpfiles (from rev 412518, postfix/trunk/postfix.tmpfiles) =================================================================== --- staging-x86_64/postfix.tmpfiles (rev 0) +++ staging-x86_64/postfix.tmpfiles 2021-04-15 13:29:49 UTC (rev 412519) @@ -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