[Midnightbsd-cvs] mports: mports/net: add vncrefletor, a vnc proxy.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Fri Feb 1 20:54:47 EST 2008
Log Message:
-----------
add vncrefletor, a vnc proxy.
Modified Files:
--------------
mports/net:
Makefile (r1.49 -> r1.50)
Added Files:
-----------
mports/net/vncreflector:
Makefile (r1.1)
distinfo (r1.1)
pkg-descr (r1.1)
pkg-plist (r1.1)
mports/net/vncreflector/files:
patch-Makefile (r1.1)
patch-logging.c (r1.1)
patch-main.c (r1.1)
patch-region.c (r1.1)
vncreflector.sh.in (r1.1)
-------------- next part --------------
--- /dev/null
+++ net/vncreflector/pkg-descr
@@ -0,0 +1,5 @@
+VNC Reflector is a specialized VNC server which acts as a proxy sitting
+between real VNC server (a host) and a number of VNC clients. It was
+designed to work efficiently with large number of clients.
+
+WWW: http://sourceforge.net/projects/vnc-reflector/
--- /dev/null
+++ net/vncreflector/pkg-plist
@@ -0,0 +1,4 @@
+bin/vncreflector
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+ at unexec rmdir %D/etc/vncreflector 2>/dev/null || ( echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove %D/etc/vncreflector and its contents manually.")
--- /dev/null
+++ net/vncreflector/Makefile
@@ -0,0 +1,38 @@
+# Ports collection makefile for: vncreflector
+# Date created: Wed, Jan 19 2005
+# Whom: Brooks Davis <brooks at freebsd.org>
+#
+# $MidnightBSD: mports/net/vncreflector/Makefile,v 1.1 2008/02/02 01:54:45 laffer1 Exp $
+# $FreeBSD: ports/net/vncreflector/Makefile,v 1.4 2007/04/24 05:56:39 sobomax Exp $
+#
+
+PORTNAME= vncreflector
+PORTVERSION= 1.2.4
+CATEGORIES= net
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR=vnc-reflector
+DISTNAME= vnc_reflector-${PORTVERSION}
+
+MAINTAINER= ports at MidnightBSD.org
+COMMENT= Multi-client VNC proxy server
+
+LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
+
+USE_RC_SUBR= vncreflector.sh
+
+ALL_TARGET= default
+WRKSRC= ${WRKDIR}/vnc_reflector
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/Makefile
+
+do-install:
+ @${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
+ @${MKDIR} -m0750 ${PREFIX}/etc/${PORTNAME}
+ @${CHOWN} root:wheel ${PREFIX}/etc/${PORTNAME}
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ @${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
+.endif
+
+.include <bsd.port.mk>
--- /dev/null
+++ net/vncreflector/distinfo
@@ -0,0 +1,3 @@
+MD5 (vnc_reflector-1.2.4.tar.gz) = c3f88bc62f228b335c25c07f9744ab0c
+SHA256 (vnc_reflector-1.2.4.tar.gz) = 9387082434a2176a01a20f64d0d35acd34dc1901e80db428689cc60ddbf49c53
+SIZE (vnc_reflector-1.2.4.tar.gz) = 85600
Index: Makefile
===================================================================
RCS file: /home/cvs/mports/net/Makefile,v
retrieving revision 1.49
retrieving revision 1.50
diff -L net/Makefile -L net/Makefile -u -r1.49 -r1.50
--- net/Makefile
+++ net/Makefile
@@ -55,6 +55,7 @@
SUBDIR += samba3
SUBDIR += sdl_net
SUBDIR += tsocks
+ SUBDIR += vncreflector
SUBDIR += x11vnc
SUBDIR += yaz
SUBDIR += zillion
--- /dev/null
+++ net/vncreflector/files/patch-region.c
@@ -0,0 +1,13 @@
+
+$FreeBSD: ports/net/vncreflector/files/patch-region.c,v 1.1 2005/01/20 10:35:48 brooks Exp $
+
+--- region.c.orig
++++ region.c
+@@ -70,6 +70,7 @@
+ * *
+ *****************************************************************/
+
++#include <sys/types.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
--- /dev/null
+++ net/vncreflector/files/patch-main.c
@@ -0,0 +1,14 @@
+
+$FreeBSD: ports/net/vncreflector/files/patch-main.c,v 1.1 2005/01/20 10:35:48 brooks Exp $
+
+--- main.c.orig
++++ main.c
+@@ -464,7 +464,7 @@
+
+ static int init_screen_info(void)
+ {
+- union _LITTLE_ENDIAN {
++ union {
+ CARD32 value32;
+ CARD8 test;
+ } little_endian;
--- /dev/null
+++ net/vncreflector/files/patch-Makefile
@@ -0,0 +1,36 @@
+
+$FreeBSD: ports/net/vncreflector/files/patch-Makefile,v 1.2 2005/04/18 22:35:16 brooks Exp $
+
+--- Makefile.orig
++++ Makefile
+@@ -14,10 +14,10 @@
+ #
+ # Variables you might want to edit: CFLAGS, CONFFLAGS
+
+-IFLAGS = -I.
++IFLAGS = -I%%LOCALBASE%%/include
+
+ # Production
+-CFLAGS = -O2 $(IFLAGS)
++#CFLAGS = -O2 $(IFLAGS)
+ # Debug (strict)
+ #CFLAGS = -g -pedantic -Wall $(IFLAGS)
+ # Debug (profiling)
+@@ -50,7 +50,7 @@
+ default: $(PROG)
+
+ $(PROG): $(OBJS)
+- $(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(IFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS)
+
+ clean:
+ rm -f $(OBJS) *core* ./*~ ./*.bak $(PROG)
+@@ -59,7 +59,7 @@
+ $(MAKEDEPEND) $(MAKEDEPFLAGS) -I. $(SRCS) 2> /dev/null
+
+ .c.o:
+- $(CC) $(CFLAGS) $(CONFFLAGS) -c $<
++ $(CC) $(CFLAGS) $(IFLAGS) $(CONFFLAGS) -c $<
+
+
+ # DO NOT DELETE
--- /dev/null
+++ net/vncreflector/files/vncreflector.sh.in
@@ -0,0 +1,150 @@
+#!/bin/sh
+# $MidnightBSD: mports/net/vncreflector/files/vncreflector.sh.in,v 1.1 2008/02/02 01:54:45 laffer1 Exp $
+# $FreeBSD: ports/net/vncreflector/files/vncreflector.sh.in,v 1.3 2006/02/20 20:47:31 dougb Exp $
+
+# PROVIDE: vncreflector
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+_etcdir="%%PREFIX%%/etc/vncreflector"
+
+# Define these vncreflector_* variables in one of these files:
+# /etc/rc.conf
+# /etc/rc.conf.local
+# /etc/rc.conf.d/vncreflector
+#
+vncreflector_enable=${vncreflector_enable-"NO"}
+vncreflector_hostinfofile=${vncreflector_hostinfofile-"${_etcdir}/hostinfo"}
+vncreflector_passwdfile=${vncreflector_passwdfile-"${_etcdir}/passwd"}
+vncreflector_ports=${vncreflector_ports-"5999"}
+vncreflector_requirepasswdfile=${vncreflector_requirepasswdfile-"YES"}
+vncreflector_flags=${vncreflector_flags-"-q"}
+vncreflector_pidfile=${vncreflector_pidfile-"/var/run/vncreflector.pid"}
+vncreflector_logfile=${vncreflector_logfile-"/var/log/vncreflector.log"}
+vncreflector_activefile=${vncreflector_logfile-"/var/log/vncreflector.log"}
+vncreflector_addr=${vncreflector_addr-""}
+#vncreflector_addr_5999=
+
+. %%RC_SUBR%%
+
+name="vncreflector"
+rcvar=`set_rcvar`
+start_cmd="vncreflector_start"
+stop_cmd="vncreflector_stop"
+command="%%PREFIX%%/bin/${name}"
+# Disconnect from host, reread host file, reconnect.
+sig_reload=USR2
+
+vncreflector_start()
+{
+ _started=0
+
+ echo -n "starting ${name}:"
+
+ rc_flags=${vncreflector_flags}
+
+ for _port in ${vncreflector_ports}; do
+ echo -n " ${_port}"
+ pidfile="${vncreflector_pidfile}.${_port}"
+ rc_pid=$(check_pidfile $pidfile $command)
+ if [ -z "$rc_fast" -a -n "$rc_pid" ]; then
+ echo -n "!"
+ continue
+ fi
+
+ _hostinfofile=""
+ _passwdfile=""
+ # if we only have one port, try the bare hostinfo
+ # before appending the port number.
+ if [ "${vncreflector_ports}" = "${_port}" -a \
+ -r "${vncreflector_hostinfofile}" ]; then
+ _hostinfofile=${vncreflector_hostinfofile}
+ # if we found a bare hostinfo file, we'll also
+ # look for a bare passwd file
+ if [ -r "${vncreflector_passwdfile}" ]; then
+ _passwdfile=${vncreflector_passwdfile}
+ fi
+ fi
+ if [ -z "${_hostinfofile}" ]; then
+ _hostinfofile="${vncreflector_hostinfofile}.${_port}"
+ fi
+ if [ ! -r "${_hostinfofile}" ]; then
+ echo -n "!hostfile"
+ continue
+ fi
+ # if we don't have a passwdfile yet, try to use a
+ # port-specific one and fall back to trying a global one
+ if [ -z "${_passwdfile}" ]; then
+ _passwdfile=${vncreflector_passwdfile}
+ if [ -r ${_passwdfile}.${_port} ]; then
+ _passwdfile="${_passwdfile}.${_port}"
+ fi
+ fi
+ if [ -r "${_passwdfile}" ]; then
+ _passwdarg="-p${_passwdfile}"
+ else
+ if checkyesno vncreflector_requirepasswdfile; then
+ if [ -z "$rc_force" ]; then
+ warn "missing passwd file for ${_port}."
+ return 1
+ else
+ echo -n "!passwdfile"
+ continue
+ fi
+ fi
+ _passwdarg=""
+ fi
+ if [ -z "${vncreflector_logfile}" ]; then
+ _logfile="/dev/null"
+ else
+ _logfile="${vncreflector_logfile}.${_port}"
+ fi
+ eval _addr=\$vncreflector_addr_${port}
+ if [ -z "${_addr}" ]; then
+ _addr=${vncreflector_addr}
+ fi
+ if [ -z "${_addr}" ]; then
+ unset _addr
+ fi
+
+ _doit="\
+${command} ${rc_flags} \
+-i ${vncreflector_pidfile} \
+-l ${_port} \
+-g ${_logfile} \
+${_addr+-l $_addr }${_passwdfile+-p $_passwdfile } \
+${_hostinfofile}"
+ debug "vncreflector_start: _doit: $_doit"
+ eval $_doit
+ _started=`expr 1 + ${_started}`
+ done
+ if [ $_started -lt 1 ]; then
+ return 1
+ fi
+ echo "."
+}
+
+vncreflector_stop()
+{
+ echo -n "stopping ${name}: "
+
+ _pids=""
+
+ for _port in ${vncreflector_ports}; do
+ echo -n " ${_port}"
+ pidfile="${vncreflector_pidfile}.${_port}"
+ rc_pid=$(check_pidfile $pidfile $command)
+ if [ -n "$rc_pid" ]; then
+ kill $sig_stop $rc_pid
+ _pids="${_pids} ${rc_pid}"
+ else
+ warn "no server for port ${_port}"
+ fi
+ done
+ echo "."
+ wait_for_pids $_pids
+}
+
+load_rc_config $name
+run_rc_command $*
--- /dev/null
+++ net/vncreflector/files/patch-logging.c
@@ -0,0 +1,37 @@
+
+$FreeBSD: ports/net/vncreflector/files/patch-logging.c,v 1.2 2007/04/24 05:57:15 sobomax Exp $
+
+--- logging.c
++++ logging.c
+@@ -138,8 +138,6 @@
+ char time_buf[32];
+ char level_char = ' ';
+
+- va_start(arg_list, format);
+-
+ if ( (log_fp != NULL && level <= log_file_level) ||
+ level <= log_stderr_level ) {
+ now = time(NULL);
+@@ -150,18 +148,21 @@
+
+ if (level <= log_file_level) {
+ fprintf(log_fp, "%s %c ", time_buf, (int)level_char);
++ va_start(arg_list, format);
+ vfprintf(log_fp, format, arg_list);
++ va_end(arg_list);
+ fprintf(log_fp, "\n");
+ fflush(log_fp);
+ }
+ if (level <= log_stderr_level) {
+ fprintf(stderr, "%s %c ", time_buf, (int)level_char);
++ va_start(arg_list, format);
+ vfprintf(stderr, format, arg_list);
++ va_end(arg_list);
+ fprintf(stderr, "\n");
+ fflush(stderr);
+ }
+ }
+
+- va_end(arg_list);
+ }
+
More information about the Midnightbsd-cvs
mailing list