Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Dec 2009 22:54:35 +0100
From:      Radim Kolar <hsn@sanatana.iol.cz>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        hsn-sf@sd.iol.cz
Subject:   ports/141411: new port = open mq - jms message broker
Message-ID:  <E1NJZv9-000GWO-Nr@sanatana.dharma>
Resent-Message-ID: <200912122200.nBCM0DaV044211@freefall.freebsd.org>

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

>Number:         141411
>Category:       ports
>Synopsis:       new port = open mq - jms message broker
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 12 22:00:12 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Radim Kolar
>Release:        FreeBSD 6.4-RELEASE-p4 i386
>Organization:
>Environment:
System: FreeBSD sanatana.dharma 6.4-RELEASE-p4 FreeBSD 6.4-RELEASE-p4 #1: Tue Jun 9 11:43:11 CEST 2009 root@sanatana.dharma:/usr/obj/usr/src/sys/UP i386

	
>Description:
due to problems with rabbit mq, i tested and packaged open mq jms message
broker. It is stable (jboss mq and active mq failed testing) enough for
production.
	
>How-To-Repeat:

# 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:
#
#	openmq
#	openmq/pkg-descr
#	openmq/Makefile
#	openmq/files
#	openmq/files/patch-imqinit
#	openmq/files/imq.in
#	openmq/files/patch-imqbrokerd
#	openmq/files/pkg-message.in
#	openmq/distinfo
#	openmq/pkg-deinstall
#	openmq/pkg-install
#
echo c - openmq
mkdir -p openmq > /dev/null 2>&1
echo x - openmq/pkg-descr
sed 's/^X//' >openmq/pkg-descr << '4de292e3880831da64dc17a9555aa51a'
XOpen Message Queue is a complete message-oriented middle-ware
Xplatform. High quality, enterprise ready messaging. 
X
XWWW:	https://mq.dev.java.net/
4de292e3880831da64dc17a9555aa51a
echo x - openmq/Makefile
sed 's/^X//' >openmq/Makefile << 'd2b7657fae510cc26d9467e24eb1ff87'
X# New ports collection makefile for:	openmq
X# Date created:		2009-12-05
X# Whom:			Radim Kolar <hsn@freebsd7.dharma>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	openmq
XPORTVERSION=	4.4.u1.b7
XPORTREVISION=	0
XCATEGORIES=	java net
XMASTER_SITES=	http://download.java.net/mq/open-mq/4.4u1/b7-final/
XDISTNAME=	086_openmq4_4-source
X
XMAINTAINER=	hsn@sendmail.cz
XCOMMENT=	Open Message Queue - OSS Java Message Service Broker
X
XUSE_ZIP=	yes
XUSE_JAVA=	yes
XJAVA_VERSION=	1.6
XJAVA_VENDOR=	openjdk
XBUILD_DEPENDS=	wget:${PORTSDIR}/ftp/wget
X
XWRKSRC=		${WRKDIR}/mq
XPLIST=		${WRKDIR}/pkg-plist
X
XUSE_ANT=	yes
XALL_TARGET=	bootstrap all
X.ifndef IMQ_CLIENT
XUSE_RC_SUBR=	imq
X.else
XSUB_FILES=	pkg-message
X.endif
X
Xpost-build:
X		${RM} ${WRKSRC}/dist/mq/bin/*.exe
X		cd ${WRKSRC}/dist/mq/etc && ${MV} imqenv.conf imqenv.conf.sample
X		cd ${WRKSRC}/dist/mq/etc && ${MV} imqbrokerd.conf imqbrokerd.conf.sample
Xpre-install:
X.ifndef IMQ_CLIENT
X		cd ${WRKSRC}/dist/mq && ${FIND} bin lib -type f -exec \
X			${ECHO_CMD} "imq/{}" \; > ${PLIST}
X		cd ${WRKSRC}/dist/mq && ${FIND} -d bin lib -type d -exec \
X			${ECHO_CMD} "@dirrm imq/{}" \; >> ${PLIST}
X		cd ${WRKSRC}/dist/mq/etc && ${FIND} . -depth 1 -type f -exec \
X			${ECHO_CMD} "etc/mq/{}" \; >> ${PLIST}
X		${ECHO_CMD} "@dirrmtry etc/mq" >> ${PLIST}
X.ifndef NOPORTDOCS
X		cd ${WRKSRC}/dist/mq/javadoc && ${FIND} . -type f -exec \
X			${ECHO_CMD} "%%DOCSDIR%%/{} " \; >> ${PLIST}
X		cd ${WRKSRC}/dist/mq/javadoc && ${FIND} -d . -mindepth 1 -type d -exec \
X			${ECHO_CMD} "@dirrm %%DOCSDIR%%/{}" \; >> ${PLIST}
X		cd ${WRKSRC}/dist/mq/examples && ${FIND} . -type f -exec \
X			${ECHO_CMD} "%%EXAMPLESDIR%%/{}" \; >> ${PLIST}
X		cd ${WRKSRC}/dist/mq/examples && ${FIND} -d . -mindepth 1 -type d -exec \
X			${ECHO_CMD} "@dirrm %%EXAMPLESDIR%%/{}" \; >> ${PLIST}
X		${ECHO_CMD} "@dirrm %%EXAMPLESDIR%%" >> ${PLIST}
X		${ECHO_CMD} "@dirrm %%DOCSDIR%%" >> ${PLIST}
X.endif
X		${ECHO_CMD} "@dirrmtry imq" >> ${PLIST}
X.else
X		${ECHO_CMD} "%%JAVAJARDIR%%/jms.jar" > ${PLIST}
X		${ECHO_CMD} "%%JAVAJARDIR%%/imq.jar" >> ${PLIST}
X		${ECHO_CMD} "%%JAVAJARDIR%%/fscontext.jar" >> ${PLIST}
X.endif
X
Xdo-install:
X.ifndef IMQ_CLIENT
X		${MKDIR} ${PREFIX}/imq
X		${MKDIR} ${PREFIX}/etc/mq
X		cd ${WRKSRC}/dist/mq && ${FIND} bin lib | \
X			${CPIO} -pdmu -R ${BINOWN}:${BINGRP} ${PREFIX}/imq
X		cd ${WRKSRC}/dist/mq/etc && ${FIND} . -depth 1 -type f | \
X			${CPIO} -pdmu -R ${BINOWN}:${BINGRP} ${PREFIX}/etc/mq
X		${CHMOD} 640 ${PREFIX}/etc/mq/*.sample
X.if !defined(NOPORTDOCS)
X		${MKDIR} ${DOCSDIR}
X		cd ${WRKSRC}/dist/mq/javadoc && ${FIND} . | \
X			${CPIO} -pdmu -R ${SHAREOWN}:${SHAREGRP} ${DOCSDIR}
X		${MKDIR} ${EXAMPLESDIR}
X		cd ${WRKSRC}/dist/mq/examples && ${FIND} . | \
X			${CPIO} -pdmu -R ${SHAREOWN}:${SHAREGRP} ${EXAMPLESDIR}
X.endif
X.else
X		${INSTALL_DATA} ${WRKSRC}/dist/mq/lib/imq.jar ${JAVAJARDIR}
X		${INSTALL_DATA} ${WRKSRC}/dist/mq/lib/jms.jar ${JAVAJARDIR}
X		${INSTALL_DATA} ${WRKSRC}/dist/mq/lib/fscontext.jar ${JAVAJARDIR}
X.endif
X
Xpost-install:
X.ifdef IMQ_CLIENT
X		@${CAT} ${WRKDIR}/pkg-message
X.else
X		PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
X.endif
X
X.include <bsd.port.mk>
d2b7657fae510cc26d9467e24eb1ff87
echo c - openmq/files
mkdir -p openmq/files > /dev/null 2>&1
echo x - openmq/files/patch-imqinit
sed 's/^X//' >openmq/files/patch-imqinit << '145fad408a9a2c8a12c26f6a129b544a'
X--- src/solaris/etc/imqinit.bak	2009-12-05 23:16:02.000000000 +0100
X+++ src/solaris/etc/imqinit.sh	2009-12-07 19:50:34.000000000 +0100
X@@ -149,7 +149,16 @@
X /usr \
X "
X         ;;
X-
X+    FreeBSD)
X+	   _j2se_locations="\
X+/usr/local/openjdk6 \
X+/usr/local/diablo-jdk1.6.0 \
X+/usr/local/diablo-jre1.6.0 \
X+/usr/local/jdk1.5.0 \
X+/usr/local/diablo-jdk1.5.0 \
X+/usr/local/diablo-jre1.5.0 \
X+"
X+	;;
X     *)
X         _j2se_locations="\
X /usr/jdk/entsys-j2se \
145fad408a9a2c8a12c26f6a129b544a
echo x - openmq/files/imq.in
sed 's/^X//' >openmq/files/imq.in << 'b994ab7ae18b5a6f06eadec45cbae191'
X#!/bin/sh
X#
X# Copyright (c) 2009 Radim Kolar. All rights reserved.
X#
X# Redistribution and use in source and binary forms, with or without
X# modification, are permitted provided that the following conditions
X# are met:
X#
X# 1. Redistributions of source code must retain the above copyright
X#   notice, this list of conditions and the following disclaimer.
X#
X# 2. Redistributions in binary form must reproduce the above copyright
X#   notice, this list of conditions and the following disclaimer in the
X#   documentation and/or other materials provided with the distribution.
X#
X# THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
X# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
X# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
X# ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
X# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
X# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
X# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
X# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
X# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
X# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
X# SUCH DAMAGE.
X
X# $Id$
X
X# PROVIDE: imq
X# REQUIRE: DAEMON
X# KEYWORD: shutdown
X#
X# Add the following line to /etc/rc.conf to enable Open MQ:
X#
X#  imq_enable="YES"
X#  # optional
X#  imq_data="/var/spool/imq"
X#  imq_vmargs="-Xms192m -Xmx192m -Xss128k -XX:MaxGCPauseMillis=5000"
X
Xname="imq"
X. %%RC_SUBR%%
X
X# set defaults
Ximq_enable=${imq_enable:-"NO"}
Ximq_data=${imq_data:-"/var/spool/imq"}
X
Xrcvar=`set_rcvar`
Xload_rc_config $name
Xpidfile=/var/run/imq.pid
Xstart_cmd="${name}_start"
Xcommand=/usr/local/imq/bin/imqbrokerd
Xcommand_args="-bgnd -silent"
Xcommand_interpreter="/bin/sh"
Xsigstop=INT
XCONF_FILE=%%PREFIX%%/etc/mq/imqbrokerd.conf
X
X#Check if we have enabled AUTOSTART feature, which overrides rcvar=NO
Xif ! checkyesno ${rcvar}; then
X  if [ -f $CONF_FILE -a -r $CONF_FILE ]; then
X     autostart=`grep "^AUTOSTART=" $CONF_FILE | cut -c11-`
X     if checkyesno autostart; then
X       eval ${rcvar}=YES
X     fi
X  fi
Xfi
X
X#check if RESTART feature is enabled
Xif [ -f $CONF_FILE -a -r $CONF_FILE ]; then
X     autorestart=`grep "^RESTART=" $CONF_FILE | cut -c9-`
X     autoargs=`grep "^ARGS=" $CONF_FILE | cut -c6-`
X     if checkyesno autorestart; then
X       command_args="$command_args -autorestart"
X     fi
Xfi
X
X#add vmargs if needed
Xif [ -n "$imq_vmargs" ]; then
X  command_args="$command_args -vmargs \"$imq_vmargs\""
Xfi
X
X#load aditional command line arguments from broker config file
Xif [ -n $autoargs ]; then
X   echo "$autoargs" | grep -q -- '-varhome'
X   if [ ! $? -eq 0 ]; then
X       command_args="$command_args -varhome $imq_data $autoargs"
X   else
X       command_args="$command_args $autoargs"
X   fi
Xfi
X
Ximq_start()
X{
X  if [ -z "$rc_pid" ]; then
X	   echo -n "Starting $name"
X	   ${command} ${command_args} &
X	   echo -n $! > $pidfile
X	   echo "."
X  else
X           echo "imq is already running with pid=$rc_pid."
X  fi
X}
X
Xrun_rc_command "$1"
b994ab7ae18b5a6f06eadec45cbae191
echo x - openmq/files/patch-imqbrokerd
sed 's/^X//' >openmq/files/patch-imqbrokerd << '60617aa96b9d7ac7c647823eda81782e'
X--- src/solaris/bin/imqbrokerd.sh.orig	2009-09-11 20:39:07.000000000 +0200
X+++ src/solaris/bin/imqbrokerd.sh	2009-12-09 23:42:43.000000000 +0100
X@@ -1,4 +1,4 @@
X-#!/bin/sh
X+#!/bin/sh -T
X #############################################################################
X #
X # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
X@@ -53,6 +53,7 @@
X     # The broker's shutdown hooks will make sure it exits cleanly
X     if [ -n "$_javapid" ]; then
X         kill -TERM $_javapid
X+        wait $_javapid
X     fi
X }
X 
60617aa96b9d7ac7c647823eda81782e
echo x - openmq/files/pkg-message.in
sed 's/^X//' >openmq/files/pkg-message.in << 'e44a3a575df421cee5192a9db5174a32'
XTo use imq-client in your Java application you need to add following jars
Xto your classpath:
X
X%%JAVAJARDIR%%/imq.jar - Connector to IMQ broker. REQUIRED.
X%%JAVAJARDIR%%/jms.jar - JMS 1.1 API classes. MOST LIKELY NEEDED
X			 If you have only one jms provider used in
X                         your application or not using application
X                         server you will need this. Otherwise other
X                         jms provider will most likely to ship this.
X%%JAVAJARDIR%%/fscontext.jar - JDNI file based lookups. OPTIONAL
e44a3a575df421cee5192a9db5174a32
echo x - openmq/distinfo
sed 's/^X//' >openmq/distinfo << 'f8898a596609fb84834c584bafdc9e29'
XMD5 (086_openmq4_4-source.zip) = 3d1166530379efb6ba9416e7c43acb9b
XSHA256 (086_openmq4_4-source.zip) = 7d9d8f6c010d7cb57cc3f4038dbcfa0cb7b1b32d469d406fe63c98a8291a0173
XSIZE (086_openmq4_4-source.zip) = 62623461
f8898a596609fb84834c584bafdc9e29
echo x - openmq/pkg-deinstall
sed 's/^X//' >openmq/pkg-deinstall << '2465487c694225261169ee676285adf7'
X#! /bin/sh
X#
X# Removes unchanged configuration files
X#
Xif [ "$2" = "DEINSTALL" ]; then
X   if [ ! -d $PKG_PREFIX/etc/mq ]; then exit 1;fi
X   cd $PKG_PREFIX/etc/mq
X   for cfgfile in imqbrokerd.conf imqenv.conf passfile; do
X       if cmp -s $cfgfile.sample $cfgfile; then
X          rm $cfgfile
X       fi
X   done
Xfi
2465487c694225261169ee676285adf7
echo x - openmq/pkg-install
sed 's/^X//' >openmq/pkg-install << '21271ea4e4883bc3924b584c74d594fb'
X#! /bin/sh
X#
X# Copies sample imq etc files to real ones if real ones does not exists
X#
Xif [ "$2" = "POST-INSTALL" ]; then
X   if [ ! -d $PKG_PREFIX/etc/mq ]; then exit 1;fi
X   umask 027
X   cd $PKG_PREFIX/etc/mq
X   for cfgfile in imqbrokerd.conf imqenv.conf passfile; do
X       if [ ! -f $cfgfile ]; then
X           cp $cfgfile.sample $cfgfile
X       fi
X   done
Xfi
21271ea4e4883bc3924b584c74d594fb
exit

	
>Fix:
	

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1NJZv9-000GWO-Nr>