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
