Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Mar 2015 17:30:53 +0000 (UTC)
From:      Bartek Rutkowski <robak@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r380277 - in head/multimedia/cx88: . files
Message-ID:  <201503021730.t22HUrXJ074728@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: robak
Date: Mon Mar  2 17:30:53 2015
New Revision: 380277
URL: https://svnweb.freebsd.org/changeset/ports/380277
QAT: https://qat.redports.org/buildarchive/r380277/

Log:
  multimedia/cx88: fix rc startup script
  
  PR:		197574
  Submitted by:	Jason Harmening <jason.harmening@gmail.com>

Added:
  head/multimedia/cx88/files/
  head/multimedia/cx88/files/cx88d.in   (contents, props changed)
Modified:
  head/multimedia/cx88/Makefile
  head/multimedia/cx88/pkg-plist

Modified: head/multimedia/cx88/Makefile
==============================================================================
--- head/multimedia/cx88/Makefile	Mon Mar  2 17:14:42 2015	(r380276)
+++ head/multimedia/cx88/Makefile	Mon Mar  2 17:30:53 2015	(r380277)
@@ -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
 
 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
 

Added: head/multimedia/cx88/files/cx88d.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/cx88/files/cx88d.in	Mon Mar  2 17:30:53 2015	(r380277)
@@ -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
+

Modified: head/multimedia/cx88/pkg-plist
==============================================================================
--- head/multimedia/cx88/pkg-plist	Mon Mar  2 17:14:42 2015	(r380276)
+++ head/multimedia/cx88/pkg-plist	Mon Mar  2 17:30:53 2015	(r380277)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503021730.t22HUrXJ074728>