summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2006-07-22 03:49:48 +0800
committerahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2006-07-22 03:49:48 +0800
commit62198160c2d9b228a0b7a62a042e1988863165cc (patch)
treef00b49a0ae0d117ad1a9118de1b1fdf6142760e2 /java
parentf53366fa4d2f4b315a71c4ad6ffa431deba99cbd (diff)
downloadmarcuscom-ports-62198160c2d9b228a0b7a62a042e1988863165cc.tar
marcuscom-ports-62198160c2d9b228a0b7a62a042e1988863165cc.tar.gz
marcuscom-ports-62198160c2d9b228a0b7a62a042e1988863165cc.tar.bz2
marcuscom-ports-62198160c2d9b228a0b7a62a042e1988863165cc.tar.lz
marcuscom-ports-62198160c2d9b228a0b7a62a042e1988863165cc.tar.xz
marcuscom-ports-62198160c2d9b228a0b7a62a042e1988863165cc.tar.zst
marcuscom-ports-62198160c2d9b228a0b7a62a042e1988863165cc.zip
- Chase firefox/mozilla move to LOCALBASE
Don't bump PORTREVISION git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@6679 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'java')
-rw-r--r--java/jdk15/Makefile336
-rw-r--r--java/jdk15/distinfo9
-rw-r--r--java/jdk15/files/cacertsbin0 -> 29731 bytes
-rw-r--r--java/jdk15/files/patch-control::common::Defs-bsd.gmk13
-rw-r--r--java/jdk15/files/patch-deploy::common::Defs-bsd.gmk13
-rw-r--r--java/jdk15/files/patch-deploy::controlpanel::sun_java.desktop13
-rw-r--r--java/jdk15/files/patch-hotspot::vm::globals_bsd_amd64.hpp13
-rw-r--r--java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp16
-rw-r--r--java/jdk15/files/patch-j2se::awt::canvas.c32
-rw-r--r--java/jdk15/files/patch-j2se::common::Defs-bsd.gmk13
-rw-r--r--java/jdk15/files/patch-j2se::instrument::Makefile15
-rw-r--r--java/jdk15/files/patch-j2se::lang::ProcessEnvironment_md.c22
-rw-r--r--java/jdk15/files/patch-j2se::nio::genCharsetProvider.sh17
-rw-r--r--java/jdk15/files/patch-j2se::xawt::XWindow.c28
-rw-r--r--java/jdk15/files/patch-java_Makefile11
-rw-r--r--java/jdk15/files/patch-vm::os_bsd.cpp13
-rw-r--r--java/jdk15/files/pkg-deinstall.in31
-rw-r--r--java/jdk15/files/pkg-install.in57
-rw-r--r--java/jdk15/pkg-descr11
-rw-r--r--java/jdk15/pkg-message1139
20 files changed, 1802 insertions, 0 deletions
diff --git a/java/jdk15/Makefile b/java/jdk15/Makefile
new file mode 100644
index 000000000..42f13aa1a
--- /dev/null
+++ b/java/jdk15/Makefile
@@ -0,0 +1,336 @@
+# New ports collection makefile for: jdk15
+# Date created: 12 January 2005
+# Whom: Alexey Zelkin <phantom@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= jdk
+PORTVERSION= ${JDK_VERSION}p${JDK_PATCHSET_VERSION}
+PORTREVISION= 1
+CATEGORIES= java devel
+MASTER_SITES= # http://www.sun.com/software/communitysource/j2se/java2/download.xml
+# http://www.eyesbeyond.com/freebsddom/java/jdk15.html
+SCSL_SRCFILE= jdk-${JDK_VERSION:S/./_/g}-src-scsl.zip
+SCSL_BINFILE= jdk-${JDK_VERSION:S/./_/g}-bin-scsl.zip
+PATCHSETFILE= bsd-jdk15-patches-${JDK_PATCHSET_VERSION}.tar.bz2
+DISTFILES= ${SCSL_SRCFILE} ${SCSL_BINFILE} ${PATCHSETFILE}
+
+MAINTAINER= glewis@FreeBSD.org
+COMMENT= Java Development Kit 1.5.0
+
+EXTRACT_DEPENDS=zip:${PORTSDIR}/archivers/zip
+BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
+ zip:${PORTSDIR}/archivers/zip \
+ ${X11BASE}/lib/libXm.so:${PORTSDIR}/x11-toolkits/open-motif
+RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper
+
+.if ${MACHINE_ARCH} == "amd64"
+WITHOUT_WEB= yes
+.endif
+
+.if defined(WITHOUT_WEB)
+MAKE_ENV+= DONT_BUILD_DEPLOY="YES"
+.else
+.if defined(WITH_MOZILLA) && ${WITH_MOZILLA} == "firefox"
+BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/firefox-plugin.pc:${PORTSDIR}/www/firefox
+RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/firefox-plugin.pc:${PORTSDIR}/www/firefox
+LIB_DEPENDS+= nspr4.1:${PORTSDIR}/devel/nspr
+MAKE_ENV+= BROWSER=firefox \
+ ALT_NSPR_HEADERS_PATH="${LOCALBASE}/include/nspr"
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/mozilla-plugin.pc:${PORTSDIR}/www/mozilla
+RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/mozilla-plugin.pc:${PORTSDIR}/www/mozilla
+MAKE_ENV+= BROWSER=mozilla
+.endif
+USE_GNOME= desktopfileutils
+MAKE_ENV+= ALT_MOZILLA_HEADERS_PATH="${LOCALBASE}/include"
+.endif
+
+PKGINSTALL= ${WRKDIR}/pkg-install
+PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
+SUB_FILES+= pkg-install \
+ pkg-deinstall
+SUB_LIST+= JRE_HOME=${PREFIX}/jdk${JDK_VERSION}/jre \
+ ARCH=${MACHINE_ARCH}
+
+WRKSRC= ${WRKDIR}/control/make
+
+JDK_VERSION= 1.5.0
+JDK_PATCHSET_VERSION= 3
+LATEST_LINK= jdk15
+
+SUN_LINUX_JDK_VERSION= 1.4.2
+
+.if !defined(WITH_LINUX_BOOTSTRAP)
+.if ${MACHINE_ARCH} == "i386"
+NATIVE_BOOTSTRAP_JDKS+= ${LOCALBASE}/diablo-jdk1.5.0
+.endif
+NATIVE_BOOTSTRAP_JDKS+= ${LOCALBASE}/jdk1.5.0 \
+ ${LOCALBASE}/jdk1.4.2
+.endif
+
+LINUX_BOOTSTRAP_JDKS= ${LOCALBASE}/linux-sun-jdk1.4.2
+
+.include <bsd.port.pre.mk>
+
+# do we have valid native jdk installed?
+.if !defined(WITH_LINUX_BOOTSTRAP)
+.for CJDK in ${NATIVE_BOOTSTRAP_JDKS}
+. if !defined(JDK14DIR) && exists(${CJDK}/bin/javac)
+JDK14DIR= ${CJDK}
+. endif
+.endfor
+.endif
+
+# do we have valid linux jdk installed?
+.if !defined(JDK14DIR)
+.for CJDK in ${LINUX_BOOTSTRAP_JDKS}
+. if !defined(JDK14DIR) && exists(${CJDK}/bin/javac)
+JDK14DIR= ${CJDK}
+WITH_LINUX_BOOTSTRAP= YES
+. endif
+.endfor
+.endif
+
+# if no valid jdk found, set dependency
+.if !defined(JDK14DIR)
+JDK14DIR?= ${LOCALBASE}/linux-sun-jdk${SUN_LINUX_JDK_VERSION}
+.endif
+
+BUILD_DEPENDS+= ${JDK14DIR}/bin/javac:${PORTSDIR}/java/linux-sun-jdk14
+
+# workaround to handle both 'zip' and 'tar.bz2' distfiles
+USE_ZIP= YES
+EXTRACT_ONLY= ${SCSL_SRCFILE} ${SCSL_BINFILE}
+
+ONLY_FOR_ARCHS= i386 amd64
+USE_GMAKE= YES
+USE_ICONV= YES
+RESTRICTED= "Redistribution of pre-compiled binaries is not permitted"
+NO_CDROM= "Redistribution of pre-compiled binaries is not permitted"
+
+MAKE_ENV+= ALT_BOOTDIR="${JDK14DIR}" \
+ ALT_MOTIF_DIR="${X11BASE}" \
+ SYS_CFLAGS="${CFLAGS}" \
+ LANG="C" \
+ JAVA_HOME="" \
+ CLASSPATH="" \
+ LD_LIBRARY_PATH="" \
+ MAKEFLAGS="" \
+ SKIP_COMPARE_IMAGES="YES"
+.if !defined(WITH_IPV6)
+MAKE_ENV+= DONT_ENABLE_IPV6="YES"
+.endif
+.if defined(HOTSPOT_BUILD_JOBS)
+MAKE_ENV+= HOTSPOT_BUILD_JOBS=${HOTSPOT_BUILD_JOBS}
+.endif
+
+ALL_TARGET= all
+
+PLIST_FILES= jdk${JDK_VERSION}/jre/.systemPrefs/.system.lock \
+ jdk${JDK_VERSION}/jre/.systemPrefs/.systemRootModFile
+.if !defined(WITHOUT_WEB)
+PLIST_FILES+= share/applications/sun_java15.desktop
+.endif
+PLIST_DIRS= jdk${JDK_VERSION}/jre/.systemPrefs
+
+.if (${ARCH} == amd64)
+HOTSPOTARCH=amd64
+.else
+HOTSPOTARCH=i586
+.endif
+
+JDKIMAGEDIR= ${WRKSRC}/../build/bsd-${HOTSPOTARCH}/j2sdk-image
+JDKIMAGEDIR_G= ${WRKSRC}/../build/bsd-${HOTSPOTARCH}/j2sdk-debug-image
+
+PTHREAD_FILES= ../../hotspot/build/bsd/makefiles/vm.make \
+ ../../j2se/make/com/sun/java/pack/Makefile \
+ ../../j2se/make/common/Defs.gmk \
+ ../../j2se/make/common/Defs-bsd.gmk \
+ ../../j2se/make/common/Program.gmk \
+ ../../j2se/make/java/hpi/native/Makefile \
+ ../../j2se/make/java/net/Makefile \
+ ../../j2se/make/java/nio/Makefile \
+ ../../j2se/make/jpda/transport/socket/Makefile \
+ ../../j2se/make/sun/cmm/Makefile \
+ ../../j2se/make/sun/xawt/Makefile
+
+LD_LIBRARY_PATH_FILES= ../../hotspot/src/os/bsd/vm/os_bsd.cpp
+
+# Check for JDK sources and patch file
+.if !defined(PACKAGE_BUILDING) && (!exists(${DISTDIR}/${SCSL_SRCFILE}) || !exists(${DISTDIR}/${SCSL_BINFILE}) || !exists(${DISTDIR}/${PATCHSETFILE}))#{
+ECHO_MSG=/usr/bin/printf
+IGNORE= :\n\
+Due to licensing restrictions, certain files must be fetched manually.\n\n
+.if !exists(${DISTDIR}/${SCSL_SRCFILE}) || !exists(${DISTDIR}/${SCSL_BINFILE})#{
+IGNORE += Please open http://www.sun.com/software/java2/download.html\n\
+in a web browser and follow the \"Download\" link for the\n\
+\"JDK ${JDK_VERSION:S/1.//}\". You will be required to log in and register,\n\
+but you can create an account on this page. After registration and\n\
+accepting the Sun Community Source License, download the\n
+.if !exists(${DISTDIR}/${SCSL_SRCFILE})#{
+IGNORE += SCSL Source file, ${SCSL_SRCFILE}
+.endif#}
+.if !exists(${DISTDIR}/${SCSL_BINFILE})#{
+.if !exists(${DISTDIR}/${SCSL_SRCFILE})#{
+IGNORE += and the\n
+.endif#}
+IGNORE += SCSL Binaries file, ${SCSL_BINFILE}
+.endif#}
+IGNORE += .\n\n
+.if !exists(${DISTDIR}/${PATCHSETFILE})#{
+IGNORE += In addition, please
+.endif#}
+.elif !exists(${DISTDIR}/${PATCHSETFILE})
+IGNORE += Please
+.endif#}
+.if !exists(${DISTDIR}/${PATCHSETFILE})#{
+IGNORE += download the patchset, ${PATCHSETFILE}, from\n\
+http://www.eyesbeyond.com/freebsddom/java/jdk15.html.\n\n
+.endif#}
+IGNORE += Please place the downloaded file(s) in ${DISTDIR}
+IGNORE += \n and restart the build.\n\n
+.endif#}
+
+pre-fetch:
+ @${ECHO_MSG}
+ @${ECHO_MSG} "IMPORTANT: To build JDK 1.5.0 port, you should have at least"
+ @${ECHO_MSG} "2.5Gb of free disk space in build area!"
+ @${ECHO_MSG}
+.if defined(WITH_LINUX_BOOTSTRAP)
+ @${ECHO_MSG} "IMPORTANT: To build JDK 1.5.0 port, you should have linux emulation"
+ @${ECHO_MSG} "enabled in the kernel and linux procfs (linprocfs) filesystem"
+ @${ECHO_MSG} "mounted."
+ @${ECHO_MSG}
+.endif
+ @${ECHO_MSG} "Following port compile time options are available:"
+ @${ECHO_MSG}
+ @${ECHO_MSG} " WITH_DEBUG - install JDK binaries and libraries"
+ @${ECHO_MSG} " with debuging support"
+ @${ECHO_MSG}
+ @${ECHO_MSG} " WITH_IPV6 - enable JDK IPv6 support"
+ @${ECHO_MSG}
+ @${ECHO_MSG} " WITHOUT_WEB - don't build the browser plugin"
+ @${ECHO_MSG} " or Java Web Start"
+ @${ECHO_MSG}
+
+pre-everything::
+ @${ECHO_MSG}
+ @${ECHO_MSG} "WARNING: "
+ @${ECHO_MSG} "WARNING: This is BETA quality software!"
+ @${ECHO_MSG} "WARNING: Use in a production environment is at your own risk."
+ @${ECHO_MSG} "WARNING: "
+ @${ECHO_MSG}
+
+pre-patch:
+ @cd ${WRKDIR} && \
+ ${BZIP2_CMD} -dc ${DISTDIR}/${PATCHSETFILE} | ${TAR} -xf - && \
+ ${CHMOD} -R u+w * && \
+ ${PATCH} -p0 < ${WRKDIR}/jdk15.patches
+
+post-patch:
+ @for file in ${LD_LIBRARY_PATH_FILES}; do \
+ ${REINPLACE_CMD} -e "s:%%LOCALBASE%%:${LOCALBASE}:" \
+ ${WRKSRC}/$${file}; \
+ done
+ @for file in ${PTHREAD_FILES}; do \
+ ${REINPLACE_CMD} -e "s:-pthread:${PTHREAD_LIBS}:g" \
+ ${WRKSRC}/$${file}; \
+ done
+ ${REINPLACE_CMD} -e "s:%%PREFIX%%:${PREFIX}:g" \
+ -e "s:%%JDK_VERSION%%:${JDK_VERSION}:g"\
+ ${WRKSRC}/../../deploy/src/plugin/solaris/controlpanel/sun_java.desktop
+
+.if defined(WITH_LINUX_BOOTSTRAP)
+pre-build:
+ @if [ "$${WRKDIRPREFIX}" -a \
+ -L "/compat/linux/$${WRKDIRPREFIX}" -a \
+ x`${LS} -ld "/compat/linux/$${WRKDIRPREFIX}" 2>/dev/null | awk '/->/{print $$NF;exit 0}END{exit 1}'` = x"$${WRKDIRPREFIX}" ]; \
+ then \
+ ${ECHO_MSG} "Please set WRKDIRPREFIX to something which doesn't"; \
+ ${ECHO_MSG} "have a matching symbolic link in /compat/linux."; \
+ ${ECHO_MSG} "This is known to cause problems during bootstrapping."; \
+ exit 1; \
+ fi
+ @if [ `/sbin/sysctl -n compat.linux.osname` != "Linux" ]; \
+ then \
+ ${ECHO_MSG} "Please set the value of the sysctl compat.linux.osname"; \
+ ${ECHO_MSG} "to 'Linux' with the command:"; \
+ ${ECHO_MSG} " /sbin/sysctl compat.linux.osname=Linux"; \
+ ${ECHO_MSG} "Having it set to other values, such as 'FreeBSD',"; \
+ ${ECHO_MSG} "is known to cause problems during bootstrapping."; \
+ exit 1; \
+ fi
+ @if [ "`/sbin/mount | grep ^linprocfs`" = "" ]; \
+ then \
+ ${ECHO_MSG} "ERROR: You must have LINPROCFS mounted before" ; \
+ ${ECHO_MSG} "starting to build the native JDK 1.5.0." ; \
+ ${ECHO_MSG} "" ; \
+ ${ECHO_MSG} "You may do it with the following commands:" ; \
+ ${ECHO_MSG} "" ; \
+ ${ECHO_MSG} "# kldload linprocfs" ; \
+ ${ECHO_MSG} "" ; \
+ ${ECHO_MSG} "and" ; \
+ ${ECHO_MSG} "" ; \
+ ${ECHO_MSG} "# mount -t linprocfs linprocfs /compat/linux/proc" ; \
+ ${ECHO_MSG} "" ; \
+ exit 1 ; \
+ fi
+.endif
+
+do-build:
+ # Start of jdk build
+ @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
+
+post-build:
+ @# XXX don't install japanese manpages
+ @${RM} -rf ${JDKIMAGEDIR}/man/ja
+ @${RM} -rf ${JDKIMAGEDIR}/man/ja_JP.eucJP
+
+pre-install:
+.if !defined(WITH_DEBUG)
+ @${ECHO_MSG}
+ @${ECHO_MSG} "Please use \`make -DWITH_DEBUG' if you want to install libraries and binaries"
+ @${ECHO_MSG} "with debugging support."
+ @${ECHO_MSG}
+.endif
+
+do-install:
+ ${MKDIR} ${PREFIX}/jdk${JDK_VERSION}
+ cd ${JDKIMAGEDIR} && ${FIND} . \
+ | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
+.if !defined(WITHOUT_WEB)
+ ${INSTALL_DATA} ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop \
+ ${PREFIX}/share/applications/sun_java15.desktop
+.endif
+ @${ECHO_MSG} "@unexec ${LOCALBASE}/bin/unregistervm ${PREFIX}/jdk${JDK_VERSION}/bin/java" >> ${TMPPLIST}
+ @${FIND} -s ${JDKIMAGEDIR} -not -type d | \
+ ${SED} -ne 's#^${JDKIMAGEDIR}#jdk${JDK_VERSION}#p' >> ${TMPPLIST}
+.if !defined(WITHOUT_WEB)
+ @${ECHO_MSG} '@exec ${LOCALBASE}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST}
+.endif
+.if defined(WITH_DEBUG)
+ cd ${JDKIMAGEDIR_G} && ${FIND} . \
+ | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
+ @${FIND} -s ${JDKIMAGEDIR_G} -not -type d | \
+ ${SED} -ne 's#^${JDKIMAGEDIR_G}#jdk${JDK_VERSION}#p' >> ${TMPPLIST}
+.endif
+ ${INSTALL_DATA} ${FILESDIR}/cacerts \
+ ${PREFIX}/jdk${JDK_VERSION}/jre/lib/security/cacerts
+ @${FIND} -s -d ${PREFIX}/jdk${JDK_VERSION} -type d | \
+ ${SED} -ne 's#^${PREFIX}/#@dirrm #p' >> ${TMPPLIST}
+ @${ECHO_MSG} "@exec ${LOCALBASE}/bin/registervm ${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}" >> ${TMPPLIST}
+.if !defined(WITHOUT_WEB)
+ @${ECHO_MSG} '@unexec ${LOCALBASE}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST}
+.endif
+
+# XXX: put unregistervm into install script ?
+post-install:
+ @${LOCALBASE}/bin/registervm "${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}"
+.if !defined(WITHOUT_WEB)
+ @-update-desktop-database
+.endif
+ @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.include <bsd.port.post.mk>
diff --git a/java/jdk15/distinfo b/java/jdk15/distinfo
new file mode 100644
index 000000000..a57561575
--- /dev/null
+++ b/java/jdk15/distinfo
@@ -0,0 +1,9 @@
+MD5 (jdk-1_5_0-src-scsl.zip) = 7802831198068c9a0df727c3ea6617a9
+SHA256 (jdk-1_5_0-src-scsl.zip) = d11e35f2f0b8f6e2e71bf19e423d553179f980105d877bfefac88e5e494173bd
+SIZE (jdk-1_5_0-src-scsl.zip) = 58338869
+MD5 (jdk-1_5_0-bin-scsl.zip) = 3c3b2c079628141fa28f5f0f1cde5bf0
+SHA256 (jdk-1_5_0-bin-scsl.zip) = f7be15e4478165c361d011f39c02fea558dba442aeb3556357f4c7771db763f1
+SIZE (jdk-1_5_0-bin-scsl.zip) = 2219433
+MD5 (bsd-jdk15-patches-3.tar.bz2) = 66e19561ca6d0e775dcd590fd97a6921
+SHA256 (bsd-jdk15-patches-3.tar.bz2) = 84bff46fb1f091fb8a508287cadd740cdc07691c616a72a9d84d3ee53b8cab6c
+SIZE (bsd-jdk15-patches-3.tar.bz2) = 650413
diff --git a/java/jdk15/files/cacerts b/java/jdk15/files/cacerts
new file mode 100644
index 000000000..dbc3699a9
--- /dev/null
+++ b/java/jdk15/files/cacerts
Binary files differ
diff --git a/java/jdk15/files/patch-control::common::Defs-bsd.gmk b/java/jdk15/files/patch-control::common::Defs-bsd.gmk
new file mode 100644
index 000000000..2690cb8cd
--- /dev/null
+++ b/java/jdk15/files/patch-control::common::Defs-bsd.gmk
@@ -0,0 +1,13 @@
+$FreeBSD: ports/java/jdk15/files/patch-control::common::Defs-bsd.gmk,v 1.2 2005/01/20 08:41:13 phantom Exp $
+
+--- ../../control/make/common/Defs-bsd.gmk.orig Thu Jan 13 02:01:40 2005
++++ ../../control/make/common/Defs-bsd.gmk Thu Jan 13 02:01:54 2005
+@@ -200,7 +200,7 @@
+ ifeq ($(TRUE_PLATFORM), NetBSD)
+ DEVTOOLS_PATH = /usr/pkg/bin/
+ else
+-DEVTOOLS_PATH = /usr/local/bin/
++DEVTOOLS_PATH = ${LOCALBASE}/bin/
+ endif
+ # Allow the user to override the default value...
+ ifdef ALT_DEVTOOLS_PATH
diff --git a/java/jdk15/files/patch-deploy::common::Defs-bsd.gmk b/java/jdk15/files/patch-deploy::common::Defs-bsd.gmk
new file mode 100644
index 000000000..c15ed4cb1
--- /dev/null
+++ b/java/jdk15/files/patch-deploy::common::Defs-bsd.gmk
@@ -0,0 +1,13 @@
+$FreeBSD: ports/java/jdk15/files/patch-deploy::common::Defs-bsd.gmk,v 1.4 2006/04/07 03:27:34 glewis Exp $
+
+--- ../../deploy/make/plugin/common/Defs-bsd.gmk.orig Tue Mar 28 22:20:28 2006
++++ ../../deploy/make/plugin/common/Defs-bsd.gmk Tue Mar 28 22:20:45 2006
+@@ -29,7 +29,7 @@
+ endif
+
+ # Default NSPR_PATH and allow override.
+-NSPR_PATH = /usr/local
++NSPR_PATH = ${LOCALBASE}
+ ifdef ALT_NSPR_PATH
+ NSPR_PATH = $(subst //,/,$(ALT_NSPR_PATH))
+ endif
diff --git a/java/jdk15/files/patch-deploy::controlpanel::sun_java.desktop b/java/jdk15/files/patch-deploy::controlpanel::sun_java.desktop
new file mode 100644
index 000000000..898893707
--- /dev/null
+++ b/java/jdk15/files/patch-deploy::controlpanel::sun_java.desktop
@@ -0,0 +1,13 @@
+--- ../../deploy/src/plugin/solaris/controlpanel/sun_java.desktop.orig Sat Oct 1 20:14:45 2005
++++ ../../deploy/src/plugin/solaris/controlpanel/sun_java.desktop Sat Oct 1 20:16:12 2005
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+ Name=Java
+ Comment=Java Control Panel
+-Exec=INSTALL_DIR/JRE_NAME_VERSION/bin/ControlPanel
+-Icon=INSTALL_DIR/JRE_NAME_VERSION/plugin/desktop/sun_java.png
++Exec=%%PREFIX%%/jdk%%JDK_VERSION%%/bin/ControlPanel
++Icon=%%PREFIX%%/jdk%%JDK_VERSION%%/jre/plugin/desktop/sun_java.png
+ Terminal=0
+ Type=Application
+ Categories=Application;Settings;X-Sun-Supported;X-Red-Hat-Base;
diff --git a/java/jdk15/files/patch-hotspot::vm::globals_bsd_amd64.hpp b/java/jdk15/files/patch-hotspot::vm::globals_bsd_amd64.hpp
new file mode 100644
index 000000000..7db9d325f
--- /dev/null
+++ b/java/jdk15/files/patch-hotspot::vm::globals_bsd_amd64.hpp
@@ -0,0 +1,13 @@
+$FreeBSD: ports/java/jdk15/files/patch-hotspot::vm::globals_bsd_amd64.hpp,v 1.1 2006/06/16 21:26:38 glewis Exp $
+
+--- ../../hotspot/src/os_cpu/bsd_amd64/vm/globals_bsd_amd64.hpp.orig Thu Jun 15 17:58:02 2006
++++ ../../hotspot/src/os_cpu/bsd_amd64/vm/globals_bsd_amd64.hpp Thu Jun 15 17:59:02 2006
+@@ -12,7 +12,7 @@
+ //
+ define_pd_global(bool, DontYieldALot, false);
+ //define_pd_global(intx, ThreadStackSize, 0); // 0 => use system default
+-define_pd_global(intx, ThreadStackSize, 256);
++define_pd_global(intx, ThreadStackSize, 1024);
+ define_pd_global(intx, VMThreadStackSize, 1024);
+ define_pd_global(intx, CompilerThreadStackSize, 0);
+ define_pd_global(intx, SurvivorRatio, 8);
diff --git a/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp b/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp
new file mode 100644
index 000000000..143bbc3de
--- /dev/null
+++ b/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp
@@ -0,0 +1,16 @@
+$FreeBSD: ports/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp,v 1.1 2006/06/16 21:29:53 glewis Exp $
+
+--- ../../hotspot/src/os/bsd/vm/thread_bsd.inline.hpp.orig Thu Jun 15 17:58:02 2006
++++ ../../hotspot/src/os/bsd/vm/thread_bsd.inline.hpp Thu Jun 15 17:59:19 2006
+@@ -19,7 +19,10 @@
+
+ uintptr_t raw = pd_raw_thread_id();
+ int ix = pd_cache_index(raw);
+-#ifdef __OpenBSD__
++// XXXBSD: disable fast case. there is a race condition where the
++// fast case returns a different thread from the slow case and has
++// been seen on both OpenBSD and FreeBSD.
++#if 1
+ return ThreadLocalStorage::get_thread_via_cache_slowly(raw, ix);
+ #else
+ Thread *Candidate = ThreadLocalStorage::_get_thread_cache[ix];
diff --git a/java/jdk15/files/patch-j2se::awt::canvas.c b/java/jdk15/files/patch-j2se::awt::canvas.c
new file mode 100644
index 000000000..3891153c3
--- /dev/null
+++ b/java/jdk15/files/patch-j2se::awt::canvas.c
@@ -0,0 +1,32 @@
+$FreeBSD: ports/java/jdk15/files/patch-j2se::awt::canvas.c,v 1.1 2006/04/25 20:10:19 glewis Exp $
+
+--- ../../j2se/src/solaris/native/sun/awt/canvas.c 10 Jan 2005 15:09:40 -0000 1.2
++++ ../../j2se/src/solaris/native/sun/awt/canvas.c 19 Apr 2006 22:21:51 -0000
+@@ -258,10 +258,10 @@
+ {java_awt_event_KeyEvent_VK_DOWN, XK_Down, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD},
+
+ /* Keypad equivalents of Triangular Navigation Block */
+- {java_awt_event_KeyEvent_VK_KP_LEFT, XK_KP_Left, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+- {java_awt_event_KeyEvent_VK_KP_UP, XK_KP_Up, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+- {java_awt_event_KeyEvent_VK_KP_RIGHT, XK_KP_Right, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+- {java_awt_event_KeyEvent_VK_KP_DOWN, XK_KP_Down, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_LEFT, XK_KP_Left, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_UP, XK_KP_Up, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_RIGHT, XK_KP_Right, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_DOWN, XK_KP_Down, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+
+ /* Other vendor-specific Triangular Navigation Block */
+ {java_awt_event_KeyEvent_VK_LEFT, osfXK_Left, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD},
+@@ -1349,7 +1349,7 @@
+ {
+ KeySym originalKeysym = *keysym;
+
+-#if !defined(__linux__) // XXXBSD: applies to FreeBSD?
++#if !defined(__linux__) && !defined(_ALLBSD_SOURCE)
+ /* The following code on Linux will cause the keypad keys
+ * not to echo on JTextField when the NumLock is on. The
+ * keysyms will be 0, because the last parameter 2 is not defined.
+Index: j2se/src/solaris/native/sun/xawt/XWindow.c
+===================================================================
+RCS file: /home/Java/CVS/JDK2/javasrc_1_5_scsl/j2se/src/solaris/native/sun/xawt/XWindow.c,v
+retrieving revision 1.1.1.1
diff --git a/java/jdk15/files/patch-j2se::common::Defs-bsd.gmk b/java/jdk15/files/patch-j2se::common::Defs-bsd.gmk
new file mode 100644
index 000000000..c3db15f3c
--- /dev/null
+++ b/java/jdk15/files/patch-j2se::common::Defs-bsd.gmk
@@ -0,0 +1,13 @@
+$FreeBSD: ports/java/jdk15/files/patch-j2se::common::Defs-bsd.gmk,v 1.2 2005/09/20 20:00:08 glewis Exp $
+
+--- ../../j2se/make/common/Defs-bsd.gmk.orig Thu Jan 13 02:03:20 2005
++++ ../../j2se/make/common/Defs-bsd.gmk Thu Jan 13 02:03:38 2005
+@@ -180,7 +180,7 @@
+ ifeq ($(TRUE_PLATFORM), NetBSD)
+ DEVTOOLS_PATH = /usr/pkg/bin/
+ else
+-DEVTOOLS_PATH = /usr/local/bin/
++DEVTOOLS_PATH = ${LOCALBASE}/bin/
+ endif
+ # Allow the user to override the default value...
+ ifdef ALT_DEVTOOLS_PATH
diff --git a/java/jdk15/files/patch-j2se::instrument::Makefile b/java/jdk15/files/patch-j2se::instrument::Makefile
new file mode 100644
index 000000000..ad378e8a2
--- /dev/null
+++ b/java/jdk15/files/patch-j2se::instrument::Makefile
@@ -0,0 +1,15 @@
+$FreeBSD: ports/java/jdk15/files/patch-j2se::instrument::Makefile,v 1.3 2006/04/07 03:27:34 glewis Exp $
+
+--- ../../j2se/make/java/instrument/Makefile.orig Thu Jan 13 02:04:44 2005
++++ ../../j2se/make/java/instrument/Makefile Thu Jan 13 02:05:03 2005
+@@ -72,8 +72,8 @@
+ else
+ ifeq ($(PLATFORM), bsd)
+ ifneq ($(TRUE_PLATFORM), NetBSD)
+- OTHER_INCLUDES += -I/usr/local/include
+- OTHER_LDLIBS += -L/usr/local/lib -liconv
++ OTHER_INCLUDES += -I${LOCALBASE}/include
++ OTHER_LDLIBS += -L${LOCALBASE}/lib -liconv
+ endif
+ else
+ OTHER_LDLIBS = -lnsl -ldl
diff --git a/java/jdk15/files/patch-j2se::lang::ProcessEnvironment_md.c b/java/jdk15/files/patch-j2se::lang::ProcessEnvironment_md.c
new file mode 100644
index 000000000..d92edf05e
--- /dev/null
+++ b/java/jdk15/files/patch-j2se::lang::ProcessEnvironment_md.c
@@ -0,0 +1,22 @@
+$FreeBSD: ports/java/jdk15/files/patch-j2se::lang::ProcessEnvironment_md.c,v 1.1 2006/06/16 21:28:08 glewis Exp $
+
+--- ../../j2se/src/solaris/native/java/lang/ProcessEnvironment_md.c.orig Tue Oct 19 15:02:09 2004
++++ ../../j2se/src/solaris/native/java/lang/ProcessEnvironment_md.c Thu Jun 15 17:58:34 2006
+@@ -32,7 +32,7 @@
+
+ for (i = 0; environ[i]; i++) {
+ /* Ignore corrupted environment variables */
+- if (strchr(environ[i], '=') != NULL)
++ if (strchr(environ[i], '=') != NULL && *environ[i] != '=')
+ count++;
+ }
+
+@@ -43,7 +43,7 @@
+ jsize len = strlen(environ[i]);
+ const char * varEnd = strchr(environ[i], '=');
+ /* Ignore corrupted environment variables */
+- if (varEnd != NULL) {
++ if (varEnd != NULL && varEnd != environ[i]) {
+ jbyteArray var, val;
+ const char * valBeg = varEnd + 1;
+ jsize varLength = varEnd - environ[i];
diff --git a/java/jdk15/files/patch-j2se::nio::genCharsetProvider.sh b/java/jdk15/files/patch-j2se::nio::genCharsetProvider.sh
new file mode 100644
index 000000000..2802a33b9
--- /dev/null
+++ b/java/jdk15/files/patch-j2se::nio::genCharsetProvider.sh
@@ -0,0 +1,17 @@
+$FreeBSD: ports/java/jdk15/files/patch-j2se::nio::genCharsetProvider.sh,v 1.1 2005/04/08 18:29:29 glewis Exp $
+
+--- ../../j2se/make/java/nio/genCharsetProvider.sh 8 Nov 2004 22:27:03 -0000 1.1.1.1
++++ ../../j2se/make/java/nio/genCharsetProvider.sh 24 Mar 2005 16:14:52 -0000
+@@ -94,9 +94,9 @@
+ }
+ '
+
+-$JAVA -cp $TMPDIR Hasher -i Aliases <$TMPDIR/aliases >>$OUT
+-$JAVA -cp $TMPDIR Hasher -i Classes <$TMPDIR/classes >>$OUT
+-$JAVA -cp $TMPDIR Hasher -i -e Cache -t Charset <$TMPDIR/classes >>$OUT
++$JAVA -cp $TMPDIR Hasher -i Aliases <$TMPDIR/aliases | egrep -v '^Java Hotspot' >>$OUT
++$JAVA -cp $TMPDIR Hasher -i Classes <$TMPDIR/classes | egrep -v '^Java Hotspot' >>$OUT
++$JAVA -cp $TMPDIR Hasher -i -e Cache -t Charset <$TMPDIR/classes | egrep -v '^Java Hotspot' >>$OUT
+
+
+ # Constructor
diff --git a/java/jdk15/files/patch-j2se::xawt::XWindow.c b/java/jdk15/files/patch-j2se::xawt::XWindow.c
new file mode 100644
index 000000000..107de522b
--- /dev/null
+++ b/java/jdk15/files/patch-j2se::xawt::XWindow.c
@@ -0,0 +1,28 @@
+$FreeBSD: ports/java/jdk15/files/patch-j2se::xawt::XWindow.c,v 1.1 2006/04/25 20:10:19 glewis Exp $
+
+--- ../../j2se/src/solaris/native/sun/xawt/XWindow.c 8 Nov 2004 22:27:40 -0000 1.1.1.1
++++ ../../j2se/src/solaris/native/sun/xawt/XWindow.c 19 Apr 2006 22:21:51 -0000
+@@ -204,10 +204,10 @@
+ {java_awt_event_KeyEvent_VK_DOWN, XK_Down, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD},
+
+ /* Keypad equivalents of Triangular Navigation Block */
+- {java_awt_event_KeyEvent_VK_KP_LEFT, XK_KP_Left, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+- {java_awt_event_KeyEvent_VK_KP_UP, XK_KP_Up, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+- {java_awt_event_KeyEvent_VK_KP_RIGHT, XK_KP_Right, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+- {java_awt_event_KeyEvent_VK_KP_DOWN, XK_KP_Down, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_LEFT, XK_KP_Left, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_UP, XK_KP_Up, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_RIGHT, XK_KP_Right, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
++ {java_awt_event_KeyEvent_VK_DOWN, XK_KP_Down, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_NUMPAD},
+
+ /* Other vendor-specific Triangular Navigation Block */
+ {java_awt_event_KeyEvent_VK_LEFT, osfXK_Left, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD},
+@@ -742,7 +742,7 @@
+ {
+ KeySym originalKeysym = *keysym;
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(_ALLBSD_SOURCE)
+ /* The following code on Linux will cause the keypad keys
+ * not to echo on JTextField when the NumLock is on. The
+ * keysyms will be 0, because the last parameter 2 is not defined.
diff --git a/java/jdk15/files/patch-java_Makefile b/java/jdk15/files/patch-java_Makefile
new file mode 100644
index 000000000..60585c522
--- /dev/null
+++ b/java/jdk15/files/patch-java_Makefile
@@ -0,0 +1,11 @@
+--- ../../j2se/make/java/java/Makefile.orig Mon Dec 13 12:38:14 2004
++++ ../../j2se/make/java/java/Makefile Mon Dec 13 12:42:00 2004
+@@ -284,7 +284,7 @@
+ $(RM) -r $(TMPDIR)/GenerateCurrencyData
+ $(MKDIR) -p $(TMPDIR)/GenerateCurrencyData
+ $(JAVAC_BOOT) -d $(TMPDIR)/GenerateCurrencyData $(BUILDDIR)/tools/GenerateCurrencyData/GenerateCurrencyData.java
+- $(JAVA_BOOT) -classpath $(TMPDIR)/GenerateCurrencyData GenerateCurrencyData < $(SHARE_SRC)/classes/java/util/CurrencyData.properties > $@
++ $(JAVA_BOOT) -classpath $(TMPDIR)/GenerateCurrencyData GenerateCurrencyData < $(SHARE_SRC)/classes/java/util/CurrencyData.properties | egrep -v '^Java HotSpot' > $@
+
+ clean::
+ $(RM) $(GENSRCDIR)/java/util/CurrencyData.java
diff --git a/java/jdk15/files/patch-vm::os_bsd.cpp b/java/jdk15/files/patch-vm::os_bsd.cpp
new file mode 100644
index 000000000..6d1762d17
--- /dev/null
+++ b/java/jdk15/files/patch-vm::os_bsd.cpp
@@ -0,0 +1,13 @@
+$FreeBSD: ports/java/jdk15/files/patch-vm::os_bsd.cpp,v 1.3 2005/09/20 20:00:08 glewis Exp $
+
+--- ../../hotspot/src/os/bsd/vm/os_bsd.cpp.orig Tue Jan 27 17:54:28 2004
++++ ../../hotspot/src/os/bsd/vm/os_bsd.cpp Tue Jan 27 17:55:21 2004
+@@ -333,7 +333,7 @@
+ #define malloc(n) (char*)NEW_C_HEAP_ARRAY(char, (n))
+ #define getenv(n) ::getenv(n)
+
+-#define DEFAULT_LD_LIBRARY_PATH "/usr/lib" /* See ld.so.1(1) */
++#define DEFAULT_LD_LIBRARY_PATH "/usr/lib:%%LOCALBASE%%/lib" /* See ld.so.1(1) */
+ #define EXTENSIONS_DIR "/lib/ext"
+ #define ENDORSED_DIR "/lib/endorsed"
+
diff --git a/java/jdk15/files/pkg-deinstall.in b/java/jdk15/files/pkg-deinstall.in
new file mode 100644
index 000000000..fcd4dfdab
--- /dev/null
+++ b/java/jdk15/files/pkg-deinstall.in
@@ -0,0 +1,31 @@
+#!/bin/sh
+# $FreeBSD: ports/java/jdk15/files/pkg-deinstall.in,v 1.1 2005/11/23 10:12:33 glewis Exp $
+
+# Set up a standard path
+PATH=/usr/bin:/bin
+
+# Don't do anything during post-deinstall
+if [ "$2" = "POST-DEINSTALL" ]; then
+ exit 0
+fi
+
+# Remove the plugin
+
+# Plugin location variables
+BROWSERPLUGINDIR="%%X11BASE%%/lib/browser_plugins"
+JAVAPLUGINDIR="%%JRE_HOME%%/plugin/%%ARCH%%/ns7"
+PLUGIN=libjavaplugin_oji.so
+
+# Check if the package includes the plugin
+if [ ! -e "${JAVAPLUGINDIR}/${PLUGIN}" ]; then
+ exit 0
+fi
+
+# See if the browser plugin is a link to the package plugin and remove it if so.
+if [ -e "${BROWSERPLUGINDIR}/${PLUGIN}" -a \
+ -L "${BROWSERPLUGINDIR}/${PLUGIN}" -a \
+ x`ls -l "${BROWSERPLUGINDIR}/${PLUGIN}" 2>/dev/null | awk '/->/{print $NF;exit 0}END{exit 1}'` = x"${JAVAPLUGINDIR}/${PLUGIN}" ]; then
+ rm -f "${BROWSERPLUGINDIR}/${PLUGIN}"
+fi
+
+exit 0
diff --git a/java/jdk15/files/pkg-install.in b/java/jdk15/files/pkg-install.in
new file mode 100644
index 000000000..a2ee8dc8e
--- /dev/null
+++ b/java/jdk15/files/pkg-install.in
@@ -0,0 +1,57 @@
+#!/bin/sh
+# $FreeBSD: ports/java/jdk15/files/pkg-install.in,v 1.6 2005/11/23 21:16:56 glewis Exp $
+
+# System preference location
+JRE_HOME=%%JRE_HOME%%
+
+# Post-install actions
+if [ "$2" = "POST-INSTALL" ]; then
+ # Set up system preferences
+ if [ ! -d "${JRE_HOME}/.systemPrefs" ] ; then
+ mkdir -m 755 "${JRE_HOME}/.systemPrefs"
+ fi
+ if [ ! -f "${JRE_HOME}/.systemPrefs/.system.lock" ] ; then
+ touch "${JRE_HOME}/.systemPrefs/.system.lock"
+ chmod 644 "${JRE_HOME}/.systemPrefs/.system.lock"
+ fi
+ if [ ! -f "${JRE_HOME}/.systemPrefs/.systemRootModFile" ] ; then
+ touch "${JRE_HOME}/.systemPrefs/.systemRootModFile"
+ chmod 644 "${JRE_HOME}/.systemPrefs/.systemRootModFile"
+ fi
+
+ # Install the plugin
+ BROWSERPLUGINDIR="%%X11BASE%%/lib/browser_plugins"
+ JAVAPLUGINDIR="${JRE_HOME}/plugin/%%ARCH%%/ns7"
+ PLUGIN=libjavaplugin_oji.so
+
+ # Check if the browser plugin exists
+ if [ ! -e "${JAVAPLUGINDIR}/${PLUGIN}" ]; then
+ exit 0
+ fi
+
+ # Check if the plugin directory exists.
+ if [ ! -d "${BROWSERPLUGINDIR}" ]; then
+ exit 0
+ fi
+
+ # Check if the browser plugin currently exists
+ if [ ! -e "${BROWSERPLUGINDIR}/${PLUGIN}" ]; then
+ # Create symbolic link
+ ln -sf "${JAVAPLUGINDIR}/${PLUGIN}" \
+ "${BROWSERPLUGINDIR}/${PLUGIN}"
+ exit 0
+ fi
+
+ # If the browser plugin exists and is a symlink, but the link
+ # doesn't exist, then overwrite with our plugin.
+ if [ -L "${BROWSERPLUGINDIR}/${PLUGIN}" ]; then
+ # Check if the linked to file exists.
+ if [ ! -e `ls -l "${BROWSERPLUGINDIR}/${PLUGIN}" 2>/dev/null | awk '/->/{print $NF;exit 0}END{exit 1}'` ]; then
+ ln -sf "${JAVAPLUGINDIR}/${PLUGIN}" \
+ "${BROWSERPLUGINDIR}/${PLUGIN}"
+ exit 0
+ fi
+ fi
+
+ exit 0
+fi
diff --git a/java/jdk15/pkg-descr b/java/jdk15/pkg-descr
new file mode 100644
index 000000000..9f83e1336
--- /dev/null
+++ b/java/jdk15/pkg-descr
@@ -0,0 +1,11 @@
+This is the latest JDK 1.5.0 patchset from the Java 2 FreeBSD porting
+project. This port allows you to easily build a native JDK1.5.0 for FreeBSD.
+
+Please note that due to the current Sun licensing policy the resulting binaries
+can't be distributed and you are only permitted to use/hack it personally.
+Due to the same reasons you have to manually fetch the source code and patchset
+for FreeBSD.
+
+WWW: http://www.freebsd.org/java/
+ http://www.eyesbeyond.com/freebsddom/java/index.html
+ http://www.sun.com/software/communitysource/java2/
diff --git a/java/jdk15/pkg-message b/java/jdk15/pkg-message
new file mode 100644
index 000000000..4a7be65b4
--- /dev/null
+++ b/java/jdk15/pkg-message
@@ -0,0 +1,1139 @@
+SUN COMMUNITY SOURCE LICENSE Version 2.3 (Rev. Date Sept.
+29, 2004)
+
+RECITALS
+
+Original Contributor has developed Specifications and Source
+Code implementations of certain Technology; and
+
+Original Contributor desires to license the Technology to a
+large community to facilitate research, innovation and
+product development while maintaining compatibility of such
+products with the Technology as delivered by Original
+Contributor; and
+
+Original Contributor desires to license certain Sun
+Trademarks for the purpose of branding products that are
+compatible with the relevant Technology delivered by
+Original Contributor; and
+
+You desire to license the Technology and possibly certain
+Sun Trademarks from Original Contributor on the terms and
+conditions specified in this License.
+
+In consideration for the mutual covenants contained herein,
+You and Original Contributor agree as follows:
+
+AGREEMENT
+1. Introduction. The Sun Community Source License and
+effective attachments ("License") may include five distinct
+licenses: Research Use, TCK, Internal Deployment Use,
+Commercial Use and Trademark License. The Research Use
+license is effective when You click and accept this License.
+The TCK and Internal Deployment Use licenses are effective
+when You click and accept this License, unless otherwise
+specified in the TCK and Internal Deployment Use
+attachments. The Commercial Use and Trademark licenses must
+be signed by You and Original Contributor in order to become
+effective. Once effective, these licenses and the
+associated requirements and responsibilities are cumulative.
+Capitalized terms used in this License are defined in the
+Glossary.
+
+2. License Grants.
+
+2.1 Original Contributor Grant. Subject to Your compliance
+with Sections 3, 8.10 and Attachment A of this License,
+Original Contributor grants to You a worldwide,
+royalty-free, non-exclusive license, to the extent of
+Original Contributor's Intellectual Property Rights covering
+the Original Code, Upgraded Code and Specifications, to do
+the following:
+
+a) Research Use License:
+
+(i) use, reproduce and modify the Original Code, Upgraded
+Code and Specifications to create Modifications and
+Reformatted Specifications for Research Use by You,
+
+(ii) publish and display Original Code, Upgraded Code and
+Specifications with, or as part of Modifications, as
+permitted under Section 3.1 b) below,
+
+(iii) reproduce and distribute copies of Original Code and
+Upgraded Code to Licensees and students for Research Use by
+You,
+
+(iv) compile, reproduce and distribute Original Code and
+Upgraded Code in Executable form, and Reformatted
+Specifications to anyone for Research Use by You.
+
+b) Other than the licenses expressly granted in this
+License, Original Contributor retains all right, title, and
+interest in Original Code and Upgraded Code and
+Specifications.
+
+2.2 Your Grants.
+
+a) To Other Licensees. You hereby grant to each Licensee a
+license to Your Error Corrections and Shared Modifications,
+of the same scope and extent as Original Contributor's
+licenses under Section 2.1 a) above relative to Research
+Use, Attachment C relative to Internal Deployment Use, and
+Attachment D relative to Commercial Use.
+
+b) To Original Contributor. You hereby grant to Original
+Contributor a worldwide, royalty-free, non-exclusive,
+perpetual and irrevocable license, to the extent of Your
+Intellectual Property Rights covering Your Error
+Corrections, Shared Modifications and Reformatted
+Specifications, to use, reproduce, modify, display and
+distribute Your Error Corrections, Shared Modifications and
+Reformatted Specifications, in any form, including the right
+to sublicense such rights through multiple tiers of
+distribution.
+
+c) Other than the licenses expressly granted in Sections 2.2
+a) and b) above, and the restriction set forth in Section
+3.1 d)(iv) below, You retain all right, title, and interest
+in Your Error Corrections, Shared Modifications and
+Reformatted Specifications.
+
+2.3 Contributor Modifications. You may use, reproduce,
+modify, display and distribute Contributor Error
+Corrections, Shared Modifications and Reformatted
+Specifications, obtained by You under this License, to the
+same scope and extent as with Original Code, Upgraded Code
+and Specifications.
+
+2.4 Subcontracting. You may deliver the Source Code of
+Covered Code to other Licensees having at least a Research
+Use license, for the sole purpose of furnishing development
+services to You in connection with Your rights granted in
+this License. All such Licensees must execute appropriate
+documents with respect to such work consistent with the
+terms of this License, and acknowledging their
+work-made-for-hire status or assigning exclusive right to
+the work product and associated Intellectual Property Rights
+to You.
+
+3.Requirements and Responsibilities.
+
+3.1 Research Use License. As a condition of exercising the rights
+granted under Section 2.1 a) above, You agree to comply with the following:
+
+a) Your Contribution to the Community. All Error
+Corrections and Shared Modifications which You create or
+contribute to are automatically subject to the licenses
+granted under Section 2.2 above. You are encouraged to
+license all of Your other Modifications under Section 2.2 as
+Shared Modifications, but are not required to do so. You
+agree to notify Original Contributor of any errors in the
+Specification.
+
+b) Source Code Availability. You agree to provide all Your
+Error Corrections to Original Contributor as soon as
+reasonably practicable and, in any event, prior to Internal
+Deployment Use or Commercial Use, if applicable. Original
+Contributor may, at its discretion, post Source Code for
+Your Error Corrections and Shared Modifications on the
+Community Webserver. You may also post Error Corrections
+and Shared Modifications on a web-server of Your choice;
+provided, that You must take reasonable precautions to
+ensure that only Licensees have access to such Error
+Corrections and Shared Modifications. Such precautions
+shall include, without limitation, a password protection
+scheme limited to Licensees and a click-on, download
+certification of Licensee status required of those
+attempting to download from the server. An example of an
+acceptable certification is attached as Attachment A-2.
+
+c) Notices. All Error Corrections and Shared Modifications
+You create or contribute to must include a file documenting
+the additions and changes You made and the date of such
+additions and changes. You must also include the notice set
+forth in Attachment A-1 in the file header. If it is not
+possible to put the notice in a particular Source Code file
+due to its structure, then You must include the notice in a
+location (such as a relevant directory file), where a
+recipient would be most likely to look for such a notice.
+
+d) Redistribution.
+
+(i) Source. Covered Code may be distributed in Source Code
+form only to another Licensee (except for students as
+provided below). You may not offer or impose any terms on
+any Covered Code that alter the rights, requirements, or
+responsibilities of such Licensee. You may distribute
+Covered Code to students for use in connection with their
+course work and research projects undertaken at accredited
+educational institutions. Such students need not be
+Licensees, but must be given a copy of the notice set forth
+in Attachment A-3 and such notice must also be included in a
+file header or prominent location in the Source Code made
+available to such students.
+
+(ii) Executable. You may distribute Executable version(s)
+of Covered Code to Licensees and other third parties only
+for the purpose of evaluation and comment in connection with
+Research Use by You and under a license of Your choice, but
+which limits use of such Executable version(s) of Covered
+Code only to that purpose.
+
+(iii) Modified Class,Interface and Package Naming. In
+connection with Research Use by You only, You may use
+Original Contributor's class, interface and package names
+only to accurately reference or invoke the Source Code files
+You modify. Original Contributor grants to You a limited
+license to the extent necessary for such purposes.
+
+(iv) You expressly agree that any distribution, in whole or
+in part, of Modifications developed by You shall only be
+done pursuant to the term and conditions of this License.
+
+e) Extensions.
+
+(i) Covered Code. You may not include any Source Code of
+Community Code in any Extensions;
+
+(ii) Publication. No later than the date on which You first
+distribute such Extension for Commercial Use, You must
+publish to the industry, on a non-confidential basis and
+free of all copyright restrictions with respect to
+reproduction and use, an accurate and current specification
+for any Extension. In addition, You must make available an
+appropriate test suite, pursuant to the same rights as the
+specification, sufficiently detailed to allow any third
+party reasonably skilled in the technology to produce
+implementations of the Extension compatible with the
+specification. Such test suites must be made available as
+soon as reasonably practicable but, in no event, later than
+ninety (90) days after Your first Commercial Use of the
+Extension. You must use reasonable efforts to promptly
+clarify and correct the specification and the test suite
+upon written request by Original Contributor.
+
+(iii) Open. You agree to refrain from enforcing any
+Intellectual Property Rights You may have covering any
+interface(s) of Your Extension, which would prevent the
+implementation of such interface(s) by Original Contributor
+or any Licensee. This obligation does not prevent You from
+enforcing any Intellectual Property Right You have that
+would otherwise be infringed by an implementation of Your
+Extension.
+
+(iv) Class, Interface and Package Naming. You may not add
+any packages, or any public or protected classes or
+interfaces with names that originate or might appear to
+originate from Original Contributor including, without
+limitation, package or class names which begin with "sun",
+"java", "javax", "jini", "net.jini", "com.sun" or their
+equivalents in any subsequent class, interface and/ or
+package naming convention adopted by Original Contributor.
+It is specifically suggested that You name any new packages
+using the "Unique Package Naming Convention" as described in
+"The Java Language Specification" by James Gosling, Bill
+Joy, and Guy Steele, ISBN 0-201-63451-1, August 1996.
+Section 7.7 "Unique Package Names", on page 125 of this
+specification which states, in part:
+
+"You form a unique package name by first having (or
+belonging to an organization that has) an Internet domain
+name, such as "sun.com". You then reverse the name,
+component by component, to obtain, in this example,
+"Com.sun", and use this as a prefix for Your package names,
+using a convention developed within Your organization to
+further administer package names."
+
+3.2 Additional Requirements and Responsibilities. Any
+additional requirements and responsibilities relating to the
+Technology are listed in Attachment F (Additional
+Requirements and Responsibilities), if applicable, and are
+hereby incorporated into this Section 3.
+
+4. Versions of the License.
+
+4.1 License Versions. Original Contributor may publish
+revised versions of the License from time to time. Each
+version will be given a distinguishing version number.
+
+4.2 Effect. Once a particular version of Covered Code has
+been provided under a version of the License, You may always
+continue to use such Covered Code under the terms of that
+version of the License. You may also choose to use such
+Covered Code under the terms of any subsequent version of
+the License. No one other than Original Contributor has the
+right to promulgate License versions.
+
+5. Disclaimer of Warranty.
+
+5.1 COVERED CODE IS PROVIDED UNDER THIS LICENSE "AS IS,"
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
+INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+PURPOSE OR NON-INFRINGING. YOU AGREE TO BEAR THE ENTIRE
+RISK IN CONNECTION WITH YOUR USE AND DISTRIBUTION OF COVERED
+CODE UNDER THIS LICENSE. THIS DISCLAIMER OF WARRANTY
+CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT SUBJECT TO
+THIS DISCLAIMER.
+
+5.2 You acknowledge that Original Code, Upgraded Code and
+Specifications are not designed or intended for use in (i)
+on-line control of aircraft, air traffic, aircraft
+navigation or aircraft communications; or (ii) in the
+design, construction, operation or maintenance of any
+nuclear facility. Original Contributor disclaims any
+express or implied warranty of fitness for such uses.
+
+6. Termination.
+
+6.1 By You. You may terminate this Research Use license at
+anytime by providing written notice to Original Contributor.
+
+6.2 By Original Contributor. This License and the rights
+granted hereunder will terminate:
+
+(i) automatically if You fail to comply with the terms of
+this License and fail to cure such breach within 30 days of
+receipt of written notice of the breach;
+
+(ii) immediately in the event of circumstances specified in
+Sections 7.1 and 8.4; or
+
+(iii) at Original Contributor's discretion upon any action
+initiated in the first instance by You alleging that use or
+distribution by Original Contributor or any Licensee, of
+Original Code, Upgraded Code, Error Corrections or Shared
+Modifications contributed by You, or Specifications,
+infringe a patent owned or controlled by You.
+
+6.3 Effect of Termination. Upon termination, You agree
+to discontinue use and return or destroy all copies of
+Covered Code in your possession. All sublicenses to the
+Covered Code which you have properly granted shall survive
+any termination of this License. Provisions which, by their
+nature, should remain in effect beyond the termination of
+this License shall survive including, without limitation,
+Sections 2.2, 3, 5, 7 and 8.
+
+6.4 Each party waives and releases the other from any claim
+to compensation or indemnity for permitted or lawful
+termination of the business relationship established by this
+License.
+
+7. Liability.
+
+7.1 Infringement. Should any of the Original Code, Upgraded
+Code, TCK or Specifications ("Materials") become the subject
+of a claim of infringement, Original Contributor may, at its
+sole option, (i) attempt to procure the rights necessary for
+You to continue using the Materials, (ii) modify the
+Materials so that they are no longer infringing, or (iii)
+terminate Your right to use the Materials, immediately upon
+written notice, and refund to You the amount, if any, having
+then actually been paid by You to Original Contributor for
+the Original Code, Upgraded Code and TCK, depreciated on a
+straight line, five year basis.
+
+7.2 LIMITATION OF LIABILITY. TO THE FULL EXTENT ALLOWED BY
+APPLICABLE LAW, ORIGINAL CONTRIBUTOR's LIABILITY TO YOU FOR
+CLAIMS RELATING TO THIS LICENSE, WHETHER FOR BREACH OR IN
+TORT, SHALL BE LIMITED TO ONE HUNDRED PERCENT (100%) OF THE
+AMOUNT HAVING THEN ACTUALLY BEEN PAID BY YOU TO ORIGINAL
+CONTRIBUTOR FOR ALL COPIES LICENSED HEREUNDER OF THE
+PARTICULAR ITEMS GIVING RISE TO SUCH CLAIM, IF ANY. IN NO
+EVENT WILL YOU (RELATIVE TO YOUR SHARED MODIFICATIONS OR
+ERROR CORRECTIONS) OR SUN BE LIABLE FOR ANY INDIRECT,
+PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES IN
+CONNECTION WITH OR ARISING OUT OF THIS LICENSE (INCLUDING,
+WITHOUT LIMITATION, LOSS OF PROFITS, USE, DATA, OR OTHER
+ECONOMIC ADVANTAGE), HOWEVER IT ARISES AND ON ANY THEORY OF
+LIABILITY, WHETHER IN AN ACTION FOR CONTRACT, STRICT
+LIABILITY OR TORT (INCLUDING NEGLIGENCE) OR OTHERWISE,
+WHETHER OR NOT YOU OR ORIGINAL CONTRIBUTOR HAS BEEN ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE AND NOTWITHSTANDING THE
+FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY.
+
+8. Miscellaneous.
+
+8.1 Trademark. You agree to comply with the then current
+Sun Trademark & Logo Usage Requirements accessible through
+the SCSL Webpage. Except as expressly provided in the
+License, You are granted no right, title or license to, or
+interest in, any Sun Trademarks. You agree not to (i)
+challenge Original Contributor's ownership or use of Sun
+Trademarks; (ii) attempt to register any Sun Trademarks, or
+any mark or logo substantially similar thereto; or (iii)
+incorporate any Sun Trademarks into your own trademarks,
+product names, service marks, company names, or domain
+names.
+
+8.2 Integration. This License represents the complete
+agreement concerning the subject matter hereof.
+
+8.3 Assignment. Original Contributor may assign this
+License, and its rights and obligations hereunder, in its
+sole discretion. You may assign the Research Use portions
+of this License to a third party upon prior written notice
+to Original Contributor (which may be provided via the
+Community Web-Server). You may not assign the Commercial
+Use license or TCK license, including by way of merger
+(regardless of whether You are the surviving entity) or
+acquisition, without Original Contributor's prior written
+consent.
+
+8.4 Severability. If any provision of this License is held
+to be unenforceable, such provision shall be reformed only
+to the extent necessary to make it enforceable.
+Notwithstanding the foregoing, if You are prohibited by law
+from fully and specifically complying with Sections 2.2 or
+3, this License will immediately terminate and You must
+immediately discontinue any use of Covered Code.
+
+8.5 Governing Law. This License shall be governed by the
+laws of the United States and the State of California, as
+applied to contracts entered into and to be performed in
+California between California residents. The application of
+the United Nations Convention on Contracts for the
+International Sale of Goods is expressly excluded.
+
+8.6 Dispute Resolution.
+
+a) Any dispute arising out of or relating to this License
+shall be finally settled by arbitration as set out herein,
+except that either party may bring any action, in a court of
+competent jurisdiction (which jurisdiction shall be
+exclusive), with respect to any dispute relating to such
+party's Intellectual Property Rights or with respect to Your
+compliance with the TCK license. Arbitration shall be
+administered: (i) by the American Arbitration Association
+(AAA), (ii) in accordance with the rules of the United
+Nations Commission on International Trade Law (UNCITRAL)
+(the "Rules") in effect at the time of arbitration as
+modified herein; and (iii) the arbitrator will apply the
+substantive laws of California and United States. Judgment
+upon the award rendered by the arbitrator may be entered in
+any court having jurisdiction to enforce such award.
+
+b) All arbitration proceedings shall be conducted in English
+ by a single arbitrator selected in accordance with the
+ Rules, who must be fluent in English and be either a
+ retired judge or practicing attorney having at least ten
+ (10) years litigation experience and be reasonably familiar
+ with the technology matters relative to the dispute.
+ Unless otherwise agreed, arbitration venue shall be in
+ London, Tokyo, or San Francisco, whichever is closest to
+ defendant's principal business office. The arbitrator may
+ award monetary damages only and nothing shall preclude
+ either party from seeking provisional or emergency relief
+ from a court of competent jurisdiction. The arbitrator
+ shall have no authority to award damages in excess of those
+ permitted in this License and any such award in excess is
+ void. All awards will be payable in U.S. dollars and may
+ include, for the prevailing party (i) pre-judgment award
+ interest, (ii) reasonable attorneys' fees incurred in
+ connection with the arbitration, and (iii) reasonable costs
+ and expenses incurred in enforcing the award. The
+ arbitrator will order each party to produce identified
+ documents and respond to no more than twenty-five single
+ question interrogatories.
+
+8.7 Construction. Any law or regulation which provides that
+the language of a contract shall be construed against the
+drafter shall not apply to this License.
+
+8.8 U.S. Government End Users. The Covered Code is a
+"commercial item," as that term is defined in 48 C.F.R.
+2.101 (Oct. 1995), consisting of "commercial computer
+software" and "commercial computer software documentation,"
+as such terms are used in 48 C.F.R. 12.212 (Sept. 1995).
+Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
+through 227.7202-4 (June 1995), all U.S. Government End
+Users acquire Covered Code with only those rights set forth
+herein. You agree to pass this notice to Your licensees.
+
+8.9 Press Announcements. All press announcements relative
+to the execution of this License must be reviewed and
+approved by Original Contributor and You prior to release.
+
+8.10 International Use.
+
+a) Export/Import laws. Covered Code is subject to U.S.
+export control laws and may be subject to export or import
+regulations in other countries. Each party agrees to comply
+strictly with all such laws and regulations and acknowledges
+their responsibility to obtain such licenses to export,
+re-export, or import as may be required. You agree to pass
+these obligations to Your licensees.
+
+b) Intellectual Property Protection. Due to limited
+intellectual property protection and enforcement in certain
+countries, You agree not to redistribute the Original Code,
+Upgraded Code, TCK and Specifications to any country other
+than the list of restricted countries on the SCSL Webpage.
+
+8.11 Language. This License is in the English language
+only, which language shall be controlling in all respects,
+and all versions of this License in any other language shall
+be for accommodation only and shall not be binding on the
+parties to this License. All communications and notices
+made or given pursuant to this License, and all
+documentation and support to be provided, unless otherwise
+noted, shall be in the English language.
+
+PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY. BY
+CLICKING ON THE "ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND
+AGREEING TO THE TERMS AND CONDITIONS OF THIS LICENSE WITH
+SUN MICROSYSTEMS, INC. IF YOU ARE AGREEING TO THIS LICENSE
+ON BEHALF OF A COMPANY, YOU REPRESENT THAT YOU ARE
+AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE. WHETHER
+YOU ARE ACTING ON YOUR OWN BEHALF, OR REPRESENTING A
+COMPANY, YOU MUST BE OF MAJORITY AGE AND BE OTHERWISE
+COMPETENT TO ENTER INTO CONTRACTS. IF YOU DO NOT MEET THIS
+CRITERIA OR YOU DO NOT AGREE TO ANY OF THE TERMS AND
+CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON TO
+EXIT.
+
+ACCEPT REJECT
+
+GLOSSARY
+
+1. "Commercial Use" means any use (excluding Internal
+Deployment Use) or distribution, directly or indirectly of
+Compliant Covered Code by You to any third party, alone or
+bundled with any other software or hardware, for direct or
+indirect commercial or strategic gain or advantage, subject
+to execution of Attachment D by You and Original
+Contributor.
+
+2. "Community Code" means the Original Code, Upgraded Code,
+Error Corrections, Shared Modifications, or any combination
+thereof.
+
+3. "Community Webserver(s)" means the webservers designated
+by Original Contributor for posting Error Corrections and
+Shared Modifications.
+
+4. "Compliant Covered Code" means Covered Code that
+complies with the requirements of the TCK.
+
+5. "Contributor" means each Licensee that creates or
+contributes to the creation of any Error Correction or
+Shared Modification.
+
+6. "Covered Code" means the Original Code, Upgraded Code,
+Modifications, or any combination thereof.
+
+7. "Error Correction" means any change made to Community
+Code which conforms to the Specification and corrects the
+adverse effect of a failure of Community Code to perform any
+function set forth in or required by the Specifications.
+
+7. "Executable" means Covered Code that has been converted
+to a form other than Source Code.
+
+9. "Extension(s)" means any additional classes or other
+programming code and/or interfaces developed by or for You
+which: (i) are designed for use with the Technology; (ii)
+constitute an API for a library of computing functions or
+services; and (iii) are disclosed to third party software
+developers for the purpose of developing software which
+invokes such additional classes or other programming code
+and/or interfaces. The foregoing shall not apply to
+software development by Your subcontractors to be
+exclusively used by You.
+
+10. "Intellectual Property Rights" means worldwide
+statutory and common law rights associated solely with (i)
+patents and patent applications; (ii) works of authorship
+including copyrights, copyright applications, copyright
+registrations and "moral rights"; (iii) the protection of
+trade and industrial secrets and confidential information;
+and (iv) divisions, continuations, renewals, and
+re-issuances of the foregoing now existing or acquired in
+the future.
+
+11. "Internal Deployment Use" means use of Compliant
+Covered Code (excluding Research Use) within Your business
+or organization only by Your employees and/or agents,
+subject to execution of Attachment C by You and Original
+Contributor, if required.
+
+12. "Licensee" means any party that has entered into and
+has in effect a version of this License with Original
+Contributor.
+
+13. "Modification(s)" means (i) any change to Covered Code;
+(ii) any new file or other representation of computer
+program statements that contains any portion of Covered
+Code; and/or (iii) any new Source Code implementing any
+portion of the Specifications.
+
+14. "Original Code" means the initial Source Code for the
+Technology as described on the Technology Download Site.
+
+15. "Original Contributor" means Sun Microsystems, Inc.,
+its affiliates and its successors and assigns.
+
+16. "Reformatted Specifications" means any revision to the
+Specifications which translates or reformats the
+Specifications (as for example in connection with Your
+documentation) but which does not alter, subset or superset
+the functional or operational aspects of the Specifications.
+
+17. "Research Use" means use and distribution of Covered
+Code only for Your research, development, educational or
+personal and individual use, and expressly excludes Internal
+Deployment Use and Commercial Use.
+
+18. "SCSL Webpage" means the Sun Community Source license
+webpage located at http://sun.com/software/communitysource,
+or such other url that Sun may designate from time to time.
+
+19. "Shared Modifications" means Modifications provided by
+You, at Your option, pursuant to Section 2.2, or received by
+You from a Contributor pursuant to Section 2.3.
+
+20. "Source Code" means computer program statements written
+in any high-level, readable form suitable for modification
+and development.
+
+21. "Specifications" means the specifications for the
+Technology and other documentation, as designated on the
+Technology Download Site, as may be revised by Original
+Contributor from time to time.
+
+22. "Sun Trademarks" means Original Contributor's SUN,
+JAVA, and JINI trademarks and logos, whether now used or
+adopted in the future.
+
+23. "Technology" means the
+technology described in Attachment B, and Upgrades.
+
+24. "Technology Compatibility Kit" or "TCK" means the test
+programs, procedures and/or other requirements, designated
+by Original Contributor for use in verifying compliance of
+Covered Code with the Specifications, in conjunction with
+the Original Code and Upgraded Code. Original Contributor
+may, in its sole discretion and from time to time, revise a
+TCK to correct errors and/or omissions and in connection
+with Upgrades.
+
+25. "Technology Download Site" means the site(s) designated
+by Original Contributor for access to the Original Code,
+Upgraded Code, TCK and Specifications.
+
+26. "Upgrade(s)" means new versions of Technology
+designated exclusively by Original Contributor as an
+"Upgrade" and released by Original Contributor from time to
+time.
+
+27. "Upgraded Code" means the Source Code for Upgrades,
+possibly including Modifications made by Contributors.
+
+28. "You(r)" means an individual, or a legal entity acting
+by and through an individual or individuals, exercising
+rights either under this License or under a future version
+of this License issued pursuant to Section 4.1. For legal
+entities, "You(r)" includes any entity that by majority
+voting interest controls, is controlled by, or is under
+common control with You.
+
+ATTACHMENT A
+
+REQUIRED NOTICES
+
+ATTACHMENT A-1
+
+REQUIRED IN ALL CASES
+
+"The contents of this file, or the files included with this
+file, are subject to the current version of Sun Community
+Source License for [fill in name of applicable Technology]
+(the "License"); You may not use this file except in
+compliance with the License. You may obtain a copy of the
+License at http://sun.com/software/communitysource. See the
+License for the rights, obligations and limitations
+governing use of the contents of the file.
+
+The Original and Upgraded Code is [fill in name and version
+of applicable Technology]. The developer of the Original
+and Upgraded Code is Sun Microsystems, Inc. Sun
+Microsystems, Inc. owns the copyrights in the portions it
+created. All Rights Reserved.
+
+Contributor(s):
+_______________________________________________
+
+Associated Test Suite(s) Location:
+________________________________
+
+ATTACHMENT A-2
+
+SAMPLE LICENSEE CERTIFICATION
+
+"By clicking the `Agree' button below, You certify that You
+are a Licensee in good standing under the Sun Community
+Source License, [fill in applicable Technology and Version]
+("License") and that Your access, use and distribution of
+code and information You may obtain at this site is subject
+to the License."
+
+ATTACHMENT A-3
+
+REQUIRED STUDENT NOTIFICATION
+
+"This software and related documentation has been obtained
+by your educational institution subject to the Sun Community
+Source License, [fill in applicable Technology]. You have
+been provided access to the software and related
+documentation for use only in connection with your course
+work and research activities as a matriculated student of
+your educational institution. Any other use is expressly
+prohibited.
+
+THIS SOFTWARE AND RELATED DOCUMENTATION CONTAINS PROPRIETARY
+MATERIAL OF SUN MICROSYSTEMS, INC, WHICH ARE PROTECTED BY
+VARIOUS INTELLECTUAL PROPERTY RIGHTS.
+
+You may not use this file except in compliance with the
+License. You may obtain a copy of the License on the web at
+http://sun.com/software/communitysource."
+
+ATTACHMENT B
+
+Java(tm) 2 SDK Technology
+
+Description of "Technology"
+
+Java(tm) 2 SDK Technology v. 5.0 as described on the
+Technology Download Site.
+
+ATTACHMENT C
+
+INTERNAL DEPLOYMENT USE
+
+This Attachment C is only effective for the Technology
+specified in Attachment B, upon execution of Attachment D
+(Commercial Use License) including the requirement to pay
+royalties. In the event of a conflict between the terms of
+this Attachment C and Attachment D, the terms of Attachment
+D shall govern.
+
+1. Internal Deployment License Grant. Subject to Your
+compliance with Section 2 below, and Section 8.10 of the
+Research Use license; in addition to the Research Use
+license and the TCK license, Original Contributor grants to
+You a worldwide, non-exclusive license, to the extent of
+Original Contributor's Intellectual Property Rights covering
+the Original Code, Upgraded Code and Specifications, to do
+the following:
+
+a) reproduce and distribute internally, Original Code and
+Upgraded Code as part of Compliant Covered Code, and
+Specifications, for Internal Deployment Use,
+
+b) compile such Original Code and Upgraded Code, as part of
+Compliant Covered Code, and reproduce and distribute
+internally the same in Executable form for Internal
+Deployment Use, and
+
+c) reproduce and distribute internally, Reformatted
+Specifications for use in connection with Internal
+Deployment Use.
+
+2. Additional Requirements and Responsibilities. In
+addition to the requirements and responsibilities described
+under Section 3.1 of the Research Use license, and as a
+condition to exercising the rights granted under Section 3
+above, You agree to the following additional requirements
+and responsibilities:
+
+2.1 Compatibility. All Covered Code must be Compliant
+Covered Code prior to any Internal Deployment Use or
+Commercial Use, whether originating with You or acquired
+from a third party. Successful compatibility testing must
+be completed in accordance with the TCK License. If You
+make any further Modifications to any Covered Code
+previously determined to be Compliant Covered Code, you must
+ensure that it continues to be Compliant Covered Code.
+
+ATTACHMENT D COMMERCIAL USE LICENSE
+
+1. Effect. This Attachment D is effective only if signed
+below by You and Original Contributor, and applies to Your
+Commercial Use of Original Code and Upgraded Code.
+
+2. Term. Upon execution of this Attachment D by You and
+Original Contributor, this Commercial Use license shall have
+an initial term of 3 years and shall automatically renew for
+additional one year terms unless either party provides
+notice to the other no less than 60 days prior to an
+anniversary date.
+
+3. Commercial Use License Grant. Subject to Your
+compliance with Section 4 below, Section 8.10 of the
+Research Use license, and the TCK license; in addition to
+the Research Use license, the TCK license, and the Internal
+Deployment Use license, Original Contributor grants to You a
+worldwide, non-exclusive, non-transferable license, to the
+extent of Original Contributor's Intellectual Property
+Rights covering the Original Code, Upgraded Code and
+Specifications, to do the following:
+
+a) reproduce and distribute Compliant Covered Code;
+
+b) compile Compliant Covered Code and reproduce and
+distribute the same in Executable form through multiple
+tiers of distribution; and
+
+c) reproduce and distribute Reformatted Specifications in
+association with Compliant Covered Code.
+
+4. Additional Requirements and Responsibilities. In
+addition to the requirements and responsibilities specified
+in the Research Use license, the TCK license and the
+Internal Deployment license, and as a condition to
+exercising the rights granted in Section 3 above, You agree
+to the following additional requirements and
+responsibilities:
+
+a) Distribution of Source Code. Source Code of Compliant
+Covered Code may be distributed only to another Licensee of
+the same Technology.
+
+b) Distribution of Executable Code. You may distribute the
+Executable version(s) of Compliant Covered Code under a
+license of Your choice, which may contain terms different
+from this License, provided (i) that You are in compliance
+with the terms of this License, and (ii) You must make it
+absolutely clear that any terms which differ from this
+License are offered by You alone, not by Original
+Contributor or any other Contributor.
+
+c) Branding. Products integrating Compliant Covered Code
+used for Commercial Use must be branded with the Technology
+compliance logo under a separate trademark license required
+to be executed by You and Original Contributor concurrent
+with execution of this Attachment D.
+
+5. Indemnity/Limitation of Liability. The provisions of
+Section 7.1 of the Research Use license are superseded by
+the following:
+
+a) Your Indemnity Obligation. You hereby agree to defend,
+at Your expense, any legal proceeding brought against
+Original Contributor or any Licensee to the extent it is
+based on a claim: (i) that the use, reproduction or
+distribution of any of Your Error Corrections or Shared
+Modifications is an infringement of a third party trade
+secret or a copyright in a country that is a signatory to
+the Berne Convention; (ii) arising in connection with any
+representation, warranty, support, indemnity, liability or
+other license terms You may offer in connection with any
+Covered Code; or (iii) arising from Your Commercial Use of
+Covered Code, other than a claim covered by Section 5.b)
+below, or a patent claim based solely on Covered Code not
+provided by You. You will pay all damages costs and fees
+awarded by a court of competent jurisdiction, or such
+settlement amount negotiated by You, attributable to such
+claim.
+
+b) Original Contributor's Indemnity Obligation. Original
+Contributor will defend, at its expense, any legal
+proceeding brought against You, to the extent it is based on
+a claim that Your authorized Commercial Use of Original Code
+and Upgraded Code is an infringement of a third party trade
+secret or a copyright in a country that is a signatory to
+the Berne Convention, and will pay all damages costs and
+fees awarded by a court of competent jurisdiction, or such
+settlement amount negotiated by Original Contributor,
+attributable to such claim. The foregoing shall not apply
+to any claims of intellectual property infringement based
+upon the combination of code or documentation supplied by
+Original Contributor with code, technology or documentation
+from other sources.
+
+c) Right of Intervention. Original Contributor will have
+the right, but not the obligation, to defend You, at
+Original Contributor's expense, in connection with a claim
+that Your Commercial Use of Original Code and Upgraded Code
+is an infringement of a third party patent and will, if
+Original Contributor chooses to defend You, pay all damages
+costs and fees awarded by a court of competent jurisdiction,
+or such settlement amount negotiated by Original
+Contributor, attributable to such claim.
+
+d) Prerequisites. Under Sections 5.b) and c) above, You
+must, and under Section 5.a) above, Original Contributor or
+any Licensee must: (i) provide notice of the claim promptly
+to the party providing an indemnity; (ii) give the
+indemnifying party sole control of the defense and
+settlement of the claim; (iii) provide the indemnifying
+party, at indemnifying party's expense, all available
+information, assistance and authority to defend; and (iv)
+not have compromised or settled such claim or proceeding
+without the indemnifying party's prior written consent.
+
+e) Additional Remedies. Should any Original Code, Upgraded
+Code, TCK, Specifications, or Modifications become, or in
+the indemnifying party's opinion be likely to become, the
+subject of a claim of infringement for which indemnity is
+provided above, the indemnifying party may, at its sole
+option, attempt to procure on reasonable terms the rights
+necessary for the indemnified party to exercise its license
+rights under this License with respect to the infringing
+items, or to modify the infringing items so that they are no
+longer infringing without substantially impairing their
+function or performance. If the indemnifying party is
+unable to do the foregoing after reasonable efforts, then
+the indemnifying party may send a notice of such inability
+to the indemnified party together with a refund of any
+license fees received by the indemnifying party from the
+indemnified party for the infringing items applicable to the
+indemnified party's future use or distribution of such
+infringing items, in which case the indemnifying party will
+not be liable for any damages resulting from infringing
+activity with respect to the infringing items occurring
+after such notice and refund.
+
+6. Support Programs.
+
+Support to You. Technical support is not provided to You by
+Original Contributor under this License. You may contract
+for one or more support programs from Original Contributor
+relating to the Technology which are described on the SCSL
+Webpage.
+
+Customer Support. You are responsible for providing
+technical and maintenance support services to Your customers
+for Your products and services incorporating the Compliant
+Covered code.
+
+7. Royalties and Payments.
+
+Technology specified in Attachment B.
+
+Field of Use:____________________
+
+Royalty per Unit $_____________
+
+b) Royalty Payments. Payment of royalties shall be made
+quarterly, shall be due thirty (30) days following the end
+of the calendar quarter to which they relate and shall be
+submitted with a written statement documenting the basis for
+the royalty calculation.
+
+c) Taxes. All payments required by this License shall be
+made in United States dollars, are exclusive of taxes, and
+Licensee agrees to bear and be responsible for the payment
+of all such taxes, including, but not limited to, all sales,
+use, rental receipt, personal property or other taxes and
+their equivalents which may be levied or assessed in
+connection with this License (excluding only taxes based on
+Original Contributor's net income). To the extent Licensee
+is required to withhold taxes based upon Original
+Contributor's income in any country, You agree to provide
+Original Contributor with written evidence of such
+withholding, suitable for Original Contributor to obtain a
+tax credit in the United States.
+
+d) Records. You agree to maintain account books and records
+consistent with Generally Accepted Accounting Principles
+appropriate to Your domicile, as may be in effect from time
+to time, sufficient to allow the correctness of the
+royalties required to be paid pursuant to this License to be
+determined.
+
+e) Audit Rights. Original Contributor shall have the right
+to audit such accounts upon reasonable prior notice using an
+independent auditor of Original Contributor's choice (the
+"Auditor"). The Auditor shall be bound to keep confidential
+the details of Your business affairs and to limit disclosure
+of the results of any audit to the sufficiency of the
+accounts and the amount, if any, of a payment adjustment
+that should be made. Such audits shall not occur more than
+once each year (unless discrepancies are discovered in
+excess of the five percent (5%) threshold set forth in
+Section 7.f) below, in which case two consecutive quarters
+per year may be audited). Except as set forth in Section
+7.f) below, Original Contributor shall bear all costs and
+expenses associated with the exercise of its rights to
+audit.
+
+f) Payment Errors. In the event that any errors in payments
+shall be determined, such errors shall be corrected by
+appropriate adjustment in payment for the quarterly period
+during which the error is discovered. In the event of an
+underpayment of more than five percent (5%) of the proper
+amount owed, upon such underpayment being properly
+determined by the Auditor, You agree to reimburse Original
+Contributor the amount of the underpayment and all
+reasonable costs and expenses associated with the exercise
+of its rights to audit, and interest on the overdue amount
+at the maximum allowable interest rate from the date of
+accrual of such obligation.
+
+8. Notice of Breach or Infringement. Each party shall
+notify the other immediately in writing when it becomes
+aware of any breach or violation of the terms of this
+License, or when You become aware of any potential or actual
+infringement by a third party of the Technology or Sun's
+Intellectual Property Rights therein.
+
+9. Proprietary Rights Notices. You may not remove any
+copyright notices, trademark notices or other proprietary
+legends of Original Contributor or its suppliers contained
+on or in the Original Code, Upgraded Code and
+Specifications.
+
+10. Notices. All written notices required by this License
+must be delivered in person or by means evidenced by a
+delivery receipt and will be effective upon receipt by the
+persons at the addresses specified below.
+
+Original Contributor: You:
+
+Sun Microsystems, Inc. _____________________________
+
+4150 Network Circle ______________________________
+
+Santa Clara, California 95054 ______________________________
+
+Attn.: VP, Sun Software and
+Technology Sales ______________________________
+cc: Legal (Software Sales)
+
+11. Disclaimer of Agency. The relationship created hereby
+is that of licensor and licensee and the parties hereby
+acknowledge and agree that nothing herein shall be deemed to
+constitute You as a franchisee of Original Contributor. You
+hereby waive the benefit of any state or federal statutes
+dealing with the establishment and regulation of franchises.
+
+Agreed:
+You: Original Contributor:
+
+_____________________________ Sun Microsystems, Inc.
+(Your Name)
+By:_________________________ By:_____________________
+
+Title:_______________________ Title:____________________
+
+Date:______________________ Date:____________________
+
+ATTACHMENT E TECHNOLOGY COMPATIBILITY KIT
+
+The following license is effective for the Java(tm)2 SDK
+Technology Compatibility Kit only upon execution
+of a separate support agreement between You and Original
+Contributor (subject to an annual fee) as described on the
+SCSL Webpage. The Technology Compatibility Kit for the
+Technology specified in Attachment B may be accessed at the
+Technology Download Site only upon execution of the support
+agreement.
+
+1. TCK License.
+
+a) Subject to the restrictions set forth in Section 1.b
+below and Section 8.10 of the Research Use license, in
+addition to the Research Use license, Original Contributor
+grants to You a worldwide, non-exclusive, non-transferable
+license, to the extent of Original Contributor's
+Intellectual Property Rights in the TCK (without the right
+to sublicense), to use the TCK to develop and test Covered
+Code.
+
+b) TCK Use Restrictions. You are not authorized to create
+derivative works of the TCK or use the TCK to test any
+implementation of the Specification that is not Covered
+Code. You may not publish your test results or make claims
+of comparative compatibility with respect to other
+implementations of the Specification. In consideration for
+the license grant in Section 1.a above you agree not to
+develop your own tests which are intended to validate
+conformation with the Specification.
+
+2. Requirements for Determining Compliance.
+
+2.1 Definitions.
+
+a) "Added Value" means code which:
+
+(i) has a principal purpose which is substantially different
+from that of the stand-alone Technology;
+
+(ii) represents a significant functional and value
+enhancement to the Technology;
+
+(iii) operates in conjunction with the Technology; and
+
+(iv) is not marketed as a technology which replaces or
+substitutes for the Technology.
+
+b) "Java Classes" means the specific class libraries
+associated with each Technology defined in Attachment B.
+
+c) "Java Runtime Interpreter" means the program(s) which
+implement the Java virtual machine for the Technology as
+defined in the Specification.
+
+d) "Platform Dependent Part" means those Original Code and
+Upgraded Code files of the Technology which are not in a
+"share" directory or subdirectory thereof.
+
+e) "Shared Part" means those Original Code and Upgraded Code
+files of the Technology which are identified as "shared" (or
+words of similar meaning) or which are in any "share"
+directory or subdirectory thereof, except those files
+specifically designated by Original Contributor as
+modifiable.
+
+f) "User's Guide" means the users guide for the TCK which
+Sun makes available to You to provide direction in how to
+run the TCK and properly interpret the results, as may be
+revised by Sun from time to time.
+
+2.2 Development Restrictions. Compliant Covered Code:
+
+a) must include Added Value;
+
+b) must fully comply with the Specifications for the
+Technology specified in Attachment B;
+
+c) must include the Shared Part, complete and unmodified;
+
+d) may not modify the functional behavior of the Java
+Runtime Interpreter or the Java Classes;
+
+e) may not modify, subset or superset the interfaces of the
+Java Runtime Interpreter or the Java Classes;
+
+f) may not subset or superset the Java Classes; and
+
+g) may not modify or extend the required public class or
+public interface declarations whose names begin with "java",
+"javax", "jini", "net.jini", "sun.hotjava", "COM.sun" or
+their equivalents in any subsequent naming convention.
+
+2.3 Compatibility Testing. Successful compatibility testing
+must be completed by You, or at Original Contributor's
+option, a third party designated by Original Contributor, to
+conduct such tests, in accordance with the User's Guide, and
+using the most current version of the applicable TCK
+available from Original Contributor one hundred twenty (120)
+days (two hundred forty [240] days in the case of silicon
+implementations) prior to: (i) Your Internal Deployment
+Use; and (ii) each release of Compliant Covered Code by You
+for Commercial Use. In the event that You elect to use a
+version of Upgraded Code that is newer than that which is
+required under this Section 2.3, then You agree to pass the
+version of the TCK that corresponds to such newer version of
+Upgraded Code.
+
+2.4 Test Results. You agree to provide to Original
+Contributor or the third party test facility if applicable,
+Your test results that demonstrate that Covered Code is
+Compliant Covered Code and that Original Contributor may
+publish or otherwise distribute such test results.