aports/main/postfix/APKBUILD
2015-07-21 06:54:06 +00:00

169 lines
4.9 KiB
Plaintext

# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=postfix
pkgver=3.0.2
pkgrel=0
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="d1dc2c23011c222129db3d91aa4f312a postfix-3.0.2.tar.gz
82c78ea8cb77a55f563d2086b73c36e2 postfix.initd
b7ed1614fafb5fed6253b1a62f76b709 no-glibc.patch"
sha256sums="68256314202f5f0f24022d64f7ac664d28fa1394d07c84a37c3fc7a2d040be80 postfix-3.0.2.tar.gz
2f744cfe9c3a0bac8e15c1e2347ff38283cb323617740f853e01d9eade7957ee postfix.initd
e8d7c4b3edab2388c9aba6c9ce70ff141ae7aacbd6480e233711241d90b14563 no-glibc.patch"
sha512sums="b097ff5cb1707361af568bbcf8b9d264dfefe7a9fd5c2fb4ce731a2ff6a632c3341ace43afe7f1600f2096592535cf9a300322f78c92000e752e0df7d3c39021 postfix-3.0.2.tar.gz
2752e69c4e1857bdcf29444ffb458bca818bc60b9c77c20823c5f5b87c36cb5e0f3217a625a7fe5788d5bfcef7570a1f2149e1233fcd23ccf7ee14190aff47a2 postfix.initd
cf9ef0d07e54011107da57e2855cbda10047c100047e2cc2fdede072ace1fc6c060a6b1cfc8c277417a28a23ecd3c6ffdc061da1673e8f61d2ed11899f1efb25 no-glibc.patch"