wok annotate postfix/receipt @ rev 12163

postfix: add sasl support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Mar 18 00:36:21 2012 +0100 (2012-03-18)
parents cd2f1773baed
children e9130cce9043
rev   line source
pascal@1159 1 # SliTaz package receipt.
pascal@1159 2
pascal@1159 3 PACKAGE="postfix"
slaxemulator@9830 4 VERSION="2.8.3"
pascal@1159 5 CATEGORY="network"
pascal@1159 6 SHORT_DESC="fast, easy to administer, and secure mailer."
pascal@1159 7 MAINTAINER="pascal.bellard@slitaz.org"
pascal@1159 8 TARBALL="$PACKAGE-$VERSION.tar.gz"
pascal@1159 9 WEB_SITE="http://www.postfix.org/"
pankso@3845 10 WGET_URL="ftp://ftp.cs.tu-berlin.de/pub/net/mail/postfix/official/$TARBALL"
pascal@1195 11 CONFIG_FILES="/etc/postfix"
pascal@1159 12
pascal@12163 13 DEPENDS="libdb libldap pcre libssl slitaz-base-files libsasl libkrb5 \
pascal@12163 14 libcomerr3 libmysqlclient"
pascal@12163 15 BUILD_DEPENDS="db-dev openldap-dev pcre-dev openssl-dev perl mysql-dev \
pascal@12163 16 cyrus-sasl-dev libsasl"
pascal@12163 17
pascal@1159 18 # Rules to configure and make the package.
pascal@1159 19 compile_rules()
pascal@1159 20 {
pascal@1159 21 cd $src
pankso@3845 22 make makefiles \
pankso@3845 23 CCARGS='-DHAS_DB -DHAS_LDAP \
pascal@12163 24 -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I /usr/include/sasl \
erjo@9679 25 -DHAS_MYSQL -I/usr/include/mysql \
pankso@3845 26 -DDEF_DAEMON_DIR=\"/usr/lib/postfix\" \
pankso@3845 27 -DDEF_MANPAGE_DIR=\"/usr/share/man\"' \
pascal@12163 28 AUXLIBS="-ldb -lldap -llber -lsasl2 \
erjo@9679 29 -L/usr/lib/mysql -lmysqlclient -lz -lm " &&
pascal@1159 30 make
erjo@12040 31 install_root=$WOK/$PACKAGE/install \
pascal@1159 32 sh postfix-install -non-interactive
pascal@1159 33 }
pascal@1159 34
pascal@1159 35 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@1159 36 genpkg_rules()
pascal@1159 37 {
pascal@1159 38 mkdir -p $fs/usr/share/licenses/
erjo@12040 39 cp -a $install/usr/lib $fs/usr
erjo@12040 40 cp -a $install/usr/bin $fs/usr
erjo@12040 41 cp -a $install/usr/sbin $fs/usr
erjo@12040 42 cp -a $install/etc $fs
pankso@3845 43
pascal@1195 44 awk 'BEGIN {n=0} /MUST/ {n++} /ALIASES/ {n++} { if (n==1) print }' \
erjo@12040 45 < $install/etc/postfix/aliases > $fs/etc/postfix/aliases
pascal@1203 46 while read keyword data; do
pascal@1203 47 grep -q ^$keyword $fs/etc/postfix/main.cf && continue
pascal@1203 48 mv $fs/etc/postfix/main.cf $fs/etc/postfix/main.cf.$$
pascal@1203 49 awk "BEGIN { scan=1 } /^#$keyword / { if (scan) { print \"$keyword $data\" ; scan=0 } } { print }" \
pascal@1203 50 < $fs/etc/postfix/main.cf.$$ > $fs/etc/postfix/main.cf
pascal@1203 51 rm -f $fs/etc/postfix/main.cf.$$
pascal@1203 52 done << EOF
pascal@1203 53 mydomain = localdomain
pascal@1203 54 myorigin = localhost
pascal@1203 55 mydestination = localhost, localhost.\$mydomain
pascal@1203 56 mynetworks = 127.0.0.0/8
pascal@1203 57 alias_maps = hash:/etc/postfix/aliases
pascal@1203 58 EOF
erjo@9672 59 cp -a $stuff/etc $fs
erjo@12040 60 cp -a $install/var $fs
pascal@1159 61 mv $fs/etc/postfix/TLS_LICENSE $fs/usr/share/licenses/POSTFIX_TLS_LICENSE
pascal@1159 62 mv $fs/etc/postfix/LICENSE $fs/usr/share/licenses/POSTFIX_LICENSE
erjo@9672 63 cp -a $stuff/etc/init.d $fs/etc
pankso@3845 64 rm -f $fs/usr/lib/postfix/post* $fs/usr/lib/postfix/*.cf
pankso@3845 65 strip -s $fs/usr/lib/postfix/*
pascal@1159 66 }
pascal@1159 67
pascal@1159 68 # Pre and post install commands for Tazpkg.
pascal@1159 69 post_install()
pascal@1159 70 {
erjo@12040 71
erjo@12040 72 local user
erjo@12040 73 local group
erjo@12040 74
erjo@12040 75 user=postfix
erjo@12040 76 group=postdrop
erjo@12040 77
erjo@12040 78 if ! grep -q $user $1/etc/passwd; then
erjo@12040 79 echo -n "Adding user/group $user..."
erjo@12040 80 chroot $1/ addgroup -S $user
erjo@12040 81 chroot $1/ adduser -S -D -H -G $user $user
erjo@12040 82 chroot $1/ addgroup -S $group
pascal@1159 83 status
pascal@1159 84 fi
erjo@12040 85
pascal@1159 86 # addgroup postdrop if needed
pascal@1159 87 if ! grep -q postdrop $1/etc/group; then
erjo@12040 88 echo -n "Adding group ${group}..."
erjo@12040 89 chroot $1/ addgroup -S $group
pascal@1159 90 status
pascal@1159 91 fi
erjo@12040 92
erjo@12040 93 chroot $1/ chown ${user} /var/spool/postfix/* /var/lib/postfix
erjo@12040 94 chroot $1/ chgrp ${group} /var/spool/postfix/maildrop \
pascal@2391 95 /var/spool/postfix/public /usr/sbin/postdrop /usr/sbin/postqueue
pascal@1206 96 chmod 2755 $1/usr/sbin/postdrop $1/usr/sbin/postqueue
pascal@1206 97 chmod 2710 $1/var/spool/postfix/public
pascal@1206 98 chmod 1730 $1/var/spool/postfix/maildrop
pascal@2391 99 chroot $1/ postalias /etc/postfix/aliases
pascal@1159 100 cat <<EOF
erjo@12040 101
pascal@1159 102 ----
pascal@1159 103 Warning: you still need to edit myorigin/mydestination/mynetworks
pascal@1159 104 parameter settings in /etc/postfix/main.cf.
pascal@1159 105 See also http://www.postfix.org/STANDARD_CONFIGURATION_README.html
pascal@1159 106
pascal@1159 107 To start $PACKAGE server you can run :
pascal@1159 108
pascal@1159 109 /etc/init.d/$PACKAGE start
pascal@1159 110
pascal@1159 111 Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf
pascal@1159 112 ----
pascal@1159 113 EOF
pascal@1159 114 }
pascal@1159 115
pascal@8878 116 # Overlap busybox
pascal@8878 117 pre_install()
pascal@8878 118 {
pascal@8878 119 rm -f $1/usr/sbin/sendmail
pascal@8878 120 }
pascal@8878 121
pascal@1159 122 post_remove()
pascal@1159 123 {
pascal@1159 124 deluser postfix
pascal@1159 125 delgroup postdrop
pascal@8878 126 ln -s /bin/busybox /usr/sbin/sendmail
pascal@1159 127 }