# Contributor: Ɓukasz Jendrysik # Maintainer: Natanael Copa pkgname=postfix pkgver=3.0.1 pkgrel=2 pkgdesc="Secure and fast drop-in replacement for Sendmail (MTA)" url="http://www.postfix.org/" arch="all" license="IPL-1" depends= makedepends="db-dev pcre-dev openssl-dev postgresql-dev mariadb-dev openldap-dev cyrus-sasl-dev perl file sqlite-dev linux-headers" install="$pkgname.pre-install" subpackages="$pkgname-doc $pkgname-ldap $pkgname-mysql $pkgname-pcre $pkgname-pgsql $pkgname-sqlite" options="suid" source="ftp://ftp.porcupine.org/mirrors/$pkgname-release/official/$pkgname-$pkgver.tar.gz $pkgname.initd no-glibc.patch " _shared_libs() { file --mime-type "$@" | \ awk -F: '$2 ~ /sharedlib/ {print $1}' } prepare() { cd "$srcdir/$pkgname-$pkgver" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done sed -i -e "s|#define HAS_NIS|//#define HAS_NIS|g" \ -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:/etc/postfix/aliases|" \ src/util/sys_defs.h || return 1 sed -i -e "s:/usr/local/:/usr/:g" conf/master.cf || return 1 } build () { cd "$srcdir/$pkgname-$pkgver" # needed for dynamic maps. local ccargs="-DHAS_SHL_LOAD" local auxlibs="$LDFLAGS -lpthread -lcrypt" ccargs="$ccargs -DDEF_DAEMON_DIR=\\\"/usr/lib/postfix\\\"" # pcre ccargs="$ccargs -DHAS_PCRE $(pkg-config --cflags libpcre)" # ssl ccargs="$ccargs -DUSE_TLS" auxlibs="$auxlibs -lssl -lcrypto" ## dovecot-sasl #ccargs="$ccargs -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\"" # cyrus sasl ccargs="$ccargs -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl" auxlibs="$auxlibs -lsasl2" # postgresql ccargs="$ccargs -DHAS_PGSQL $(pkg-config --cflags libpq)" # mysql ccargs="$ccargs -DHAS_MYSQL $(mysql_config --include)" # ldap ccargs="$ccargs -DHAS_LDAP" # sqlite ccargs="$ccargs -DHAS_SQLITE $(pkg-config --cflags sqlite3)" # # AUXLIBS_CDB="$cdb_libs" \ # AUXLIBS_LMDB="$lmdb_libs" \ # compile make DEBUG="" \ OPT="$CFLAGS" \ CCARGS="$ccargs" \ AUXLIBS="$auxlibs" \ AUXLIBS_LDAP="-lldap -llber" \ AUXLIBS_MYSQL="$(mysql_config --libs)" \ AUXLIBS_PCRE="$(pkg-config --libs libpcre)" \ AUXLIBS_PGSQL="$(pkg-config --libs libpq)" \ AUXLIBS_SQLITE="$(pkg-config --libs sqlite3)" \ dynamicmaps=yes \ shared=yes \ makefiles || return 1 make OPT="$CFLAGS" || return 1 } _mvline() { local regex="$1" local outfile="$3.d/$2" local infile="$3" sed -i -E -e "\|$regex|{ w $outfile d }" $infile } package() { cd "$srcdir/$pkgname-$pkgver" make non-interactive-package \ install_root="$pkgdir" \ readme_directory=/usr/share/doc/$pkgname/readme \ manpage_directory=/usr/share/man \ || return 1 # fix permissions for i in postdrop postqueue; do chgrp postdrop "$pkgdir"/usr/sbin/$i chmod g+s "$pkgdir"/usr/sbin/$i done mkdir -p "$pkgdir"/usr/share/doc/postfix/defaults/ \ "$pkgdir"/usr/share/licenses/${pkgname}/ mv "$pkgdir"/etc/postfix/*.default \ "$pkgdir"/usr/share/doc/postfix/defaults/ || return 1 mv "$pkgdir"/etc/postfix/*LICENSE* \ "$pkgdir"/usr/share/licenses/${pkgname}/ || return 1 install -d -o postfix -g postfix "$pkgdir"/var/spool/postfix install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname chown postfix "$pkgdir"/var/spool/postfix/* "$pkgdir"/var/lib/postfix \ || return 1 chgrp postdrop "$pkgdir"/var/spool/postfix/maildrop \ "$pkgdir"/var/spool/postfix/public || return 1 cd "$pkgdir"/etc/postfix/ || return 1 for map in ldap mysql pcre pgsql sqlite; do msg "split $map" _mvline "^\s*$map" "$map" dynamicmaps.cf || return 1 done } _mv_dict() { local m=$1 shift pkgdesc="$m map support for postfix" depends= mkdir -p "$subpkgdir"/usr/lib/postfix \ "$subpkgdir"/etc/postfix/dynamicmaps.cf.d mv "$pkgdir"/usr/lib/postfix/postfix-${m}.so \ "$subpkgdir"/usr/lib/postfix/ || return 1 mv "$pkgdir"/etc/postfix/dynamicmaps.cf.d/${m} \ "$subpkgdir"/etc/postfix/dynamicmaps.cf.d/ || return 1 } ldap() { _mv_dict ldap ; } mysql() { _mv_dict mysql ;} pcre() { _mv_dict pcre ; } pgsql() { _mv_dict pgsql ; } sqlite() { _mv_dict sqlite ; } md5sums="3ec1416e7d4fba9566297c8fcf7a348c postfix-3.0.1.tar.gz 82c78ea8cb77a55f563d2086b73c36e2 postfix.initd b7ed1614fafb5fed6253b1a62f76b709 no-glibc.patch" sha256sums="cd2bd6447fe3368bb1a39f482f8dd1eec87c63067a0eb75f9aec8e4eadd21328 postfix-3.0.1.tar.gz 2f744cfe9c3a0bac8e15c1e2347ff38283cb323617740f853e01d9eade7957ee postfix.initd e8d7c4b3edab2388c9aba6c9ce70ff141ae7aacbd6480e233711241d90b14563 no-glibc.patch" sha512sums="17916f6dc7113589b011dbf6a6bb54cb9f6d0d5f176fb3c877d4a5a09ac62c4faf088bf1eba0b41c6d2b9d55660fd4c52d4ba2a01f82db3679322756b6da6f37 postfix-3.0.1.tar.gz 2752e69c4e1857bdcf29444ffb458bca818bc60b9c77c20823c5f5b87c36cb5e0f3217a625a7fe5788d5bfcef7570a1f2149e1233fcd23ccf7ee14190aff47a2 postfix.initd cf9ef0d07e54011107da57e2855cbda10047c100047e2cc2fdede072ace1fc6c060a6b1cfc8c277417a28a23ecd3c6ffdc061da1673e8f61d2ed11899f1efb25 no-glibc.patch"