multimedia/cx88: fix rc startup script
PR: 197574 Submitted by: Jason Harmening <jason.harmening@gmail.com>
This commit is contained in:
parent
84bdb03933
commit
6617121520
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=380277
3 changed files with 75 additions and 2 deletions
|
@ -3,6 +3,7 @@
|
|||
|
||||
PORTNAME= cx88
|
||||
PORTVERSION= 1.4.11
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= multimedia
|
||||
MASTER_SITES= ftp://corona.homeunix.net/ports/cx88/
|
||||
|
||||
|
@ -17,7 +18,8 @@ BUILD_DEPENDS= ${LOCALBASE}/lib/libezxml.a:${PORTSDIR}/textproc/ezxml \
|
|||
|
||||
MAKE_ARGS+= LIBTUNER_LIB=${LOCALBASE}/lib/libtuner LIBTUNER_HEADER=${LOCALBASE}/include/libtuner KMODDIR=${KMODDIR} PREFIX=${STAGEDIR}${PREFIX}
|
||||
MAKE_JOBS_UNSAFE= yes
|
||||
USES= kmod pkgconfig uidfix
|
||||
USES= kmod pkgconfig uidfix
|
||||
USE_RC_SUBR= cx88d
|
||||
|
||||
OPTIONS_DEFINE= DEBUG LINUX_COMPAT HAL
|
||||
|
||||
|
|
72
multimedia/cx88/files/cx88d.in
Normal file
72
multimedia/cx88/files/cx88d.in
Normal file
|
@ -0,0 +1,72 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: cx88d
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following line to /etc/rc.conf[.local] to enable cx88d
|
||||
#
|
||||
# cx88d_enable (bool): Set to "NO" by default.
|
||||
# Set it to "YES" to enable cx88d.
|
||||
# cx88d_args (str): Extra arguments to be passed to all cx88 instances (default "-p 0 -q -h -u dvb://")
|
||||
# cx88d_devs (str): Whitespace-delimited list of devices on which
|
||||
# to enable DVB capture (e.g. cx88d_devs="cx88mpeg0 cx88mpeg2").
|
||||
# Defaults to all cx88mpeg devices under /dev.
|
||||
# cx88d_{dev}_args (str) Extra arguments to be passed to cx88 instance for specific device
|
||||
# (e.g. cx88d_cx88mpeg1_args="-u udp://127.0.0.1:8802") (default empty)
|
||||
#
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="cx88d"
|
||||
rcvar=cx88d_enable
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
: ${cx88d_enable:="NO"}
|
||||
: ${cx88d_args="-p 0 -q -h -u dvb://"}
|
||||
|
||||
procname="%%PREFIX%%/bin/cx88"
|
||||
command="/usr/sbin/daemon"
|
||||
|
||||
cx88d_showports() {
|
||||
printf "PORT\tCMMMAND\n"
|
||||
sockstat -l -P tcp | grep cx88 | while read line; do
|
||||
command=""
|
||||
port=""
|
||||
for field in $line; do
|
||||
if [ `expr "$field" : "[0-9]*"` -gt 0 -a "$command" = "" ]; then
|
||||
command=`ps -o command= -p $field`
|
||||
elif [ `expr "$field" : "\*:[0-9]*"` -gt 2 -a "$port" = "" ]; then
|
||||
port=`echo $field | cut -c 3-`
|
||||
fi
|
||||
done
|
||||
printf "$port\t$command\n"
|
||||
done
|
||||
}
|
||||
|
||||
extra_commands="showports"
|
||||
showports_cmd="${name}_showports"
|
||||
|
||||
case $1 in
|
||||
*showports)
|
||||
run_rc_command "$1"
|
||||
;;
|
||||
*rcvar)
|
||||
run_rc_command "$1"
|
||||
;;
|
||||
*)
|
||||
if [ -z "${cx88d_devs}" ]; then
|
||||
cx88d_devs=`ls /dev/cx88mpeg* | cut -c 6-`
|
||||
fi
|
||||
for devnode in ${cx88d_devs}; do
|
||||
pidfile="/var/run/cx88d.${devnode}.pid"
|
||||
eval cx88d_instance_flags=\$cx88d_${devnode}_args
|
||||
command_args="-fp ${pidfile} ${procname} -d /dev/${devnode} ${cx88d_args} ${cx88d_instance_flags}"
|
||||
run_rc_command "$1"
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
|
@ -8,7 +8,6 @@ bin/cx88
|
|||
%%EXAMPLESDIR%%/cx88_mpeg_client.cpp
|
||||
%%EXAMPLESDIR%%/hd3k_analog_kbuf.cpp
|
||||
%%EXAMPLESDIR%%/tuner_config
|
||||
etc/rc.d/cx88d
|
||||
include/iicdev/iicdev_ioctl.h
|
||||
include/cx88/cx88_common_ioctl.h
|
||||
include/cx88/cx88_mpeg_ioctl.h
|
||||
|
|
Loading…
Reference in a new issue