diff --git a/libraries/provider_runit_service.rb b/libraries/provider_runit_service.rb index d1b9c8f..3ed1661 100644 --- a/libraries/provider_runit_service.rb +++ b/libraries/provider_runit_service.rb @@ -224,7 +224,7 @@ def whyrun_supported? end # lsb_init - if node['platform'] == 'debian' + if node['platform'] == 'debian' || node['platform'] == 'ubuntu' ruby_block "unlink #{parsed_lsb_init_dir}/#{new_resource.service_name}" do block { ::File.unlink("#{parsed_lsb_init_dir}/#{new_resource.service_name}") } only_if { ::File.symlink?("#{parsed_lsb_init_dir}/#{new_resource.service_name}") } diff --git a/templates/ubuntu/init.d.erb b/templates/ubuntu/init.d.erb new file mode 100755 index 0000000..d9f09e3 --- /dev/null +++ b/templates/ubuntu/init.d.erb @@ -0,0 +1,92 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: <%= @name %> +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: +# Short-Description: initscript for runit-managed <%= @name %> service +### END INIT INFO + +# Author: Chef Software, Inc. + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="runit-managed <%= @name %>" +NAME=<%= @name %> +RUNIT=<%= @sv_bin %> +RUNIT_ARGS="<%= @sv_args %>" +SCRIPTNAME=<%= @init_dir %>$NAME + +# Exit if runit is not installed +[ -x $RUNIT ] || exit 0 + +# 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 + + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" + $RUNIT $RUNIT_ARGS start $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + $RUNIT $RUNIT_ARGS stop $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + status) + $RUNIT $RUNIT_ARGS status $NAME && exit 0 || exit $? + ;; + reload) + [ "$VERBOSE" != no ] && log_daemon_msg "Reloading $DESC" "$NAME" + $RUNIT $RUNIT_ARGS reload $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + force-reload) + [ "$VERBOSE" != no ] && log_daemon_msg "Force reloading $DESC" "$NAME" + $RUNIT $RUNIT_ARGS force-reload $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + force-stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Force stopping $DESC" "$NAME" + $RUNIT $RUNIT_ARGS force-stop $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + force-restart) + [ "$VERBOSE" != no ] && log_daemon_msg "Force restarting $DESC" "$NAME" + $RUNIT $RUNIT_ARGS force-restart $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + force-shutdown) + [ "$VERBOSE" != no ] && log_daemon_msg "Force shutdowning $DESC" "$NAME" + $RUNIT $RUNIT_ARGS force-shutdown $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + restart) + [ "$VERBOSE" != no ] && log_daemon_msg "Restarting $DESC" "$NAME" + $RUNIT $RUNIT_ARGS restart $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + shutdown) + [ "$VERBOSE" != no ] && log_daemon_msg "Shutdowning $DESC" "$NAME" + $RUNIT $RUNIT_ARGS shutdown $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + try-restart) + [ "$VERBOSE" != no ] && log_daemon_msg "Try restarting $DESC" "$NAME" + $RUNIT $RUNIT_ARGS try-restart $NAME + [ "$VERBOSE" != no ] && log_end_msg $? + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|reload|force-reload|force-restart|force-shutdown|force-stop|restart|shutdown|try-restart}" >&2 + exit 3 + ;; +esac + +: +