diff options
author | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2005-10-11 22:10:24 +0000 |
---|---|---|
committer | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2005-10-11 22:10:24 +0000 |
commit | ca7d54cfa73c075de1d95f7cd336c4f51a13f3ca (patch) | |
tree | cf16fadb65e284d3cb1ca4707989baaf7959e7ce /www/amphetadesk/files/amphetadesk.sh | |
parent | Update to 3.5.4 (diff) |
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)
Diffstat (limited to 'www/amphetadesk/files/amphetadesk.sh')
-rw-r--r-- | www/amphetadesk/files/amphetadesk.sh | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/www/amphetadesk/files/amphetadesk.sh b/www/amphetadesk/files/amphetadesk.sh new file mode 100644 index 000000000000..330554953316 --- /dev/null +++ b/www/amphetadesk/files/amphetadesk.sh @@ -0,0 +1,64 @@ +#!/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" |