wok-next annotate postfix/receipt @ rev 2391

postfix: fix chroot in post_install
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Mar 10 09:02:15 2009 +0000 (2009-03-10)
parents 79e6c7e5b6d3
children 051a78c03e10
rev   line source
pascal@1159 1 # SliTaz package receipt.
pascal@1159 2
pascal@1159 3 PACKAGE="postfix"
pascal@1159 4 VERSION="2.5.2"
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/"
pascal@1159 10 WGET_URL="ftp://mir1.ovh.net/ftp.postfix.org/postfix-release/official/$TARBALL"
pascal@1166 11 BUILD_DEPENDS="db-dev openldap-dev pcre-dev openssl-dev"
paul@2120 12 DEPENDS="libdb libldap pcre openssl slitaz-base-files cyrus-sasl"
pascal@1195 13 CONFIG_FILES="/etc/postfix"
pascal@1159 14
pascal@1159 15 # Rules to configure and make the package.
pascal@1159 16 compile_rules()
pascal@1159 17 {
pascal@1159 18
pascal@1159 19 cd $src
pascal@1159 20 make makefiles CCARGS="-DHAS_DB -DHAS_LDAP" AUXLIBS="-ldb -lldap -llber"
pascal@1159 21 make
pascal@1159 22 install_root=/home/slitaz/wok/postfix/postfix-2.5.2/_pkg \
pascal@1159 23 sh postfix-install -non-interactive
pascal@1159 24 }
pascal@1159 25
pascal@1159 26 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@1159 27 genpkg_rules()
pascal@1159 28 {
pascal@1159 29 mkdir -p $fs/usr/share/licenses/
pascal@1159 30 cp -a $_pkg/usr/libexec $fs/usr
pascal@1159 31 cp -a $_pkg/usr/bin $fs/usr
pascal@1159 32 cp -a $_pkg/usr/sbin $fs/usr
pascal@1159 33 cp -a $_pkg/etc $fs
pascal@1195 34 awk 'BEGIN {n=0} /MUST/ {n++} /ALIASES/ {n++} { if (n==1) print }' \
pascal@1195 35 < $_pkg/etc/postfix/aliases > $fs/etc/postfix/aliases
pascal@1203 36 while read keyword data; do
pascal@1203 37 grep -q ^$keyword $fs/etc/postfix/main.cf && continue
pascal@1203 38 mv $fs/etc/postfix/main.cf $fs/etc/postfix/main.cf.$$
pascal@1203 39 awk "BEGIN { scan=1 } /^#$keyword / { if (scan) { print \"$keyword $data\" ; scan=0 } } { print }" \
pascal@1203 40 < $fs/etc/postfix/main.cf.$$ > $fs/etc/postfix/main.cf
pascal@1203 41 rm -f $fs/etc/postfix/main.cf.$$
pascal@1203 42 done << EOF
pascal@1203 43 mydomain = localdomain
pascal@1203 44 myorigin = localhost
pascal@1203 45 mydestination = localhost, localhost.\$mydomain
pascal@1203 46 mynetworks = 127.0.0.0/8
pascal@1203 47 alias_maps = hash:/etc/postfix/aliases
pascal@1203 48 EOF
pascal@1195 49 cp -a stuff/etc $fs
pascal@1159 50 cp -a $_pkg/var $fs
pascal@1159 51 mv $fs/etc/postfix/TLS_LICENSE $fs/usr/share/licenses/POSTFIX_TLS_LICENSE
pascal@1159 52 mv $fs/etc/postfix/LICENSE $fs/usr/share/licenses/POSTFIX_LICENSE
pascal@1159 53 cp -a stuff/etc/init.d $fs/etc
pascal@1206 54 rm -f $fs/etc/postfix/post*
pascal@1159 55 }
pascal@1159 56
pascal@1159 57 # Pre and post install commands for Tazpkg.
pascal@1159 58 post_install()
pascal@1159 59 {
pascal@1159 60 # adduser postfix if needed
pascal@1159 61 if ! grep -q postfix $1/etc/passwd; then
pascal@1159 62 echo -n "Adding user postfix..."
pascal@1195 63 chroot $1/ adduser postfix -D -H -S -h /dev/null
pascal@1159 64 status
pascal@1159 65 fi
pascal@1159 66 # addgroup postfix if needed
pascal@1159 67 if ! grep -q postfix $1/etc/group; then
pascal@1159 68 echo -n "Adding group postfix..."
pascal@2369 69 chroot $1/ sh -c 'addgroup postfix && addgroup postfix postfix'
pascal@1159 70 status
pascal@1159 71 fi
pascal@1159 72 # addgroup postdrop if needed
pascal@1159 73 if ! grep -q postdrop $1/etc/group; then
pascal@1159 74 echo -n "Adding group postdrop..."
pascal@1159 75 chroot $1/ addgroup postdrop
pascal@1159 76 status
pascal@1159 77 fi
pascal@2391 78 chroot $1/ sh -c 'chown postfix /var/spool/postfix/* /var/lib/postfix'
pascal@2391 79 chroot $1/ chgrp postdrop /var/spool/postfix/maildrop \
pascal@2391 80 /var/spool/postfix/public /usr/sbin/postdrop /usr/sbin/postqueue
pascal@1206 81 chmod 2755 $1/usr/sbin/postdrop $1/usr/sbin/postqueue
pascal@1206 82 chmod 2710 $1/var/spool/postfix/public
pascal@1206 83 chmod 1730 $1/var/spool/postfix/maildrop
pascal@2391 84 chroot $1/ postalias /etc/postfix/aliases
pascal@1159 85 cat <<EOF
pascal@1159 86 ----
pascal@1159 87 Warning: you still need to edit myorigin/mydestination/mynetworks
pascal@1159 88 parameter settings in /etc/postfix/main.cf.
pascal@1159 89 See also http://www.postfix.org/STANDARD_CONFIGURATION_README.html
pascal@1159 90
pascal@1159 91 To start $PACKAGE server you can run :
pascal@1159 92
pascal@1159 93 /etc/init.d/$PACKAGE start
pascal@1159 94
pascal@1159 95 Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf
pascal@1159 96 ----
pascal@1159 97 EOF
pascal@1159 98 }
pascal@1159 99
pascal@1159 100 post_remove()
pascal@1159 101 {
pascal@1159 102 deluser postfix
pascal@1159 103 delgroup postfix
pascal@1159 104 delgroup postdrop
pascal@1159 105 }