diff options
Diffstat (limited to 'main/postfix/APKBUILD')
-rw-r--r-- | main/postfix/APKBUILD | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/main/postfix/APKBUILD b/main/postfix/APKBUILD new file mode 100644 index 0000000000..71a9199c07 --- /dev/null +++ b/main/postfix/APKBUILD @@ -0,0 +1,151 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=postfix +pkgver=2.6.2 +pkgrel=3 +pkgdesc="Secure and fast drop-in replacement for Sendmail (MTA)" +url="http://www.postfix.org/" +license="IPL-1" +depends= +makedepends="db-dev pcre-dev openssl-dev postgresql-dev mysql-dev openldap-dev cyrus-sasl-dev perl" +install="$pkgname.pre-install $pkgname.post-install" +subpackages="$pkgname-doc $pkgname-ldap $pkgname-mysql $pkgname-pcre + $pkgname-pgsql" +source="ftp://ftp.porcupine.org/mirrors/$pkgname-release/official/$pkgname-$pkgver.tar.gz + $pkgname.initd + $install + postfix-2.6.1-dynamicmaps.patch + dynamicmaps.cf + postfix-ldap.post-install + postfix-mysql.post-install + postfix-pcre.post-install + postfix-pgsql.post-install + " + +# the dynamic maps patch is taken from mandriva +# http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/postfix/current/SOURCES + +_shared_libs() { + file --mime-type "$@" | \ + awk '$2 == "application/x-sharedlib" {print $1}' | \ + tr -d : +} + +build () { + cd "$srcdir/$pkgname-$pkgver" + for i in ../*.patch; do + msg "Applying $i..." + patch -p1 < $i || return 1 + done + cp ../dynamicmaps.cf conf/ + + 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 + + # needed for dynamic maps. + local ccargs="-DHAS_DLOPEN -DHAS_SHL_LOAD" + local auxlibs="$LDFLAGS -lpthread -lcrypt" + + ccargs="$ccargs -DDEF_DAEMON_DIR=\\\"/usr/lib/postfix\\\"" + + # pcre + ccargs="$ccargs -DHAS_PCRE" + #auxlibs="$auxlibs -lpcre" + + # 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 -I$(pg_config --includedir)" + #auxlibs="$auxlibs -lpq -L$(pg_config --libdir)" + + # mysql + ccargs="$ccargs -DHAS_MYSQL $(mysql_config --include)" + #auxlibs="$auxlibs -lmysqlclient -lm -lz" + + # compile + make DEBUG="" \ + OPT="$CFLAGS" \ + CCARGS="$ccargs" \ + AUXLIBS="$auxlibs" \ + makefiles || return 1 + + make OPT="$CFLAGS" || return 1 + + for i in $(_shared_libs lib/*.a); do + j=${i#lib/lib} + ln -s ${i#lib/} lib/libpostfix-${j%.a}.so.1 + done + + # install to pkgdir + LD_LIBRARY_PATH=$PWD/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} make \ + non-interactive-package \ + install_root="$pkgdir" \ + config_directory=/usr/share/doc/$pkgname/defaults \ + readme_directory=/usr/share/doc/$pkgname/readme \ + manpage_directory=/usr/share/man \ + || return 1 + + install -d "$pkgdir"/usr/lib + for i in $(_shared_libs lib/*.a); do + j=${i#lib/lib} + install $i "$pkgdir"/usr/lib/libpostfix-${j%.a}.so.1 || return 1 + done + + # 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"/etc/postfix + mv "$pkgdir"/usr/share/doc/$pkgname/defaults/*.cf \ + "$pkgdir"/usr/share/doc/$pkgname/defaults/aliases \ + "$pkgdir"/usr/share/doc/$pkgname/defaults/canonical \ + "$pkgdir"/usr/share/doc/$pkgname/defaults/generic \ + "$pkgdir"/usr/share/doc/$pkgname/defaults/header_checks \ + "$pkgdir"/usr/share/doc/$pkgname/defaults/relocated \ + "$pkgdir"/usr/share/doc/$pkgname/defaults/transport \ + "$pkgdir"/usr/share/doc/$pkgname/defaults/virtual \ + "$pkgdir"/etc/postfix/ || return 1 + + install -d -o postfix -g postfix "$pkgdir"/var/spool/postfix + install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE +} + +_mv_dict() { + local m=$1 + shift + pkgdesc="$m map support for postfix" + depends= + install="postfix-${m}.post-install" + mkdir -p "$subpkgdir"/usr/lib/postfix + mv "$pkgdir"/usr/lib/postfix/dict_${m}.so \ + "$subpkgdir"/usr/lib/postfix/ +} + +ldap() { _mv_dict ldap ; } +mysql() { _mv_dict mysql ;} +pcre() { _mv_dict pcre ; } +pgsql() { _mv_dict pgsql ; } + +md5sums="1f0edbd521d2b0473626f4d61e8bb4eb postfix-2.6.2.tar.gz +8416354d402f3be288fa98b60af86240 postfix.initd +2bfc3864183694e5484ac073bb0cb7ef postfix.pre-install +0064d45c2c8a46c374b55c4abc46cfb2 postfix.post-install +d45552cfdcd911d0934c0cb7816c4011 postfix-2.6.1-dynamicmaps.patch +442efd1a95b0c061dfb8ab75456e0f24 dynamicmaps.cf +2ebe51a882eb9d6d7866583eb6af3969 postfix-ldap.post-install +2ebe51a882eb9d6d7866583eb6af3969 postfix-mysql.post-install +fd16ec00b60269c4ede4a0a0a514cefa postfix-pcre.post-install +2ebe51a882eb9d6d7866583eb6af3969 postfix-pgsql.post-install" |