Date: Mon, 9 Feb 2004 16:43:35 +0300 (MSK) From: Denis Shaposhnikov <dsh@vlink.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/62585: New port: net/mu-conference (Multi-User Conferencing component for Jabber) Message-ID: <200402091343.i19DhZij028889@neva.vlink.ru> Resent-Message-ID: <200402091350.i19Do2Vm037692@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 62585 >Category: ports >Synopsis: New port: net/mu-conference (Multi-User Conferencing component for Jabber) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Feb 09 05:50:01 PST 2004 >Closed-Date: >Last-Modified: >Originator: Denis Shaposhnikov >Release: FreeBSD 4.9-STABLE i386 >Organization: >Environment: System: FreeBSD neva.vlink.ru 4.9-STABLE FreeBSD 4.9-STABLE #0: Thu Nov 27 10:39:57 MSK 2003 dsh@neva.vlink.ru:/var/FreeBSD/src/sys/compile/NEVA i386 >Description: An implemention of the conference server using the protocol defined in JEP-0045. WWW: http://www.jabberstudio.org/projects/mu-conference >How-To-Repeat: >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # mu-conference/ # mu-conference/Makefile # mu-conference/distinfo # mu-conference/pkg-descr # mu-conference/files # mu-conference/files/patch-src-jcomp.mk # mu-conference/files/patch-jcomp-jcr_elements.c # mu-conference/files/patch-src-main.c # mu-conference/pkg-plist # echo c - mu-conference/ mkdir -p mu-conference/ > /dev/null 2>&1 echo x - mu-conference/Makefile sed 's/^X//' >mu-conference/Makefile << 'END-of-mu-conference/Makefile' X# New ports collection makefile for: mu-conference X# Date created: Mon Feb 9 15:34:59 MSK 2004 X# Whom: Denis Shaposhnikov <dsh@vlink.ru> X# X# $FreeBSD$ X XPORTNAME= mu-conference XPORTVERSION= 0.6.0 XCATEGORIES= net XMASTER_SITES= http://www.jabberstudio.org/projects/${PORTNAME}/releases/download.php?file= \ X http://jabber.terrapin.com/JCR XDISTFILES= ${DISTNAME}${EXTRACT_SUFX} jcr-${JCR_VER}.tar.gz X XMAINTAINER= dsh@vlink.ru XCOMMENT= Multi-User Conferencing component for Jabber X XUSE_GNOME= glib20 XWRKSRC= ${WRKDIR}/jcr-${JCR_VER} X XJCR_VER?= 0.1.2 X Xpost-extract: X ${MV} ${WRKDIR}/${DISTNAME} ${WRKSRC} X Xpost-build: X.for i in jcomp.mk main.c X ${CP} ${WRKSRC}/src/${i} ${WRKSRC}/${DISTNAME}/src/ X.endfor X (cd ${WRKSRC}/${DISTNAME}/src; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} jcomp.mk) X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/${DISTNAME}/src/mu-conference \ X ${PREFIX}/bin/ X ${INSTALL_DATA} ${WRKSRC}/${DISTNAME}/muc-jcr.xml \ X ${PREFIX}/etc/muc.xml-dist X.if !defined(NOPORTDOCS) X ${MKDIR} ${PREFIX}/share/doc/${PORTNAME} X.for i in FAQ README X ${INSTALL_DATA} ${WRKSRC}/${DISTNAME}/${i} \ X ${PREFIX}/share/doc/${PORTNAME}/ X.endfor X.endif X X.include <bsd.port.mk> END-of-mu-conference/Makefile echo x - mu-conference/distinfo sed 's/^X//' >mu-conference/distinfo << 'END-of-mu-conference/distinfo' XMD5 (mu-conference-0.6.0.tar.gz) = e97433bf4a978329d639ce872bee3223 XSIZE (mu-conference-0.6.0.tar.gz) = 56272 XMD5 (jcr-0.1.2.tar.gz) = 622a1bf538d5adc92a516c7ef4bfbf57 XSIZE (jcr-0.1.2.tar.gz) = 147439 END-of-mu-conference/distinfo echo x - mu-conference/pkg-descr sed 's/^X//' >mu-conference/pkg-descr << 'END-of-mu-conference/pkg-descr' XAn implemention of the conference server using the protocol defined in XJEP-0045. X XWWW: http://www.jabberstudio.org/projects/mu-conference END-of-mu-conference/pkg-descr echo c - mu-conference/files mkdir -p mu-conference/files > /dev/null 2>&1 echo x - mu-conference/files/patch-src-jcomp.mk sed 's/^X//' >mu-conference/files/patch-src-jcomp.mk << 'END-of-mu-conference/files/patch-src-jcomp.mk' X--- src/jcomp.mk.orig Sun Oct 26 15:35:19 2003 X+++ src/jcomp.mk Mon Feb 9 16:03:18 2004 X@@ -25,7 +25,7 @@ X #CFLAGS:=$(CFLAGS) -pipe -Os -I../../jabberd -I../include X #LIBS:=$(LIBS) /usr/local/lib/ccmalloc-gcc.o -lccmalloc X #LIBS:=$(LIBS) -lmemusage X-LIBS:=$(LIBS) -ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0` X+LIBS:=-ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0` X LDFLAGS:=-L../../lib X X conference_OBJECTS=conference.o conference_room.o conference_user.o utils.o xdata.o admin.o roles.o xdb.o hash.o main.o END-of-mu-conference/files/patch-src-jcomp.mk echo x - mu-conference/files/patch-jcomp-jcr_elements.c sed 's/^X//' >mu-conference/files/patch-jcomp-jcr_elements.c << 'END-of-mu-conference/files/patch-jcomp-jcr_elements.c' X--- jcomp/jcr_elements.c.orig Wed Nov 5 06:42:42 2003 X+++ jcomp/jcr_elements.c Mon Feb 9 16:07:17 2004 X@@ -30,6 +30,8 @@ X X case _STREAM_INIT_STATE: X if (strncasecmp(name, "stream:stream", 13) == 0) { X+ char hashbuf[41]; X+ xmlnode cur; X char *pass = xmlnode_get_data(xmlnode_get_tag(jcr->config,"secret")); X int i = 0; X if (attrib == NULL) return; X@@ -39,12 +41,11 @@ X i += 2; X } X p = pool_new(); X- char hashbuf[41]; X // log_debug(JDBG, "%s = '%s'", attrib[i], attrib[i+1]); X shahash_r(spools(p, attrib[i + 1], pass, p), hashbuf); X X /* Build a handshake packet */ X- xmlnode cur = xmlnode_new_tag("handshake"); X+ cur = xmlnode_new_tag("handshake"); X xmlnode_insert_cdata(cur, hashbuf, -1); X X /* Transmit handshake */ X@@ -91,6 +92,7 @@ X if (jcr->current == NULL) { X g_io_channel_close(jcr->gio); X } else { X+ xmlnode parent; X if (strncasecmp(name, "stream:error", 12) == 0) { X log_warn(JDBG, "%s", xmlnode2str(jcr->current)); X g_io_channel_write_chars(jcr->gio, "</stream:stream>", 15, &bytes, NULL); X@@ -100,7 +102,7 @@ X break; X } X X- xmlnode parent = xmlnode_get_parent(jcr->current); X+ parent = xmlnode_get_parent(jcr->current); X if (parent == NULL) { X x = xmlnode_dup(jcr->current); X to = jid_new(x->p, xmlnode_get_attrib(x, "to")); END-of-mu-conference/files/patch-jcomp-jcr_elements.c echo x - mu-conference/files/patch-src-main.c sed 's/^X//' >mu-conference/files/patch-src-main.c << 'END-of-mu-conference/files/patch-src-main.c' X--- src/main.c.orig Sun Nov 2 01:27:21 2003 X+++ src/main.c Mon Feb 9 14:45:16 2004 X@@ -34,11 +34,12 @@ X struct stat st; X char *config_file = NULL; X pool p; X- jcr = (jcr_instance)malloc(sizeof(_jcr_instance)); X X GThread *dthread; /* the packet delivery thread */ X GMainLoop *gmain; /* the receive packet event loop */ X X+ jcr = (jcr_instance)malloc(sizeof(_jcr_instance)); X+ X X fprintf(stderr, "%s -- %s\n%s\n\n", _JCOMP_NAME, _JCOMP_VERS, _JCOMP_COPY); X X@@ -119,6 +120,7 @@ X X X if (inBackground == 1) { X+ int fdlimit, fd; X if ((pid = fork()) == -1) { X fprintf(stderr, "%s: Could not start in background\n", JDBG); X exit(1); X@@ -128,8 +130,8 @@ X X /* in child process .... process and terminal housekeeping */ X setsid(); X- int fdlimit = sysconf(_SC_OPEN_MAX); X- int fd = 0; X+ fdlimit = sysconf(_SC_OPEN_MAX); X+ fd = 0; X while (fd < fdlimit) X close(fd++); X open("/dev/null",O_RDWR); END-of-mu-conference/files/patch-src-main.c echo x - mu-conference/pkg-plist sed 's/^X//' >mu-conference/pkg-plist << 'END-of-mu-conference/pkg-plist' Xbin/mu-conference Xetc/muc.xml-dist X%%PORTDOCS%%share/doc/mu-conference/FAQ X%%PORTDOCS%%share/doc/mu-conference/README X%%PORTDOCS%%@dirrm share/doc/mu-conference END-of-mu-conference/pkg-plist exit >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402091343.i19DhZij028889>