freebsd-ports/www/amphetadesk/files/amphetadesk.sh
Mario Sergio Fujikawa Ferreira ca7d54cfa7 o Take over maintainership on previous maintainers request
o Uphold hier(7)
o Add rc.d(8) rc.subr(8) script
o Fix several warnings
o Change default rss channels to BSD based ones:
  - http://www.freebsd.org/
  - http://www.freshports.org/
  - http://www.oreillynet.com/pub/au/73
  - http://bsdnews.com/
o Fetch an updated full channel list from the Internet if none
  previously exist
o Add fork(2)/exec(3) browser support with signal(3) SIGCHLD handling
o AmphetaDesk now allows per user configurations. Due to that, it
  now requires a user with a home directory so that. One can use
  the rc.d script to choose a user to launch AmphetaDesk from startup
  or just to run it normally from any user other than root
o Bump PORTREVISION

Approved by:	Kenneth Stailey <kstailey@yahoo.com> (previous maintainer)
2005-10-11 22:10:24 +00:00

64 lines
1.4 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# Under a BSDL license. Copyright 2005. Mario S F Ferreira <lioux@FreeBSD.org>
# PROVIDE: amphetadesk
# REQUIRE: LOGIN
# KEYWORD: FreeBSD shutdown
#
# Add the following lines to /etc/rc.conf to enable amphetadesk:
#
#amphetadesk_enable="YES"
#amphetadesk_user=""
#amphetadesk_pidfile=""
#
. /etc/rc.subr
name="amphetadesk"
rcvar=`set_rcvar`
command="%%PREFIX%%/bin/AmphetaDesk"
procname="%%PERL%%"
load_rc_config "${name}"
: ${amphetadesk_enable="NO"}
: ${amphetadesk_user=""}
if [ -n "${amphetadesk_user}" ]; then
eval realpath ~${amphetadesk_user} >/dev/null 2>&1 &&
amphetadesk_homedir="$(eval realpath ~${amphetadesk_user})"
fi
if [ -n "${amphetadesk_user}" -a -z "${amphetadesk_pidfile}" -a -n "${amphetadesk_homedir}" ]; then
amphetadesk_pidfile="${amphetadesk_homedir}/.${name}/AmphetaDesk.pid"
fi
pidfile="${amphetadesk_pidfile:-${HOME}/.${name}/AmphetaDesk.pid}"
start_cmd="start_cmd"
start_precmd="amphetadesk_check_vars"
stop_precmd="amphetadesk_check_vars"
status_precmd="amphetadesk_check_vars"
amphetadesk_check_vars()
{
if [ -z "${amphetadesk_user}" ]; then
amphetadesk_user=$(whoami)
fi
if [ "x${amphetadesk_user}" = "xroot" ]; then
err 1 "You have to set amphetadesk_user to a non-root user for security reasons"
fi
}
start_cmd()
{
su -l ${amphetadesk_user} \
-c "env PIDFILE=${pidfile} ${command} &"
}
run_rc_command "$1"