Sophie

Sophie

distrib > Mageia > 1 > x86_64 > by-pkgid > 69a87de81ecd8de61d723a1b5ad6adbc > scriptlet

mailman-2.1.13-6.mga1.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 

cd /usr/lib64/mailman

if [ $1 = 1 ]; then
    # installation

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

    if [ -z "$domainname" ]; then
	domainname=localdomain
    fi

    # 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
        su mail \
            -c "/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
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