View | Details | Raw Unified | Return to bug 205569 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (+2 lines)
Lines 3-8 Link Here
3
3
4
PORTNAME=	oscam
4
PORTNAME=	oscam
5
PORTVERSION=	1.20
5
PORTVERSION=	1.20
6
PORTREVISION=	1
6
CATEGORIES=	multimedia
7
CATEGORIES=	multimedia
7
MASTER_SITES=	http://el8.nl/~fbettag/oscam/
8
MASTER_SITES=	http://el8.nl/~fbettag/oscam/
8
9
Lines 12-17 Link Here
12
LICENSE=	GPLv3
13
LICENSE=	GPLv3
13
14
14
USES=		gmake tar:bzip2
15
USES=		gmake tar:bzip2
16
USE_RC_SUBR=	oscam
15
MAKE_ARGS+=	HOSTCC=clang CC=clang
17
MAKE_ARGS+=	HOSTCC=clang CC=clang
16
18
17
.if target(gen-dist)
19
.if target(gen-dist)
(-)files/oscam.in (+46 lines)
Line 0 Link Here
1
#!/bin/sh
2
3
# $FreeBSD$
4
#
5
# PROVIDE: oscam
6
# REQUIRE: DAEMON
7
# KEYWORD: shutdown
8
#
9
# Add the following line to /etc/rc.conf[.local] to enable oscam
10
#
11
# oscam_enable (bool):	Set to "NO" by default.
12
#				Set it to "YES" to enable oscam.
13
# oscam_flags (str):	Custom flags for oscam.
14
15
. /etc/rc.subr
16
17
name=oscam
18
rcvar=oscam_enable
19
load_rc_config $name
20
21
: ${oscam_enable:=NO}
22
23
pidfile="/var/run/${name}.pid"
24
confdir="/usr/local/etc/oscam"
25
logdir="/var/log/oscam"
26
command="/usr/local/bin/oscam"
27
28
command_args="-b -B ${pidfile} -c ${confdir}" 
29
start_precmd="${name}_prestart"
30
31
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
32
33
oscam_prestart()
34
{
35
	if [ ! -f "${pidfile}" ]; then
36
		/usr/bin/install -m 644 /dev/null ${pidfile}
37
	fi
38
	if [ ! -d "${confdir}" ]; then
39
		/usr/bin/install -m 755 -d ${confdir}
40
	fi
41
	if [ ! -d "${logdir}" ]; then
42
		/usr/bin/install -m 755 -d ${logdir}
43
	fi
44
}
45
46
run_rc_command "$1"
(-)files/patch-config.h (-7 / +10 lines)
Lines 1-15 Link Here
1
--- config.h.orig	2015-09-30 21:11:35 UTC
1
--- config.h.orig	2015-09-30 21:11:35 UTC
2
+++ config.h
2
+++ config.h
3
@@ -7,7 +7,7 @@
3
@@ -5,10 +5,8 @@
4
 #define WEBIF_LIVELOG 1
5
 #define WEBIF_JQUERY 1
4
 #define TOUCH 1
6
 #define TOUCH 1
5
 //#define WITH_SSL 1
7
-//#define WITH_SSL 1
6
 #if defined(__linux__) || defined(__CYGWIN__)
8
-#if defined(__linux__) || defined(__CYGWIN__)
7
-#define HAVE_DVBAPI 1
9
+#define WITH_SSL 1
8
+//#define HAVE_DVBAPI 1
10
 #define HAVE_DVBAPI 1
9
 #endif
11
-#endif
10
 #define READ_SDT_CHARSETS 1
12
 #define READ_SDT_CHARSETS 1
11
 #define CLOCKFIX 1
13
 #define CLOCKFIX 1
12
@@ -23,18 +23,18 @@
14
 #define IRDETO_GUESSING 1
15
@@ -23,18 +21,18 @@
13
 #define MODULE_MONITOR 1
16
 #define MODULE_MONITOR 1
14
 
17
 
15
 //#define MODULE_CAMD33 1
18
 //#define MODULE_CAMD33 1
(-)files/patch-module-dvbapi.c (+48 lines)
Line 0 Link Here
1
--- module-dvbapi.c.orig	2015-10-10 17:22:23 UTC
2
+++ module-dvbapi.c
3
@@ -3,7 +3,6 @@
4
 #include "globals.h"
5
 
6
 #ifdef HAVE_DVBAPI
7
-
8
 #include "module-dvbapi.h"
9
 #include "module-cacheex.h"
10
 #include "module-dvbapi-azbox.h"
11
@@ -4290,6 +4289,7 @@ static void *dvbapi_main_local(void *cli
12
 {
13
 	int32_t i, j;
14
 	struct s_client *client = (struct s_client *) cli;
15
+	const char pmt_server_socket[]="/tmp/.listen.camd.socket";
16
 	client->thread = pthread_self();
17
 	SAFE_SETSPECIFIC(getclient, cli);
18
 
19
@@ -4298,11 +4298,9 @@ static void *dvbapi_main_local(void *cli
20
 	int32_t maxpfdsize = (MAX_DEMUX * maxfilter) + MAX_DEMUX + 2;
21
 	struct pollfd pfd2[maxpfdsize];
22
 	struct timeb start, end;  // start time poll, end time poll
23
-#define PMT_SERVER_SOCKET "/tmp/.listen.camd.socket"
24
 	struct sockaddr_un saddr;
25
 	saddr.sun_family = AF_UNIX;
26
-	strncpy(saddr.sun_path, PMT_SERVER_SOCKET, 107);
27
-	saddr.sun_path[107] = '\0';
28
+	strncpy(saddr.sun_path, pmt_server_socket, sizeof(saddr.sun_path)/sizeof(saddr.sun_path[0]));
29
 
30
 	int32_t rc, pfdcount, g, connfd, clilen;
31
 	int32_t ids[maxpfdsize], fdn[maxpfdsize], type[maxpfdsize];
32
@@ -4366,13 +4364,15 @@ static void *dvbapi_main_local(void *cli
33
 		signal_action.sa_flags = SA_RESTART;
34
 		sigaction(SIGRTMIN + 1, &signal_action, NULL);
35
 
36
+        /*
37
 		dir_fd = open(TMPDIR, O_RDONLY);
38
 		if(dir_fd >= 0)
39
 		{
40
 			fcntl(dir_fd, F_SETSIG, SIGRTMIN + 1);
41
 			fcntl(dir_fd, F_NOTIFY, DN_MODIFY | DN_CREATE | DN_DELETE | DN_MULTISHOT);
42
 			event_handler(SIGRTMIN + 1);
43
-		}
44
+		}*/
45
+        cs_log("Only PMT 4-6 supported on FreeBSD, sorry...");
46
 	}
47
 	else
48
 	{

Return to bug 205569