From owner-svn-ports-branches@freebsd.org Mon Oct 5 10:47:49 2015 Return-Path: Delivered-To: svn-ports-branches@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 045019B1F99; Mon, 5 Oct 2015 10:47:49 +0000 (UTC) (envelope-from junovitch@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E94CFB2A; Mon, 5 Oct 2015 10:47:48 +0000 (UTC) (envelope-from junovitch@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t95Alm2O073424; Mon, 5 Oct 2015 10:47:48 GMT (envelope-from junovitch@FreeBSD.org) Received: (from junovitch@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t95AlmV8073420; Mon, 5 Oct 2015 10:47:48 GMT (envelope-from junovitch@FreeBSD.org) Message-Id: <201510051047.t95AlmV8073420@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: junovitch set sender to junovitch@FreeBSD.org using -f From: Jason Unovitch Date: Mon, 5 Oct 2015 10:47:48 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r398638 - in branches/2015Q4/mail/james: . files X-SVN-Group: ports-branches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-branches@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for all the branches of the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Oct 2015 10:47:49 -0000 Author: junovitch Date: Mon Oct 5 10:47:47 2015 New Revision: 398638 URL: https://svnweb.freebsd.org/changeset/ports/398638 Log: MFH: r398623 mail/james: security update 2.3.1 -> 2.3.2.1; while here fix all the things - Add LICENSE and LICENSE_FILE - Add NO_ARCH - Fix PID_FILE using an undefined variable (resulting PID was /var/run/.pid) - Fix .include lines post staging support - Actually use the version number from PLIST_SUB in pkg-plist - Overhaul rc script - Add PROVIDE/REQUIRE/KEYWORD to header - Remove "geronimo" references from when the port was originally copied - Remove %%JAMES_VERSION%% in rc variable names. Every port version bump in the past came with a POLA issue as james231_enable=YES would now have to be james2321_enable=YES. Provide a shim to translate the old variable names and provide a warning to update rc.conf syntax. - Match start routine to embedded start-up script (which enables stop command to work without a java.lang.IllegalThreadStateException) - Add working status routine - Standardize indentation PR: 203461 Security: CVE-2015-7611 Security: be3069c9-67e7-11e5-9909-002590263bf5 Approved by: portmgr (erwin) Modified: branches/2015Q4/mail/james/Makefile branches/2015Q4/mail/james/distinfo branches/2015Q4/mail/james/files/james.in branches/2015Q4/mail/james/pkg-plist Directory Properties: branches/2015Q4/ (props changed) Modified: branches/2015Q4/mail/james/Makefile ============================================================================== --- branches/2015Q4/mail/james/Makefile Mon Oct 5 10:25:59 2015 (r398637) +++ branches/2015Q4/mail/james/Makefile Mon Oct 5 10:47:47 2015 (r398638) @@ -2,34 +2,34 @@ # $FreeBSD$ PORTNAME= james -PORTVERSION= 2.3.1 -PORTREVISION= 1 +PORTVERSION= 2.3.2.1 CATEGORIES= mail java -MASTER_SITES= APACHE/${PORTNAME}/server/binaries +MASTER_SITES= APACHE/${PORTNAME}/server/ DISTNAME= ${PORTNAME}-binary-${PORTVERSION} MAINTAINER= ports@FreeBSD.org COMMENT= Java SMTP and POP3 Mail server and NNTP News server +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + USES= cpe CPE_VENDOR= apache USE_JAVA= yes JAVA_VERSION= 1.6+ -NO_BUILD= YES +NO_ARCH= yes +NO_BUILD= yes USE_RC_SUBR= james WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION} -PID_FILE= /var/run/${APP_SHORTNAME}.pid +PID_FILE= /var/run/${PORTNAME}.pid PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} SUB_LIST= JAVA_HOME=${JAVA_HOME} \ PID_FILE=${PID_FILE} \ - JAMES_HOME=${APP_HOME} \ - JAMES_VERSION=${PORTVERSION:S/.//g} - -.include + JAMES_HOME=${APP_HOME} pre-patch: @${ECHO_MSG} "Installation settings:" @@ -60,4 +60,4 @@ do-install: post-install: @${ECHO_MSG} "${PORTNAME} ${PORTVERSION} has been installed in ${APP_HOME}." -.include +.include Modified: branches/2015Q4/mail/james/distinfo ============================================================================== --- branches/2015Q4/mail/james/distinfo Mon Oct 5 10:25:59 2015 (r398637) +++ branches/2015Q4/mail/james/distinfo Mon Oct 5 10:47:47 2015 (r398638) @@ -1,2 +1,2 @@ -SHA256 (james-binary-2.3.1.tar.gz) = 280cca87c4a0f55504af9fcbaec5ab045a91a87359744bc7fc54a4bf20cf4122 -SIZE (james-binary-2.3.1.tar.gz) = 7570886 +SHA256 (james-binary-2.3.2.1.tar.gz) = dc7ada2846e2fbbcdb0613240170e89cc61ae66ec89cecd9805dbd24cefcf119 +SIZE (james-binary-2.3.2.1.tar.gz) = 7661407 Modified: branches/2015Q4/mail/james/files/james.in ============================================================================== --- branches/2015Q4/mail/james/files/james.in Mon Oct 5 10:25:59 2015 (r398637) +++ branches/2015Q4/mail/james/files/james.in Mon Oct 5 10:47:47 2015 (r398638) @@ -2,95 +2,100 @@ # # $FreeBSD$ # - +# PROVIDE: james +# REQUIRE: LOGIN +# KEYWORD: shutdown # -# Configuration settings for geronimo%%GERONIMO_VERSION%% in /etc/rc.conf: +# Configuration settings for james in /etc/rc.conf: # -# james%%JAMES_VERSION%%_enable (bool): +# james_enable (bool): # Set to "NO" by default. -# Set it to "YES" to enable james%%JAMES_VERSION%% -# +# Set it to "YES" to enable james # -# james%%JAMES_VERSION%%_home (str) +# james_home (str) # Set to "%%JAMES_HOME%%" by default. # Set the JAMES_HOME variable for the James process # -# james%%JAMES_VERSION%%_base (str) +# james_base (str) # Set to "%%JAMES_HOME%%" by default. # Set the JAMES_BASE variable for the James process # -# james%%JAMES_VERSION%%_tmpdir (str) +# james_tmpdir (str) # Set to "/tmp" by default. # -# geronimo%%GERONIMO_VERSION%%_stop_timeout (num) +# james_stop_timeout (num) # Set to "10" by default. -# Sets the timeout in seconds to allow geronimo to shutdown. -# After the timeout has elapsed, geronimo will be killed. +# Sets the timeout in seconds to allow james to shutdown. +# After the timeout has elapsed, james will be killed. # -# james%%JAMES_VERSION%%_java_home (str): -# james%%JAMES_VERSION%%_java_vendor (str): -# james%%JAMES_VERSION%%_java_version (str): -# james%%JAMES_VERSION%%_java_os (str): +# james_java_home (str): +# james_java_vendor (str): +# james_java_version (str): +# james_java_os (str): # Specify the requirements of the Java VM to use. See javavm(1). # -# james%%JAMES_VERSION%%_classpath (str): +# james_classpath (str): # Set to "" by default. # Addtional classes to add to the CLASSPATH # -# james%%JAMES_VERSION%%_java_opts (str): +# james_java_opts (str): # Set to "" by default. # Java VM args to use. # -james%%JAMES_VERSION%%_enable="${james%%JAMES_VERSION%%_enable:-"NO"}" -james%%JAMES_VERSION%%_java_version="${james%%JAMES_VERSION%%_java_version:-"%%JAVA_VERSION%%"}" -james%%JAMES_VERSION%%_home="${james%%JAMES_VERSION%%_home:-"%%JAMES_HOME%%"}" -james%%JAMES_VERSION%%_base="${james%%JAMES_VERSION%%_base:-"%%JAMES_HOME%%"}" -james%%JAMES_VERSION%%_tmpdir="${james%%JAMES_VERSION%%_tmpdir:-"/tmp"}" -james%%JAMES_VERSION%%_stop_timeout="${james%%JAMES_VERSION%%_stop_timeout:-"10"}" +james_enable="${james_enable:-"NO"}" +james_java_version="${james_java_version:-"%%JAVA_VERSION%%"}" +james_home="${james_home:-"%%JAMES_HOME%%"}" +james_base="${james_base:-"%%JAMES_HOME%%"}" +james_tmpdir="${james_tmpdir:-"/tmp"}" +james_stop_timeout="${james_stop_timeout:-"10"}" . /etc/rc.subr -name="james%%JAMES_VERSION%%" -rcvar=james%%JAMES_VERSION%%_enable +name=james +rcvar=james_enable pidfile="%%PID_FILE%%" -JAVA_HOME=%%JAVA_HOME%% -JRE_HOME=$JAVA_HOME/jre +load_rc_config "${name}" -JVM_EXT_DIRS="${james%%JAMES_VERSION%%_home}/lib:${james%%JAMES_VERSION%%_home}/tools/lib" +for var in $(list_vars "james[0-9]*"); do + echo "WARNING: \$$var is deprecated, use \$james_${var#*_} instead." + eval james_${var#*_}=\"\$$var\" +done + +JAVA_HOME="%%JAVA_HOME%%" +JRE_HOME="$JAVA_HOME/jre" +JVM_EXT_DIRS="${james_home}/lib:${james_home}/tools/lib" JVM_OPTS="-Djava.ext.dirs=$JVM_EXT_DIRS" -load_rc_config "${name}" - -if [ -n "${james%%JAMES_VERSION%%_java_home}" ] ; then - export JAVA_HOME="${james%%JAMES_VERSION%%_java_home}" +if [ -n "${james_java_home}" ] ; then + export JAVA_HOME="${james_java_home}" fi -if [ -n "${james%%JAMES_VERSION%%_java_version}" ] ; then - export JAVA_VERSION="${james%%JAMES_VERSION%%_java_version}" +if [ -n "${james_java_version}" ] ; then + export JAVA_VERSION="${james_java_version}" fi -if [ -n "${james%%JAMES_VERSION%%_java_vendor}" ] ; then - export JAVA_VENDOR="${james%%JAMES_VERSION%%_java_vendor}" +if [ -n "${james_java_vendor}" ] ; then + export JAVA_VENDOR="${james_java_vendor}" fi -if [ -n "${james%%JAMES_VERSION%%_java_os}" ] ; then - export JAVA_OS="${james%%JAMES_VERSION%%_java_os}" +if [ -n "${james_java_os}" ] ; then + export JAVA_OS="${james_java_os}" fi if [ "$JAVA_HOME" = "" ] ; then - echo "ERROR: JAVA_HOME not found in your environment." - echo - echo "Please, set the JAVA_HOME variable in your environment to match the" - echo "location of the Java Virtual Machine you want to use." - exit 1 + echo "ERROR: JAVA_HOME not found in your environment." + echo + echo "Please, set the JAVA_HOME variable in your environment to match the" + echo "location of the Java Virtual Machine you want to use." + return 1 fi -if [ -z "${james%%JAMES_VERSION%%_tmpdir}" ] ; then - # Define the java.io.tmpdir to use for Phoenix - james%%JAMES_VERSION%%_tmpdir="${james%%JAMES_VERSION%%_home}"/temp - mkdir -p "${james%%JAMES_VERSION%%_tmpdir}" +if [ -z "${james_tmpdir}" ] ; then + # Define the java.io.tmpdir to use for Phoenix + james_tmpdir="${james_home}"/temp + mkdir -p "${james_tmpdir}" fi java_cmd= @@ -102,43 +107,58 @@ fi java_command="$java_cmd $JVM_OPTS \ - -Djava.security.policy=jar:file:${james%%JAMES_VERSION%%_home}/bin/phoenix-loader.jar!/META-INF/java.policy \ - -Dphoenix.home=${james%%JAMES_VERSION%%_home} \ - -Djava.io.tmpdir=${james%%JAMES_VERSION%%_tmpdir} \ - -jar ${james%%JAMES_VERSION%%_home}/bin/phoenix-loader.jar >/dev/null" + -Djava.security.policy=jar:file:${james_home}/bin/phoenix-loader.jar!/META-INF/java.policy \ + -Dphoenix.home=${james_home} \ + -Djava.io.tmpdir=${james_tmpdir} \ + -jar ${james_home}/bin/phoenix-loader.jar >/dev/null" PHOENIX_CONSOLE="$PHOENIX_TMPDIR/phoenix.console" -if [ -z "$PHOENIX_CONSOLE" ] -then - if [ -w /dev/console ] - then - PHOENIX_CONSOLE=/dev/console - else - PHOENIX_CONSOLE=/dev/tty - fi +if [ -z "$PHOENIX_CONSOLE" ] ; then + if [ -w /dev/console ]; then + PHOENIX_CONSOLE=/dev/console + else + PHOENIX_CONSOLE=/dev/tty + fi fi - # Subvert the check_pid_file procname check. -if [ -f $pidfile ]; then - read rc_pid junk < $pidfile - if [ ! -z "$rc_pid" ]; then - procname=`ps -o ucomm= $rc_pid` - fi -fi - -command="/usr/sbin/daemon" -flags="-p ${pidfile} ${java_command}" - -start_precmd=pid_touch -stop_cmd="james%%JAMES_VERSION%%_stop" - -pid_touch () -{ - touch $pidfile +if [ -f $pidfile ] ; then + read rc_pid junk < $pidfile + if [ ! -z "$rc_pid" ]; then + procname=`ps -o ucomm= $rc_pid` + fi +fi + +start_cmd=james_start +status_cmd=james_status +stop_cmd=james_stop + +james_start() { + rc_pid=$(check_pidfile $pidfile *$procname*) + + if [ ! -z "$rc_pid" ]; then + echo "Already running!" + return 1 + fi + + echo "Starting ${name}." + nohup sh -c "exec $java_command >>$PHOENIX_CONSOLE 2>&1" >/dev/null & + echo $! > $pidfile +} + +james_status() { + rc_pid=$(check_pidfile $pidfile *$procname*) + + if [ -z "$rc_pid" ]; then + echo "${name} not running" + return 1 + else + echo "${name} is running as pid $rc_pid" + return 0 + fi } -james%%JAMES_VERSION%%_stop() { +james_stop() { rc_pid=$(check_pidfile $pidfile *$procname*) if [ -z "$rc_pid" ]; then @@ -153,7 +173,7 @@ james%%JAMES_VERSION%%_stop() { echo "Stopping ${name}." kill ${rc_pid}>/dev/null - james_wait_max_for_pid ${james%%JAMES_VERSION%%_stop_timeout} ${rc_pid} + james_wait_max_for_pid ${james_stop_timeout} ${rc_pid} kill -KILL ${rc_pid} 2> /dev/null && echo "Killed." echo -n > ${pidfile} } Modified: branches/2015Q4/mail/james/pkg-plist ============================================================================== --- branches/2015Q4/mail/james/pkg-plist Mon Oct 5 10:25:59 2015 (r398637) +++ branches/2015Q4/mail/james/pkg-plist Mon Oct 5 10:47:47 2015 (r398638) @@ -1,77 +1,78 @@ -james2.3.1/LICENSE.txt -james2.3.1/NOTICE.txt -james2.3.1/README.txt -james2.3.1/UPGRADE.txt -james2.3.1/apps/dummy.txt -james2.3.1/apps/james.sar -james2.3.1/bin/Wrapper.LICENSE -james2.3.1/bin/Wrapper.dll -james2.3.1/bin/derby.properties -james2.3.1/bin/lib/excalibur-cli-1.0.jar -james2.3.1/bin/lib/excalibur-extension-1.0a.jar -james2.3.1/bin/lib/excalibur-instrument-manager-1.0.jar -james2.3.1/bin/lib/excalibur-io-1.1.jar -james2.3.1/bin/lib/excalibur-logger-2.1.jar -james2.3.1/bin/lib/excalibur-monitor-2.1.jar -james2.3.1/bin/lib/jakarta-oro-2.0.8.jar -james2.3.1/bin/lib/mx4j-jmx.jar -james2.3.1/bin/lib/mx4j-tools.jar -james2.3.1/bin/lib/mx4j.LICENSE -james2.3.1/bin/lib/phoenix-engine.jar -james2.3.1/bin/lib/spice-classman-1.0.jar -james2.3.1/bin/lib/spice-loggerstore-0.5.jar -james2.3.1/bin/lib/spice-salt-0.8.jar -james2.3.1/bin/lib/spice-xmlpolicy-1.0.jar -james2.3.1/bin/lib/spice.LICENSE -james2.3.1/bin/phoenix-loader.jar -james2.3.1/bin/phoenix.sh -james2.3.1/bin/run.sh -james2.3.1/bin/sendmail.py -james2.3.1/bin/wrapper.jar -james2.3.1/conf/kernel.xml -james2.3.1/conf/phoenix-service.xml -james2.3.1/conf/wrapper.conf -james2.3.1/ext/README.txt -james2.3.1/lib/avalon-framework-api-4.3.jar -james2.3.1/lib/avalon-framework-impl-4.3.jar -james2.3.1/lib/avalon-logkit-2.1.jar -james2.3.1/lib/commons-collections-2.1.1.jar -james2.3.1/lib/concurrent-1.3.4.jar -james2.3.1/lib/excalibur-cli-1.0.jar -james2.3.1/lib/excalibur-extension-1.0a.jar -james2.3.1/lib/excalibur-instrument-api-2.1.jar -james2.3.1/lib/excalibur-instrument-manager-1.0.jar -james2.3.1/lib/excalibur-io-1.1.jar -james2.3.1/lib/excalibur-logger-2.1.jar -james2.3.1/lib/excalibur-monitor-2.1.jar -james2.3.1/lib/excalibur-pool-api-2.1.jar -james2.3.1/lib/excalibur-pool-impl-2.1.jar -james2.3.1/lib/excalibur-thread-api-2.1.jar -james2.3.1/lib/excalibur-thread-impl-2.1.jar -james2.3.1/lib/jakarta-oro-2.0.8.jar -james2.3.1/lib/mx4j-jmx.jar -james2.3.1/lib/mx4j-tools.jar -james2.3.1/lib/mx4j.LICENSE -james2.3.1/lib/phoenix-client.jar -james2.3.1/lib/phoenix-engine.jar -james2.3.1/lib/spice-classman-1.0.jar -james2.3.1/lib/spice-loggerstore-0.5.jar -james2.3.1/lib/spice-salt-0.8.jar -james2.3.1/lib/spice-xmlpolicy-1.0.jar -james2.3.1/lib/spice.LICENSE -james2.3.1/lib/tools.jar -james2.3.1/logs/readme.txt -james2.3.1/tools/lib/excalibur-i18n-1.0.jar -james2.3.1/tools/lib/isorelax-20020414.jar -james2.3.1/tools/lib/isorelax.LICENSE -james2.3.1/tools/lib/msv-20020414.jar -james2.3.1/tools/lib/msv.LICENSE -james2.3.1/tools/lib/phoenix-tools.jar -james2.3.1/tools/lib/qdox-1.1.jar -james2.3.1/tools/lib/qdox.LICENSE -james2.3.1/tools/lib/relaxngDatatype-20020414.jar -james2.3.1/tools/lib/relaxngDatatype.LICENSE -james2.3.1/tools/lib/spice-configkit-1.1.2.jar -james2.3.1/tools/lib/spice.LICENSE -james2.3.1/tools/lib/xsdlib-20020414.jar -james2.3.1/tools/lib/xsdlib.LICENSE +%%T%%/LICENSE.txt +%%T%%/NOTICE.txt +%%T%%/README.txt +%%T%%/RELEASE_NOTES.txt +%%T%%/UPGRADE.txt +%%T%%/apps/dummy.txt +%%T%%/apps/james.sar +%%T%%/bin/Wrapper.LICENSE +%%T%%/bin/Wrapper.dll +%%T%%/bin/derby.properties +%%T%%/bin/lib/excalibur-cli-1.0.jar +%%T%%/bin/lib/excalibur-extension-1.0a.jar +%%T%%/bin/lib/excalibur-instrument-manager-1.0.jar +%%T%%/bin/lib/excalibur-io-1.1.jar +%%T%%/bin/lib/excalibur-logger-2.1.jar +%%T%%/bin/lib/excalibur-monitor-2.1.jar +%%T%%/bin/lib/jakarta-oro-2.0.8.jar +%%T%%/bin/lib/mx4j-jmx.jar +%%T%%/bin/lib/mx4j-tools.jar +%%T%%/bin/lib/mx4j.LICENSE +%%T%%/bin/lib/phoenix-engine.jar +%%T%%/bin/lib/spice-classman-1.0.jar +%%T%%/bin/lib/spice-loggerstore-0.5.jar +%%T%%/bin/lib/spice-salt-0.8.jar +%%T%%/bin/lib/spice-xmlpolicy-1.0.jar +%%T%%/bin/lib/spice.LICENSE +%%T%%/bin/phoenix-loader.jar +%%T%%/bin/phoenix.sh +%%T%%/bin/run.sh +%%T%%/bin/sendmail.py +%%T%%/bin/wrapper.jar +%%T%%/conf/kernel.xml +%%T%%/conf/phoenix-service.xml +%%T%%/conf/wrapper.conf +%%T%%/ext/README.txt +%%T%%/lib/avalon-framework-api-4.3.jar +%%T%%/lib/avalon-framework-impl-4.3.jar +%%T%%/lib/avalon-logkit-2.1.jar +%%T%%/lib/commons-collections-2.1.1.jar +%%T%%/lib/concurrent-1.3.4.jar +%%T%%/lib/excalibur-cli-1.0.jar +%%T%%/lib/excalibur-extension-1.0a.jar +%%T%%/lib/excalibur-instrument-api-2.1.jar +%%T%%/lib/excalibur-instrument-manager-1.0.jar +%%T%%/lib/excalibur-io-1.1.jar +%%T%%/lib/excalibur-logger-2.1.jar +%%T%%/lib/excalibur-monitor-2.1.jar +%%T%%/lib/excalibur-pool-api-2.1.jar +%%T%%/lib/excalibur-pool-impl-2.1.jar +%%T%%/lib/excalibur-thread-api-2.1.jar +%%T%%/lib/excalibur-thread-impl-2.1.jar +%%T%%/lib/jakarta-oro-2.0.8.jar +%%T%%/lib/mx4j-jmx.jar +%%T%%/lib/mx4j-tools.jar +%%T%%/lib/mx4j.LICENSE +%%T%%/lib/phoenix-client.jar +%%T%%/lib/phoenix-engine.jar +%%T%%/lib/spice-classman-1.0.jar +%%T%%/lib/spice-loggerstore-0.5.jar +%%T%%/lib/spice-salt-0.8.jar +%%T%%/lib/spice-xmlpolicy-1.0.jar +%%T%%/lib/spice.LICENSE +%%T%%/lib/tools.jar +%%T%%/logs/readme.txt +%%T%%/tools/lib/excalibur-i18n-1.0.jar +%%T%%/tools/lib/isorelax-20020414.jar +%%T%%/tools/lib/isorelax.LICENSE +%%T%%/tools/lib/msv-20020414.jar +%%T%%/tools/lib/msv.LICENSE +%%T%%/tools/lib/phoenix-tools.jar +%%T%%/tools/lib/qdox-1.1.jar +%%T%%/tools/lib/qdox.LICENSE +%%T%%/tools/lib/relaxngDatatype-20020414.jar +%%T%%/tools/lib/relaxngDatatype.LICENSE +%%T%%/tools/lib/spice-configkit-1.1.2.jar +%%T%%/tools/lib/spice.LICENSE +%%T%%/tools/lib/xsdlib-20020414.jar +%%T%%/tools/lib/xsdlib.LICENSE