Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=cb62c126bbb1c73dfa4ffde32020502ee90abfaf
commit cb62c126bbb1c73dfa4ffde32020502ee90abfaf Author: James Buren <[email protected]> Date: Wed Aug 1 06:21:01 2012 -0500 amavisd-new-2.7.2-1-x86_64 * convert to systemd schema diff --git a/source/network-extra/amavisd-new/FrugalBuild b/source/network-extra/amavisd-new/FrugalBuild index e7464d3..a4f23f2 100644 --- a/source/network-extra/amavisd-new/FrugalBuild +++ b/source/network-extra/amavisd-new/FrugalBuild @@ -3,7 +3,7 @@ # Contributor: Zoltan Kiss <[email protected]> pkgname=amavisd-new -pkgver=2.7.1 +pkgver=2.7.2 pkgrel=1 pkgdesc="Amavisd-new is a high-performance interface between mailer (MTA) and content checkers" url="http://www.ijs.si/software/amavisd/" @@ -16,13 +16,20 @@ groups=('network-extra') archs=('i686' 'x86_64') up2date="lynx -dump $url |grep -A 2 'Most recent versions'|grep 'amavis' |sed 's/.*amavisd-new-\(.*\)\.tar.*/\1/;q'" source=($url/amavisd-new-$pkgver.tar.gz 10-amavisconf 20-userconf \ - rc.amavisd-new amavisconf README.Frugalware) -sha1sums=('ada44f02da370d4f0004fc81dfe37d2d3871dbe7' \ + rc.amavisd-new amavisd-new.service amavisd-wrapper amavisconf \ + README.Frugalware) +sha1sums=('560096c85babb3b01ecb1d08090a28b67c857044' \ '648421546adab952f6ace5834c269f8a80256b84' \ 'b6a010cab23334eb81371d69c0e4e3cb5eae8549' \ 'aeffbffab4dfa54e06e8d42df88401b3cbcfcbc1' \ - '0817540bbce13a5ac1861d1e82dcbcf740f977e8' \ + '1cb9096a105e4c175a0add19b3746d149ee5efea' \ + '91105ae03fbb42b266c5e0b286db92d8c03ea0b5' \ + '1ce2638dd70dbdc3262e6233c1b081d1d6962c96' \ '3a89c9bc33ef4d9b7c91dfc42cd7b82634f46805') +_F_systemd_scriptlet="$pkgname.install" +_F_sysvinit_units=($pkgname) +_F_systemd_units=($pkgname=) +Finclude systemd build() { Fcd @@ -53,9 +60,13 @@ build() { Fmkdir /usr/sbin Fln ../../var/lib/frugalware/system/amavisconf /usr/sbin/amavisconf Frm /var/lock + Fdirschown /var/lib/amavis 40 40 Fmkdir /etc/tmpfiles.d cat > $Fdestdir/etc/tmpfiles.d/amavisd-new.conf << EOF d $Flocalstatedir/lock/amavis 0755 amavis amavis - EOF + Ffile /lib/systemd/system/amavisd-new.service + Fexe /usr/libexec/amavisd-wrapper + Fgenscriptlet } # optimization OK diff --git a/source/network-extra/amavisd-new/amavisconf b/source/network-extra/amavisd-new/amavisconf index bd1a10f..4005571 100644 --- a/source/network-extra/amavisd-new/amavisconf +++ b/source/network-extra/amavisd-new/amavisconf @@ -25,10 +25,10 @@ conf_startup() "$no" "" \ 2>$starttmp if [ `cat $starttmp` = $yes ]; then - chkconfig --add rc.amavisd-new - /etc/rc.d/rc.amavisd-new + systemctl enable amavisd-new.service + systemctl start amavisd-new.service else - chkconfig --del rc.amavisd-new + systemctl disable amavisd-new.service fi rm $starttmp } diff --git a/source/network-extra/amavisd-new/amavisd-new.install b/source/network-extra/amavisd-new/amavisd-new.install index 43c66fe..bdaf5e0 100644 --- a/source/network-extra/amavisd-new/amavisd-new.install +++ b/source/network-extra/amavisd-new/amavisd-new.install @@ -1,29 +1,66 @@ +sysvinit_units=(@_F_sysvinit_units@) +systemd_units=(@_F_systemd_units@) + post_install() { if ! grep -q '^amavis:' /etc/group ; then groupadd -g 40 amavis fi if ! grep -q '^amavis:' /etc/passwd ; then - useradd -u 40 -g 40 -s /bin/false -c "Amavisd-new" -d /var/lib/amavis amavis + useradd -u 40 -g 40 -s /sbin/nologin -c "Amavisd-new" -d /var/lib/amavis amavis fi - chown -R amavis.amavis /var/lib/amavis - chown -R amavis.amavis /var/lock/amavis + + local unit + local op + + for i in ${sysvinit_units[@]}; do + chkconfig --del rc.$i >/dev/null 2>&1 + done + + for i in ${systemd_units[@]}; do + unit=$(echo $i | cut -f 1 -d '=') + op=$(echo $i | cut -f 2 -d '=') + if echo $op | grep -q 'e'; then + systemctl enable $unit.service >/dev/null 2>&1 + fi + if echo $op | grep -q 's'; then + systemctl start $unit.service >/dev/null 2>&1 + fi + done +} + +post_upgrade() +{ + for i in ${sysvinit_units[@]}; do + chkconfig --del rc.$i >/dev/null 2>&1 + done + + systemctl daemon-reload >/dev/null 2>&1 } pre_remove() { - chkconfig --del rc.amavisd-new - userdel -r amavis >/dev/null 2>&1 - groupdel amavis >/dev/null 2>&1 + local unit + + for i in ${sysvinit_units[@]}; do + chkconfig --del rc.$i >/dev/null 2>&1 + done + + for i in ${systemd_units[@]}; do + unit=$(echo $i | cut -f 1 -d '=') + systemctl --no-reload disable $unit.service >/dev/null 2>&1 + systemctl stop $unit.service >/dev/null 2>&1 + done } -post_upgrade() +post_remove() { - post_install + userdel -r amavis >/dev/null 2>&1 + groupdel amavis >/dev/null 2>&1 + + systemctl daemon-reload >/dev/null 2>&1 } op=$1 shift $op $* - -# vim: ft=sh diff --git a/source/network-extra/amavisd-new/amavisd-new.service b/source/network-extra/amavisd-new/amavisd-new.service new file mode 100644 index 0000000..953423f --- /dev/null +++ b/source/network-extra/amavisd-new/amavisd-new.service @@ -0,0 +1,11 @@ +[Unit] +Description=Amavis Mail Filter Daemon +After=network.target + +[Service] +ExecStart=/usr/libexec/amavisd-wrapper +PIDFile=/var/lock/amavis/amavisd.pid +Type=forking + +[Install] +WantedBy=multi-user.target diff --git a/source/network-extra/amavisd-new/amavisd-wrapper b/source/network-extra/amavisd-new/amavisd-wrapper new file mode 100644 index 0000000..8c4d1ac --- /dev/null +++ b/source/network-extra/amavisd-new/amavisd-wrapper @@ -0,0 +1,9 @@ +#!/bin/sh + +ARGS="" + +for i in $(ls -1 /etc/amavis); do + ARGS="$ARGS -c /etc/amavis/$i" +done + +exec /usr/sbin/amavisd $ARGS _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
