#!/bin/sh # Packager version 4.2 made by Lightning 2/9/2008 # # Packaged by Slowpoke . /etc/colors PDATE="Jun 22 2008" NAME=clamav_0.93_slowpoke FILES="clamav-0.93-slowpoke.tgz" EXFILE="" FREESCO="0.3.0 0.3.x" PACKED=1181 UNPACKED=3360 LIBS="libgmp.so.3.4.2 libgmp.so.3 libgmp.so libpthread.so.0.7 libpthread.so.0 libpthread.so libclamunrar_iface.so.4.0.1 libclamunrar_iface.so.4 libclamunrar_iface.so libclamunrar.so.4.0.1 libclamunrar.so.4 libclamunrar.so libclamav.so.4.0.1 libclamav.so.4 libclamav.so " DEPEND="" INFO="ClamAV v0.93 is a set of GLP AntiVirus programs." quit() { rm -r $3 killall pkg sync sync exit 1 } askyn() { ans=x while [ "$ans" != "Y" -a "$ans" != "N" ] do echo -e -n "\n$1" read ans if [ "$ans" = "n" -o "$ans" = "N" ] then ans="N"; fi if [ "$ans" = "y" -o "$ans" = "Y" ] then ans="Y"; fi done } getuid() { userid=`cat /etc/passwd | sed -n "s/^$1:.*:\(.*\):.*:.*:.*:.*/\1/p"` } useraddon() { getuid clamav if [ ! "$userid" ]; then userid=1000 while :; do [ "`cat /etc/passwd | sed -n /^.[^:]*:.[^:]*:${userid}:.*/P`" ] || break userid=`math $userid 1 add` done cat >>/etc/passwd <<-EOF clamav:*:${userid}:100:clamav:/home:/bin/false EOF fi } setgroups() { user="clamav" [ "$EXIM" = "4.50" -o "$EXIM" = "EXISCAN" ] && user="exim" getuid $user if [ ! "$userid" ]; then echo "Error in installation - user account \"$user\" missing or failed to be created!" quit $1 $2 $3 else touch /var/log/clamd.log touch /var/log/freshclam.log chown $userid /var/log/clamd.log chown $userid /var/log/freshclam.log chown -R $userid /usr/local/clamav/share/clamav chown -R $userid /usr/local/clamav/tmp fi [ "$user" = "clamav" ] && return; echo "Changing default database owner in configuration files to \"$user\"..." for cfg in /pkg/usr/local/clamav/etc/clamd.conf /pkg/usr/local/clamav/etc/freshclam.conf do cat $cfg | sed "s/^\(User \)clamav/\1$user/g;s/^\(DatabaseOwner \)clamav/\1$user/g" > $cfg.tmp cp $cfg.tmp $cfg rm -f $cfg.tmp done } eximcheck() { EXIM="NONE!"; msg="No Exim version found!" [ "`cat /etc/passwd | sed -n '/^exim/P'`" -o -d /pkg/mail ] && EXIM="4.50" [ -f /usr/local/exim/bin/exim-4.20-4 ] && EXIM="EXISCAN" [ -f /usr/local/exim/bin/exim-4.20-9 ] && EXIM="4.20" [ -f /pkg/exim/bin/exim ] && EXIM="3.3X" [ "$EXIM" = "4.50" -o "$EXIM" = "EXISCAN" ] && msg="OK, Exim $EXIM found." [ "$EXIM" = "4.20" -o "$EXIM" = "3.3X" ] && msg="Exim $EXIM found.\nClamAV's mail scanning feature will not work with this version.\nYou need to upgrade to either exim exiscan, or exim 4.50 (or higher)\nfor mail scanning to work." [ ! "$1" ] && echo $msg } case $1 in preinstall) echo " ***-- This package is officially unapproved at this time --***" echo " ***-- loading this program could damage your system or --***" echo " ***-- cause an unwanted vulnerability to outside attacks --***" echo;echo;eximcheck exit 0;; postinstall) eximcheck -q useraddon setgroups $1 $2 $3 rc_clamav setup inst=x while [ "$inst" != "Y" -a "$inst" != "N" ] do echo -e -n "\nDo you wish to start ClamAV now (Y/N)? " read inst if [ "$inst" = "n" -o "$inst" = "N" ] then inst="N"; fi if [ "$inst" = "y" -o "$inst" = "Y" ] then inst="Y"; fi done if [ "$inst" = "Y" ]; then if [ ! -f /usr/local/clamav/share/clamav/main.cvd ]; then echo "No virus definitions found - these must be downloaded first." echo "Running freshclam in one-shot mode..."; echo "--------------------" freshclam fi rc_clamav start fi exit 0;; info) echo "$INFO" echo "They are: clamd, clamdscan, clamscan, freshclam, and sigclam." echo echo "clamd - The main antivirus server daemon." echo "clamdscan - The clamd client program." echo "clamscan - A stand-alone version of clamd & clamdscan together." echo "freshclam - A virus database update tool." echo "sigclam - A signature and database management tool." echo ;; uninstall) if [ -f /pkg/disabled/rc_clamav ]; then rm -f /pkg/disabled/rc_clamav else rc_clamav stophard rm -f /pkg/rc/rc_clamav fi rm -rf /pkg/addons/ClamAV rm -f /pkg/bin/clamconf rm -f /pkg/bin/clamdscan rm -f /pkg/bin/clamscan rm -f /pkg/bin/freshclam rm -f /pkg/bin/sigtool rm -f /pkg/man/clamav-milter.8.txt rm -f /pkg/man/clamconf.1.txt rm -f /pkg/man/clamd.8.txt rm -f /pkg/man/clamd.conf.5.txt rm -f /pkg/man/clamdscan.1.txt rm -f /pkg/man/clamscan.1.txt rm -f /pkg/man/freshclam.1.txt rm -f /pkg/man/freshclam.conf.5.txt rm -f /pkg/man/sigtool.1.txt rm -f /pkg/sbin/clamd rm -rf /pkg/usr/local/clamav/tmp askyn "Do you want to keep the virus definition files? " [ "$ans" = "N" ] && rm -rf /pkg/usr/local/clamav/share askyn "Do you want to keep a copy of your configuration files? " [ "$ans" = "N" ] && rm -rf /pkg/usr/local/clamav/etc if [ "$ans" = "Y" ]; then mv /pkg/usr/local/clamav/etc/clamd.conf /pkg/usr/local/clamav/etc/clamd.conf.bak mv /pkg/usr/local/clamav/etc/freshclam.conf /pkg/usr/local/clamav/etc/freshclam.conf.bak mv /pkg/usr/local/clamav/etc/daemon.conf /pkg/usr/local/clamav/etc/daemon.conf.bak fi echo -n "User account "; userdel clamav ;; esac