From owner-svn-ports-all@freebsd.org Sun Jan 3 15:55:24 2016 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D892A60439; Sun, 3 Jan 2016 15:55:24 +0000 (UTC) (envelope-from riggs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4CE211BB6; Sun, 3 Jan 2016 15:55:24 +0000 (UTC) (envelope-from riggs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u03FtNDC050747; Sun, 3 Jan 2016 15:55:23 GMT (envelope-from riggs@FreeBSD.org) Received: (from riggs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u03FtNhx050742; Sun, 3 Jan 2016 15:55:23 GMT (envelope-from riggs@FreeBSD.org) Message-Id: <201601031555.u03FtNhx050742@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: riggs set sender to riggs@FreeBSD.org using -f From: Thomas Zander Date: Sun, 3 Jan 2016 15:55:23 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r405166 - in head/multimedia/oscam: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 15:55:24 -0000 Author: riggs Date: Sun Jan 3 15:55:22 2016 New Revision: 405166 URL: https://svnweb.freebsd.org/changeset/ports/405166 Log: Add rc script, enable communication with multimedia/tvheadend PR: 205569 Submitted by: franz@bett.ag (maintainer) Reviewed by: riggs Approved by: franz@bett.ag (maintainer) Added: head/multimedia/oscam/files/oscam.in (contents, props changed) head/multimedia/oscam/files/patch-module-dvbapi.c (contents, props changed) Modified: head/multimedia/oscam/Makefile head/multimedia/oscam/files/patch-config.h (contents, props changed) Modified: head/multimedia/oscam/Makefile ============================================================================== --- head/multimedia/oscam/Makefile Sun Jan 3 15:21:12 2016 (r405165) +++ head/multimedia/oscam/Makefile Sun Jan 3 15:55:22 2016 (r405166) @@ -3,6 +3,7 @@ PORTNAME= oscam PORTVERSION= 1.20 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= http://el8.nl/~fbettag/oscam/ @@ -12,6 +13,7 @@ COMMENT= Softcam software to decrypt dig LICENSE= GPLv3 USES= gmake tar:bzip2 +USE_RC_SUBR= oscam MAKE_ARGS+= HOSTCC=clang CC=clang .if target(gen-dist) Added: head/multimedia/oscam/files/oscam.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/oscam/files/oscam.in Sun Jan 3 15:55:22 2016 (r405166) @@ -0,0 +1,46 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: oscam +# REQUIRE: DAEMON +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf[.local] to enable oscam +# +# oscam_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable oscam. +# oscam_flags (str): Custom flags for oscam. + +. /etc/rc.subr + +name=oscam +rcvar=oscam_enable +load_rc_config $name + +: ${oscam_enable:=NO} + +pidfile="/var/run/${name}.pid" +confdir="/usr/local/etc/oscam" +logdir="/var/log/oscam" +command="/usr/local/bin/oscam" + +command_args="-b -B ${pidfile} -c ${confdir}" +start_precmd="${name}_prestart" + +PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin + +oscam_prestart() +{ + if [ ! -f "${pidfile}" ]; then + /usr/bin/install -m 644 /dev/null ${pidfile} + fi + if [ ! -d "${confdir}" ]; then + /usr/bin/install -m 755 -d ${confdir} + fi + if [ ! -d "${logdir}" ]; then + /usr/bin/install -m 755 -d ${logdir} + fi +} + +run_rc_command "$1" Modified: head/multimedia/oscam/files/patch-config.h ============================================================================== --- head/multimedia/oscam/files/patch-config.h Sun Jan 3 15:21:12 2016 (r405165) +++ head/multimedia/oscam/files/patch-config.h Sun Jan 3 15:55:22 2016 (r405166) @@ -1,15 +1,18 @@ --- config.h.orig 2015-09-30 21:11:35 UTC +++ config.h -@@ -7,7 +7,7 @@ +@@ -5,10 +5,8 @@ + #define WEBIF_LIVELOG 1 + #define WEBIF_JQUERY 1 #define TOUCH 1 - //#define WITH_SSL 1 - #if defined(__linux__) || defined(__CYGWIN__) --#define HAVE_DVBAPI 1 -+//#define HAVE_DVBAPI 1 - #endif +-//#define WITH_SSL 1 +-#if defined(__linux__) || defined(__CYGWIN__) ++#define WITH_SSL 1 + #define HAVE_DVBAPI 1 +-#endif #define READ_SDT_CHARSETS 1 #define CLOCKFIX 1 -@@ -23,18 +23,18 @@ + #define IRDETO_GUESSING 1 +@@ -23,18 +21,18 @@ #define MODULE_MONITOR 1 //#define MODULE_CAMD33 1 Added: head/multimedia/oscam/files/patch-module-dvbapi.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/oscam/files/patch-module-dvbapi.c Sun Jan 3 15:55:22 2016 (r405166) @@ -0,0 +1,48 @@ +--- module-dvbapi.c.orig 2015-10-10 17:22:23 UTC ++++ module-dvbapi.c +@@ -3,7 +3,6 @@ + #include "globals.h" + + #ifdef HAVE_DVBAPI +- + #include "module-dvbapi.h" + #include "module-cacheex.h" + #include "module-dvbapi-azbox.h" +@@ -4290,6 +4289,7 @@ static void *dvbapi_main_local(void *cli + { + int32_t i, j; + struct s_client *client = (struct s_client *) cli; ++ const char pmt_server_socket[]="/tmp/.listen.camd.socket"; + client->thread = pthread_self(); + SAFE_SETSPECIFIC(getclient, cli); + +@@ -4298,11 +4298,9 @@ static void *dvbapi_main_local(void *cli + int32_t maxpfdsize = (MAX_DEMUX * maxfilter) + MAX_DEMUX + 2; + struct pollfd pfd2[maxpfdsize]; + struct timeb start, end; // start time poll, end time poll +-#define PMT_SERVER_SOCKET "/tmp/.listen.camd.socket" + struct sockaddr_un saddr; + saddr.sun_family = AF_UNIX; +- strncpy(saddr.sun_path, PMT_SERVER_SOCKET, 107); +- saddr.sun_path[107] = '\0'; ++ strncpy(saddr.sun_path, pmt_server_socket, sizeof(saddr.sun_path)/sizeof(saddr.sun_path[0])); + + int32_t rc, pfdcount, g, connfd, clilen; + int32_t ids[maxpfdsize], fdn[maxpfdsize], type[maxpfdsize]; +@@ -4366,13 +4364,15 @@ static void *dvbapi_main_local(void *cli + signal_action.sa_flags = SA_RESTART; + sigaction(SIGRTMIN + 1, &signal_action, NULL); + ++ /* + dir_fd = open(TMPDIR, O_RDONLY); + if(dir_fd >= 0) + { + fcntl(dir_fd, F_SETSIG, SIGRTMIN + 1); + fcntl(dir_fd, F_NOTIFY, DN_MODIFY | DN_CREATE | DN_DELETE | DN_MULTISHOT); + event_handler(SIGRTMIN + 1); +- } ++ }*/ ++ cs_log("Only PMT 4-6 supported on FreeBSD, sorry..."); + } + else + {