freebsd-ports/multimedia/freevo/files/freevo.in
Mathieu Arnold 551be3c723 Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored.  They will
  automatically get flavors (py27, py34, py35, py36) depending on what
  versions they support.

  There is also a USE_PYTHON=flavors for ports that do not use distutils
  but need FLAVORS to be set.  A USE_PYTHON=noflavors can be set if
  using distutils but flavors are not wanted.

  A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
  added to cope with Python ports that did not have the Python
  PKGNAMEPREFIX but are flavored.

  USES=python now also exports a PY_FLAVOR variable that contains the
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
2017-11-30 15:50:30 +00:00

80 lines
2 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: freevo
# REQUIRE: LOGIN
# KEYWORD: shutdown
# Uses the following /etc/rc.conf variables:
# freevo_enable="YES" master on/off
# freevo_recordserver_enable="YES" start freevo record server
# freevo_webserver_enable="YES" start freevo web server
# freevo_gui_enable="YES" start freevo GUI
. /etc/rc.subr
name=freevo
rcvar=freevo_enable
load_rc_config ${name}
: ${freevo_enable:="NO"}
: ${freevo_recordserver_enable:="NO"}
: ${freevo_webserver_enable:="NO"}
: ${freevo_gui_enable:="NO"}
freevo_user=${freevo_user:-"freevo"}
freevo_group=${freevo_group:-"freevo"}
freevo_uid=`pw usershow ${freevo_user} | awk -F: '{print $3}'`
freevo_dir=`pw usershow ${freevo_user} | awk -F: '{print $9}'`
command="%%PREFIX%%/bin/freevo"
command_interpreter="%%PYTHON_CMD%%"
# freevo needs PATH set so it can determine python version
export PATH=/bin:/usr/bin:%%PREFIX%%/bin:${freevo_dir}/bin
cd ${freevo_dir}
msg() {
case "${no_msg}" in
1) ;;
*) echo "$@" ;;
esac
}
freevo_start() {
[ ${freevo_recordserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --daemon recordserver" && msg Starting freevo recordserver.
[ ${freevo_webserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --daemon webserver" && msg Starting freevo webserver.
[ ${freevo_gui_enable} = "YES" ] && su ${freevo_user} -c "${command} --daemon" && msg Starting freevo GUI.
}
freevo_stop() {
[ ${freevo_gui_enable} = "YES" ] && su ${freevo_user} -c "${command} --stop" && msg Stopping freevo GUI.
[ ${freevo_webserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --stop webserver" && msg Stopping freevo webserver.
[ ${freevo_recordserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --stop recordserver" && msg Stopping freevo recordserver.
}
case "$1" in
start|faststart|onestart)
freevo_start
;;
quietstart)
no_msg=1
freevo_start
;;
stop|faststop|onestop)
freevo_stop
;;
quietstop)
no_msg=1
freevo_stop
;;
restart)
freevo_stop
freevo_start
;;
esac