Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Dec 2009 02:27:42 GMT
From:      Ben Kaduk <kaduk@mit.edu>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/141790: [new port] net-im/zephyr : enterprise-class IM system
Message-ID:  <200912200227.nBK2Rgd3084302@www.freebsd.org>
Resent-Message-ID: <200912200230.nBK2U30O052579@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         141790
>Category:       ports
>Synopsis:       [new port] net-im/zephyr : enterprise-class IM system
>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:   Sun Dec 20 02:30:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Ben Kaduk
>Release:        9-current
>Organization:
MIT Student Information Processing Board
>Environment:
[kaduk@hysteresis /usr/home/kaduk]$ uname -a
FreeBSD hysteresis.mit.edu 9.0-CURRENT FreeBSD 9.0-CURRENT #5: Sat Dec  5 16:00:49 EST 2009     kaduk@hysteresis.mit.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
Zephyr is an enterprise-grade IM system, developed as part of MIT's Project Athena.  It is still in use at MIT, as well as Carnegie Mellon and a number of other sites.  It uses Kerberos for authentication, and cross-realm messaging is supported.

The existence of zephyr.1ts.org as an upstream (as opposed to just being a part of the Athena source tree) is relatively recent, so I do not believe that there are other mirror sites at present (though I may be able to get one set up, here)
and thus we must live with portlint's warning.

Doing a survey of ports that pass --with-krb5= to configure, it seems that
there is something of a split between passing a literal '/usr' and passing '${DESTDIR}/usr' when the base system Kerberos is desired; the latter seems marginally more correct, so I have opted for it.

Also note that this introduces (depending on OPTIONS) a dependency on
devel/e2fsprogs-libss, which is submitted as ports/140767 (currently suspended as the committer is waiting for tinderbox access), though this can be worked around by installing security/heimdal for the present (security/krb4 is BROKEN on FreeBSD >= 7, which I may try to fix one of these days ...).
Relatedly, it seems like it might be a little bit of overkill to use OPTIONS
to specify where to get libss ... any comments on whether I should just rip that out and put in an unconditional
LIB_DEPENDS+= ss:${PORTSDIR}/devel/e2fsprogs-libss
and leave it it that?
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# 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:
#
#	zephyr
#	zephyr/Makefile
#	zephyr/distinfo
#	zephyr/files
#	zephyr/files/zhm.in
#	zephyr/files/patch-configure
#	zephyr/files/patch-zwgc-main.c
#	zephyr/pkg-descr
#	zephyr/pkg-plist
#
echo c - zephyr
mkdir -p zephyr > /dev/null 2>&1
echo x - zephyr/Makefile
sed 's/^X//' >zephyr/Makefile << 'ec111c7404cad7a35f9341a48df369bd'
X# New ports collection makefile for: zephyr
X# Date created: 	12 November 2009
X# Whom: 	Ben Kaduk <kaduk@mit.edu>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	zephyr
XPORTVERSION=	3.0
XCATEGORIES=	net-im
XMASTER_SITES=	http://zephyr.1ts.org/export/2552/distribution/
X
XMAINTAINER=	kaduk-fbsd@mit.edu
XCOMMENT=	An enterprise-scale distributed messaging system
X
XLDFLAGS+=	-L${LOCALBASE}/lib
XCPPFLAGS+=	-I${LOCALBASE}/include
XUSE_RC_SUBR=	zhm
XUSE_LDCONFIG=	yes
XGNU_CONFIGURE=	yes
XUSE_ICONV=	yes
X
XMAN1=	zephyr.1 zaway.1 zctl.1 zleave.1 zlocate.1 znol.1 zwrite.1 zwgc.1
XMAN8=	zhm.8 zephyrd.8 zstat.8 zshutdown_notify.8
X
XOPTIONS=	HEIMDAL	"Use Heimdal Kerberos for ss/com_err"	no \
X		KTH	"Use KTH KerberosIV for ss/com_err"	no
X
X.include <bsd.port.options.mk>
X
X.if defined(WITH_HEIMDAL) && defined(WITH_KTH)
XIGNORE=	choose at most one of KTH and Heimdal
X.elif defined(WITH_HEIMDAL)
XLIB_DEPENDS+=	ss.1:${PORTSDIR}/security/heimdal
X.if defined(HEIMDAL_HOME)
XKRB5_DIR?=	${HEIMDAL_HOME}
X.else
XKRB5_DIR?=	${LOCALBASE}
X.endif
X.elif defined(WITH_KTH)
XLIB_DEPENDS+=	ss.1:${PORTSDIR}/security/krb4
XKRB5_DIR?=	${LOCALBASE}
X.else
XLIB_DEPENDS+=	ss.2:${PORTSDIR}/devel/e2fsprogs-libss
XKRB5_DIR?=	${DESTDIR}/usr
X.endif
X
X# it is an upstream bug that --with-krb5 needs a path
XCONFIGURE_ARGS=	--with-krb5="${KRB5_DIR}"
XCONFIGURE_ENV+= LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}"
X
X.include <bsd.port.mk>
ec111c7404cad7a35f9341a48df369bd
echo x - zephyr/distinfo
sed 's/^X//' >zephyr/distinfo << 'bde8b71a85d7785cb21de1e42f9f25cc'
XMD5 (zephyr-3.0.tar.gz) = 083824d15cbfbf12a03224a96a92bec3
XSHA256 (zephyr-3.0.tar.gz) = 8d09cd7a753ff8c8be9e5bd9db1a6a63c23171109ff2be6d876095d48cf5b6ff
XSIZE (zephyr-3.0.tar.gz) = 684678
bde8b71a85d7785cb21de1e42f9f25cc
echo c - zephyr/files
mkdir -p zephyr/files > /dev/null 2>&1
echo x - zephyr/files/zhm.in
sed 's/^X//' >zephyr/files/zhm.in << '1f2d0b567522aae5da96b0ac70a29fb9'
X#!/bin/sh
X#
X#
X# PROVIDE: zhm
X# REQUIRE: named
X
X. %%RC_SUBR%%
X
Xname="zhm"
Xrcvar="zhm_enable"
Xstart_cmd="zhm_start"
Xstop_postcmd="zhm_postcmd"
Xstart_precmd="zhm_precmd"
Xcommand="%%PREFIX%%/sbin/${name}"
Xpidfile="/var/run/${name}.pid"
X
Xload_rc_config "$name"
Xeval "${rcvar}=\${${rcvar}:-'NO'}"
X
Xzhm_zephyr_servers="${zhm_zephyr_servers:-}"
X
Xzhm_precmd()
X{
X	mkdir -p $(dirname ${pidfile})
X}
X
Xzhm_start()
X{
X	${command} -f ${zhm_zephyr_servers}
X}
X
Xzhm_postcmd()
X{
X	rm -f ${pidfile}
X}
X
Xrun_rc_command "$1"
1f2d0b567522aae5da96b0ac70a29fb9
echo x - zephyr/files/patch-configure
sed 's/^X//' >zephyr/files/patch-configure << 'ff13197d41df8f7713123b97dc92e35e'
X--- configure.orig	2009-11-12 08:19:57.000000000 +0000
X+++ configure	2009-11-12 08:32:53.000000000 +0000
X@@ -24651,15 +24651,15 @@
X { echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_res_send" >&5
X echo "${ECHO_T}$ac_cv_lib_resolv_res_send" >&6; }
X if test $ac_cv_lib_resolv_res_send = yes; then
X-  LIBZEPHYR_LIBS="-lresolv $LIBZEPHYR_LIBS"
X+  LIBZEPHYR_LIBS="-lc $LIBZEPHYR_LIBS"
X else
X-  { echo "$as_me:$LINENO: checking for __res_send in -lresolv" >&5
X-echo $ECHO_N "checking for __res_send in -lresolv... $ECHO_C" >&6; }
X+  { echo "$as_me:$LINENO: checking for res_send in -lc" >&5
X+echo $ECHO_N "checking for res_send in -lc... $ECHO_C" >&6; }
X if test "${ac_cv_lib_resolv___res_send+set}" = set; then
X   echo $ECHO_N "(cached) $ECHO_C" >&6
X else
X   ac_check_lib_save_LIBS=$LIBS
X-LIBS="-lresolv  $LIBS"
X+LIBS="-lc  $LIBS"
X cat >conftest.$ac_ext <<_ACEOF
X /* confdefs.h.  */
X _ACEOF
X@@ -24673,11 +24673,11 @@
X #ifdef __cplusplus
X extern "C"
X #endif
X-char __res_send ();
X+char res_send ();
X int
X main ()
X {
X-return __res_send ();
X+return res_send ();
X   ;
X   return 0;
X }
X@@ -24715,7 +24715,7 @@
X { echo "$as_me:$LINENO: result: $ac_cv_lib_resolv___res_send" >&5
X echo "${ECHO_T}$ac_cv_lib_resolv___res_send" >&6; }
X if test $ac_cv_lib_resolv___res_send = yes; then
X-  LIBZEPHYR_LIBS="-lresolv $LIBZEPHYR_LIBS"
X+  LIBZEPHYR_LIBS="$LIBZEPHYR_LIBS"
X else
X   { { echo "$as_me:$LINENO: error: Zephyr requires libresolv along with Kerberos V." >&5
X echo "$as_me: error: Zephyr requires libresolv along with Kerberos V." >&2;}
ff13197d41df8f7713123b97dc92e35e
echo x - zephyr/files/patch-zwgc-main.c
sed 's/^X//' >zephyr/files/patch-zwgc-main.c << '08e1761d5ae5527348400e92d04ab795'
X--- zwgc/main.c.orig	2009-12-20 01:29:41.000000000 +0000
X+++ zwgc/main.c	2009-12-20 01:32:34.000000000 +0000
X@@ -396,9 +396,8 @@
X void
X notice_handler(ZNotice_t *notice)
X {
X-#ifndef HAVE_ARES
X+    int error;
X     char node[MAXDNAME];
X-#endif
X 
X #if defined(CMU_ZWGCPLUS)
X     list_add_notice(notice);
X@@ -415,9 +414,11 @@
X                      notice_callback, notice);
X     
X #else
X-    getnameinfo((const struct sockaddr *)&(notice->z_sender_sockaddr),
X+    error = getnameinfo((const struct sockaddr *)&(notice->z_sender_sockaddr),
X                 sizeof(notice->z_sender_sockaddr),
X                 node, sizeof(node), NULL, 0, 0);
X+    if (error != 0)
X+        snprintf(node, MAXDNAME, "?");
X     
X     process_notice(notice, node);
X #ifdef CMU_ZWGCPLUS
08e1761d5ae5527348400e92d04ab795
echo x - zephyr/pkg-descr
sed 's/^X//' >zephyr/pkg-descr << 'f9b32381ece2a7bfe638671998f082fc'
XThis is an enterprise-class instant messaging/notification system.
XIt was developed as part of MIT's Project Athena, and has a
Xunique design that leads to the ability to develop a unique
Xsense of community.
X
XWWW: http://zephyr.1ts.org/
f9b32381ece2a7bfe638671998f082fc
echo x - zephyr/pkg-plist
sed 's/^X//' >zephyr/pkg-plist << '174772c50e1e1d11b3f26e6313c6f3f9'
X@unexec %D/etc/rc.d/zhm stop > /dev/null 2>&1 || true
Xbin/zaway
Xbin/zctl
Xbin/zleave
Xbin/zlocate
Xbin/znol
Xbin/zstat
Xbin/zwrite
Xbin/zwgc
Xetc/zephyr/default.subscriptions
Xinclude/zephyr/mit-copyright.h
Xinclude/zephyr/zephyr.h
Xinclude/zephyr/zephyr_err.h
Xlib/libzephyr.a
Xlib/libzephyr.so.4.0
Xlib/libzephyr.la
Xsbin/zshutdown_notify
Xsbin/zephyrd
Xsbin/zhm
Xshare/zephyr/zwgc.desc
Xshare/zephyr/zwgc_resources
X
X@exec mkdir -p %D/etc/zephyr/acl
X@dirrm etc/zephyr/acl
X@dirrm etc/zephyr
X@dirrm include/zephyr
X@dirrm share/zephyr
174772c50e1e1d11b3f26e6313c6f3f9
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912200227.nBK2Rgd3084302>