summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Holden2020-11-22 10:00:56 +0000
committerJoe Holden2020-11-22 10:00:56 +0000
commit7f4503ab8de852b6bf18978c089b4afd12a627e6 (patch)
tree9118e142e78323390e1694203404049adb6ac2ad
downloadaur-7f4503ab8de852b6bf18978c089b4afd12a627e6.tar.gz
.
-rw-r--r--.SRCINFO69
-rw-r--r--PKGBUILD107
-rw-r--r--postfix-3.5.8-main_defaults.patch19
-rw-r--r--postfix.service18
-rw-r--r--postfix.sysusers2
-rw-r--r--postfix.tmpfiles16
6 files changed, 231 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f57599c69a25
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,69 @@
+pkgbase = postfix-mysql
+ pkgdesc = Fast, easy to administer, secure mail server
+ pkgver = 3.5.8
+ pkgrel = 3
+ url = http://www.postfix.org/
+ arch = x86_64
+ license = EPL
+ makedepends = icu
+ makedepends = libmysqlclient
+ depends = db
+ depends = glibc
+ depends = libldap
+ depends = libnsl
+ depends = libsasl
+ depends = openssl
+ depends = pcre
+ depends = postgresql-libs
+ depends = sqlite
+ depends = tinycdb
+ depends = zlib
+ optdepends = perl: for postfix-collate.pl and qshape
+ provides = smtp-server
+ provides = smtp-forwarder
+ provides = postfix-tools
+ conflicts = smtp-server
+ conflicts = smtp-forwarder
+ conflicts = postfix-tools
+ replaces = postfix-tools
+ backup = etc/postfix/access
+ backup = etc/postfix/aliases
+ backup = etc/postfix/canonical
+ backup = etc/postfix/generic
+ backup = etc/postfix/header_checks
+ backup = etc/postfix/main.cf
+ backup = etc/postfix/master.cf
+ backup = etc/postfix/relocated
+ backup = etc/postfix/transport
+ backup = etc/postfix/virtual
+ source = http://ftp.porcupine.org/mirrors/postfix-release/official/postfix-3.5.8.tar.gz
+ source = postfix-3.5.8-main_defaults.patch
+ source = postfix.service
+ source = postfix.sysusers
+ source = postfix.tmpfiles
+ sha512sums = 0abb07d99e343b76e6a26b4a090af9d592f4dfd03c8c737cc72bfb0f4267dafcbb0cb0aa7b6255f8b834c9289d89a5c47b167be3758239309937cb77e0d9464b
+ sha512sums = 7b2785aa8120ca3ff91b405baf675e9e11f8d58b18a9b842672e7ae30932febddac10556a70823d8746fcb160bceb4dbabdee45cf46b02fc0127057656fb85c4
+ sha512sums = 27f54747ad480d65b560c9dbc97e12c6353e4bceca0ffe3e358e31de56db0ad79928164c9f8790c73a9f791daa378253d2ee29b5a766661778553ec889b2cf97
+ sha512sums = a7f15970f613ae7b98ce1b84ca0a6034ce3cc7b2b9ce7160dad9731f740fb762f4a54f44acceb5f06f8744fa9e952b088086af8a69da388a600b742a3cda37f2
+ sha512sums = d08574a6acd595fc146513c92dc1bb341c3432d67de1e93ab73a7ce60e385dd34f3a55e3d3d7aec5f358ac4aae260f028599ac47650ebc663cea3043a760a7bc
+ b2sums = 13166e854f70987f981bb5e7e5dabfaa73b3170ab16fc1ff8f70f6b98a0697ac980bdf74bbfb39fdfd1972f922a31a28882b1575b79fd8f01d81e08e68d756bc
+ b2sums = b5f19e0619f1fb017cd889c14e341c21146b3afe7b9eefcdb7fb1eb83a357434b899d1e92f3ab0023c78ef8f2de6ae54c4599ee0f0bd04d257f4ca0a4dc9a16c
+ b2sums = 02dd441cf6e4a7c2bc0de876f020b0784d811f77a5c6102dd075d67b07158dbc53c8b4d62bc8035283d4f349008574b1c3fac03f4519d56ffd809cb5bcfb7bea
+ b2sums = db58b7deb24cea16fb84f56680f0000683f72e11a95039969878e3819607aad5e65af9d9f50007e7710609065c0e3ebb9b30c1d929162b74eca5e74434d82cf1
+ b2sums = de31693cea5f452a9c8c0d1cf5210a6e67c0176f8b1a4d74106f2e803911569e9fdbb2301b3b5dc7ad6a6da285026b1a3ed3de52117d216b030cf0d92348909d
+
+pkgname = postfix-mysql
+ depends = db
+ depends = glibc
+ depends = libldap
+ depends = libnsl
+ depends = libsasl
+ depends = openssl
+ depends = pcre
+ depends = postgresql-libs
+ depends = sqlite
+ depends = tinycdb
+ depends = zlib
+ depends = libicuuc.so
+ depends = libmysqlclient
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2081b8c5fa14
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,107 @@
+pkgname=postfix-mysql
+_pkgname=postfix
+pkgver=3.5.8
+pkgrel=3
+url="http://www.postfix.org/"
+pkgdesc='Fast, easy to administer, secure mail server'
+license=('EPL')
+arch=('x86_64')
+depends=('db' 'glibc' 'libldap' 'libnsl' 'libsasl' 'openssl' 'pcre'
+'postgresql-libs' 'sqlite' 'tinycdb' 'zlib')
+makedepends=('icu' 'libmysqlclient')
+optdepends=('perl: for postfix-collate.pl and qshape')
+conflicts=('smtp-server' 'smtp-forwarder' 'postfix-tools')
+provides=('smtp-server' 'smtp-forwarder' 'postfix-tools')
+replaces=('postfix-tools')
+backup=('etc/postfix/'{access,aliases,canonical,generic,header_checks,main.cf,master.cf,relocated,transport,virtual})
+source=("http://ftp.porcupine.org/mirrors/postfix-release/official/${_pkgname}-${pkgver}.tar.gz"
+ "${_pkgname}-3.5.8-main_defaults.patch"
+ "${_pkgname}.service"
+ "${_pkgname}.sysusers"
+ "${_pkgname}.tmpfiles"
+)
+sha512sums=('0abb07d99e343b76e6a26b4a090af9d592f4dfd03c8c737cc72bfb0f4267dafcbb0cb0aa7b6255f8b834c9289d89a5c47b167be3758239309937cb77e0d9464b'
+ '7b2785aa8120ca3ff91b405baf675e9e11f8d58b18a9b842672e7ae30932febddac10556a70823d8746fcb160bceb4dbabdee45cf46b02fc0127057656fb85c4'
+ '27f54747ad480d65b560c9dbc97e12c6353e4bceca0ffe3e358e31de56db0ad79928164c9f8790c73a9f791daa378253d2ee29b5a766661778553ec889b2cf97'
+ 'a7f15970f613ae7b98ce1b84ca0a6034ce3cc7b2b9ce7160dad9731f740fb762f4a54f44acceb5f06f8744fa9e952b088086af8a69da388a600b742a3cda37f2'
+ 'd08574a6acd595fc146513c92dc1bb341c3432d67de1e93ab73a7ce60e385dd34f3a55e3d3d7aec5f358ac4aae260f028599ac47650ebc663cea3043a760a7bc')
+b2sums=('13166e854f70987f981bb5e7e5dabfaa73b3170ab16fc1ff8f70f6b98a0697ac980bdf74bbfb39fdfd1972f922a31a28882b1575b79fd8f01d81e08e68d756bc'
+ 'b5f19e0619f1fb017cd889c14e341c21146b3afe7b9eefcdb7fb1eb83a357434b899d1e92f3ab0023c78ef8f2de6ae54c4599ee0f0bd04d257f4ca0a4dc9a16c'
+ '02dd441cf6e4a7c2bc0de876f020b0784d811f77a5c6102dd075d67b07158dbc53c8b4d62bc8035283d4f349008574b1c3fac03f4519d56ffd809cb5bcfb7bea'
+ 'db58b7deb24cea16fb84f56680f0000683f72e11a95039969878e3819607aad5e65af9d9f50007e7710609065c0e3ebb9b30c1d929162b74eca5e74434d82cf1'
+ 'de31693cea5f452a9c8c0d1cf5210a6e67c0176f8b1a4d74106f2e803911569e9fdbb2301b3b5dc7ad6a6da285026b1a3ed3de52117d216b030cf0d92348909d')
+
+prepare() {
+ cd "${_pkgname}-${pkgver}"
+ # add distribution defaults to main.cf (alias_maps and alias_database)
+ patch -Np1 -i ../"${_pkgname}-3.5.8-main_defaults.patch"
+}
+
+build() {
+ local _ccargs=(
+ '-fPIC' '-fcommon'
+ '-DUSE_SASL_AUTH'
+ '-DUSE_CYRUS_SASL' '-I/usr/include/sasl'
+ '-DHAS_LDAP'
+ '-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 "${_pkgname}-${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 libmysqlclient)" \
+ 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() {
+ local _name
+ depends+=('libicuuc.so' 'libmysqlclient')
+
+ 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: follow setup in conf/postfix-files
+ install -vDm 644 "../${_pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${_pkgname}.conf"
+ # remove non-reproducible file, that only lists what the build circumstances were
+ rm -v "${pkgdir}/etc/${_pkgname}/makedefs.out"
+}
diff --git a/postfix-3.5.8-main_defaults.patch b/postfix-3.5.8-main_defaults.patch
new file mode 100644
index 000000000000..3e071f7c0405
--- /dev/null
+++ b/postfix-3.5.8-main_defaults.patch
@@ -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)
+ #
diff --git a/postfix.service b/postfix.service
new file mode 100644
index 000000000000..2c972d8d1a31
--- /dev/null
+++ b/postfix.service
@@ -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
diff --git a/postfix.sysusers b/postfix.sysusers
new file mode 100644
index 000000000000..677b1b1ba6e1
--- /dev/null
+++ b/postfix.sysusers
@@ -0,0 +1,2 @@
+g postdrop 75 -
+u postfix 73 - /var/spool/postfix
diff --git a/postfix.tmpfiles b/postfix.tmpfiles
new file mode 100644
index 000000000000..b26b189ce816
--- /dev/null
+++ b/postfix.tmpfiles
@@ -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