[arch-commits] Commit in postfix/repos (7 files)

David Runge dvzrv at gemini.archlinux.org
Sun Feb 6 18:43:04 UTC 2022


    Date: Sunday, February 6, 2022 @ 18:43:04
  Author: dvzrv
Revision: 436341

archrelease: copy trunk to testing-x86_64

Added:
  postfix/repos/testing-x86_64/
  postfix/repos/testing-x86_64/PKGBUILD
    (from rev 436340, postfix/trunk/PKGBUILD)
  postfix/repos/testing-x86_64/postfix-3.5.8-main_defaults.patch
    (from rev 436340, postfix/trunk/postfix-3.5.8-main_defaults.patch)
  postfix/repos/testing-x86_64/postfix.install
    (from rev 436340, postfix/trunk/postfix.install)
  postfix/repos/testing-x86_64/postfix.service
    (from rev 436340, postfix/trunk/postfix.service)
  postfix/repos/testing-x86_64/postfix.sysusers
    (from rev 436340, postfix/trunk/postfix.sysusers)
  postfix/repos/testing-x86_64/postfix.tmpfiles
    (from rev 436340, postfix/trunk/postfix.tmpfiles)

-----------------------------------+
 PKGBUILD                          |  238 ++++++++++++++++++++++++++++++++++++
 postfix-3.5.8-main_defaults.patch |   19 ++
 postfix.install                   |    8 +
 postfix.service                   |   18 ++
 postfix.sysusers                  |    2 
 postfix.tmpfiles                  |   16 ++
 6 files changed, 301 insertions(+)

Copied: postfix/repos/testing-x86_64/PKGBUILD (from rev 436340, postfix/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2022-02-06 18:43:04 UTC (rev 436341)
@@ -0,0 +1,238 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+# Contributor: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Jeff Brodnax <tullyarcher at bellsouth.net>
+# Contributor: Paul Mattal <paul at archlinux.org>
+
+pkgbase=postfix
+pkgname=(postfix postfix-cdb postfix-ldap postfix-lmdb postfix-mysql
+postfix-pcre postfix-pgsql postfix-sqlite)
+pkgver=3.7.0
+pkgrel=1
+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"
+        "${pkgname}-3.5.8-main_defaults.patch"
+        "${pkgname}.service"
+        "${pkgname}.sysusers"
+        "${pkgname}.tmpfiles"
+)
+sha512sums=('f2fb5c0399100c19e428b68728a8ce62b1fb74d365038373f22ed698c1d0fece506b3f1335c322b949875a4a9fa96fa0a7680b12641d596d09615e8fef061da4'
+            'SKIP'
+            '7b2785aa8120ca3ff91b405baf675e9e11f8d58b18a9b842672e7ae30932febddac10556a70823d8746fcb160bceb4dbabdee45cf46b02fc0127057656fb85c4'
+            '27f54747ad480d65b560c9dbc97e12c6353e4bceca0ffe3e358e31de56db0ad79928164c9f8790c73a9f791daa378253d2ee29b5a766661778553ec889b2cf97'
+            'a7f15970f613ae7b98ce1b84ca0a6034ce3cc7b2b9ce7160dad9731f740fb762f4a54f44acceb5f06f8744fa9e952b088086af8a69da388a600b742a3cda37f2'
+            'd08574a6acd595fc146513c92dc1bb341c3432d67de1e93ab73a7ce60e385dd34f3a55e3d3d7aec5f358ac4aae260f028599ac47650ebc663cea3043a760a7bc')
+b2sums=('7388ad49862c97e20179a2d3ed26069f21e8a578790fcb8adc9f5b648202269bd4c07905931237dab905d991002bcfd9f03d11e6a85b46fcf0e3b72412d852eb'
+        'SKIP'
+        'b5f19e0619f1fb017cd889c14e341c21146b3afe7b9eefcdb7fb1eb83a357434b899d1e92f3ab0023c78ef8f2de6ae54c4599ee0f0bd04d257f4ca0a4dc9a16c'
+        '02dd441cf6e4a7c2bc0de876f020b0784d811f77a5c6102dd075d67b07158dbc53c8b4d62bc8035283d4f349008574b1c3fac03f4519d56ffd809cb5bcfb7bea'
+        'db58b7deb24cea16fb84f56680f0000683f72e11a95039969878e3819607aad5e65af9d9f50007e7710609065c0e3ebb9b30c1d929162b74eca5e74434d82cf1'
+        'de31693cea5f452a9c8c0d1cf5210a6e67c0176f8b1a4d74106f2e803911569e9fdbb2301b3b5dc7ad6a6da285026b1a3ed3de52117d216b030cf0d92348909d')
+validpgpkeys=('622C7C012254C186677469C50C0B590E80CA15A7') # Wietse Venema <wietse at porcupine.org>
+
+_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() {
+  cd "${pkgbase}-${pkgver}"
+  # add distribution defaults to main.cf (alias_maps and alias_database)
+  patch -Np1 -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\"'
+  )
+
+  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="$(pcre2-config --libs32)" \
+    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
+
+  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/testing-x86_64/postfix-3.5.8-main_defaults.patch (from rev 436340, postfix/trunk/postfix-3.5.8-main_defaults.patch)
===================================================================
--- testing-x86_64/postfix-3.5.8-main_defaults.patch	                        (rev 0)
+++ testing-x86_64/postfix-3.5.8-main_defaults.patch	2022-02-06 18:43:04 UTC (rev 436341)
@@ -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/testing-x86_64/postfix.install (from rev 436340, postfix/trunk/postfix.install)
===================================================================
--- testing-x86_64/postfix.install	                        (rev 0)
+++ testing-x86_64/postfix.install	2022-02-06 18:43:04 UTC (rev 436341)
@@ -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/testing-x86_64/postfix.service (from rev 436340, postfix/trunk/postfix.service)
===================================================================
--- testing-x86_64/postfix.service	                        (rev 0)
+++ testing-x86_64/postfix.service	2022-02-06 18:43:04 UTC (rev 436341)
@@ -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/testing-x86_64/postfix.sysusers (from rev 436340, postfix/trunk/postfix.sysusers)
===================================================================
--- testing-x86_64/postfix.sysusers	                        (rev 0)
+++ testing-x86_64/postfix.sysusers	2022-02-06 18:43:04 UTC (rev 436341)
@@ -0,0 +1,2 @@
+g postdrop 75 -
+u postfix 73 - /var/spool/postfix

Copied: postfix/repos/testing-x86_64/postfix.tmpfiles (from rev 436340, postfix/trunk/postfix.tmpfiles)
===================================================================
--- testing-x86_64/postfix.tmpfiles	                        (rev 0)
+++ testing-x86_64/postfix.tmpfiles	2022-02-06 18:43:04 UTC (rev 436341)
@@ -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



More information about the arch-commits mailing list