#!/sbin/runscript
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
	need localmount net
	use dns logger puppetmaster netmount nfsmount
}

checkconfig() {
	if [ ! -d "${PUPPET_PID_DIR}" ] ; then
		eerror "Please make sure PUPPET_PID_DIR is defined and points to a existing directory"
		return 1
	fi

	return 0
}

start() {
	checkconfig || return $?

	local options=""
	[ -n "${PUPPET_EXTRA_OPTS}" ] && options="${options} ${PUPPET_EXTRA_OPTS}"

	ebegin "Starting puppet"
	start-stop-daemon --start --quiet \
		--pidfile "${PUPPET_PID_DIR}/agent.pid" \
		--exec /usr/bin/puppetd -- ${options}
	eend $? "Failed to start puppet"
}

stop() {
	ebegin "Stopping puppet"
	start-stop-daemon --stop --quiet \
		--pidfile "${PUPPET_PID_DIR}/agent.pid"
	local ret=$?
	eend ${ret} "Failed to stop puppet"
	rm -f "${PUPPET_PID_DIR}/agent.pid"
	return ${ret}
}
