Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > media > main-release > by-pkgid > cc9b47cabec732fa3326d9cc923f9772 > scriptlet

mailman-2.1.12-1mdv2009.1.x86_64.rpm

PREIN

/bin/sh
if [ $1 = "2" ]; then
  if [ ! -L /usr/lib64/mailman/Mailman/mm_cfg.py ]; then
    mv /usr/lib64/mailman/Mailman/mm_cfg.py /etc/mailman.tmp
  fi
  if [ ! -L /var/lib/mailman/logs ]; then
    mv /var/lib/mailman/logs /var/log/mailman
  fi
fi

PREUN

/bin/sh
/usr/share/rpm-helper/del-service mailman $1 mailman

POSTIN

/bin/sh
/usr/share/rpm-helper/add-service mailman $1 mailman 
/usr/share/rpm-helper/add-webapp mailman $1 


cd /usr/lib64/mailman

if [ $1 = 1 ]; then
    # installation

    # generic tasks
    hostname=`hostname`
    domainname=`dnsdomainname`

    # mailman basic configuration
    cat >>Mailman/mm_cfg.py <<EOF
DEFAULT_EMAIL_HOST = '$domainname'
DEFAULT_URL_HOST = '$hostname'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
EOF

    # make sure mail user is allowed to use cron
    if [ -f /etc/cron.allow ]; then
        if ! grep -q mail /etc/cron.allow; then
            echo "mail" >> /etc/cron.allow
        fi
    fi

    # add cron task
    crontab -u mail /usr/lib64/mailman/cron/crontab.in

    # add aliases
    /usr/share/rpm-helper/create-file mailman $1 /var/lib/mailman/data/aliases mail mail 660 
    mta="`readlink /etc/alternatives/sendmail-command 2>/dev/null | cut -d . -f 2`"
    if [ "$mta" == "postfix" ]; then
        cat >>Mailman/mm_cfg.py <<EOF
MTA = 'Postfix'
EOF
        maps=`/usr/sbin/postconf -h alias_maps`
        postconf -e \
            "recipient_delimiter = +" \
            "unknown_local_recipient_reject_code = 550" \
            "alias_maps = $maps, hash:/var/lib/mailman/data/aliases"
        /usr/sbin/postalias /var/lib/mailman/data/aliases
    else
        cat >> /etc/aliases <<EOF
:include:   /var/lib/mailman/data/aliases
EOF
        /usr/bin/newaliases
    fi

    # generate random password
    passwd=$(/usr/share/rpm-helper/get-password 8)
    # site password
    /usr/sbin/mmsitepass $passwd > /dev/null

    if [ ! -f /var/lib/mailman/lists/mailman/config.pck ]; then
        # initial list creation and configuration
        su mail -c "/usr/sbin/newlist mailman root@$hostname $passwd" > /dev/null
        /usr/sbin/config_list -i /var/lib/mailman/data/sitelist.cfg mailman
    fi

else
    # upgrade
    if [ -f /etc/mailman.tmp ]; then
        mv -f /etc/mailman.tmp /etc/mailman
    fi
fi

POSTUN

/bin/sh
/usr/share/rpm-helper/del-webapp mailman $1 

if [ $1 = 0 ]; then
    # generic tasks

    # remove cron task
    crontab -u mail -r

    # remove aliases
    mta="`readlink /etc/alternatives/sendmail-command 2>/dev/null | cut -d . -f 2`"
    if [ "$mta" == "postfix" ]; then
        database=`/usr/sbin/postconf -h alias_database | \
            sed -e 's|, hash:/var/lib/mailman/data/aliases||'`
        maps=`/usr/sbin/postconf -h alias_maps | \
            sed -e 's|, hash:/var/lib/mailman/data/aliases||'`
        postconf -e \
            "alias_database = $database" \
            "alias_maps = $maps"
    else
        sed -i -e '/:include:   /var/lib/mailman/data/aliases/d' \
            /etc/aliases
    fi
    /usr/bin/newaliases
fi