ports/115459: Update for net/mediaproxy port
Blaz Zupan
blaz at si.FreeBSD.org
Mon Aug 13 08:40:03 UTC 2007
>Number: 115459
>Category: ports
>Synopsis: Update for net/mediaproxy port
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 13 08:40:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Blaz Zupan
>Release: FreeBSD 6.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD gold.inlimbo.org 6.2-STABLE FreeBSD 6.2-STABLE #7: Sun Aug 12 20:15:44 CEST 2007 blaz at gold.inlimbo.org:/usr/obj/usr/src/sys/GOLD i386
>Description:
The net/mediaproxy is broken in multiple ways:
1. The proxy dispatcher does not start if py-MySQLdb is not installed,
but the port has no dependency on py-MySQLdb.
2. The proxy dispatcher does not start if pyrad (Python RADIUS) is not
installed, but there is no FreeBSD port of it and no dependency on it
in the port.
3. The port does not deinstall cleanly, because Python generates compiled
files when you startup mediaproxy and the compiled files are not included
in the pkg-plist.
The attached patch fixes those problems. I have removed the accounting option,
because the dependency on MySQL seems to be hardcoded in mediaproxy. The
patch includes a dependency on pyrad, I will submit a port of pyrad in a
separate PR.
>How-To-Repeat:
>Fix:
diff -urN mediaproxy.orig/Makefile mediaproxy/Makefile
--- mediaproxy.orig/Makefile 2007-06-01 09:27:12.000000000 +0200
+++ mediaproxy/Makefile 2007-08-13 09:57:47.000000000 +0200
@@ -6,7 +6,7 @@
PORTNAME= mediaproxy
PORTVERSION= 1.8.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= http://mediaproxy.ag-projects.com/ \
http://mediaproxy.ag-projects.com/old/
@@ -15,22 +15,17 @@
MAINTAINER= steve at energistic.com
COMMENT= A far-end NAT traversal solution for SER/OpenSER
-USE_RC_SUBR= mediaproxy.sh
-
-WRKSRC= ${WRKDIR}/${PORTNAME}
+RUN_DEPENDS= ${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages/MySQLdb/__init__.py:${PORTSDIR}/databases/py-MySQLdb
+RUN_DEPENDS+= ${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages/pyrad/__init__.py:${PORTSDIR}/net/pyrad
+USE_RC_SUBR= mediaproxy proxydispatcher
USE_PYTHON= 2.3+
-OPTIONS= ACCOUNTING "ACCOUNTING support (Requires MySQL)" off
-
-.include <bsd.port.pre.mk>
-
-.if defined(WITH_ACCOUNTING)
-USE_MYSQL= yes
-.endif
+post-extract:
+ ${MV} ${WRKDIR}/${PORTNAME} ${WRKSRC}
post-install:
${CP} -pRP ${WRKSRC}/ ${PREFIX}/mediaproxy
${CHOWN} -R 0:0 ${PREFIX}/mediaproxy
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff -urN mediaproxy.orig/files/mediaproxy.in mediaproxy/files/mediaproxy.in
--- mediaproxy.orig/files/mediaproxy.in 1970-01-01 01:00:00.000000000 +0100
+++ mediaproxy/files/mediaproxy.in 2007-08-13 09:56:21.000000000 +0200
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: mediaproxy
+# BEFORE: proxydispatcher openser ser
+#
+prefix=%%PREFIX%%
+
+# Add the following lines to /etc/rc.conf to enable mediaproxy:
+#
+# mediaproxy_enable="YES"
+
+. %%RC_SUBR%%
+
+name="mediaproxy"
+rcvar=`set_rcvar`
+command="${prefix}/bin/python"
+command_args="${prefix}/mediaproxy/mediaproxy.py"
+pidfile=${mediaproxy_pidfile:-"/var/run/mediaproxy.pid"}
+sig_stop="KILL"
+
+load_rc_config $name
+
+: ${mediaproxy_enable="NO"}
+
+stop_postcmd=stop_postcmd
+
+stop_postcmd()
+{
+ rm -f $pidfile
+}
+
+run_rc_command "$1"
diff -urN mediaproxy.orig/files/mediaproxy.sh.in mediaproxy/files/mediaproxy.sh.in
--- mediaproxy.orig/files/mediaproxy.sh.in 2006-09-28 00:05:43.000000000 +0200
+++ mediaproxy/files/mediaproxy.sh.in 1970-01-01 01:00:00.000000000 +0100
@@ -1,86 +0,0 @@
-#!/bin/sh
-#
-# mediaproxy starts and stops the SER MediaProxy server
-
-# PROVIDE: mediaproxy
-
-# Add the following line to /etc/rc.conf to enable mysql:
-# mediaproxy_enable (bool): Set to "NO" by default.
-# Set it to "YES" to enable mediaproxy.
-
-. /etc/rc.subr
-
-name="mediaproxy"
-rcvar=`set_rcvar`
-
-load_rc_config $name
-
-: ${mediaproxy_enable="NO"}
-
-INSTALL_DIR="%%PREFIX%%"
-RUNTIME_DIR="/var/run"
-
-PROXY="$INSTALL_DIR/mediaproxy/mediaproxy.py"
-DISPATCHER="$INSTALL_DIR/mediaproxy/proxydispatcher.py"
-PROXY_PID="$RUNTIME_DIR/mediaproxy.pid"
-DISPATCHER_PID="$RUNTIME_DIR/proxydispatcher.pid"
-
-# Options for mediaproxy and dispatcher. Do not include --pid <pidfile>
-# --pid <pidfile> will be added automatically if needed.
-PROXY_OPTIONS=""
-DISPATCHER_OPTIONS=""
-
-NAME="mediaproxy"
-DESC="SER MediaProxy server"
-
-echo $PROXY
-test -f $PROXY || exit 0
-test -f $DISPATCHER || exit 0
-
-if [ "$PROXY_PID" != "/var/run/mediaproxy.pid" ]; then
- PROXY_OPTIONS="--pid $PROXY_PID $PROXY_OPTIONS"
-fi
-if [ "$DISPATCHER_PID" != "/var/run/proxydispatcher.pid" ]; then
- DISPATCHER_OPTIONS="--pid $DISPATCHER_PID $DISPATCHER_OPTIONS"
-fi
-
-start() {
- if [ $mediaproxy_enable = "YES" ]; then
- echo -n "Starting $DESC: $NAME"
- $PROXY $PROXY_OPTIONS
- $DISPATCHER $DISPATCHER_OPTIONS
- echo "."
- fi
-}
-
-stop () {
- echo -n "Stopping $DESC: $NAME"
- if [ -f $PROXY_PID ]; then
- kill `cat $PROXY_PID`
- fi
- if [ -f $DISPATCHER_PID ]; then
- kill `cat $DISPATCHER_PID`
- fi
- echo "."
-}
-
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart|force-reload)
- stop
- #sleep 1
- start
- ;;
- *)
- echo "Usage: ${INSTALL_DIR}/etc/rc.d/$NAME {start|stop|restart|force-reload}" >&2
- exit 1
- ;;
-esac
-
-exit 0
-
diff -urN mediaproxy.orig/files/proxydispatcher.in mediaproxy/files/proxydispatcher.in
--- mediaproxy.orig/files/proxydispatcher.in 1970-01-01 01:00:00.000000000 +0100
+++ mediaproxy/files/proxydispatcher.in 2007-08-13 09:56:21.000000000 +0200
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: proxydispatcher
+# BEFORE: openser ser
+#
+prefix=%%PREFIX%%
+
+# Add the following lines to /etc/rc.conf to enable proxydispatcher:
+#
+# proxydispatcher_enable="YES"
+
+. %%RC_SUBR%%
+
+name="proxydispatcher"
+rcvar=`set_rcvar`
+command="${prefix}/bin/python"
+command_args="${prefix}/mediaproxy/proxydispatcher.py"
+pidfile=${proxydispatcher_pidfile:-"/var/run/proxydispatcher.pid"}
+sig_stop="KILL"
+
+load_rc_config $name
+
+: ${proxydispatcher_enable="NO"}
+
+stop_postcmd=stop_postcmd
+
+stop_postcmd()
+{
+ rm -f $pidfile
+}
+
+run_rc_command "$1"
diff -urN mediaproxy.orig/pkg-plist mediaproxy/pkg-plist
--- mediaproxy.orig/pkg-plist 2007-06-01 09:27:12.000000000 +0200
+++ mediaproxy/pkg-plist 2007-08-13 10:07:52.000000000 +0200
@@ -195,6 +195,9 @@
mediaproxy/web/images/40/zoep.png
mediaproxy/web/images/40/zyxel-p2000.png
mediaproxy/web/media_sessions.phtml
+ at unexec rm -f %D/mediaproxy/modules/external/DNS/*.pyc
+ at unexec rm -f %D/mediaproxy/modules/external/*.pyc
+ at unexec rm -f %D/mediaproxy/modules/*.pyc
@dirrm mediaproxy/web/images/40
@dirrm mediaproxy/web/images/35
@dirrm mediaproxy/web/images/30
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list