NOTE: You should disable your init scripts in /etc/rc2.d /etc/rc3.d AND make sure you have a setup/working pgdata directory somewhere. REVIEW These files before you add them to make sure they suit your needs!

First we must create a:

/var/svc/manifest/site/amavis.xml

file that contains the following:

<?xml version='1.0'?>
 <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--

        William Pool (Puddle) 11/05
        Service manifest for amavisd
        E-mail: william.pool@carsdirect.com
 -->

 <service_bundle type='manifest' name='amavis:default'>

 <service
         name='site/amavis'
         type='service'
         version='1'>
         <create_default_instance enabled='false' />
         <single_instance />

         <dependency name='clamav'
                 grouping='require_all'
                 restart_on='none'
                 type='service'>
                 <service_fmri value='svc:/site/clamav' />
         </dependency>

         <dependency name='fs'
                 grouping='require_all'
                 restart_on='none'
                 type='service'>
                 <service_fmri value='svc:/system/filesystem/local' />
         </dependency>

         <dependency name='net'
                 grouping='require_all'
                 restart_on='none'
                 type='service'>
                 <service_fmri value='svc:/network/loopback' />
         </dependency>

         <exec_method
                 type='method'
                 name='start'
                 exec='/lib/svc/method/svc-amavis start'
                 timeout_seconds='-1'>

         </exec_method>

         <exec_method
                 type='method'
                 name='stop'
                 exec='/lib/svc/method/svc-amavis stop'
                 timeout_seconds='-1'>
         </exec_method>

 </service>

 </service_bundle>

Now, we need to create a method file:

/lib/svc/method/svc-pgsql

which contains:

#!/bin/sh

# Start or stop restart Amavisd
#
# William Pool <william.pool@carsdirect.com>
. /lib/svc/share/smf_include.sh

PATH=/opt/sfw/bin:/opt/sfw/sbin:/usr/sfw/bin:/usr/sfw/sbin:/usr/bin:/usr/sbin:/sbin

# Anti-virus startup daemon

    start() {
        /opt/sfw/sbin/amavisd &
}
    stop() {
        echo "Stopping Amavisd-new\n\c"
AMPID=`cat /var/clamav/amavisd.pid`
/usr/bin/kill "$AMPID" > /dev/null 2>&1
}

case "$1" in
        start)
        start
;;
        stop)
        stop
;;
        restart)
        stop
        sleep 5
        start
;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
    ;;
esac

exit 0

last edited 2006-06-01 15:41:52 by WilliamPool