bongo-devel  

[Bongo-devel] Debian Initscripts

Igor Morgado
Thu, 25 Jun 2009 09:51:59 -0700

Ladies and gentlemen...

Here goes my 2c, they are initscripts to be used in debian and things like
debian, meant to be added in next release (i have pasted the code in body
cause i dont know if the list allow attachments, anyway I have attached the
codes too)

============================================================================
init/bongo-manager.default.debian.in
============================================================================
# Defaults for bongoproject initscript
# sourced by /etc/init.d/bongo-manager
# It should be installed at /etc/default/bongo-manager
#
# This is a POSIX shell fragment
#

# Additional options that are passed to the Daemon.
DAEMON_ARGS="-d -k"



============================================================================
init/bongo-manager.init.debian.in
============================================================================
#!/bin/sh
### BEGIN INIT INFO
# Provides:             bongo mail-transport-agent
# Required-Start:       $local_fs $remote_fs $syslog $named $network $time
# Required-Stop:        $local_fs $remote_fs $syslog $named $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Should-Start:         slapd
# Should-Stop:          slapd
# Short-Description:    Start and stops Bongo
# Description:          Bongo collaboration system, visit:
#                       http://www.bongo-project.com
### END INIT INFO

#
# Author: Igor Morgado <i...@gnutech.inf.br>
#

# set -e

# Default VARS
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Bongo Colaborative Suite"
NAME=bongo-manager
SCRIPTNAME=/etc/init.d/$NAME
bongo_d...@prefix@
bongo_b...@prefix@/sbin
BONGO_PROCLIST="bongomanager bongodmc bongostore bongoqueue bongosmtp
bongoimap bongopop3 bongoantispam bongoavirus bongocalagent bongomailprox
bongorules bongopluspack bongoconnmgr"
PIDFILE="$BONGO_DIR/var/bongo/work/bongomanager.pid"
DAEMON=$BONGO_BIN/$NAME
DAEMON_ARGS="-d -k"

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
#. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

function do_start() {
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started

        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
--test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
-- $DAEMON_ARGS \
                || return 2
}

function do_stop() {
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred

        start-stop-daemon --verbose --stop --quiet --retry=TERM/30/KILL/5
--pidfile $PIDFILE --name $NAME

        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2

        return "$RETVAL"
}

function do_reload() {
        #
        # If the daemon can reload its configuration without
        # restarting (for example, when it is sent a SIGHUP),
        # then implement that here.
        #
        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE
--name $NAME

        return 0
}

case "$1" in
        start)

        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"

        do_start

        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2)   [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac

        ;;

        stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2)   [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;

        restart|force-reload)
        #
        # If the "reload" option is implemented then remove the
        # 'force-reload' alias
        #
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1)
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 3
        ;;
esac

exit 0

Attachment: bongo-manager.default.debian.in
Description: Binary data

Attachment: bongo-manager.init.debian.in
Description: Binary data

_______________________________________________
Bongo-devel mailing list
Bongo-devel@gna.org
https://mail.gna.org/listinfo/bongo-devel
  • [Bongo-devel] Debian Initscripts Igor Morgado