You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

116 lines
4.4 KiB

#!@l_prefix@/bin/openpkg rc
##
## rc.fetchmail -- Run-Commands
##
%config
fetchmail_enable="$openpkg_rc_def"
fetchmail_daemon="no"
fetchmail_log_prolog="true"
fetchmail_log_epilog="true"
fetchmail_log_numfiles="10"
fetchmail_log_minsize="1M"
fetchmail_log_complevel="9"
%common
fetchmail_rc="@l_prefix@/etc/fetchmail/fetchmailrc"
fetchmail_master="@l_prefix@/etc/fetchmail/fetchmail.master"
fetchmail_users="@l_prefix@/etc/fetchmail/fetchmail.users"
fetchmail_logfile="@l_prefix@/var/fetchmail/fetchmail.log"
fetchmail_pidfile="@l_prefix@/var/fetchmail/fetchmail.pid"
fetchmail_signal () {
[ -f $fetchmail_pidfile ] && kill -$1 `head -1 $fetchmail_pidfile`
}
fetchmail_reconfigure () {
umask 077
rcTmp -i
tmpfile1=`rcTmp -f -n tmp1`
tmpfile2=`rcTmp -f -n tmp2`
( echo "## **** AUTOMATICALLY GENERATED FILE -- DO NOT EDIT! ****"
echo ""
if [ -s $fetchmail_master ]; then
cat $fetchmail_master
fi
if [ -s $fetchmail_users ]; then
sed -e '/^[[:space:]]*#.*/d' \
-e '/^[[:space:]]*$/d' <$fetchmail_users |\
while read user comment; do
fetchmailrc=`eval echo ~$user`/.fetchmailrc
if [ -s $fetchmailrc ]; then
sed <$fetchmailrc \
-e '/^[[:space:]]*set[[:space:]].*/s;^;X##FORBIDDEN##;' \
-e '/.*[[:space:]]preconnect[[:space:]].*/s;^;X##FORBIDDEN##;' \
-e '/.*[[:space:]]postconnect[[:space:]].*/s;^;X##FORBIDDEN##;' \
-e '/.*[[:space:]]idle[[:space:]].*/s;^;X##FORBIDDEN##;' \
-e '/.*[[:space:]]monitor[[:space:]].*/s;^;X##FORBIDDEN##;' \
-e '/.*[[:space:]]plugin[[:space:]].*/s;^;X##FORBIDDEN##;' \
-e '/.*[[:space:]]plugout[[:space:]].*/s;^;X##FORBIDDEN##;' \
-e '/^[[:space:]]*poll[[:space:]].*/s;\(.*\);X\1;' \
-e '/^[[:space:]]*server[[:space:]].*/s;\(.*\);X\1;' \
-e '/^[[:space:]]*#.*/s;\(.*\);X\1;' \
-e '/^X.*/!d' \
-e '/^X.*/s;^X;;' \
>$tmpfile1
if @l_prefix@/bin/fetchmail --configdump -f $tmpfile1 >/dev/null 2>&1; then
cat $tmpfile1
fi
fi
done
fi
) >$tmpfile2
if cmp $fetchmail_rc $tmpfile2 >/dev/null 2>&1; then
:
else
cp $tmpfile2 $fetchmail_rc
chmod 600 $fetchmail_rc
fi
rcTmp -k
}
%status -u @l_susr@ -o
fetchmail_usable="unknown"
fetchmail_active="no"
rcService fetchmail enable yes && \
fetchmail_signal 0 && fetchmail_active="yes"
echo "fetchmail_enable=\"$fetchmail_enable\""
echo "fetchmail_usable=\"$fetchmail_usable\""
echo "fetchmail_active=\"$fetchmail_active\""
%start -p 200 -u @l_susr@
rcService fetchmail enable yes || exit 0
rcService fetchmail active yes && exit 0
rcVarIsYes fetchmail_daemon || exit 0
fetchmail_reconfigure
@l_prefix@/bin/fetchmail \
-f ${fetchmail_rc} \
-L ${fetchmail_logfile} \
--pidfile ${fetchmail_pidfile}
%stop -p 800 -u @l_susr@
rcService fetchmail enable yes || exit 0
rcService fetchmail active no && exit 0
rcVarIsYes fetchmail_daemon || exit 0
fetchmail_signal 15
rm -f ${fetchmail_pidfile} 2>/dev/null || true
%restart -p 200 -u @l_susr@
rcService fetchmail enable yes || exit 0
rcService fetchmail active no && exit 0
rcVarIsYes fetchmail_daemon || exit 0
rc fetchmail stop start
%quarterly -p 800 -u @l_susr@
rcService fetchmail enable yes || exit 0
rcVarIsYes fetchmail_daemon || exit 0
fetchmail_reconfigure
%daily -p 800 -u @l_susr@
rcService fetchmail enable yes || exit 0
rcVarIsYes fetchmail_daemon || exit 0
shtool rotate -f \
-n ${fetchmail_log_numfiles} -s ${fetchmail_log_minsize} -d \
-z ${fetchmail_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \
-P "${fetchmail_log_prolog}" \
-E "${fetchmail_log_epilog}; rc fetchmail restart" \
${fetchmail_logfile}