summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Klose <doko@ubuntu.com>2013-05-02 03:27:44 +0200
committerGuido Günther <agx@sigxcpu.org>2013-05-08 12:54:30 +0200
commit21950708c7bcb0b68050a3e4621bfe0cec6b032c (patch)
tree914a1088221b2427b2abbd4d3d1b5e8813f5a162
parent9a8e56049ebf9f0878c7fe3efc0921df8aa6a0ba (diff)
Imported Debian patch 7u21-2.3.9-4debian/7u21-2.3.9-4
-rw-r--r--Makefile.am21
-rw-r--r--Makefile.in26
-rw-r--r--debian/JAVA_HOME13
-rw-r--r--debian/JB-archive.applications.in6
-rw-r--r--debian/JB-archive.keys.in18
-rw-r--r--debian/JB-archive.mime.in6
-rw-r--r--debian/JB-demo.menu.in55
-rw-r--r--debian/JB-demo.overrides.in2
-rw-r--r--debian/JB-doc.doc-base.in11
-rw-r--r--debian/JB-fonts.defoma-hints.in187
-rw-r--r--debian/JB-java.desktop.in11
-rw-r--r--debian/JB-jconsole.desktop.in10
-rw-r--r--debian/JB-jdk.menu.in7
-rw-r--r--debian/JB-jdk.postinst.in75
-rw-r--r--debian/JB-jdk.preinst.in23
-rw-r--r--debian/JB-jdk.prerm.in15
-rw-r--r--debian/JB-jre-headless.overrides.in5
-rw-r--r--debian/JB-jre-headless.postinst.in144
-rw-r--r--debian/JB-jre-headless.postrm.in21
-rw-r--r--debian/JB-jre-headless.preinst.in28
-rw-r--r--debian/JB-jre-headless.prerm.in27
-rw-r--r--debian/JB-jre-lib.overrides.in2
-rw-r--r--debian/JB-jre-lib.postinst.in15
-rw-r--r--debian/JB-jre-zero.overrides.in2
-rw-r--r--debian/JB-jre.menu.in7
-rw-r--r--debian/JB-jre.postinst.in76
-rw-r--r--debian/JB-jre.preinst.in27
-rw-r--r--debian/JB-jre.prerm.in14
-rw-r--r--debian/JB-policytool.desktop.in10
-rw-r--r--debian/README.Debian78
-rw-r--r--debian/README.alternatives.in33
-rw-r--r--debian/README.source79
-rw-r--r--debian/accessibility-atk.properties10
-rw-r--r--debian/accessibility.properties9
-rw-r--r--debian/buildwatch.sh40
-rw-r--r--debian/changelog3324
-rw-r--r--debian/compat1
-rw-r--r--debian/control169
-rw-r--r--debian/control.cacao-jre15
-rw-r--r--debian/control.cacao-trans11
-rw-r--r--debian/control.in130
-rw-r--r--debian/control.jamvm-jre13
-rw-r--r--debian/control.zero-jre15
-rw-r--r--debian/copyright2361
-rw-r--r--debian/copyright.cacao356
-rw-r--r--debian/font.properties.ja197
-rw-r--r--debian/font.properties.ja.wgy_zenhai244
-rw-r--r--debian/generate-debian-orig.sh68
-rw-r--r--debian/generate-dfsg-zip.sh57
-rw-r--r--debian/icedtea-7-jre-jamvm.overrides7
-rw-r--r--debian/jvm.cfg-default5
-rw-r--r--debian/mauve_tests2570
-rw-r--r--debian/patches/7130140-MouseEvent-systemout.diff15
-rw-r--r--debian/patches/FreetypeFontScaler_getFontMetricsNative.diff120
-rw-r--r--debian/patches/accessible-toolkit.patch16
-rw-r--r--debian/patches/alpha-float-const.diff11
-rw-r--r--debian/patches/atk-wrapper-security.patch12
-rw-r--r--debian/patches/cacao-armv4.diff100
-rw-r--r--debian/patches/default-jvm-cfg.diff44
-rw-r--r--debian/patches/dnd-files.patch21
-rw-r--r--debian/patches/enumipv6-fix.patch11
-rw-r--r--debian/patches/fix_extra_flags-default.diff71
-rw-r--r--debian/patches/fix_extra_flags-zero.diff71
-rw-r--r--debian/patches/fontconfig-arphic-uming.diff244
-rw-r--r--debian/patches/fontconfig-japanese.diff219
-rw-r--r--debian/patches/fontconfig-korean-nanum.diff266
-rw-r--r--debian/patches/fontconfig-wqy-microhei.patch53
-rw-r--r--debian/patches/hotspot-libpath-default.diff30
-rw-r--r--debian/patches/hotspot-libpath-zero.diff30
-rw-r--r--debian/patches/hotspot-no-march-i586.diff13
-rw-r--r--debian/patches/hotspot-no-werror-default.diff10
-rw-r--r--debian/patches/hotspot-no-werror-zero.diff11
-rw-r--r--debian/patches/hotspot-s390.diff204
-rw-r--r--debian/patches/hotspot-sparc-arch.diff11
-rw-r--r--debian/patches/hotspot-sparc-fix.diff21
-rw-r--r--debian/patches/hotspot-warn-no-errformat.diff24
-rw-r--r--debian/patches/icc_loading_with_symlink.diff37
-rw-r--r--debian/patches/icedtea-4953367.patch21
-rw-r--r--debian/patches/icedtea-override-redirect-compiz.patch12
-rw-r--r--debian/patches/icedtea-patch.diff77
-rw-r--r--debian/patches/icedtea-pretend-memory.diff22
-rw-r--r--debian/patches/java-access-bridge-security.patch15
-rw-r--r--debian/patches/jdk-freetypeScaler-crash.diff141
-rw-r--r--debian/patches/jdk-pulseaudio.diff25
-rw-r--r--debian/patches/jni_md_h_JNIEXPORT_visibility.patch25
-rw-r--r--debian/patches/kfreebsd-support-corba.diff18
-rw-r--r--debian/patches/kfreebsd-support-hotspot.diff856
-rw-r--r--debian/patches/kfreebsd-support-jamvm.diff35
-rw-r--r--debian/patches/kfreebsd-support-jdk.diff2139
-rw-r--r--debian/patches/kfreebsd-sync-issues.diff102
-rw-r--r--debian/patches/ld-symbolic-functions.diff33
-rw-r--r--debian/patches/libpcsclite-dlopen.diff36
-rw-r--r--debian/patches/no-pch-build.diff110
-rw-r--r--debian/patches/nonreparenting-wm.diff58
-rw-r--r--debian/patches/openjdk-ubuntu-branding.patch11
-rw-r--r--debian/patches/pkcs11-secmod-debug.diff13
-rw-r--r--debian/patches/s390_hotspot_fix.diff51
-rw-r--r--debian/patches/set-exec-name.diff47
-rw-r--r--debian/patches/shebang.diff7
-rw-r--r--debian/patches/sparc-inline.diff128
-rw-r--r--debian/patches/sparc-stubgenerator.diff44
-rw-r--r--debian/patches/sparc-trapsfix.patch18
-rw-r--r--debian/patches/stack-direction.diff217
-rw-r--r--debian/patches/text-relocations.diff11
-rw-r--r--debian/patches/zero-fpu-control-is-noop.diff27
-rw-r--r--debian/patches/zero-missing-headers.diff25
-rw-r--r--debian/patches/zero-opt.diff15
-rwxr-xr-xdebian/rules2007
-rw-r--r--debian/sharedmimeinfo12
-rw-r--r--debian/source/format1
-rw-r--r--debian/sun_java.xpm194
-rw-r--r--debian/sun_java_app.xpm199
-rw-r--r--debian/swing.properties2
-rw-r--r--debian/update-hgrev.sh29
-rw-r--r--debian/update-shasum.sh27
115 files changed, 19107 insertions, 24 deletions
diff --git a/Makefile.am b/Makefile.am
index 5ae7c13..df1f329 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,8 +14,8 @@ OPENJDK_CHANGESET = 12b96a57263c
CORBA_SHA256SUM = 7346565688c3f01872af2c16a491233325ad5e924475dc89ff01f50582814934
JAXP_SHA256SUM = 8cad2dfee2d5e58a217193dcc9650debe519f72df7c136a15311195c9a1b48d6
JAXWS_SHA256SUM = b8e109ac705b95e5605280c8ae13319a128e16eac950a455bfa30364ae4192cc
-JDK_SHA256SUM = 349009abfc8df1575336648bebd8a5ff0cb0f2ad045f6b661d88691411881d5e
-LANGTOOLS_SHA256SUM = 2806de9d41a91acff5bb917ec9dc41cb805e893b43828491b920f9ec14b53b12
+JDK_SHA256SUM = b8dddef41c3ce36aef94e104f8a7a98fd2e7924acf929610d0eb4bf923024b89
+LANGTOOLS_SHA256SUM = 9b1f34122bdf602b7d7aff870661f25c83b786c98fe88f1117fdd81b9d0af4a9
OPENJDK_SHA256SUM = 651f99364e451d79156c879b8c8e47b8568fb3b4e4d28ebc38d36028acbed8bc
CACAO_VERSION = a567bcb7f589
@@ -155,7 +155,7 @@ IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOUR
IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION)
# Flags
-IT_CFLAGS=$(CFLAGS) $(ARCHFLAG)
+IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) $(EXTRA_CFLAGS_IT)
# Conditional defintions
@@ -1502,9 +1502,6 @@ if HAS_PKGVERSION
echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \
>>openjdk/jdk/make/common/shared/Defs.gmk ;
endif
- if test x"$(PROJECT_NAME)" != "xjdk7" && test x"$(PROJECT_NAME)" != "xicedtea"; then \
- proj_suffix="-$(PROJECT_NAME)"; \
- fi ; \
if test x"$(VERSION_SUFFIX)" != "x"; then \
ver_suffix="-$(VERSION_SUFFIX)"; \
fi ; \
@@ -1970,7 +1967,7 @@ $(PULSE_JAVA_NATIVE_BUILDDIR)/%.o: $(PULSE_JAVA_NATIVE_SRCDIR)/%.c stamps/pulse-
-I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $<
$(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so: $(PULSE_JAVA_NATIVE_OBJECTS)
- $(CC) $(LDFLAGS) -shared $(PULSE_JAVA_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \
+ $(CC) $(LDFLAGS) $(EXTRA_LDFLAGS_IT) -shared $(PULSE_JAVA_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \
-o $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so
endif
@@ -2038,7 +2035,8 @@ stamps/jamvm.stamp: $(OPENJDK_TREE) stamps/rt.stamp
if BUILD_JAMVM
cd jamvm/jamvm && \
./autogen.sh --with-java-runtime-library=openjdk7 \
- --prefix=$(abs_top_builddir)/jamvm/install ; \
+ --prefix=$(abs_top_builddir)/jamvm/install \
+ CFLAGS='$(EXTRA_CFLAGS_JAMVM)' LDFLAGS='$(EXTRA_LDFLAGS_JAMVM)' CPPFLAGS='$(EXTRA_CPPFLAGS_JAMVM)' CXXFLAGS='$(EXTRA_CXXFLAGS_JAMVM)'; \
$(MAKE) ; \
$(MAKE) install
mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
@@ -2107,7 +2105,8 @@ if !USE_SYSTEM_CACAO
--with-java-runtime-library=openjdk7 \
--with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
--with-java-runtime-library-classes=$(RUNTIME) \
- --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \
+ --enable-jre-layout $(CACAO_CONFIGURE_ARGS) \
+ CFLAGS='$(EXTRA_CFLAGS_CACAO)' LDFLAGS='$(EXTRA_LDFLAGS_CACAO)' CPPFLAGS='$(EXTRA_CPPFLAGS_CACAO)' CXXFLAGS='$(EXTRA_CXXFLAGS_CACAO)'; \
$(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install
ln -sf server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client
touch $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
@@ -2183,7 +2182,7 @@ ADD_ZERO_CONFIGURE_ARGS += \
'--with-javac=% '--with-javac=% \
'--with-rmic=% '--with-additional-vms=% \
'--disable-bootstrap% '--enable-bootstrap% , \
- $(CONFIGURE_ARGS)) \
+ $(subst hotspot-default.tar,hotspot-zero.tar,$(CONFIGURE_ARGS))) \
$(foreach i, openjdk hotspot corba jaxp jaxws jdk langtools, \
$(if $(findstring --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, --with-$(i)-src-zip=$(abs_top_builddir)/$(i).tar.gz))
@@ -2193,7 +2192,7 @@ ADD_ZERO_EXTRA_BUILD_ENV = \
BUILD_JAXWS=false ALT_JAXWS_DIST=$(BUILD_OUTPUT_DIR)/jaxws/dist \
BUILD_CORBA=false ALT_CORBA_DIST=$(BUILD_OUTPUT_DIR)/corba/dist \
BUILD_JDK=false \
- DISTRIBUTION_PATCHES='$(foreach p,$(DISTRIBUTION_PATCHES),$(if $(findstring cacao,$(p)),,$(if $(findstring jamvm,$(p)),,$(p))))'
+ DISTRIBUTION_PATCHES='$(foreach p,$(subst -default,-zero,$(DISTRIBUTION_PATCHES)),$(if $(findstring cacao,$(p)),,$(if $(findstring jamvm,$(p)),,$(p))))'
stamps/add-zero.stamp: stamps/icedtea.stamp
mkdir -p stamps
diff --git a/Makefile.in b/Makefile.in
index f6da485..367c699 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -504,8 +504,8 @@ OPENJDK_CHANGESET = 12b96a57263c
CORBA_SHA256SUM = 7346565688c3f01872af2c16a491233325ad5e924475dc89ff01f50582814934
JAXP_SHA256SUM = 8cad2dfee2d5e58a217193dcc9650debe519f72df7c136a15311195c9a1b48d6
JAXWS_SHA256SUM = b8e109ac705b95e5605280c8ae13319a128e16eac950a455bfa30364ae4192cc
-JDK_SHA256SUM = 349009abfc8df1575336648bebd8a5ff0cb0f2ad045f6b661d88691411881d5e
-LANGTOOLS_SHA256SUM = 2806de9d41a91acff5bb917ec9dc41cb805e893b43828491b920f9ec14b53b12
+JDK_SHA256SUM = b8dddef41c3ce36aef94e104f8a7a98fd2e7924acf929610d0eb4bf923024b89
+LANGTOOLS_SHA256SUM = 9b1f34122bdf602b7d7aff870661f25c83b786c98fe88f1117fdd81b9d0af4a9
OPENJDK_SHA256SUM = 651f99364e451d79156c879b8c8e47b8568fb3b4e4d28ebc38d36028acbed8bc
CACAO_VERSION = a567bcb7f589
CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9
@@ -588,7 +588,7 @@ IT_JAVAC_SETTINGS = -g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SO
IT_JAVACFLAGS = $(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION)
# Flags
-IT_CFLAGS = $(CFLAGS) $(ARCHFLAG)
+IT_CFLAGS = $(CFLAGS) $(ARCHFLAG) $(EXTRA_CFLAGS_IT)
@USE_HG_FALSE@OPENJDK_SRC_ZIP = openjdk.tar.gz
# Conditional defintions
@@ -939,9 +939,10 @@ ADD_ZERO_CONFIGURE_ARGS = \
--disable-docs $(filter-out '--with-jdk-home=% '--with-ecj=% \
'--with-java=% '--with-javah=% '--with-javac=% '--with-javac=% \
'--with-rmic=% '--with-additional-vms=% '--disable-bootstrap% \
- '--enable-bootstrap% , $(CONFIGURE_ARGS)) $(foreach i, openjdk \
- hotspot corba jaxp jaxws jdk langtools, $(if $(findstring \
- --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, \
+ '--enable-bootstrap% , $(subst \
+ hotspot-default.tar,hotspot-zero.tar,$(CONFIGURE_ARGS))) \
+ $(foreach i, openjdk hotspot corba jaxp jaxws jdk langtools, \
+ $(if $(findstring --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, \
--with-$(i)-src-zip=$(abs_top_builddir)/$(i).tar.gz))
ADD_ZERO_EXTRA_BUILD_ENV = \
BUILD_LANGTOOLS=false ALT_LANGTOOLS_DIST=$(BUILD_OUTPUT_DIR)/langtools/dist \
@@ -949,7 +950,7 @@ ADD_ZERO_EXTRA_BUILD_ENV = \
BUILD_JAXWS=false ALT_JAXWS_DIST=$(BUILD_OUTPUT_DIR)/jaxws/dist \
BUILD_CORBA=false ALT_CORBA_DIST=$(BUILD_OUTPUT_DIR)/corba/dist \
BUILD_JDK=false \
- DISTRIBUTION_PATCHES='$(foreach p,$(DISTRIBUTION_PATCHES),$(if $(findstring cacao,$(p)),,$(if $(findstring jamvm,$(p)),,$(p))))'
+ DISTRIBUTION_PATCHES='$(foreach p,$(subst -default,-zero,$(DISTRIBUTION_PATCHES)),$(if $(findstring cacao,$(p)),,$(if $(findstring jamvm,$(p)),,$(p))))'
# FIXME: this might need some adjustment for other OS than Linux
@@ -1951,9 +1952,6 @@ stamps/versioning.stamp: stamps/patch.stamp
echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ;
@HAS_PKGVERSION_TRUE@ echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \
@HAS_PKGVERSION_TRUE@ >>openjdk/jdk/make/common/shared/Defs.gmk ;
- if test x"$(PROJECT_NAME)" != "xjdk7" && test x"$(PROJECT_NAME)" != "xicedtea"; then \
- proj_suffix="-$(PROJECT_NAME)"; \
- fi ; \
if test x"$(VERSION_SUFFIX)" != "x"; then \
ver_suffix="-$(VERSION_SUFFIX)"; \
fi ; \
@@ -2379,7 +2377,7 @@ clean-icedtea-stage1:
@ENABLE_PULSE_JAVA_TRUE@ -I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $<
@ENABLE_PULSE_JAVA_TRUE@$(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so: $(PULSE_JAVA_NATIVE_OBJECTS)
-@ENABLE_PULSE_JAVA_TRUE@ $(CC) $(LDFLAGS) -shared $(PULSE_JAVA_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \
+@ENABLE_PULSE_JAVA_TRUE@ $(CC) $(LDFLAGS) $(EXTRA_LDFLAGS_IT) -shared $(PULSE_JAVA_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \
@ENABLE_PULSE_JAVA_TRUE@ -o $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so
clean-pulse-java:
@@ -2440,7 +2438,8 @@ clean-rewrite-rhino:
stamps/jamvm.stamp: $(OPENJDK_TREE) stamps/rt.stamp
@BUILD_JAMVM_TRUE@ cd jamvm/jamvm && \
@BUILD_JAMVM_TRUE@ ./autogen.sh --with-java-runtime-library=openjdk7 \
-@BUILD_JAMVM_TRUE@ --prefix=$(abs_top_builddir)/jamvm/install ; \
+@BUILD_JAMVM_TRUE@ --prefix=$(abs_top_builddir)/jamvm/install \
+@BUILD_JAMVM_TRUE@ CFLAGS='$(EXTRA_CFLAGS_JAMVM)' LDFLAGS='$(EXTRA_LDFLAGS_JAMVM)' CPPFLAGS='$(EXTRA_CPPFLAGS_JAMVM)' CXXFLAGS='$(EXTRA_CXXFLAGS_JAMVM)'; \
@BUILD_JAMVM_TRUE@ $(MAKE) ; \
@BUILD_JAMVM_TRUE@ $(MAKE) install
@BUILD_JAMVM_TRUE@ mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
@@ -2500,7 +2499,8 @@ stamps/cacao.stamp: stamps/rt.stamp
@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ --with-java-runtime-library=openjdk7 \
@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ --with-java-runtime-library-classes=$(RUNTIME) \
-@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \
+@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ --enable-jre-layout $(CACAO_CONFIGURE_ARGS) \
+@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ CFLAGS='$(EXTRA_CFLAGS_CACAO)' LDFLAGS='$(EXTRA_LDFLAGS_CACAO)' CPPFLAGS='$(EXTRA_CPPFLAGS_CACAO)' CXXFLAGS='$(EXTRA_CXXFLAGS_CACAO)'; \
@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ $(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install
@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ ln -sf server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client
@BUILD_CACAO_TRUE@@USE_SYSTEM_CACAO_FALSE@ touch $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
diff --git a/debian/JAVA_HOME b/debian/JAVA_HOME
new file mode 100644
index 0000000..876e989
--- /dev/null
+++ b/debian/JAVA_HOME
@@ -0,0 +1,13 @@
+ JAVA_HOME
+
+1. Legacy use of JAVA_HOME
+
+ As of the latest versions of java-common there really should
+ be no need for JAVA_HOME as Java(TM) should be completely
+ integrated with your Debian GNU/Linux system.
+
+
+2. Selecting OpenJDK 7 as the default Java(TM) implementation
+
+ Please see README.alternatives for instructions on how
+ to make OpenJDK 7 executables and man pages the default on your system.
diff --git a/debian/JB-archive.applications.in b/debian/JB-archive.applications.in
new file mode 100644
index 0000000..7f20fd5
--- /dev/null
+++ b/debian/JB-archive.applications.in
@@ -0,0 +1,6 @@
+java-archive
+ command=/usr/bin/java -jar
+ name=java-archive
+ can_open_multiple_files=false
+ requires_terminal=false
+ mime_types=application/java-archive,application/x-java-archive,application/x-jar
diff --git a/debian/JB-archive.keys.in b/debian/JB-archive.keys.in
new file mode 100644
index 0000000..743e3c8
--- /dev/null
+++ b/debian/JB-archive.keys.in
@@ -0,0 +1,18 @@
+application/java-archive
+ description=Java Archive
+ icon_filename=@basename@
+ default_action_type=application
+ default_application_id=java-archive
+ short_list_application_user_additions=java-archive
+application/x-java-archive
+ description=Java Archive
+ icon_filename=@basename@
+ default_action_type=application
+ default_application_id=java-archive
+ short_list_application_user_additions=java-archive
+application/x-jar
+ description=Java Archive
+ icon_filename=@basename@
+ default_action_type=application
+ default_application_id=java-archive
+ short_list_application_user_additions=java-archive
diff --git a/debian/JB-archive.mime.in b/debian/JB-archive.mime.in
new file mode 100644
index 0000000..e354ead
--- /dev/null
+++ b/debian/JB-archive.mime.in
@@ -0,0 +1,6 @@
+application/java-archive
+ ext: jar
+application/x-java-archive
+ ext: jar
+application/x-jar
+ ext: jar
diff --git a/debian/JB-demo.menu.in b/debian/JB-demo.menu.in
new file mode 100644
index 0000000..58aec29
--- /dev/null
+++ b/debian/JB-demo.menu.in
@@ -0,0 +1,55 @@
+?package(@basename@-demo):\
+ needs="x11"\
+ section="Applications/Programming"\
+ title="@vendor@ Java @RELEASE@ FileChooser Demo"\
+ command="/bin/sh -c 'cd /@basedir@/demo/jfc/FileChooserDemo; /@basedir@/bin/java -jar FileChooserDemo.jar'"\
+ icon="/usr/share/pixmaps/@basename@-app.xpm"\
+ hints="Java2"
+
+?package(@basename@-demo):\
+ needs="x11"\
+ section="Applications/Programming"\
+ title="@vendor@ Java @RELEASE@ Font2DTest Demo"\
+ command="/bin/sh -c 'cd /@basedir@/demo/jfc/Font2DTest; /@basedir@/bin/java -jar Font2DTest.jar'"\
+ icon="/usr/share/pixmaps/@basename@-app.xpm"\
+ hints="Java2"
+
+?package(@basename@-demo):\
+ needs="x11"\
+ section="Applications/Programming"\
+ title="@vendor@ Java @RELEASE@ Java 2D Demo"\
+ command="/bin/sh -c 'cd /@basedir@/demo/jfc/Java2D; /@basedir@/bin/java -jar Java2Demo.jar'"\
+ icon="/usr/share/pixmaps/@basename@-app.xpm"\
+ hints="Java2"
+
+?package(@basename@-demo):\
+ needs="x11"\
+ section="Applications/Programming"\
+ title="@vendor@ Java @RELEASE@ SampleTree Demo"\
+ command="/bin/sh -c 'cd /@basedir@/demo/jfc/SampleTree; /@basedir@/bin/java -jar SampleTree.jar'"\
+ icon="/usr/share/pixmaps/@basename@-app.xpm"\
+ hints="Java2"
+
+?package(@basename@-demo):\
+ needs="x11"\
+ section="Applications/Programming"\
+ title="@vendor@ Java @RELEASE@ Stylepad Demo"\
+ command="/bin/sh -c 'cd /@basedir@/demo/jfc/Stylepad; /@basedir@/bin/java -jar Stylepad.jar'"\
+ icon="/usr/share/pixmaps/@basename@-app.xpm"\
+ hints="Java2"
+
+?package(@basename@-demo):\
+ needs="x11"\
+ section="Applications/Programming"\
+ title="@vendor@ Java @RELEASE@ SwingSet2 Demo"\
+ command="/bin/sh -c 'cd /@basedir@/demo/jfc/SwingSet2; /@basedir@/bin/java -jar SwingSet2.jar'"\
+ icon="/usr/share/pixmaps/@basename@-app.xpm"\
+ hints="Java2"
+
+?package(@basename@-demo):\
+ needs="x11"\
+ section="Applications/Programming"\
+ title="@vendor@ Java @RELEASE@ TableExample Demo"\
+ command="/bin/sh -c 'cd /@basedir@/demo/jfc/TableExample; /@basedir@/bin/java -jar TableExample.jar'"\
+ icon="/usr/share/pixmaps/@basename@-app.xpm"\
+ hints="Java2"
diff --git a/debian/JB-demo.overrides.in b/debian/JB-demo.overrides.in
new file mode 100644
index 0000000..9afd2b5
--- /dev/null
+++ b/debian/JB-demo.overrides.in
@@ -0,0 +1,2 @@
+# jpda/examples.jar only contains source code
+@basename@-demo: codeless-jar usr/share/doc/openjdk-7-jre-headless/demo/jpda/examples.jar
diff --git a/debian/JB-doc.doc-base.in b/debian/JB-doc.doc-base.in
new file mode 100644
index 0000000..619d9ae
--- /dev/null
+++ b/debian/JB-doc.doc-base.in
@@ -0,0 +1,11 @@
+Document: @JDK@-doc
+Title: @vendor@ Java(TM) @RELEASE@ JDK, Standard Edition Documentation
+Author: @vendor@
+Abstract: The Java @RELEASE@ Platform Documentation contains API specifications,
+ feature descriptions, developer guides, reference pages for JDK tools
+ and utilities, demos, and links to related information.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/@basename@-jre-headless/api/index.html
+Files: /usr/share/doc/@basename@-jre-headless/api/*/*.html
diff --git a/debian/JB-fonts.defoma-hints.in b/debian/JB-fonts.defoma-hints.in
new file mode 100644
index 0000000..80212e2
--- /dev/null
+++ b/debian/JB-fonts.defoma-hints.in
@@ -0,0 +1,187 @@
+category truetype
+
+# Sans
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansRegular.ttf
+ Family = LucidaSans
+ FontName = LucidaSans
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = SansSerif
+ Weight = Book
+ Width = Variable
+ Shape = NoSerif Upright
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansDemiBold.ttf
+ Family = LucidaSans
+ FontName = LucidaSans-Demibold
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = SansSerif
+ Weight = Bold
+ Width = Variable
+ Shape = NoSerif Upright
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansOblique.ttf
+ Family = LucidaSans
+ FontName = LucidaSans-Oblique
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = SansSerif
+ Weight = Thin
+ Width = Variable
+ Shape = NoSerif Oblique
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansDemiOblique.ttf
+ Family = LucidaSans
+ FontName = LucidaSans-Demibold-Oblique
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = SansSerif
+ Weight = Bold
+ Width = Variable
+ Shape = NoSerif Oblique
+ Foundry = Lucida
+ Priority = 15
+end
+
+# Serif
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightRegular.ttf
+ Family = LucidaBright
+ FontName = LucidaBright-Regular
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Roman
+ Weight = Book
+ Width = Variable
+ Shape = NoSerif Upright
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightItalic.ttf
+ Family = LucidaBright
+ FontName = LucidaBright-Italic
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Roman
+ Weight = Book
+ Width = Variable
+ Shape = NoSerif Oblique
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightDemiBold.ttf
+ Family = Lucida-Bright
+ FontName = Lucida-Bright-Demi
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Roman
+ Weight = Bold
+ Width = Variable
+ Shape = NoSerif Upright
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightDemiItalic.ttf
+ Family = Lucida-Bright
+ FontName = Lucida-Bright-DemiItalic
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Roman
+ Weight = Demi
+ Width = Variable
+ Shape = NoSerif Oblique
+ Foundry = Lucida
+ Priority = 15
+end
+
+# Mono
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterRegular.ttf
+ Family = LucidaSans-Typewriter
+ FontName = LucidaSans-Typewriter
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Typewriter
+ Weight = Book
+ Width = Fixed
+ Shape = NoSerif Upright
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterOblique.ttf
+ Family = LucidaSans-Typewriter
+ FontName = LucidaSans-Typewriter-Oblique
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Typewriter
+ Weight = Book
+ Width = Fixed
+ Shape = NoSerif Oblique
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterBold.ttf
+ Family = LucidaSans-Typewriter
+ FontName = LucidaSans-Typewriter-Bold
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Typewriter
+ Weight = Bold
+ Width = Fixed
+ Shape = NoSerif Upright
+ Foundry = Lucida
+ Priority = 15
+end
+
+begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterBoldOblique.ttf
+ Family = LucidaSans-Typewriter
+ FontName = LucidaSans-Typewriter-Bold-Oblique
+ Encoding = Unicode
+ Location = English
+ Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1
+ UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15
+ GeneralFamily = Typewriter
+ Weight = Bold
+ Width = Fixed
+ Shape = NoSerif Oblique
+ Foundry = Lucida
+ Priority = 15
+end
diff --git a/debian/JB-java.desktop.in b/debian/JB-java.desktop.in
new file mode 100644
index 0000000..a57b923
--- /dev/null
+++ b/debian/JB-java.desktop.in
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=@vendor@ Java @RELEASE@ Runtime
+Name[fi]=@vendor@ Java @RELEASE@ - ajonaikainen ympäristö
+Comment=@vendor@ Java @RELEASE@ Runtime
+Comment[fi]=@vendor@ Java @RELEASE@ - ajonaikainen ympäristö
+Exec=@java_launcher@ -jar
+Terminal=false
+Type=Application
+Icon=@basename@
+MimeType=application/x-java-archive;application/java-archive;application/x-jar;
+NoDisplay=true
diff --git a/debian/JB-jconsole.desktop.in b/debian/JB-jconsole.desktop.in
new file mode 100644
index 0000000..bae9db1
--- /dev/null
+++ b/debian/JB-jconsole.desktop.in
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=@vendor@ Java @RELEASE@ Console
+Name[fi]=@vendor@ Java @RELEASE@ - konsoli
+Comment=@vendor@ Java @RELEASE@ Monitoring & Management Console
+Comment[fi]=@vendor@ Java @RELEASE@ - valvonta- ja hallintakonsoli
+Exec=/usr/bin/jconsole
+Terminal=false
+Type=Application
+Icon=@basename@
+Categories=Application;System;
diff --git a/debian/JB-jdk.menu.in b/debian/JB-jdk.menu.in
new file mode 100644
index 0000000..14f11ec
--- /dev/null
+++ b/debian/JB-jdk.menu.in
@@ -0,0 +1,7 @@
+?package(@basename@-jdk):\
+ needs="x11"\
+ section="Applications/System/Administration"\
+ title="@vendor@ Java @RELEASE@ Console"\
+ command="/usr/bin/jconsole"\
+ icon="/usr/share/pixmaps/@basename@.xpm"\
+ hints="Java2"
diff --git a/debian/JB-jdk.postinst.in b/debian/JB-jdk.postinst.in
new file mode 100644
index 0000000..bdffbe3
--- /dev/null
+++ b/debian/JB-jdk.postinst.in
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+set -e
+
+multiarch=@multiarch@
+priority=@priority@
+basedir=/@basedir@
+mandir=$basedir/man
+jdiralias=@jdiralias@
+srcext=1.gz
+dstext=1.gz
+jdk_tools='@jdk_tools@'
+
+case "$1" in
+configure)
+ # obsolete tool
+ if update-alternatives --list apt 2>/dev/null; then
+ update-alternatives --remove-all apt || true
+ fi
+
+ if [ -z "$2" ]; then
+ update_alternatives=y
+ fi
+ if [ -n "$multiarch" ] && [ -n "$2" ]; then
+ for i in $jdk_tools; do
+ if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$basedir/)" ]; then
+ update_alternatives=y
+ break
+ fi
+ done
+ fi
+ if [ "$update_alternatives" != y ] && [ $priority -gt 1060 ]; then
+ for i in $jre_tools; do
+ oldp=$(update-alternatives --query java | awk -v b=$basedir '/^Alternative:/ && $2~b {p=1} /^Priority:/ && p {print $2; exit}')
+ if [ -n "$oldp" ] && [ "$oldp" -le 1060 ]; then
+ update_alternatives=y
+ break
+ fi
+ done
+ fi
+
+ if [ "$update_alternatives" = y ]; then
+ if [ -n "$multiarch" ] && [ "$DPKG_MAINTSCRIPT_ARCH" != $(dpkg --print-architecture) ]; then
+ priority=$(expr $priority - 1)
+ fi
+ for i in $jdk_tools; do
+ unset slave1 slave2 || true
+ if [ -e $mandir/man1/$i.$srcext ]; then
+ slave1="--slave \
+ /usr/share/man/man1/$i.$dstext \
+ $i.$dstext \
+ $mandir/man1/$i.$srcext"
+ fi
+ if false && [ -e $mandir/ja/man1/$i.$srcext ]; then
+ slave2="--slave \
+ /usr/share/man/ja/man1/$i.$dstext \
+ ${i}_ja.$dstext \
+ $mandir/ja/man1/$i.$srcext"
+ fi
+ update-alternatives \
+ --install \
+ /usr/bin/$i \
+ $i \
+ $basedir/bin/$i \
+ $priority \
+ $slave1 $slave2
+ done
+ fi # update alternatives
+
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/JB-jdk.preinst.in b/debian/JB-jdk.preinst.in
new file mode 100644
index 0000000..b69b8f2
--- /dev/null
+++ b/debian/JB-jdk.preinst.in
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+multiarch=@multiarch@
+old_basedir=/usr/lib/jvm/java-7-openjdk
+jdk_tools='appletviewer apt extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc'
+
+case "$1" in
+ upgrade)
+ if [ -n "$multiarch" ] && [ -n "$2" ]; then
+ for i in $jdk_tools; do
+ if [ -n "$(update-alternatives --list $i 2>/dev/null | grep ^$old_basedir/)" ]; then
+ update-alternatives --remove $i $old_basedir/bin/$i || true
+ fi
+ done
+ fi
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/JB-jdk.prerm.in b/debian/JB-jdk.prerm.in
new file mode 100644
index 0000000..f512195
--- /dev/null
+++ b/debian/JB-jdk.prerm.in
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+
+set -e
+
+jdk_tools='@jdk_tools@'
+basedir=/@basedir@
+
+
+if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
+ for i in $jdk_tools; do
+ update-alternatives --remove $i $basedir/bin/$i
+ done
+fi
+
+#DEBHELPER#
diff --git a/debian/JB-jre-headless.overrides.in b/debian/JB-jre-headless.overrides.in
new file mode 100644
index 0000000..6004673
--- /dev/null
+++ b/debian/JB-jre-headless.overrides.in
@@ -0,0 +1,5 @@
+# empty directory by intent
+@basename@-jre-headless binary: package-contains-empty-directory usr/share/binfmts/
+
+# Strip libjvm.so with --strip-debug instead of --strip-unneeded. LP: #574997.
+@basename@-jre-headless binary: unstripped-binary-or-object
diff --git a/debian/JB-jre-headless.postinst.in b/debian/JB-jre-headless.postinst.in
new file mode 100644
index 0000000..6b863a7
--- /dev/null
+++ b/debian/JB-jre-headless.postinst.in
@@ -0,0 +1,144 @@
+#!/bin/sh
+
+set -e
+
+multiarch=@multiarch@
+priority=@priority@
+basedir=/@basedir@
+mandir=$basedir/jre/man
+srcext=1.gz
+dstext=1.gz
+jre_tools='@jre_hl_tools@'
+
+case "$1" in
+configure)
+ # fail early. java currently uses tricks to find its own shared
+ # libraries depending on the path of the binary. Will be changed
+ # in OpenJDK7
+ if ! mountpoint -q /proc; then
+ echo >&2 "the java command requires a mounted proc fs (/proc)."
+ exit 1
+ fi
+
+ [ -d /etc/.java ] || mkdir -m 755 /etc/.java
+ [ -d /etc/.java/.systemPrefs ] || mkdir -m 755 /etc/.java/.systemPrefs
+ if [ ! -f /etc/.java/.systemPrefs/.system.lock ]; then
+ touch /etc/.java/.systemPrefs/.system.lock
+ chmod 644 /etc/.java/.systemPrefs/.system.lock
+ fi
+ if [ ! -f /etc/.java/.systemPrefs/.systemRootModFile ]; then
+ touch /etc/.java/.systemPrefs/.systemRootModFile
+ chmod 644 /etc/.java/.systemPrefs/.systemRootModFile
+ fi
+
+ if [ -z "$2" ]; then
+ update_alternatives=y
+ fi
+ if [ -n "$multiarch" ] && [ -n "$2" ]; then
+ for i in $jre_tools; do
+ if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$basedir/)" ]; then
+ update_alternatives=y
+ break
+ fi
+ done
+ fi
+ if [ "$update_alternatives" != y ] && [ $priority -gt 1060 ]; then
+ for i in $jre_tools; do
+ oldp=$(update-alternatives --query java | awk -v b=$basedir '/^Alternative:/ && $2~b {p=1} /^Priority:/ && p {print $2; exit}')
+ if [ -n "$oldp" ] && [ "$oldp" -le 1060 ]; then
+ update_alternatives=y
+ break
+ fi
+ done
+ fi
+
+ if [ "$update_alternatives" = y ]; then
+ if [ -n "$multiarch" ] && [ "$DPKG_MAINTSCRIPT_ARCH" != $(dpkg --print-architecture) ]; then
+ priority=$(expr $priority - 1)
+ fi
+ for i in $jre_tools; do
+ unset slave1 slave2 || true
+ if [ -e $mandir/man1/$i.$srcext ]; then
+ slave1="--slave \
+ /usr/share/man/man1/$i.$dstext \
+ $i.$dstext \
+ $mandir/man1/$i.$srcext"
+ fi
+ # disabled
+ if false && [ -e $mandir/ja/man1/$i.$srcext ]; then
+ slave2="--slave \
+ /usr/share/man/ja/man1/$i.$dstext \
+ ${i}_ja.$dstext \
+ $mandir/ja/man1/$i.$srcext"
+ fi
+ update-alternatives \
+ --install \
+ /usr/bin/$i \
+ $i \
+ $basedir/jre/bin/$i \
+ $priority \
+ $slave1 $slave2
+ done
+ update-alternatives \
+ --install /usr/bin/jexec jexec $basedir/jre/lib/jexec $priority \
+ --slave \
+ /usr/share/binfmts/jar \
+ jexec-binfmt \
+ $basedir/jre/lib/jar.binfmt
+ fi # update alternatives
+
+ if [ -n "$multiarch" ] && [ -n "$2" ] && dpkg --compare-versions "$2" lt 7~b147-2.0~pre3-3ubuntu2~; then
+ for d in cmm; do
+ if [ -d $basedir/jre/lib/$d ] && [ ! -h $basedir/jre/lib/$d ]; then
+ rm -rf $basedir/jre/lib/$d
+ ln -s ../../../java-6-openjdk-common/jre/lib/$d $basedir/jre/lib/$d
+ fi
+ done
+ fi
+
+ # register binfmt; ignore errors, the alternative may already be
+ # registered by another JRE.
+ if which update-binfmts >/dev/null && [ -r /usr/share/binfmts/jar ]; then
+ update-binfmts --package @basename@ --import jar || true
+ fi
+
+ # activate class data sharing
+ case @archdir@ in i386|sparc)
+ rm -f $basedir/jre/lib/@archdir@/client/classes.jsa
+ log=$(tempfile)
+ if ! $basedir/bin/java -client -Xshare:dump -XX:PermSize=128m > $log; then
+ cat >&2 $log
+ rm -f $log
+ # this may fail on some machines/configurations, just ignore it.
+ echo >&2 "ignoring dump failure"
+ #exit 1
+ fi
+ rm -f $log
+ esac
+ case @archdir@ in amd64|i386|sparc)
+ rm -f $basedir/jre/lib/@archdir@/server/classes.jsa
+ log=$(tempfile)
+ if ! $basedir/bin/java -server -Xshare:dump > $log; then
+ cat >&2 $log
+ rm -f $log
+ # this may fail on some machines/configurations, just ignore it.
+ echo >&2 "ignoring dump failure"
+ #exit 1
+ fi
+ rm -f $log
+ esac
+
+ if [ -n "$multiarch" ]; then
+ if [ ! -h /@basedir@/jre/lib/zi ] && [ -d /@basedir@/jre/lib/zi ]; then
+ rm -rf /@basedir@/jre/lib/zi
+ ln -s ../../../../../share/javazi /@basedir@/jre/lib/zi
+ fi
+ fi
+
+ ;;
+
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/JB-jre-headless.postrm.in b/debian/JB-jre-headless.postrm.in
new file mode 100644
index 0000000..5c8811f
--- /dev/null
+++ b/debian/JB-jre-headless.postrm.in
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+multiarch=@multiarch@
+jdirname=@jdirname@
+etcdir=/@etcdir@
+
+case "$1" in
+purge)
+ if [ -z "$jdirname" ] || [ -z "$etcdir" ]; then
+ echo >&2 "$(basename $0): Internal error"
+ exit 1
+ fi
+ # removals of config files in /etc is handled by dpkg
+
+ # XXX should remove /etc/.java ???
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/JB-jre-headless.preinst.in b/debian/JB-jre-headless.preinst.in
new file mode 100644
index 0000000..ed5a69f
--- /dev/null
+++ b/debian/JB-jre-headless.preinst.in
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+set -e
+
+if [ -h /usr/share/doc/@basename@-jre-headless ]; then
+ rm -f /usr/share/doc/@basename@-jre-headless
+fi
+
+multiarch=@multiarch@
+old_basedir=/usr/lib/jvm/java-7-openjdk
+jre_tools='java keytool pack200 rmid rmiregistry unpack200 orbd servertool tnameserv'
+
+case "$1" in
+ upgrade)
+ if [ -n "$multiarch" ] && [ -n "$2" ]; then
+ for i in $jre_tools; do
+ if [ -n "$(update-alternatives --list $i 2>/dev/null | grep ^$old_basedir/)" ]; then
+ update-alternatives --remove $i $old_basedir/jre/bin/$i || true
+ fi
+ done
+ if [ -n "$(update-alternatives --list jexec 2>/dev/null | grep ^$old_basedir/)" ]; then
+ update-alternatives --remove jexec $old_basedir/jre/lib/jexec || true
+ fi
+ fi
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/JB-jre-headless.prerm.in b/debian/JB-jre-headless.prerm.in
new file mode 100644
index 0000000..d8e24ce
--- /dev/null
+++ b/debian/JB-jre-headless.prerm.in
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -e
+
+basedir=/@basedir@
+jre_tools='@jre_hl_tools@'
+
+rm -f $basedir/jre/lib/@archdir@/client/classes.jsa
+rm -f $basedir/jre/lib/@archdir@/server/classes.jsa
+
+if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
+ for i in $jre_tools; do
+ update-alternatives --remove $i $basedir/jre/bin/$i
+ done
+
+ if which update-binfmts >/dev/null; then
+ # try to remove and ignore the error
+ if [ -e /var/lib/binfmts/@basename@ ]; then
+ update-binfmts --package @basename@ \
+ --remove jar /usr/bin/jexec || true
+ fi
+ fi
+
+ update-alternatives --remove jexec $basedir/jre/lib/jexec
+fi
+
+#DEBHELPER#
diff --git a/debian/JB-jre-lib.overrides.in b/debian/JB-jre-lib.overrides.in
new file mode 100644
index 0000000..d9a9a70
--- /dev/null
+++ b/debian/JB-jre-lib.overrides.in
@@ -0,0 +1,2 @@
+# no separate directory for image files
+@basename@-jre-lib binary: image-file-in-usr-lib
diff --git a/debian/JB-jre-lib.postinst.in b/debian/JB-jre-lib.postinst.in
new file mode 100644
index 0000000..baab740
--- /dev/null
+++ b/debian/JB-jre-lib.postinst.in
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+set -e
+
+multiarch=@multiarch@
+with_tzdata=@with_tzdata@
+
+if [ "$with_tzdata" = yes ] && [ -z "$multiarch" ]; then
+ if [ ! -h /@basedir@/jre/lib/zi ] && [ -d /@basedir@/jre/lib/zi ]; then
+ rm -rf /@basedir@/jre/lib/zi
+ ln -s ../../../../../share/javazi /@basedir@/jre/lib/zi
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/JB-jre-zero.overrides.in b/debian/JB-jre-zero.overrides.in
new file mode 100644
index 0000000..1616f86
--- /dev/null
+++ b/debian/JB-jre-zero.overrides.in
@@ -0,0 +1,2 @@
+# Strip libjvm.so with --strip-debug instead of --strip-unneeded. LP: #574997.
+@basename@-jre-zero binary: unstripped-binary-or-object
diff --git a/debian/JB-jre.menu.in b/debian/JB-jre.menu.in
new file mode 100644
index 0000000..024b63f
--- /dev/null
+++ b/debian/JB-jre.menu.in
@@ -0,0 +1,7 @@
+?package(@basename@-jre):\
+ needs="x11"\
+ section="Applications/System/Administration"\
+ title="@vendor@ Java @RELEASE@ Policy Tool"\
+ command="/usr/bin/policytool"\
+ icon="/usr/share/pixmaps/@basename@.xpm"\
+ hints="Java2"
diff --git a/debian/JB-jre.postinst.in b/debian/JB-jre.postinst.in
new file mode 100644
index 0000000..e1a27b7
--- /dev/null
+++ b/debian/JB-jre.postinst.in
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+set -e
+
+multiarch=@multiarch@
+priority=@priority@
+basedir=/@basedir@
+mandir=$basedir/jre/man
+srcext=1.gz
+dstext=1.gz
+jre_tools='@jre_tools@'
+
+case "$1" in
+configure)
+ if [ -d /usr/share/doc/@basename@-jre ] && [ ! -h /usr/share/doc/@basename@-jre ]; then
+ rm -rf /usr/share/doc/@basename@-jre
+ ln -sf @basename@-jre-headless /usr/share/doc/@basename@-jre;
+ fi
+
+ if [ -z "$2" ]; then
+ update_alternatives=y
+ fi
+ if [ -n "$multiarch" ] && [ -n "$2" ]; then
+ for i in $jre_tools; do
+ if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$basedir/)" ]; then
+ update_alternatives=y
+ break
+ fi
+ done
+ fi
+ if [ "$update_alternatives" != y ] && [ $priority -gt 1060 ]; then
+ for i in $jre_tools; do
+ oldp=$(update-alternatives --query java | awk -v b=$basedir '/^Alternative:/ && $2~b {p=1} /^Priority:/ && p {print $2; exit}')
+ if [ -n "$oldp" ] && [ "$oldp" -le 1060 ]; then
+ update_alternatives=y
+ break
+ fi
+ done
+ fi
+
+ if [ "$update_alternatives" = y ]; then
+ if [ -n "$multiarch" ] && [ "$DPKG_MAINTSCRIPT_ARCH" != $(dpkg --print-architecture) ]; then
+ priority=$(expr $priority - 1)
+ fi
+ for i in $jre_tools; do
+ unset slave1 slave2 || true
+ if [ -e $mandir/man1/$i.$srcext ]; then
+ slave1="--slave \
+ /usr/share/man/man1/$i.$dstext \
+ $i.$dstext \
+ $mandir/man1/$i.$srcext"
+ fi
+ # disabled
+ if false && [ -e $mandir/ja/man1/$i.$srcext ]; then
+ slave2="--slave \
+ /usr/share/man/ja/man1/$i.$dstext \
+ ${i}_ja.$dstext \
+ $mandir/ja/man1/$i.$srcext"
+ fi
+ update-alternatives \
+ --install \
+ /usr/bin/$i \
+ $i \
+ $basedir/jre/bin/$i \
+ $priority \
+ $slave1 $slave2
+ done
+ fi # update alternatives
+
+ ;;
+
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/JB-jre.preinst.in b/debian/JB-jre.preinst.in
new file mode 100644
index 0000000..3c64bf7
--- /dev/null
+++ b/debian/JB-jre.preinst.in
@@ -0,0 +1,27 @@
+#! /bin/sh
+
+set -e
+
+if [ -h /usr/share/doc/@basename@-jre-headless ]; then
+ rm -f /usr/share/doc/@basename@-jre-headless
+fi
+
+multiarch=@multiarch@
+old_basedir=/usr/lib/jvm/java-7-openjdk
+jre_tools='policytool'
+
+case "$1" in
+ upgrade)
+ if [ -n "$multiarch" ] && [ -n "$2" ]; then
+ for i in $jre_tools; do
+ if [ -n "$(update-alternatives --list $i 2>/dev/null | grep ^$old_basedir/)" ]; then
+ update-alternatives --remove $i $old_basedir/jre/bin/$i || true
+ fi
+ done
+ fi
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/JB-jre.prerm.in b/debian/JB-jre.prerm.in
new file mode 100644
index 0000000..f32dbe6
--- /dev/null
+++ b/debian/JB-jre.prerm.in
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+basedir=/@basedir@
+jre_tools='@jre_tools@'
+
+if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
+ for i in $jre_tools; do
+ update-alternatives --remove $i $basedir/jre/bin/$i
+ done
+fi
+
+#DEBHELPER#
diff --git a/debian/JB-policytool.desktop.in b/debian/JB-policytool.desktop.in
new file mode 100644
index 0000000..c62c353
--- /dev/null
+++ b/debian/JB-policytool.desktop.in
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=@vendor@ Java @RELEASE@ Policy Tool
+Name[fi]=@vendor@ Java @RELEASE@ - käytäntötyökalu
+Comment=@vendor@ Java @RELEASE@ Policy Tool
+Comment[fi]=@vendor@ Java @RELEASE@ - käytäntötyökalu
+Exec=/usr/bin/policytool
+Terminal=false
+Type=Application
+Icon=@basename@
+Categories=Settings;
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..579fef0
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,78 @@
+openjdk-7 for Debian/Ubuntu
+---------------------------
+
+The OpenJDK build is configured --with-additional-vms to build with
+different virtual machines. The original implementation of the hotspot
+VM is only available on the amd64, i386, lpia and sparc architectures.
+Other VM's are CACAO, providing a just in time compiler on several
+architectures (although the VM implementation is incomplete), and Zero,
+providing a byte code interpreter for every architecture. On some
+architectures Zero is built with JIT support using shark (still considered
+experimental).
+
+To use a different VM other than the default, use
+
+ java -cacao|-zero|-shark
+
+or for the java tools, use
+
+ <tool name> -J-cacao|-J-zero|-J-shark.
+
+The zero build on the ix86 architectures is built with shark (just in time
+compiler); to use the zero build without shark support, use the `-Xint'
+option to operate in interpreted-only mode.
+
+On some architectures (currently armel and powerpc, when built against
+llvm-2.6) which use ther zero vm as the default, the openjdk-7-jre-zero
+package contains the shark vm.
+
+To change the default permanently, edit /etc/java-7-openjdk/jvm.cfg.
+
+The CACAO VM can be found in the icedtea-7-jre-cacao package, the Zero/Shark
+VM can be found in the openjdk-7-jre-zero package (on the architectures
+where the Hotspot VM is available).
+
+Please look for further documentation in the directory
+/usr/share/doc/openjdk-7-jre/ .
+
+The package openjdk-7-jre-headless ships a cgi script
+/usr/lib/jvm/java-7-openjdk/bin/java-rmi.cgi that you must integrate
+into your webserver setup manually if you need it. It is not activated
+automatically.
+
+
+Note for non-reparenting window manager users
+---------------------------------------------
+
+If you are using a non-reparenting window manager, such as ratpoison, awesome
+or dwm, some Java graphical applications using the AWT toolkit will only
+display empty grey windows, as described in but #508650.
+
+There are two solutions to work around this issue:
+1. mask your window manager as one of the non-reparenting ones supported by AWT,
+ using the wmname <http://tools.suckless.org/wmname> tool from the dwm-tools
+ package:
+ $ wmname LG3D
+2. set the environment variable _JAVA_AWT_WM_NONREPARENTING:
+ $ export _JAVA_AWT_WM_NONREPARENTING=true
+
+You can automate these tasks by writing them to your ~/.xsessionrc:
+$ cat >> ~/.xsessionrc <<EOF
+export _JAVA_AWT_WM_NONREPARENTING=true
+EOF
+
+
+IcedTea NPPlugin
+----------------
+
+IcedTea provides a java plugin for at least mozilla based browsers. It is
+not yet 100% with the closed source plugin, but much improved to the former
+GCJPlugin. If you experience problems with the plugin, start your browser
+from the command line with the environment variable ICEDTEAPLUGIN_DEBUG set,
+and attach this output to a bug report. You usually should not expect a
+quick fix, if the applet code is closed source, or only accessible after
+creating accounts for external web services using these applets.
+
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 03 May 2009 13:58:10 +0200
+ -- Torsten Werner <twerner@debian.org> Wed, 02 Apr 2008 11:46:53 +0200
diff --git a/debian/README.alternatives.in b/debian/README.alternatives.in
new file mode 100644
index 0000000..d9201da
--- /dev/null
+++ b/debian/README.alternatives.in
@@ -0,0 +1,33 @@
+
+Packages providing a runtime or a development environment for the Java
+language all use symlinks in the /etc/alternatives directory to enable
+the system administrator to choose which programs to use for java,
+javac, javah, etc.
+
+Starting with java-common 0.23ubuntu1, the update-java-alternatives
+script can be used to set a bunch of jre/jdk alternatives:
+
+First, you have to decide which Java implementation to default to.
+
+ update-java-alternatives --list
+
+tells about the available runtime and/or development environments. The
+first column shows the names to be used in for the following examples.
+
+- Set all runtime tools to point to the <jname> alternatives:
+
+ update-java-alternatives --jre --set <jname>
+
+- Set all runtime tools (headless only) to point to the <jname>
+ alternatives:
+
+ update-java-alternatives --jre-headless --set <jname>
+
+- Set all runtime and development tools to point to the <jname>
+ alternatives:
+
+ update-java-alternatives --set <jname>
+
+- Set all runtime and development tools to auto mode:
+
+ update-java-alternatives --auto
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..583cedb
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,79 @@
+Content of source package
+=========================
+"openjdk7" is a composite source package:
+- Based on IcedTea <http://icedtea.classpath.org/> which provides
+ a harness to build the source code from Oracle OpenJDK.
+- Multiple tarballs from each Oracle mercurial repositories :
+ corba / hotspot / jaxp / jaxws / jdk-dfsg / langtools / openjdk
+- Tarball from CacaoVM <http://www.cacaovm.org/>.
+- Debian packaging scripts and patches.
+
+Building a new OpenJDK+IcedTea-7 Debian package
+===================================================
+Pre-requisites:
+- Mercurial
+- Bazaar
+ sudo aptitude install mercurial bzr
+
+0) Clone OpenJDK debian packaging:
+ bzr branch lp:~openjdk/openjdk/openjdk7 openjdk7/
+ or update existing repository clone:
+ (cd openjdk7/; bzr pull --remember lp:~openjdk/openjdk/openjdk7)
+
+1) Clone IcedTea-7 HG:
+ hg clone http://icedtea.classpath.org/hg/icedtea7 icedtea-2.1.1/
+ or update existing repository clone:
+ (cd icedtea7/; hg pull -u)
+
+2) Download OpenJDK upstream tarballs and move them to $BUILD/
+ export BUILD=7u3
+ mkdir -p $BUILD/
+ (
+ cd icedtea-2.1.1/
+ sh autogen.sh && ./configure --enable-jamvm --enable-cacao
+ make download
+ )
+
+ mv icedtea-2.1.1/*.tar.gz $BUILD/
+ (
+ cd icedtea-2.1.1/
+ make distclean
+ )
+
+3) Remove files with unclear license from jdk.tar.gz:
+ sh openjdk7/generate-dfsg-zip.sh $BUILD/jdk.tar.gz
+ sh openjdk7/generate-dfsg-zip.sh $BUILD/langtools.tar.gz
+
+4) Check tarballs' name and version (for original directory name)
+ in openjdk7/generate-debian-orig.sh and package version in
+ openjdk7/changelog
+
+5) Generate "orig" directory and "orig+debian" directory
+ sh openjdk7/generate-debian-orig.sh
+
+Support for DEB_BUILD_OPTIONS
+=============================
+As described in Debian Policy §4.9.1, current package's debian/rules support
+the standardized environment variable DEB_BUILD_OPTIONS. This variable can
+contain several flags to change how a package is compiled and built.
+
+ * nocheck: don't run mauve and jtreg test suites.
+ * nodocs: pass --disable-docs to IcedTea configure script, which
+ disable Javadoc generation.
+ * nostrip: debugging symbols should not be stripped from the
+ binary during installation
+ * parallel=X: package should be built using up to X parallel processes
+ * nobootstrap: don't use gcj to bootstrap OpenJDK but use existing OpenJDK
+ installed on current machine.
+ * noaltcacao: don't build alternative CACao VM.
+ * noaltzero: don't build alternative Zero VM.
+ * noaltshark: don't build alternative Shark VM.
+ * noaltjamvm: don't build alternative Jamvm VM.
+
+Sample usage:
+DEB_BUILD_OPTIONS="parallel=5 nocheck" debuild -i"(\.hg|\.bzr)"
+
+ Build with 5 parallel processes and don't run mauve/jtreg test suites.
+
+This also work with cowbuilder/pbuilder:
+DEB_BUILD_OPTIONS="parallel=5 nocheck" pdebuild -i"(\.hg|\.bzr)" --logfile ../build.log --pbuilder cowbuilder
diff --git a/debian/accessibility-atk.properties b/debian/accessibility-atk.properties
new file mode 100644
index 0000000..c1bdc48
--- /dev/null
+++ b/debian/accessibility-atk.properties
@@ -0,0 +1,10 @@
+#
+# The following line specifies the assistive technology classes
+# that should be loaded into the Java VM when the AWT is initailized.
+# Specify multiple classes by separating them with commas.
+# Note: the line below cannot end the file (there must be at
+# a minimum a blank line following it).
+#
+# Doesn't work, see LP: #935296
+#assistive_technologies=org.GNOME.Accessibility.AtkWrapper
+
diff --git a/debian/accessibility.properties b/debian/accessibility.properties
new file mode 100644
index 0000000..e009589
--- /dev/null
+++ b/debian/accessibility.properties
@@ -0,0 +1,9 @@
+#
+# The following line specifies the assistive technology classes
+# that should be loaded into the Java VM when the AWT is initialized.
+# Specify multiple classes by separating them with commas.
+# Note: the line below cannot end the file (there must be at
+# a minimum a blank line following it).
+#
+assistive_technologies=org.GNOME.Accessibility.JavaBridge
+
diff --git a/debian/buildwatch.sh b/debian/buildwatch.sh
new file mode 100644
index 0000000..0a30d26
--- /dev/null
+++ b/debian/buildwatch.sh
@@ -0,0 +1,40 @@
+#! /bin/sh
+
+builddir=$1
+
+echo $$ > buildwatch.pid
+
+maxwait=$(expr 180 \* 60)
+wait=$maxwait
+ival=$(expr 30 \* 60)
+#ival=3
+
+while [ $wait -gt 0 ]; do
+ sleep $ival
+ wait=$(expr $wait - $ival)
+ state=
+ if ps x | grep -v grep | egrep -qs '/cc1|jar|java|gij'; then
+ state="compiler/java/jar running ..."
+ wait=$maxwait
+ fi
+
+ new_quiet=$(ls -l $builddir/openjdk*/build/*/tmp/rt-orig.jar $builddir/openjdk*/build/*/lib/tools.jar $builddir/openjdk*/build/*/lib/ct.sym 2>&1 | md5sum)
+ if [ "$old_quiet" != "$new_quiet" ]; then
+ state="assembling jar file ..."
+ wait=$maxwait
+ fi
+ old_quiet=$new_quiet
+
+ new_noisy=$(ls -l $builddir/mauve-*/mauve_output* jtreg_output-* 2>&1 | md5sum)
+ if [ "$old_noisy" != "$new_noisy" ]; then
+ wait=$maxwait
+ elif [ -n "$state" ]; then
+ echo $state
+ fi
+ old_noisy=$new_noisy
+
+ if [ ! -f buildwatch.pid ]; then
+ echo "buildwatch exit"
+ exit 0
+ fi
+done
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..10ec9f1
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,3324 @@
+openjdk-7 (7u21-2.3.9-4) unstable; urgency=high
+
+ * Build the transitional cacao package for sid as well. Apparently
+ some buildds are not updated to list wheezy as the code name for
+ the current distribution.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 02 May 2013 03:27:44 +0200
+
+openjdk-7 (7u21-2.3.9-3) unstable; urgency=high
+
+ * Disable the cacao build again, causing build failures on i386 and s390.
+ * Build a transitional cacao jre package instead.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 30 Apr 2013 00:27:05 +0200
+
+openjdk-7 (7u21-2.3.9-2) unstable; urgency=high
+
+ * On ia64, use gcj-4.7 for the bootstrap build.
+ * Drop the cacao jre from recommends to suggests.
+ * Re-enable cacao, was enabled in the 2.1.x series.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 27 Apr 2013 01:17:16 +0200
+
+openjdk-7 (7u21-2.3.9-1) unstable; urgency=high
+
+ * IcedTea7 2.3.9 release.
+ * Security fixes:
+ - S6657673, CVE-2013-1518: Issues with JAXP.
+ - S7200507: Refactor Introspector internals.
+ - S8000724, CVE-2013-2417: Improve networking serialization.
+ - S8001031, CVE-2013-2419: Better font processing.
+ - S8001040, CVE-2013-1537: Rework RMI model.
+ - S8001322: Refactor deserialization.
+ - S8001329, CVE-2013-1557: Augment RMI logging.
+ - S8003335: Better handling of Finalizer thread.
+ - S8003445: Adjust JAX-WS to focus on API.
+ - S8003543, CVE-2013-2415: Improve processing of MTOM attachments.
+ - S8004261: Improve input validation.
+ - S8004336, CVE-2013-2431: Better handling of method handle intrinsic frames.
+ - S8004986, CVE-2013-2383: Better handling of glyph table.
+ - S8004987, CVE-2013-2384: Improve font layout.
+ - S8004994, CVE-2013-1569: Improve checking of glyph table.
+ - S8005432: Update access to JAX-WS.
+ - S8005943: (process) Improved Runtime.exec.
+ - S8006309: More reliable control panel operation.
+ - S8006435, CVE-2013-2424: Improvements in JMX.
+ - S8006790: Improve checking for windows.
+ - S8006795: Improve font warning messages.
+ - S8007406: Improve accessibility of AccessBridge.
+ - S8007617, CVE-2013-2420: Better validation of images.
+ - S8007667, CVE-2013-2430: Better image reading.
+ - S8007918, CVE-2013-2429: Better image writing.
+ - S8008140: Better method handle resolution.
+ - S8009049, CVE-2013-2436: Better method handle binding.
+ - S8009063, CVE-2013-2426: Improve reliability of ConcurrentHashMap.
+ - S8009305, CVE-2013-0401: Improve AWT data transfer.
+ - S8009677, CVE-2013-2423: Better setting of setters.
+ - S8009699, CVE-2013-2421: Methodhandle lookup.
+ - S8009814, CVE-2013-1488: Better driver management.
+ - S8009857, CVE-2013-2422: Problem with plugin.
+ * Backports:
+ - S7130662: GTK file dialog crashes with a NPE.
+ * Bug fixes
+ - PR1363: Fedora 19 / rawhide FTBFS SIGILL.
+ - PR1401: Fix Zero build on 2.3.8.
+ - Fix offset problem in ICU LETableReference.
+ - Change -Werror fix to preserve OpenJDK default.
+ - PR1303: Correct #ifdef to #if.
+ - PR1404: Failure to bootstrap with ecj 4.2.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 22 Apr 2013 03:27:08 +0200
+
+openjdk-7 (7u17-2.3.8-2) experimental; urgency=low
+
+ * Remove Torsten Werner as uploader.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 01 Apr 2013 00:39:58 +0200
+
+openjdk-7 (7u17-2.3.8-1ubuntu1) raring; urgency=low
+
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 31 Mar 2013 20:10:05 +0200
+
+openjdk-7 (7u17-2.3.8-1) experimental; urgency=low
+
+ * IcedTea7 2.3.8 release.
+ * Security fixes:
+ - S8007014, CVE-2013-0809: Improve image handling.
+ - S8007675, CVE-2013-1493: Improve color conversion.
+ * Backports:
+ - S8002344: Krb5LoginModule config class does not return proper KDC list
+ from DNS.
+ - S8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c.
+ - S8006179: JSR292 MethodHandles lookup with interface using findVirtual().
+ - S8006882: Proxy generated classes in sun.proxy package breaks JMockit.
+ * Bug fixes:
+ - PR1303: Correct #ifdef to #if.
+ - PR1340: Simplify the rhino class rewriter to avoid use of concurrency.
+ - Revert 7017193 and add the missing free call, until a better fix is ready.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 31 Mar 2013 14:31:11 +0200
+
+openjdk-7 (7u15-2.3.7-1ubuntu2) raring; urgency=low
+
+ * Security fixes:
+ - S8007014, CVE-2013-0809: Improve image handling
+ - S8007675, CVE-2013-1493: Improve color conversion
+ - debian/rules: updated to add 8007014.patch and 8007675.patch
+
+ -- Jamie Strandboge <jamie@ubuntu.com> Wed, 06 Mar 2013 14:12:03 -0600
+
+openjdk-7 (7u15-2.3.7-1ubuntu1) raring; urgency=low
+
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 20 Feb 2013 23:59:54 +0100
+
+openjdk-7 (7u15-2.3.7-1) experimental; urgency=low
+
+ * IcedTea7 2.3.7 release.
+ * Security fixes:
+ - S8004937, CVE-2013-1484: Improve proxy construction.
+ - S8006439, CVE-2013-1485: Improve MethodHandles coverage.
+ - S8006446, CVE-2013-1486: Restrict MBeanServer access.
+ - S8006777, CVE-2013-0169: Improve TLS handling of invalid messages.
+ - S8007688: Blacklist known bad certificate.
+ * Backports:
+ - S8007393: Possible race condition after JDK-6664509.
+ - S8007611: logging behavior in applet changed.
+ * For zero builds, use the same hotspot version as in 2.1.6.
+ * Reenable bootstrap builds, except for alpha.
+ * Explicitly disable building on mips/mipsel. Not supported by the
+ Debian OpenJDK maintainers, the Debian mips porters, or the Debian
+ Java team.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 20 Feb 2013 23:33:58 +0100
+
+openjdk-7 (7u13-2.3.6-1) experimental; urgency=low
+
+ * IcedTea7 2.3.6 release.
+ - Disable bootstrap builds, currently broken in IcedTea.
+ * Security fixes:
+ - S6563318, CVE-2013-0424: RMI data sanitization.
+ - S6664509, CVE-2013-0425: Add logging context.
+ - S6664528, CVE-2013-0426: Find log level matching its name or value given
+ at construction time.
+ - S6776941: CVE-2013-0427: Improve thread pool shutdown.
+ - S7141694, CVE-2013-0429: Improving CORBA internals.
+ - S7173145: Improve in-memory representation of splashscreens.
+ - S7186945: Unpack200 improvement.
+ - S7186946: Refine unpacker resource usage.
+ - S7186948: Improve Swing data validation.
+ - S7186952, CVE-2013-0432: Improve clipboard access.
+ - S7186954: Improve connection performance.
+ - S7186957: Improve Pack200 data validation.
+ - S7192392, CVE-2013-0443: Better validation of client keys.
+ - S7192393, CVE-2013-0440: Better Checking of order of TLS Messages.
+ - S7192977, CVE-2013-0442: Issue in toolkit thread.
+ - S7197546, CVE-2013-0428: (proxy) Reflect about creating reflective proxies.
+ - S7200491: Tighten up JTable layout code.
+ - S7200500: Launcher better input validation.
+ - S7201064: Better dialogue checking.
+ - S7201066, CVE-2013-0441: Change modifiers on unused fields.
+ - S7201068, CVE-2013-0435: Better handling of UI elements.
+ - S7201070: Serialization to conform to protocol.
+ - S7201071, CVE-2013-0433: InetSocketAddress serialization issue.
+ - S8000210: Improve JarFile code quality.
+ - S8000537, CVE-2013-0450: Contextualize RequiredModelMBean class.
+ - S8000540, CVE-2013-1475: Improve IIOP type reuse management.
+ - S8000631, CVE-2013-1476: Restrict access to class constructor.
+ - S8001235, CVE-2013-0434: Improve JAXP HTTP handling.
+ - S8001242: Improve RMI HTTP conformance.
+ - S8001307: Modify ACC_SUPER behavior.
+ - S8001972, CVE-2013-1478: Improve image processing.
+ - S8002325, CVE-2013-1480: Improve management of images.
+ * Fix font suggestion for indic fonts in wheezy.
+ * Fix fontconfig definitions for japanese and korean fonts, fixing
+ compilation of the fontconfig file.
+ * Add Built-Using: rhino attribute for the -lib package.
+ * Don't use concurrent features to rewrite the rhino jar file.
+ * Enable class data sharing for the hotspot server VM.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 12 Feb 2013 20:59:48 +0100
+
+openjdk-7 (7u9-2.3.4-1) experimental; urgency=low
+
+ * IcedTea7 2.3.4 release.
+ * Security fixes
+ - S8004933, CVE-2012-3174: Improve MethodHandle interaction with libraries.
+ - S8006017, CVE-2013-0422: Improve lookup resolutions.
+ - S8006125: Update MethodHandles library interactions.
+ * Bug fixes
+ - S7197906: BlockOffsetArray::power_to_cards_back() needs to handle > 32 bit
+ shifts.
+ - G422525: Fix building with PaX enabled kernels.
+
+ [ Matthias Klose ]
+ * Loosen OpenGL dependency. Closes: #695028.
+ * Fix error parsing drop files parameter from pcmanfm (Alberto Fernández
+ Martínez). Closes: #695992.
+
+ [ Thorsten Glaser ]
+ * debian/rules: Use gcj-4.6-jdk for m68k builds.
+ * d/patches/text-relocations.patch: build with -fPIC on all archs.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 15 Jan 2013 23:38:48 +0100
+
+openjdk-7 (7u9-2.3.3-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 17 Oct 2012 15:16:51 +0200
+
+openjdk-7 (7u9-2.3.3-0ubuntu1) quantal-security; urgency=low
+
+ * IcedTea7 2.3.3 release.
+ * Security fixes
+ - S6631398, CVE-2012-3216: FilePermission improved path checking.
+ - S7093490: adjust package access in rmiregistry.
+ - S7143535, CVE-2012-5068: ScriptEngine corrected permissions.
+ - S7158796, CVE-2012-5070: Tighten properties checking in EnvHelp.
+ - S7158807: Revise stack management with volatile call sites.
+ - S7163198, CVE-2012-5076: Tightened package accessibility.
+ - S7167656, CVE-2012-5077: Multiple Seeders are being created.
+ - S7169884, CVE-2012-5073: LogManager checks do not work correctly for
+ sub-types.
+ - S7169887, CVE-2012-5074: Tightened package accessibility.
+ - S7169888, CVE-2012-5075: Narrowing resource definitions in JMX RMI
+ connector.
+ - S7172522, CVE-2012-5072: Improve DomainCombiner checking.
+ - S7186286, CVE-2012-5081: TLS implementation to better adhere to RFC.
+ - S7189103, CVE-2012-5069: Executors needs to maintain state.
+ - S7189490: More improvements to DomainCombiner checking.
+ - S7189567, CVE-2012-5085: java net obselete protocol.
+ - S7192975, CVE-2012-5071: Issue with JMX reflection.
+ - S7195194, CVE-2012-5084: Better data validation for Swing.
+ - S7195549, CVE-2012-5087: Better bean object persistence.
+ - S7195917, CVE-2012-5086: XMLDecoder parsing at close-time should be
+ improved.
+ - S7195919, CVE-2012-5979: (sl) ServiceLoader can throw CCE without
+ needing to create instance.
+ - S7196190, CVE-2012-5088: Improve method of handling MethodHandles.
+ - S7198296, CVE-2012-5089: Refactor classloader usage.
+ - S7158800: Improve storage of symbol tables.
+ - S7158801: Improve VM CompileOnly option.
+ - S7158804: Improve config file parsing.
+ - S7198606, CVE-2012-4416: Improve VM optimization.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 17 Oct 2012 13:27:47 +0200
+
+openjdk-7 (7u7-2.3.2a-1ubuntu1) quantal; urgency=low
+
+ * Build a transitional icedtea-7-jre-cacao package to ease upgrades.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 19 Sep 2012 17:42:39 +0200
+
+openjdk-7 (7u7-2.3.2a-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 15 Sep 2012 22:20:06 +0200
+
+openjdk-7 (7u7-2.3.2a-0ubuntu1) quantal; urgency=low
+
+ * Repackage the source to drop the cacao tarball (and packaging files).
+ * Depend again on system provided tzdata-java and restore the zi
+ symlink on upgrade. LP: #1050404.
+ * libgnome2-0, libgnomevfs2-0, libgconf2-4 are not prepared for multiarch.
+ Don't depend on these so that openjdk-7 can be installed as a multiarch
+ package.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 15 Sep 2012 17:01:12 +0200
+
+openjdk-7 (7u7-2.3.2-1ubuntu2) quantal; urgency=low
+
+ * Make the avian VM a known runtime.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 05 Sep 2012 11:58:35 +0200
+
+openjdk-7 (7u7-2.3.2-1ubuntu1) quantal; urgency=low
+
+ * Fix 32bit hotspot build, don't set maximal heap space lower than
+ minimal heap space for the docs build.
+ * d/p/sane-library-paths.patch, d/p/ant-diagnostics.diff,
+ d/p/fix-race-cond-print.diff, d/p/gcc-hotspot-opt-O[02].diff,
+ d/p/gcc-mtune-generic.diff, d/p/openjdk-6986968.diff: Remove, not used.
+ * Remove unused shark/llvm-3.0 patches.
+ * d/p/zero-only-use-floating-point-if-floating-poi.patch: Remove, applied
+ upstream.
+ * Don't explicitly build with -march=i586 on i386 architectures.
+ * Re-apply zero-missing-headers.diff.
+ * Disable cacao builds, needs update for 7u7.
+ * For Ubuntu quantal, set priorities for alternatives higher than for
+ OpenJDK 6.
+ * Call update-alternatives when the existing priority for the alternative
+ is lower than the current one.
+ * Configure with --disable-downloading.
+ * Pass -avoid-version to libtool to create a JamVM libjvm.so without SONAME
+ version numbers to match the Hotspot Server/Client libjvm.so. LP: #850433.
+ * Revert the following change: Move libgnome2-0, libgnomevfs2-0, libgconf2-4
+ from Depends of JRE package to Recommends (#661465).
+ The proper fix is to create a -jdk-headless package, or not depending on
+ these gnome packages at all (e.g. using XDG libraries).
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 04 Sep 2012 12:08:31 +0200
+
+openjdk-7 (7u7-2.3.2-1) experimental; urgency=low
+
+ * New upstream IcedTea7 2.3.2 release.
+ * Security fixes:
+ - CVE-2012-4681: Reintroduce PackageAccessible checks removed in 6788531.
+ - S7079902, CVE-2012-1711: Refine CORBA data models.
+ - S7143606, CVE-2012-1717: File.createTempFile should be improved
+ for temporary files created by the platform.
+ - S7143614, CVE-2012-1716: SynthLookAndFeel stability improvement.
+ - S7143617, CVE-2012-1713: Improve fontmanager layout lookup operations.
+ - S7143851, CVE-2012-1719: Improve IIOP stub and tie generation in RMIC.
+ - S7143872, CVE-2012-1718: Improve certificate extension processing.
+ - S7152811, CVE-2012-1723: Issues in client compiler.
+ - S7157609, CVE-2012-1724: Issues with loop.
+ - S7160757, CVE-2012-1725: Problem with hotspot/runtime_classfile.
+ - S7165628, CVE-2012-1726: Issues with java.lang.invoke.MethodHandles.Lookup.
+ * Bump version to 7u7 (OpenJDK), 2.3.2 (IcedTea). Closes: #685276.
+ * d/p/icedtea7-forest-jdk_7104625-XEvent_wrap_logging_calls_with_if.patch,
+ d/p/hotspot-sparc.diff: Remove, integrated upstream.
+ * d/p/{deb-multiarch,fix_extra_flags,hotspot-no-werror}.diff:
+ Add variants for hotspot and zero builds.
+ * d/p/default-jvm-cfg.diff, d/p/icedtea-4953367.patch,
+ d/p/icedtea-patch.diff, d/p/icedtea-pretend-memory.diff,
+ d/p/libpcsclite-dlopen.diff, d/p/nonreparenting-wm.diff:
+ Update for 2.3.2.
+ * Remove build support for Ubuntu releases earlier than hardy.
+ * d/update-shasum.sh: Only update the shasums of the -dfsg tarballs.
+ * Don't apply shark patches (not built anyway).
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 01 Sep 2012 11:46:50 +0200
+
+openjdk-7 (7u3-2.1.7-1) unstable; urgency=high
+
+ * IcedTea7 2.1.7 release:
+ * Security fixes:
+ - S8007014, CVE-2013-0809: Improve image handling.
+ - S8007675, CVE-2013-1493: Improve color conversion.
+ * Backports:
+ - S8002344: Krb5LoginModule config class does not return proper KDC list
+ from DNS.
+ - S8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c.
+ - S8006179: JSR292 MethodHandles lookup with interface using findVirtual().
+ - S8006882: Proxy generated classes in sun.proxy package breaks JMockit.
+ * Bug fixes:
+ - PR1303: Correct #ifdef to #if
+ - Stop libraries being stripped in the OpenJDK build.
+ - PR1340: Simplify the rhino class rewriter to avoid use of concurrency.
+ - Revert 7017193 and add the missing free call, until a better fix is ready.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 30 Mar 2013 11:31:12 +0100
+
+openjdk-7 (7u3-2.1.6-1) unstable; urgency=high
+
+ * IcedTea7 2.1.5 release:
+ * Security fixes:
+ - S6563318, CVE-2013-0424: RMI data sanitization.
+ - S6664509, CVE-2013-0425: Add logging context.
+ - S6664528, CVE-2013-0426: Find log level matching its name or value
+ given at construction time.
+ - S6776941: CVE-2013-0427: Improve thread pool shutdown.
+ - S7141694, CVE-2013-0429: Improving CORBA internals.
+ - S7173145: Improve in-memory representation of splashscreens.
+ - S7186945: Unpack200 improvement.
+ - S7186946: Refine unpacker resource usage.
+ - S7186948: Improve Swing data validation.
+ - S7186952, CVE-2013-0432: Improve clipboard access.
+ - S7186954: Improve connection performance.
+ - S7186957: Improve Pack200 data validation.
+ - S7192392, CVE-2013-0443: Better validation of client keys.
+ - S7192393, CVE-2013-0440: Better Checking of order of TLS Messages.
+ - S7192977, CVE-2013-0442: Issue in toolkit thread.
+ - S7197546, CVE-2013-0428: (proxy) Reflect about creating reflective
+ proxies.
+ - S7200491: Tighten up JTable layout code.
+ - S7200493, CVE-2013-0444: Improve cache handling.
+ - S7200499: Better data validation for options.
+ - S7200500: Launcher better input validation.
+ - S7201064: Better dialogue checking.
+ - S7201066, CVE-2013-0441: Change modifiers on unused fields.
+ - S7201068, CVE-2013-0435: Better handling of UI elements.
+ - S7201070: Serialization to conform to protocol.
+ - S7201071, CVE-2013-0433: InetSocketAddress serialization issue.
+ - S8000210: Improve JarFile code quality.
+ - S8000537, CVE-2013-0450: Contextualize RequiredModelMBean class.
+ - S8000539, CVE-2013-0431: Introspect JMX data handling.
+ - S8000540, CVE-2013-1475: Improve IIOP type reuse management.
+ - S8000631, CVE-2013-1476: Restrict access to class constructor.
+ - S8001235, CVE-2013-0434: Improve JAXP HTTP handling.
+ - S8001242: Improve RMI HTTP conformance.
+ - S8001307: Modify ACC_SUPER behavior.
+ - S8001972, CVE-2013-1478: Improve image processing.
+ - S8002325, CVE-2013-1480: Improve management of images.
+ * Backports:
+ - S7054590: (JSR-292) MethodHandleProxies.asInterfaceInstance()
+ accepts private/protected nested interfaces.
+ - S7175616: Port fix for TimeZone from JDK 8 to JDK 7.
+ - S8002068: Build broken: corba code changes unable to use new
+ JDK 7 classes.
+ - S8004341: Two JCK tests fails with 7u11 b06.
+ - S8005615: Java Logger fails to load tomcat logger implementation (JULI).
+ * IcedTea7 2.1.6 release:
+ * Security fixes:
+ - S8004937, CVE-2013-1484: Improve proxy construction.
+ - S8006439, CVE-2013-1485: Improve MethodHandles coverage.
+ - S8006446, CVE-2013-1486: Restrict MBeanServer access.
+ - S8006777, CVE-2013-0169: Improve TLS handling of invalid messages.
+ - S8007688: Blacklist known bad certificate.
+ * Backports:
+ - S7123519: problems with certification path.
+ - S8007393: Possible race condition after JDK-6664509.
+ - S8007611: logging behavior in applet changed.
+ * Fix font suggestion for indic fonts in wheezy.
+ * Fix fontconfig definitions for japanese and korean fonts, fixing
+ compilation of the fontconfig file.
+ * Add Built-Using: rhino attribute for the -lib package.
+ * Don't use concurrent features to rewrite the rhino jar file.
+ * Enable class data sharing for the hotspot server VM.
+ * Enable bootstrap builds for alpha.
+ * Explicitly disable building on mips/mipsel. Not supported by the
+ Debian OpenJDK maintainers, the Debian mips porters, or the Debian
+ Java team.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 21 Feb 2013 03:38:13 +0100
+
+openjdk-7 (7u3-2.1.4-1) unstable; urgency=low
+
+ * IcedTea7 2.1.4 release.
+ * Security fixes
+ - S8004933, CVE-2012-3174: Improve MethodHandle interaction with libraries
+ - S8006017, CVE-2013-0422: Improve lookup resolutions
+ - S8006125: Update MethodHandles library interactions
+ * Loosen OpenGL dependency. Closes: #695028.
+ * Fix error parsing drop files parameter from pcmanfm (Alberto Fernández
+ Martínez). Closes: #695992.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 16 Jan 2013 11:46:20 +0100
+
+openjdk-7 (7u3-2.1.3-1) unstable; urgency=low
+
+ * IcedTea7 2.1.3 release.
+ * Security fixes
+ - S6631398, CVE-2012-3216: FilePermission improved path checking.
+ - S7093490: adjust package access in rmiregistry.
+ - S7143535, CVE-2012-5068: ScriptEngine corrected permissions.
+ - S7158796, CVE-2012-5070: Tighten properties checking in EnvHelp.
+ - S7158807: Revise stack management with volatile call sites.
+ - S7163198, CVE-2012-5076: Tightened package accessibility.
+ - S7167656, CVE-2012-5077: Multiple Seeders are being created.
+ - S7169884, CVE-2012-5073: LogManager checks do not work correctly for
+ sub-types.
+ - S7169887, CVE-2012-5074: Tightened package accessibility.
+ - S7169888, CVE-2012-5075: Narrowing resource definitions in JMX RMI
+ connector.
+ - S7172522, CVE-2012-5072: Improve DomainCombiner checking.
+ - S7186286, CVE-2012-5081: TLS implementation to better adhere to RFC.
+ - S7189103, CVE-2012-5069: Executors needs to maintain state.
+ - S7189490: More improvements to DomainCombiner checking.
+ - S7189567, CVE-2012-5085: java net obselete protocol.
+ - S7192975, CVE-2012-5071: Issue with JMX reflection.
+ - S7195194, CVE-2012-5084: Better data validation for Swing.
+ - S7195549, CVE-2012-5087: Better bean object persistence.
+ - S7195917, CVE-2012-5086: XMLDecoder parsing at close-time should be
+ improved.
+ - S7195919, CVE-2012-5979: (sl) ServiceLoader can throw CCE without
+ needing to create instance.
+ - S7196190, CVE-2012-5088: Improve method of handling MethodHandles.
+ - S7198296, CVE-2012-5089: Refactor classloader usage.
+ - S7158801: Improve VM CompileOnly option.
+ - S7158804: Improve config file parsing.
+ - S7198606, CVE-2012-4416: Improve VM optimization.
+ * Backports
+ - S7175845: "jar uf" changes file permissions unexpectedly.
+ - S7177216: native2ascii changes file permissions of input file.
+ - S7106773: 512 bits RSA key cannot work with SHA384 and SHA512.
+ - S7158800: Improve storage of symbol tables.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 17 Oct 2012 16:03:47 +0200
+
+openjdk-7 (7u3-2.1.2-2ubuntu1) precise-security; urgency=low
+
+ * Make the avian VM a known runtime.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 08 Sep 2012 16:01:31 +0200
+
+openjdk-7 (7u3-2.1.2-2) unstable; urgency=high
+
+ * Pass -avoid-version to libtool to create a JamVM libjvm.so without SONAME
+ version numbers to match the Hotspot Server/Client libjvm.so. LP: #850433.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 04 Sep 2012 17:55:43 +0200
+
+openjdk-7 (7u3-2.1.2-1) unstable; urgency=high
+
+ * IcedTea7 2.1.2 release.
+ * Security fixes
+ - CVE-2012-4681, S7162473: Reintroduce PackageAccessible checks removed
+ in 6788531.
+ - S7162476, CVE-2012-1682: XMLDecoder security issue via ClassFinder.
+ - S7194567, CVE-2012-3136: Improve long term persistence of java.beans
+ objects.
+ - S7163201, CVE-2012-0547: Simplify toolkit internals references.
+ * d/p/hotspot-sparc.diff: Remove, integrated upstream.
+ * Stop running the mauve tests.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 03 Sep 2012 23:17:11 +0200
+
+openjdk-7 (7~u3-2.1.1-3) unstable; urgency=low
+
+ * d/rules: Ensure we don't remove -02 (default) when -03 is disabled
+ (fix jamvm FTBFS on armhf without -02).
+ * d/patches/gcc-jdk-opt-O0.diff, d/patches/gcc-jdk-opt-O2.diff,
+ d/patches/gcc-no-hardening.diff, d/patches/gcc-opt-O2.diff: removed.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Wed, 25 Jul 2012 21:18:15 +0200
+
+openjdk-7 (7~u3-2.1.1-2) unstable; urgency=low
+
+ * d/rules: On Debian Wheezy/Sid bump Build-Depends on libnss3-dev
+ (>= 2:3.13.4) and Depends on libnss3 (>= 2:3.13.4) (ie. with epoch).
+ (Closes: #679465).
+ * d/control: Suggests icedtea-7-plugin instead of icedtea6-plugin
+ (Closes: #680284).
+ * d/patches/7130140-MouseEvent-systemout.diff: Remove "MEvent. CASE!" from
+ console output. (Closes: #679036).
+ * Disable -O3 compile: cause wrong Math.* computations.
+ (Closes: #679292 and Closes: #678228). LP: #1044857.
+ * debian/patches/FreetypeFontScaler_getFontMetricsNative.diff:
+ Fix "OpenJDK returns the text height greater than font size".
+ (Closes: #657854)
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Sat, 30 Jun 2012 18:17:51 +0200
+
+openjdk-7 (7~u3-2.1.1-1) unstable; urgency=medium
+
+ * New upstream release with security fixes (Closes: #677486):
+ - S7079902, CVE-2012-1711: Refine CORBA data models
+ - S7110720: Issue with vm config file loadingIssue with
+ vm config file loading
+ - S7143606, CVE-2012-1717: File.createTempFile should be improved
+ for temporary files created by the platform.
+ - S7143614, CVE-2012-1716: SynthLookAndFeel stability improvement
+ - S7143617, CVE-2012-1713: Improve fontmanager layout lookup operations
+ - S7143851, CVE-2012-1719: Improve IIOP stub and tie generation in RMIC
+ - S7143872, CVE-2012-1718: Improve certificate extension processing
+ - S7145239: Finetune package definition restriction
+ - S7152811, CVE-2012-1723: Issues in client compiler
+ - S7157609, CVE-2012-1724: Issues with loop
+ - S7160677: missing else in fix for 7152811
+ - S7160757, CVE-2012-1725: Problem with hotspot/runtime_classfile
+ - S7165628, CVE-2012-1726: Issues with
+ java.lang.invoke.MethodHandles.Lookup
+ * Patches merged upstream:
+ - debian/patches/arm-thumb-fix.diff
+ - debian/patches/gcc-4.7.diff
+
+ [ James Page ]
+ * Cherry picked patch from openjdk-6 to fix handling of
+ ICC profiles (LP: #888123, #888129) (Closes: #676351).
+
+ [ Damien Raude-Morvan ]
+ * Move libgnome2-0, libgnomevfs2-0, libgconf2-4 from Depends of JRE package
+ to Recommends (Closes: #661465).
+ * New jni_md_h_JNIEXPORT_visibility.patch to allow JNIEXPORT definition
+ to work with -fvisibility=hidden. (Closes: #670896).
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 11 Jun 2012 21:01:10 +0200
+
+openjdk-7 (7~u3-2.1.1~pre1-2) unstable; urgency=low
+
+ * Don't mark the -demo package as Multi-Arch same. Closes: #670038.
+ * Build using gcc-4.4 on mips, mipsel.
+ * Build again with older gcj version on s390 (4.6).
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 03 May 2012 10:44:20 +0200
+
+openjdk-7 (7~u3-2.1.1~pre1-1ubuntu3) precise-proposed; urgency=low
+
+ * Default to the ARM assembler interpreter instead to JamVM on
+ ARM. LP: #993380.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 02 May 2012 17:58:20 +0200
+
+openjdk-7 (7~u3-2.1.1~pre1-1ubuntu2) precise; urgency=low
+
+ * Use the /usr/bin path for the policytool desktop file. LP: #980205.
+ Closes: #670037.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 12 Apr 2012 23:29:06 +0200
+
+openjdk-7 (7~u3-2.1.1~pre1-1ubuntu1) precise; urgency=low
+
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 11 Apr 2012 07:21:41 +0200
+
+openjdk-7 (7~u3-2.1.1~pre1-1) unstable; urgency=low
+
+ * Update from the IcedTea7-2.1 release branch (20110410).
+ * Install desktop files again, using the common /usr/bin/java
+ interpreter name.
+ * Build-depend on libpng-dev for newer releases. Closes: #662452.
+ * Let dlopen handle finding the libpcsclite library. LP: #898689.
+ * Build-depend on fonts-ipafont-mincho, fixing a build failure in the
+ fontconfig compiler (find out why it breaks ...).
+ * Build using gcc-4.7/gcj-4.7 for sid/wheezy, fix build failure.
+ * Remove `-icedtea' suffix from the release identification.
+ * Fix arm thumb build, update taken from IcedTea6.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 10 Apr 2012 14:11:09 +0200
+
+openjdk-7 (7~u3-2.1-4) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Don't install the binary fontconfig file. LP: #964303.
+
+ [ Damien Raude-Morvan ]
+ * Remove libxp-dev check in configure.ac, it's not needed anymore
+ (Closes: #657260) and so drop build dependency on libxp-dev.
+ * Fix FTBFS with glib 2.32 by adding explicit dependency gthread-2.0.pc
+ (Closes: #665666).
+ * Use libpng-dev instead of libpng12-dev for wheezy/sid (Closes: #662453).
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 09 Apr 2012 00:21:20 +0200
+
+openjdk-7 (7~u3-2.1-3) unstable; urgency=low
+
+ * d/rules,Makefile.am: Improve handling of dpkg-buildflags: don't overwrite
+ CFLAGS of hotspot but use EXTRA_* flags into icedtea and openjdk Makefile.
+ (Closes: #661695).
+ * d/rules: Build everything with -03 opt level (jamvm, cacao and jdk)
+ * d/patches/kfreebsd-support-*.diff: Refresh kfreebsd patches and
+ fix FTBFS on k-i386 (ie. at least on a sid VM).
+ * Backport S7104625 as d/patches/icedtea7-forest-jdk_7104625*.patch
+ to check for logging to prevent wasted CPU (Closes: #651423).
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Tue, 06 Mar 2012 01:09:09 +0100
+
+openjdk-7 (7~u3-2.1-2) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Use NanumMyeongjo as the preferred korean font. LP: #792471.
+ * Fix crash in java.net.NetworkInterface.getNetworkInterfaces() when
+ ifr_ifindex exceeds 255. LP: #925218. S7078386.
+ * Use IPAfont as the preferred japanesse font. Closes: #646054.
+ * Build using gcj on alpha and armel. Closes: #655750.
+
+ [ Damien Raude-Morvan ]
+ * d/patches/sparc-stubgenerator.diff: Fix FTBFS on sparc on
+ stubGenerator_sparc.cpp by using explicit class typedef
+ (Closes: #660871).
+ * d/patches/fix_extra_flags.diff: Improve support for hardened build,
+ also send flags to jdk build and send -Wl,-z,relro during hotspot link.
+ * Bump Standards-Version to 3.9.3: no changes needed.
+ * d/control: Don't use nonexistent dlopenjl:Recommends substvar,
+ replaced by dlopenhl:Recommends.
+ * d/*.{prerm,postrm}: Use set -e inside script instead of sh -e shebang.
+ * Cleanup lintian-overrides.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Wed, 29 Feb 2012 00:52:49 +0100
+
+openjdk-7 (7~u3-2.1-1ubuntu2) precise; urgency=low
+
+ * Make sure that the nss.cfg doesn't mention any library path.
+ LP: #939361, #939419.
+ * Disable the accessibility wrapper, doesn't work yet. LP: #935296.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 24 Feb 2012 15:10:12 +0100
+
+openjdk-7 (7~u3-2.1-1ubuntu1) precise; urgency=low
+
+ [ Damien Raude-Morvan ]
+ * d/patches/jexec.diff: Dropped, uneeded and not compatible with multi-arch.
+ * d/rules: Use dpkg-buildflags to enable hardened build.
+ (Closes: #660021).
+
+ [ Matthias Klose ]
+ * Merge r522 from openjdk6:
+ - Make upgrades from non-multiarch to multiarch builds more silent.
+ - Fix order of grant decls in java.policy.
+ - Make doc files multi-arch installable.
+ - JB-archive.applications.in: Use /usr/bin/java by default. Maybe
+ should be moved to the default-jdk package.
+ * Explicitly look for the gthread-2.0 pkgconfig module.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 22 Feb 2012 14:07:16 +0100
+
+openjdk-7 (7~u3-2.1-1) unstable; urgency=low
+
+ * Update icedtea7 2.1 (OpenJDK7 ~u3 release):
+ - Check for logging to prevent wasted CPU (Closes: #651423).
+ * Fix following security issues:
+ - S7082299, CVE-2011-3571: Fix in AtomicReferenceArray
+ - S7088367, CVE-2011-3563: Fix issues in java sound
+ - S7110683, CVE-2012-0502: Issues with some KeyboardFocusManager method
+ - S7110687, CVE-2012-0503: Issues with TimeZone class
+ - S7110700, CVE-2012-0505: Enhance exception throwing mechanism in
+ ObjectStreamClass
+ - S7110704, CVE-2012-0506: Issues with some method in corba
+ - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
+ - S7118283, CVE-2012-0501: Better input parameter checking in zip file
+ processing
+ - S7126960, CVE-2011-5035: Add property to limit number of request headers
+ to the HTTP Server
+
+ [ Matthias Klose ]
+ * openjdk-7-jre-lib: Mark as Multi-Arch: foreign.
+
+ [ Damien Raude-Morvan ]
+ * Merge r501-521 from openjdk6:
+ - Fix plugin name in jinfo file.
+ - Fix build flags for cppInterpreter_arm.o.
+ - Use java-atk-wrapper instead of java-access-bridge for accessibility.
+ - Make the java.policy file multi-arch installable.
+ - Don't install desktop and menu files for multiarch builds.
+ Needs a better solution.
+ - Don't install an alternative for the deprecated apt tool.
+ - Make the upgrade from a non-multiarch installation location more
+ robust; don't depend on version numbers, but check the path of the
+ alternatives.
+ - Disable test for armel and powerpc (broken on buildd)
+ * d/rules: Make symbolic links to src.zip on /usr/lib/jvm/java-7-openjdk-amd64
+ like openjdk-6-jdk (Closes: #649618).
+ * d/rules: Pass -n to gzip when compressing manpages to be Multi-Arch: same safe.
+ * d/rules: Add build-arch/build-indep target.
+ * d/rules: Re-enable Cacao VM!
+ * d/{rules,control}: Only rhino 1.7R3 is supported by openjdk7, update B-D.
+ * d/patches/hotspot-s390.diff: Update for latest Hotspot.
+ * d/patches/icedtea-patch.diff: Move nssLibraryDirectory handling to d/rules.
+ * d/rules: Remove --with-*-drop-zip options, as code drops are embedded.
+ * d/patches/hsx23-zero.patch, patches/shark-compiler-fixes.patch:
+ Fix FTBFS for Zero under Hotspot >= v22.
+ * d/patches/kfreebsd-*: Refreshed.
+ * d/control: Make openjdk-7-source:all package binNMU-able by using
+ Depends ">=" on openjdk-7-jre (ie. src.zip won't change).
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Wed, 15 Feb 2012 20:55:52 +0100
+
+openjdk-7 (7~b147-2.0-1) unstable; urgency=low
+
+ * New upstream IcedTea7 release.
+ - S7000600, CVE-2011-3547: InputStream skip() information leak.
+ - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor.
+ - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow.
+ - S7032417, CVE-2011-3552: excessive default UDP socket limit under
+ SecurityManager.
+ - S7046794, CVE-2011-3553: JAX-WS stack-traces information leak.
+ - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting
+ engine.
+ - S7055902, CVE-2011-3521: IIOP deserialization code execution.
+ - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error
+ checks.
+ - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack
+ against SSL/TLS (BEAST).
+ - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer.
+ - S7077466, CVE-2011-3556: RMI DGC server remote code execution.
+ - S7083012, CVE-2011-3557: RMI registry privileged code execution.
+ - S7096936, CVE-2011-3560: missing checkSetFactory calls in
+ HttpsURLConnection.
+
+ [ Matthias Klose ]
+ * Merge debian packaging r501 from openjdk-6:
+ - Tighten inter-package dependencies for Debian builds. Closes: #641240.
+ * Build-depend on wdiff.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Sat, 01 Oct 2011 10:53:15 +0200
+
+openjdk-7 (7~b147-2.0~pre6-2) unstable; urgency=low
+
+ * d/rules: Fix java.policy to include jre/lib/ext/* files (instead of
+ non-existant ext/*). It'll restore privilegied access from sunpkcs11.jar
+ to sun.* code.
+ * d/patches/s390_hotspot_fix.diff: Update to fix FTBFS on s390.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Sat, 01 Oct 2011 10:53:15 +0200
+
+openjdk-7 (7~b147-2.0~pre6-1) unstable; urgency=low
+
+ * Update to IcedTea7 (20110928).
+
+ [ Matthias Klose ]
+ * Merge debian packaging r496 from openjdk-6:
+ - Fix dangling java-1.7.0-openjdk symlink for non-multiarch builds.
+
+ [ Damien Raude-Morvan ]
+ * d/rules: --disable-compile-against-syscalls for kFreeBSD (since there is
+ no epoll support).
+ * Update patches:
+ - d/patches/sun-awt-buildsystem.diff: Drop, merged upstream.
+ - d/patches/icedtea-override-redirect-compiz.patch: Refresh.
+ - d/patches/s390_hotspot_fix.diff: Extracted (instead of direct patch).
+ * Add Build-Depends on libattr1-dev.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Wed, 28 Sep 2011 17:19:33 +0200
+
+openjdk-7 (7~b147-2.0~pre5-1) unstable; urgency=low
+
+ * Update to IcedTea7 (20110914).
+ - d/patches/jdk-no-mapfile.diff: Drop, merged in icedtea7-forest
+ (for real this time).
+ - d/patches/sun-awt-buildsystem.diff: Fix icedtea7-forest awt build.
+ * d/patches/kfreebsd-support-jdk.diff: Refresh.
+ * d/patches/icedtea-patch.diff: Remove usage of nssLibraryDirectory because
+ while it works for nss3, it fails for softokn3 (since the latter is
+ in nss/ subdirectory). Without this parameter, openjdk-7 will rely on
+ default ld.so behavior. (Closes: #637337, #638008)
+ In openjdk-6, nssLibraryDirectory was not used to load softokn3 (Secmod).
+ * d/control: openjdk-7-jre Provides java7-runtime, openjdk-7-jre-headless
+ Provides java7-runtime-headless and openjdk-7-jdk Provides java7-jdk.
+ (Closes: #641668).
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 19 Sep 2011 16:33:15 +0200
+
+openjdk-7 (7~b147-2.0~pre4-1) unstable; urgency=low
+
+ * Update to IcedTea7 (20110906):
+ - JamVM: support for armhf and other various fixes.
+ * Upload to unstable.
+ * Regenerate control file for debian unstable.
+ * Makefile.am: Force JAVA_HOME for ant call to --with-jdk-home value (without
+ this, it defaults to existing JAVA_HOME env or /usr/bin/java link)
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 05 Sep 2011 23:50:43 +0200
+
+openjdk-7 (7~b147-2.0~pre3-3ubuntu2) oneiric; urgency=low
+
+ * Merge debian packaging r491 from openjdk-6:
+ - Move the -lib files into a different location so that the java-7-openjdk
+ name can be used as a symlink.
+ - Symlink the jre/cmm directory, instead of the files inside. Closes: #639883.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 01 Sep 2011 21:08:45 +0200
+
+openjdk-7 (7~b147-2.0~pre3-3ubuntu1) oneiric; urgency=low
+
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 28 Aug 2011 23:42:18 +0200
+
+openjdk-7 (7~b147-2.0~pre3-3) experimental; urgency=low
+
+ * Merge debian packaging r485:489 from openjdk-6:
+ - Build using GCC-4.4 on sparc and sparc64.
+ - Enable testsuite runs in s390x.
+ * Merge debian packaging r490 from openjdk-6:
+ - Set plugin name for the jinfo file. Closes: #638548,
+ - Disable the mauve testsuite on i386.
+ - Make the installation multiarch aware.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 28 Aug 2011 20:42:54 +0200
+
+openjdk-7 (7~b147-2.0~pre3-2) experimental; urgency=low
+
+ * d/patches/jdk-no-mapfile.diff: Re-add was not merged into
+ current (e46d527097f1) revision but latter.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 22 Aug 2011 00:11:33 +0200
+
+openjdk-7 (7~b147-2.0~pre3-1) experimental; urgency=low
+
+ * Update to IcedTea7 (20110821):
+ - JamVM updates.
+ - S7070134,S7044738,S7068051,S7073913: Fix random segfaults
+ and related invalid results from loop unroll optimization.
+ - d/patches/jdk-no-mapfile.diff: Drop, merged in icedtea7-forest.
+
+ [ Matthias Klose ]
+ * Build using GCC-4.4 on mips/mipsel. Closes: #628620.
+ * Merge debian packaging r482:485 from openjdk-6:
+ - Call dbus-launch --exit-with-session in testsuite. Closes: #612394.
+ - Build for s390x using Zero.
+
+ [ Damien Raude-Morvan ]
+ * d/patches/kfreebsd-support-hotspot.diff: Add workaround
+ to handle #637378.
+ * d/generate-dfsg-zip.sh: Update to also handle langtools.tar.gz.
+ Closes: #623693.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Sun, 21 Aug 2011 20:08:50 +0200
+
+openjdk-7 (7~b147-2.0~pre2-3) experimental; urgency=low
+
+ * d/patches/kfreebsd-support-hotspot.diff: Fix access to CPU registry under
+ kfreebsd-amd64.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Sun, 07 Aug 2011 12:22:47 +0200
+
+openjdk-7 (7~b147-2.0~pre2-2) experimental; urgency=low
+
+ * d/patches/kfreebsd-support-jamvm.diff: Add support for kfreebsd-amd64.
+ * d/patches/kfreebsd-support-hotspot.diff: Small fixes for Hotspot on
+ kfreebsd-i386.
+ * Split d/patches/hotspot-s390.diff and zero-missing-headers.diff.
+ * Re-add missing changes from last upload:
+ - patches/use-idx_t.patch: Edit upstream patch to avoid FTBFS on s390.
+ - Makefile.{am,im}: Force bootclasspath (useful when building from
+ openjdk-6).
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Sat, 06 Aug 2011 23:50:58 +0200
+
+openjdk-7 (7~b147-2.0~pre2-1) experimental; urgency=low
+
+ * Update to icedtea7-forest snapshot (20110804):
+ - d/patches/pr753.diff: drop, merged in icedtea7-forest.
+ - d/patches/pr757.diff: drop, merged in icedtea7-forest.
+ - d/patches/zero-jsr292-fixes.diff: drop, merged in icedtea7-forest.
+ - d/patches/no-compiler-path.diff: drop, now handled correctly icedtea7's
+ configure and openjdk's Makefile (by CC and CXX environment variables).
+ - Updated JamVM to the 2011-08-01 revision.
+
+ [ Damien Raude-Morvan ]
+ * d/patches/zero-fpu-control-is-noop.diff: Remove ShouldNotCallThis from
+ os_linux_zero.cpp (fix crash under i386).
+ * d/rules: Enable support for GNU/kFreeBSD arch:
+ - d/patches/kfreebsd-support-*: Update with latest fixes.
+ - d/patches/kfreebsd-sync-issues.diff: hack to force some wait
+ until we fix sync issues.
+ - d/rules: Enable shark for GNU/kFreeBSD.
+ * d/rules: Use DEB_HOST_ARCH_CPU for jvmarch/archdir. Thanks to
+ Jérémie Koenig <jk@jk.fr.eu.org> for patch.
+ * d/patches/jexec.diff: Update for openjdk-7.
+ * d/JB-jdk.overrides.in: Fix override for new Lintian 2.5.0 path handling.
+ * d/icedtea-7-jre-jamvm.overrides: As for others libjvm.so, we use
+ --strip-debug instead of --strip-unneeded.
+ * d/source.lintian-overrides: Drop, not used anymore in openjdk-7.
+
+ [ Matthias Klose ]
+ * Merge debian packaging r472:482 from openjdk-6:
+ - openjdk-6-jre-headless: Depend on icedtea-6-jre-jamvm, if it's
+ the default VM.
+ - Use gcj-4.4 as the stage1 java VM on mips and mipsel.
+ - Make JamVM the default VM on Ubuntu oneiric/ARM.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 04 Aug 2011 11:38:01 +0200
+
+openjdk-7 (7~b147-2.0~pre1-1) experimental; urgency=low
+
+ * New b147 code drop (OpenJDK7 RC1).
+
+ [ Matthias Klose ]
+ * Fix build on sparc64.
+ * Recognize 32bit user space on sparc.
+ * Build shark using llvm-2.9.
+
+ [ Damien Raude-Morvan ]
+ * d/patches/zero-jsr292-fixes.diff: Fixes on Zero/Shark for JSR 292 support
+ from Chris Phillips <ChrisPhi@lgonqn.org>.
+ * d/generate-dfsg-zip.sh: Update for OpenJDK7 as a first step to get #623693
+ fixed.
+ * d/patches/kfreebsd-*: WiP patches for GNU/kFreeBSD support
+ (not yet enabled by default).
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 17 Jul 2011 16:08:51 +0200
+
+openjdk-7 (7~b143-2.0~pre1-2) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 12 Jul 2011 14:30:01 +0200
+
+openjdk-7 (7~b143-2.0~pre1-1ubuntu1) oneiric; urgency=low
+
+ * Fix zero builds on non-ix86 architectures.
+ * Fix build on sparc.
+ * Build using jpeg8.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 12 Jul 2011 14:25:24 +0200
+
+openjdk-7 (7~b143-2.0~pre1-1) experimental; urgency=low
+
+ [ Damien Raude-Morvan ]
+ * New b143 code drop.
+ * Drop d/patches/7031385.diff: Merged upstream.
+ * Drop d/patches/jamvm-oj7.patch: Merged upstream.
+ * Manpages are now ja_JP.UTF-8 instead of ja_JP.eucJP
+
+ [ Matthias Klose ]
+ * Apply fix for IcedTea issue #753, #757.
+ * Update s390 hotspot build fixes.
+ * Re-enable zero on i386.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 10 Jul 2011 14:28:17 +0200
+
+openjdk-7 (7~b136-2.0~pre1-2) experimental; urgency=low
+
+ * Disable zero on i386.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 29 May 2011 12:37:03 +0200
+
+openjdk-7 (7~b136-2.0~pre1-1ubuntu1) oneiric; urgency=low
+
+ * Upload to oneiric.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 29 May 2011 07:59:01 +0200
+
+openjdk-7 (7~b136-2.0~pre1-1) experimental; urgency=low
+
+ [ Matthias Klose ]
+ * Fix non-bootstrap builds.
+ * Merge debian packaging r469:472 from openjdk-6.
+ * Run jtreg tests using JamVM too.
+ * Don't run the jtreg tests with the NSS security provider enabled.
+ * Update JamVM to 20110528.
+ * Re-enable the zero build, keep the shark builds disabled.
+
+ [ Damien Raude-Morvan ]
+ * Only apply jamvm-oj7.patch when jamvm build in enabled.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 28 May 2011 17:17:23 +0200
+
+openjdk-7 (7~b136-1.14+debian1-1) experimental; urgency=low
+
+ * New upstream release: Icedtea 1.14.
+ - debian/patches/jamvm-oj7.patch: support new instruction
+ (JVM_FindClassFromBootLoader) in JamVM.
+ - Makefile.am: Fix some missing depends between
+ patch and extract targets.
+ * debian/patches/nonreparenting-wm.diff: Update.
+ * Replace B-D on libxalan2-java by xsltproc for bootstrapping JMVTI.
+ * Don't use GCJ_SUFFIX=4.6 for sid/wheezy/oneiric as GCJ version
+ is not homogeneous between arch.
+ * Enable JamVM support:
+ - d/control: Add B-D on libtool.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Thu, 26 May 2011 23:03:56 +0200
+
+openjdk-7 (7~b136-1.14~pre0-4) experimental; urgency=low
+
+ * Re-add build dependency on fastjar.
+ * Fix dependency on liblcms2-2.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 08 May 2011 10:21:21 +0200
+
+openjdk-7 (7~b136-1.14~pre0-3) experimental; urgency=low
+
+ * Fix liblcms dependency for -jre-headless package.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Sat, 07 May 2011 17:20:15 +0200
+
+openjdk-7 (7~b136-1.14~pre0-2ubuntu2) oneiric; urgency=low
+
+ * Re-add build dependency on fastjar.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 08 May 2011 02:51:47 +0200
+
+openjdk-7 (7~b136-1.14~pre0-2) experimental; urgency=low
+
+ * Fix build failure on i386 with GCC 4.6.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 06 May 2011 17:10:00 +0200
+
+openjdk-7 (7~b136-1.14~pre0-1) experimental; urgency=low
+
+ [ Damien Raude-Morvan ]
+ * New b136 code drop:
+ - d/rules: Use jaxp-1_4_5-dev1.zip as jaxp-drop-zip.
+ - d/patches/icedtea-pretend-memory.diff: Refreshed.
+
+ [ Matthias Klose ]
+ * Fix -jre-lib dependency on -jre. Closes: #624846.
+ * Add lcms configury.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 05 May 2011 21:08:55 +0200
+
+openjdk-7 (7~b130-1.14~pre0-2) experimental; urgency=low
+
+ * Remove obsolete conflicts. Closes: #624090.
+ * Add copyright for the rewriter class. Addresses part of #623693.
+ * Lower priorities for the alternatives below these of OpenJDK 6,
+ as long as OpenJDK 7 is not yet released.
+ * Don't build HotSpot with -Werror on architectures other than amd64
+ and i386.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 27 Apr 2011 23:03:45 +0200
+
+openjdk-7 (7~b130-1.14~pre0-1) experimental; urgency=low
+
+ * New b130 code drop.
+ * Merge debian packaging r464:469 from openjdk-6.
+ * Do not bump the epoch, package was never uploaded to any official
+ repository.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 20 Apr 2011 21:46:32 +0200
+
+openjdk-7 (1:7~b129-1.14~pre0-1) experimental; urgency=low
+
+ * New b129 code drop.
+ * Bump epoch to 1 and use ~ to indicate that's not openjdk-7 final relaase.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 14 Feb 2011 00:34:45 +0100
+
+openjdk-7 (7b128-1.14~pre0-1) UNRELEASED; urgency=low
+
+ * New b128 code drop.
+ * Exclude "release" file for dh_install.
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 07 Feb 2011 23:45:13 +0100
+
+openjdk-7 (7b126-1.14~pre0-1) UNRELEASED; urgency=low
+
+ * Merge debian packaging r446:464 from openjdk-6
+ but keep the following changes :
+ - Replace DISABLE_PRECOMPILED_HEADER=1 by USE_PRECOMPILED_HEADER=0
+ - Use "ant, ant-optionnal" for all distrel
+ - Drop "with_hotspot" variable (only one hotspot supported by IcedTea7)
+ - Drop --enable-xrender (not supported by IcedTea7)
+ * New b125 code drop:
+ - d/rules: Use new archives by --with-*-src-zip
+ * Refresh patches:
+ - d/patches/shebang.diff: Year updated
+ - d/patches/ld-symbolic-functions.diff and
+ d/patches/no-compiler-path.diff: Changed corba generic Makefiles.
+ - d/patches/default-jvm-cfg.diff and d/patches/set-exec-name.diff:
+ Upstream merged "solaris" and "linux" java.c and java_md.c
+ * Drop patches:
+ - d/patches/too-many-args-ftbfs.diff (merged upstream)
+ - d/patches/sparc.diff (merges upstream)
+ - d/patches/hotspot-include-fixes.diff (includeDB dropped upstream)
+
+ -- Damien Raude-Morvan <drazzib@debian.org> Mon, 24 Jan 2011 00:18:38 +0100
+
+openjdk-7 (7b106~pre1-0lucid2) lucid; urgency=low
+
+ * Build for lucid.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 09 Sep 2010 15:32:13 +0200
+
+openjdk-7 (7b106~pre1-0ubuntu2) maverick; urgency=low
+
+ * Build openjdk-7 snapshot (7b106)
+ * Symlink timezone data.
+ * Disable shark builds, currently broken in 7b106.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 07 Sep 2010 04:56:48 +0200
+
+openjdk-7 (7b89-1.13-0ubuntu1) maverick; urgency=low
+
+ * Update to the IcedTea 1.13 release.
+ * openjdk-7-jre: Recommend ttf-dejavu-extra. LP: #569396.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 30 Jul 2010 01:19:45 +0200
+
+openjdk-7 (7b89~pre1-0lucid3) lucid; urgency=low
+
+ * Include docs in the -doc package. LP: #600834.
+ * Update from the IcedTea6 trunk.
+ - Plugin and netx fixes.
+ - Don't link the plugin against the libxul libraries. Closes: #576361.
+ - More plugin cpu usage fixes. Closes: #584335, #587049.
+ - Plugin: fixes AppletContext.getApplets().
+ * Fix Vcs-Bzr location. Closes: #530883.
+ * Search for unversioned llvm-config tool.
+ * Don't set XFILESEARCHPATH and NLSPATH on startup. LP: #586641.
+ * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font.
+ LP: #472845.
+ * Strip libjvm.so with --strip-debug instead of --strip-unneeded.
+ LP: #574997.
+ * Fix inter-package dependencies.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 15 Jul 2010 18:12:17 +0200
+
+openjdk-7 (7b89~pre1-0lucid1) lucid; urgency=low
+
+ [ Damien Raude-Morvan ]
+ * Merge debian packaging r403:430 from openjdk-6.
+ * Add myself to Uploaders.
+ * Build openjdk-7 snapshot (7b89)
+ * Use ant+ant-optional (IcedTea7 support ant 1.8).
+ * Merge debian packaging r431:436 from openjdk-6.
+
+ [ Matthias Klose ]
+ * Merge debian packaging r430:445 from openjdk-6.
+ * Update debian patches to 7b89.
+ * Reenable the two stage build.
+ * Reenable building cacao.
+ * Reenable building zero.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 13 Jul 2010 10:32:11 +0200
+
+openjdk-7 (7b77-0ubuntu1~ppa1) lucid; urgency=low
+
+ * Build openjdk-7 snapshot (7b77).
+ * Merge debian packaging r391:403 from openjdk-6.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 21 Dec 2009 16:58:34 +0100
+
+openjdk-7 (7b72-0ubuntu1~ppa1) karmic; urgency=low
+
+ * Build openjdk-7 snapshot (7b72).
+ * Merge debian packaging r371:391 from openjdk-6.
+ * Disable the zero build for now.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 03 Oct 2009 16:35:27 +0200
+
+openjdk-7 (7b66-0ubuntu1~ppa1) karmic; urgency=low
+
+ * Build openjdk-7 snapshot (7b66).
+ * Merge debian packaging r362:371 from openjdk-6.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 06 Aug 2009 12:40:00 +0200
+
+openjdk-7 (7b59-0ubuntu1) karmic; urgency=low
+
+ * Reenable the build of zero.
+ * Reapply fontconfig patch.
+ * Apply icedtea-cacao-no-mmap-first-page patch.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 29 May 2009 10:19:26 +0200
+
+openjdk-7 (7b59-0ubuntu1~ppa1) karmic; urgency=low
+
+ * Build openjdk-7 snapshot (7b59).
+ * Merge debian packaging r205:362 from openjdk-6.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 27 May 2009 12:09:16 +0200
+
+openjdk-7 (7b40-0ubuntu2) jaunty; urgency=low
+
+ * Add build dependency on libxrender-dev.
+ * Don't use fastjar on ia64, working around a build failure.
+ * Add configury for shark builds.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 04 Dec 2008 16:26:15 +0100
+
+openjdk-7 (7b40-0ubuntu1) jaunty; urgency=low
+
+ * Build openjdk-7 snapshot (7b40).
+ * Update packaging for openjdk-7.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 02 Dec 2008 14:27:03 +0100
+
+openjdk-6 (6b22-1.10.1-0ubuntu1) natty; urgency=low
+
+ * IcedTea6 1.10.1 release.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 05 Apr 2011 12:20:36 +0200
+
+openjdk-6 (6b22-1.10.1~pre1-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 26 Mar 2011 10:43:49 +0100
+
+openjdk-6 (6b22-1.10.1~pre1-0ubuntu1) natty; urgency=low
+
+ * Update from the IcedTea6-1.10 release branch (20110325).
+ * Add multiarch directories to the default library path. LP: #737603.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 25 Mar 2011 16:33:57 +0100
+
+openjdk-6 (6b22-1.10-3) experimental; urgency=low
+
+ * Fix JamVM build on mips/mipsel (Robert Lougher).
+ * Re-enable the JamVM build on mips/mipsel.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 06 Mar 2011 15:01:54 +0100
+
+openjdk-6 (6b22-1.10-2) experimental; urgency=low
+
+ * Mention that IcedTea is copyrigh GPLv2 + "CLASSPATH" EXCEPTION.
+ Closes: #611269.
+ * Don't run the jdk checks for the alternate builds (hotspot and
+ langtools checks are still run).
+ * Disable the JamVM build on mips/mipsel.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 05 Mar 2011 16:13:40 +0100
+
+openjdk-6 (6b22-1.10-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 04 Mar 2011 16:12:50 +0100
+
+openjdk-6 (6b22-1.10-0ubuntu2) natty; urgency=low
+
+ * Disable the jdk tests with the Shark, JamVM and Cacao VMs.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 04 Mar 2011 15:32:50 +0100
+
+openjdk-6 (6b22-1.10-0ubuntu1) natty; urgency=low
+
+ * IcedTea6 1.10 release.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 03 Mar 2011 09:32:19 +0100
+
+openjdk-6 (6b21~pre3-0ubuntu1) natty; urgency=low
+
+ * Update from the IcedTea6 trunk (20110224).
+ * icedtea-6-jre-jamvm: Build JamVM as an alternative VM,
+ start with `java -jamvm'.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 24 Feb 2011 02:45:56 +0100
+
+openjdk-6 (6b21~pre2-0ubuntu1) natty; urgency=low
+
+ * Update from the IcedTea6 trunk (20110217).
+ * Update hotspot hs20 (not yet enabled).
+ * Add ppc64 packaging bits.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 18 Feb 2011 15:55:41 +0100
+
+openjdk-6 (6b21~pre1-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 22 Jan 2011 15:34:21 +0100
+
+openjdk-6 (6b21~pre1-0ubuntu1) natty; urgency=low
+
+ * Update to 6b21.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 22 Jan 2011 14:28:28 +0100
+
+openjdk-6 (6b20-1.10~pre3-0ubuntu4) natty; urgency=low
+
+ * Fix shark build on powerpc.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 24 Dec 2010 11:06:32 +0100
+
+openjdk-6 (6b20-1.10~pre3-0ubuntu3) natty; urgency=low
+
+ * Update from the IcedTea6 trunk (20101223).
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 23 Dec 2010 14:27:17 +0100
+
+openjdk-6 (6b20-1.10~pre3-0ubuntu1) natty; urgency=low
+
+ * Update from the IcedTea6 trunk (20101126).
+ * Update hotspot hs19.
+ * Fix build failures on ia64, s390 and sparc64.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 26 Nov 2010 16:38:16 +0100
+
+openjdk-6 (6b20-1.10~pre2-0ubuntu7~ppa1) natty; urgency=low
+
+ * Reenable shark on amd64, but build using llvm-2.7.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 21 Oct 2010 23:59:30 +0200
+
+openjdk-6 (6b20-1.10~pre2-0ubuntu5) natty; urgency=low
+
+ * Don't try to set up an alternative for javaws
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 21 Oct 2010 17:38:48 +0200
+
+openjdk-6 (6b20-1.10~pre2-0ubuntu3) natty; urgency=low
+
+ * Stop building zero/shark on amd64. Fails the self tests.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 21 Oct 2010 13:49:56 +0200
+
+openjdk-6 (6b20-1.10~pre2-0ubuntu2) natty; urgency=low
+
+ * Don't include OpenJDK's javaws either.
+ * openjdk-6-jre: Recommend icedtea-netx.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 21 Oct 2010 08:34:07 +0200
+
+openjdk-6 (6b20-1.10~pre2-0ubuntu1) natty; urgency=low
+
+ * Update from the IcedTea6 trunk (20101020).
+ * Remove the plugin and javaws from the packaging, removed upstream.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 20 Oct 2010 17:45:09 +0200
+
+openjdk-6 (6b20-1.10~pre1-0ubuntu2) natty; urgency=low
+
+ * Build with hotspot 19.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 14 Oct 2010 11:28:38 +0200
+
+openjdk-6 (6b20-1.10~pre1-0ubuntu1) natty; urgency=low
+
+ * Snapshot, taken from the IcedTea6 trunk (20101013).
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 13 Oct 2010 08:36:44 +0200
+
+openjdk-6 (6b20-1.9.2-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 24 Nov 2010 05:29:43 +0100
+
+openjdk-6 (6b20-1.9.2-0ubuntu1) maverick-security; urgency=low
+
+ * IcedTea6 1.9.2 release.
+ - CVE-2010-3860: Fix IcedTea System property information leak via
+ public static.
+ * Build using Hotspot hs19.
+ * Start metacity using dbus-launch, when running the testsuite. LP: #632594.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 21 Nov 2010 18:30:39 +0100
+
+openjdk-6 (6b20-1.9.1-1ubuntu3) maverick-security; urgency=low
+
+ * Move all japanese man pages belonging to the jre into the -jre package.
+ Closes: #600765.
+ * Add -jdk replaces for -jre and -jre-headless. Closes: #600809.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 20 Oct 2010 12:51:34 +0200
+
+openjdk-6 (6b20-1.9.1-1ubuntu1) maverick-security; urgency=low
+
+ * Fix upgrade to symlinked timezone data. Closes: #600359.
+ * Move all japanese man pages belonging to the jre into the -jre package.
+ Closes: #600765.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 18 Oct 2010 16:07:48 +0200
+
+openjdk-6 (6b20-1.9.1-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 12 Oct 2010 15:07:35 +0200
+
+openjdk-6 (6b20-1.9.1-0ubuntu1) maverick-security; urgency=low
+
+ * IcedTea6 1.9.1 release.
+ - Security updates:
+ - S6914943, CVE-2009-3555: TLS: MITM attacks via session renegotiation.
+ - S6559775, CVE-2010-3568: OpenJDK Deserialization Race condition.
+ - S6891766, CVE-2010-3554: OpenJDK corba reflection vulnerabilities.
+ - S6925710, CVE-2010-3562: OpenJDK IndexColorModel double-free.
+ - S6938813, CVE-2010-3557: OpenJDK Swing mutable static.
+ - S6957564, CVE-2010-3548: OpenJDK DNS server IP address information
+ leak.
+ - S6958060, CVE-2010-3564: OpenJDK kerberos vulnerability.
+ - S6963023, CVE-2010-3565: OpenJDK JPEG writeImage remote code execution.
+ - S6963489, CVE-2010-3566: OpenJDK ICC Profile remote code execution.
+ - S6966692, CVE-2010-3569: OpenJDK Serialization inconsistencies.
+ - S6622002, CVE-2010-3553: UIDefault.ProxyLazyValue has unsafe
+ reflection usage.
+ - S6623943: javax.swing.TimerQueue's thread occasionally fails to start.
+ - S6925672, CVE-2010-3561: Privileged ServerSocket.accept allows
+ receiving connections from any host.
+ - S6952017, CVE-2010-3549: HttpURLConnection chunked encoding issue
+ (Http request splitting).
+ - S6952603, CVE-2010-3551: NetworkInterface reveals local network
+ address to untrusted code.
+ - S6961084, CVE-2010-3541: limit setting of some request headers in
+ HttpURLConnection.
+ - S6963285, CVE-2010-3567: Crash in ICU Opentype layout engine due to
+ mismatch in character counts.
+ - S6980004, CVE-2010-3573: limit HTTP request cookie headers in
+ HttpURLConnection.
+ - S6981426, CVE-2010-3574: limit use of TRACE method in
+ HttpURLConnection.
+ - Plugin fixes.
+ - Backports from newer IcedTea releases.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 12 Oct 2010 12:13:40 +0200
+
+openjdk-6 (6b20-1.9-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 07 Sep 2010 21:19:21 +0200
+
+openjdk-6 (6b20-1.9-0ubuntu1) maverick; urgency=low
+
+ * IcedTea6 1.9 release.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 07 Sep 2010 18:13:20 +0200
+
+openjdk-6 (6b20~pre2-0ubuntu2) maverick; urgency=low
+
+ * Update from the IcedTea6 trunk.
+ * Really let the build fail on armel.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 30 Jul 2010 16:55:38 +0200
+
+openjdk-6 (6b20~pre2-0ubuntu1) maverick; urgency=high
+
+ * Update from the IcedTea6 trunk.
+ - (CVE-2010-2783): IcedTea 'Extended JNLP Services' arbitrary file access.
+ - (CVE-2010-2548): IcedTea incomplete property access check for unsigned
+ applications
+ * openjdk-6-jre: Recommend ttf-dejavu-extra. LP: #569396.
+ * Explicitely fail the build on armel. The ARM assembler interpreter is
+ disabled and would a 3-5x performance regression compared to the current
+ 6b18 armel binaries in the archive.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 29 Jul 2010 00:10:53 +0200
+
+openjdk-6 (6b20~pre1-2) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 15 Jul 2010 13:55:02 +0200
+
+openjdk-6 (6b20~pre1-1ubuntu1) maverick; urgency=low
+
+ * Include docs in the -doc package. LP: #600834.
+ * Update from the IcedTea6 trunk.
+ - Plugin and netx fixes.
+ - Don't link the plugin against the libxul libraries. Closes: #576361.
+ - More plugin cpu usage fixes. Closes: #584335, #587049.
+ - Plugin: fixes AppletContext.getApplets().
+ * Fix Vcs-Bzr location. Closes: #530883.
+ * Search for unversioned llvm-config tool.
+ * Don't set XFILESEARCHPATH and NLSPATH on startup. LP: #586641.
+ * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font.
+ LP: #472845.
+ * Strip libjvm.so with --strip-debug instead of --strip-unneeded.
+ LP: #574997.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 15 Jul 2010 12:40:10 +0200
+
+openjdk-6 (6b20~pre1-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 28 Jun 2010 00:50:58 +0200
+
+openjdk-6 (6b20~pre1-0ubuntu2) maverick; urgency=low
+
+ * Shark & CACAO build fixes.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 25 Jun 2010 02:27:10 +0200
+
+openjdk-6 (6b20~pre1-0ubuntu1) maverick; urgency=low
+
+ * Update to 6b20 code drop.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 14 Apr 2010 02:53:37 +0200
+
+openjdk-6 (6b18-1.8-4) unstable; urgency=low
+
+ * Update from the 1.8 branch.
+ - Plugin and netx fixes.
+ - Don't link the plugin against the libxul libraries. Closes: #576361.
+ - More plugin cpu usage fixes. Closes: #584335, #587049.
+ - Plugin: fixes AppletContext.getApplets().
+ - Fix race conditions in plugin initialization code that were causing
+ hangs when loading multiple applets in parallel.
+ * Fix Vcs-Bzr location. Closes: #530883.
+ * Search for unversioned llvm-config tool.
+ * Don't set XFILESEARCHPATH and NLSPATH on startup. LP: #586641.
+ * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font.
+ LP: #472845.
+ * Strip libjvm.so with --strip-debug instead of --strip-unneeded.
+ LP: #574997.
+ * Don't turn on the ARM assembler interpreter when building the shark
+ VM.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 15 Jul 2010 00:40:13 +0200
+
+openjdk-6 (6b18-1.8-3) unstable; urgency=low
+
+ * Update from the 1.8 branch.
+ - Plugin fixes. LP: #597714.
+ * Add powerpcspe build fixes (Sebastian Andrzej Siewior). Closes: #586359.
+ * Work around build failure on buildds configured with low ARG_MAX
+ (Giovanni Mascellani). Closes: #575254.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 27 Jun 2010 10:16:27 +0200
+
+openjdk-6 (6b18-1.8-2ubuntu3) maverick; urgency=low
+
+ * Update from the 1.8 branch.
+ - Plugin fixes. LP: #597714.
+ * Add powerpcspe build fixes (Sebastian Andrzej Siewior). Closes: #586359.
+ * Work around build failure on buildds configured with low ARG_MAX
+ (Giovanni Mascellani). Closes: #575254.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 27 Jun 2010 10:16:27 +0200
+
+openjdk-6 (6b18-1.8-2ubuntu2) maverick; urgency=low
+
+ * Search for unversioned llvm-config tool.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 02 May 2010 12:03:01 +0200
+
+openjdk-6 (6b18-1.8-2ubuntu1) maverick; urgency=low
+
+ * Upload to maverick.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 02 May 2010 11:23:16 +0200
+
+openjdk-6 (6b18-1.8-2) unstable; urgency=low
+
+ * Update from the 1.8 branch.
+ - Fix build on Hitachi SH. Closes: #575346.
+ - Shark and Zero fixes.
+ * Build shark using llvm-2.7.
+ * Don't use shark to run the test harness when testing the shark build.
+ * README.Debian: Add paragraph about debugging the IcedTea NPPlugin.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 01 May 2010 12:35:19 +0200
+
+openjdk-6 (6b18-1.8-1) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 14 Apr 2010 02:53:37 +0200
+
+openjdk-6 (6b18-1.8-0ubuntu1) lucid; urgency=low
+
+ * Update IcedTea6 to the icedtea6-1.8 release.
+ * Fix builds on Ubuntu/dapper and Debian/lenny.
+ * On hppa, configure --without-rhino --disable-plugin.
+ * Fix Hitachi SH configury. Closes: #575346.
+ * Start a window manager when running the tests. Prefer metacity,
+ as more tests pass with it.
+ * Let XToolkit.isTraySupported() return true, if Compiz is running.
+ Works around sun#6438179. LP: #300948.
+ * Make <java_home>/jre/lib/security/nss.cfg a config file.
+ * Fail in the configuration of the packages, if /proc is not mounted.
+ java currently uses tricks to find its own shared libraries depending
+ on the path of the binary. Will be changed in OpenJDK7. Closes: #576453.
+ * Fix PR icedtea/469, testsuite failures with the NSS based security
+ provider. LP: #556549.
+ * Do not pass LD_LIBRARY_PATH from the plugin to the java process.
+ While libnss3.so gets loaded from /usr/lib, the dependent libraries
+ are loaded from MOZILLA_FIVE_HOME (See #561216 for the wrong firefox
+ config). LP: #561124.
+ Closes as well: LP: #551328, #554909, #560829, #549010, #553452.
+ * Always build shark with hs14.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 14 Apr 2010 01:53:33 +0200
+
+openjdk-6 (6b18~pre4-1ubuntu1) lucid; urgency=low
+
+ * Build-depend on xulrunner-1.9.2-dev instead of xulrunner-dev,
+ unexpectedly demoted to universe.
+ * icedtea6-plugin: Hardcode dependency on xulrunner-1.9.2. No way
+ to do better? See #552780.
+ * Fix builds on Ubuntu hardy.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 31 Mar 2010 22:21:49 +0200
+
+openjdk-6 (6b18~pre4-1) unstable; urgency=high
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 31 Mar 2010 16:35:18 +0200
+
+openjdk-6 (6b18~pre4-0ubuntu2) lucid; urgency=low
+
+ * Fix typo in NPPlugin code. LP: #552287.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 31 Mar 2010 10:41:11 +0200
+
+openjdk-6 (6b18~pre4-0ubuntu1) lucid; urgency=low
+
+ [ Matthias Klose ]
+ * Update IcedTea6 form the 1.8 branch.
+ * SECURITY UPDATE: multiple upstream vulnerabilities. Upstream fixes:
+ - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299).
+ - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors
+ if run with -Xcomp (6894807).
+ - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability
+ (6899653).
+ - (CVE-2010-0082): Loader-constraint table allows arrays instead of
+ only the base-classes (6626217).
+ - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret
+ network addresses (6893954) [ZDI-CAN-603].
+ - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390).
+ - (CVE-2010-0091): Unsigned applet can retrieve the dragged information
+ before drop action occurs (6887703).
+ - (CVE-2010-0088): Inflater/Deflater clone issues (6745393).
+ - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains
+ (6633872).
+ - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR
+ error (6888149).
+ - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should
+ enforce stricter checks (6893947) [ZDI-CAN-588].
+ - (CVE-2010-0093): System.arraycopy unable to reference elements
+ beyond Integer.MAX_VALUE bytes (6892265).
+ - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation
+ Vulnerability (6904691).
+ - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823).
+ - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability
+ (6914866).
+ - (CVE-2009-3555): TLS: MITM attacks via session renegotiation.
+ - 6639665: ThreadGroup finalizer allows creation of false root
+ ThreadGroups.
+ - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly.
+ encoded CommonName OIDs.
+ - 6910590: Application can modify command array in ProcessBuilder.
+ - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability.
+ - 6932480: Crash in CompilerThread/Parser. Unloaded array klass?
+ - 6898739: TLS renegotiation issue.
+
+ [ Torsten Werner ]
+ * Switch off IPV6_V6ONLY for IN6_IS_ADDR_UNSPECIFIED addresses, too.
+ (Closes: #575163)
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 31 Mar 2010 02:34:04 +0200
+
+openjdk-6 (6b18~pre3-1) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Update IcedTea build infrastructure (20100321).
+ * Update support for SH4 (Nobuhiro Iwamatsu).
+ * Handle renaming of the plugin name.
+
+ [ Torsten Werner ]
+ * Improve patch for IPv4 mapped IPv6 addresses even more.
+ (Closes: #573742)
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 21 Mar 2010 22:52:12 +0100
+
+openjdk-6 (6b18~pre2-1ubuntu2) lucid; urgency=low
+
+ * Fix build failure on ARM.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 12 Mar 2010 15:19:13 +0100
+
+openjdk-6 (6b18~pre2-1ubuntu1) lucid; urgency=low
+
+ * Upload to lucid.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 10 Mar 2010 23:34:57 +0100
+
+openjdk-6 (6b18~pre2-1) unstable; urgency=low
+
+ * Update IcedTea build infrastructure (20100310).
+ * Disable building the plugin the plugin on alpha (borked xulrunner
+ packaging using binary indep packages).
+ * Use a two stage build on alpha.
+ * Add note about the reparenting WM workaround. Closes: #573026.
+ * Prefer Sazanami instead of Kochi for Japanese fonts (Hideki Yamane).
+ Closes: #572511.
+ * openjdk-6-doc: Don't compress package-list files. Closes: #567899.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 10 Mar 2010 11:19:19 +0100
+
+openjdk-6 (6b18~pre1-4) unstable; urgency=low
+
+ * Improve patch for IPv4 mapped IPv6 addresses.
+
+ -- Torsten Werner <twerner@debian.org> Sun, 07 Mar 2010 01:14:36 +0100
+
+openjdk-6 (6b18~pre1-3) unstable; urgency=low
+
+ * Add a patch for improved handling of IPv4 mapped IPv6 addresses.
+ (Closes: #560056, #561930, #563699, #563946)
+
+ -- Torsten Werner <twerner@debian.org> Tue, 02 Mar 2010 23:46:57 +0100
+
+openjdk-6 (6b18~pre1-2) unstable; urgency=low
+
+ * Change Build-Depends: ant1.7-optional because of a bus error in gij.
+
+ -- Torsten Werner <twerner@debian.org> Mon, 01 Mar 2010 07:17:16 +0100
+
+openjdk-6 (6b18~pre1-1ubuntu1) lucid; urgency=low
+
+ * Ignore error code running ant -diagnostics.
+ * Build-depend on ant-optional.
+ * Disable the cacao build on armel, fails to build with the non
+ bootstrap build.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 20 Feb 2010 15:36:06 +0100
+
+openjdk-6 (6b18~pre1-1) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 19 Feb 2010 21:52:32 +0100
+
+openjdk-6 (6b18~pre1-0ubuntu1) lucid; urgency=low
+
+ * New Openjdk6 b18 source code drop.
+ * Use mangled copy of rhino. Closes: #512970. LP: #255149.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 19 Feb 2010 18:17:23 +0100
+
+openjdk-6 (6b17-1.7-1ubuntu1) lucid; urgency=low
+
+ * ARM Thumb2 updates.
+ * Test build using Hotspt hs14 on ix86.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 31 Jan 2010 21:56:59 +0100
+
+openjdk-6 (6b18~pre1-1) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 19 Feb 2010 21:52:32 +0100
+
+openjdk-6 (6b18~pre1-0ubuntu1) lucid; urgency=low
+
+ * New Openjdk6 b18 source code drop.
+ * Use mangled copy of rhino. Closes: #512970. LP: #255149.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 19 Feb 2010 18:17:23 +0100
+
+openjdk-6 (6b17-1.7-1ubuntu1) lucid; urgency=low
+
+ * ARM Thumb2 updates.
+ * Test build using Hotspt hs14 on ix86.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 31 Jan 2010 21:56:59 +0100
+
+openjdk-6 (6b17-1.7-1) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 27 Jan 2010 23:44:47 +0100
+
+openjdk-6 (6b17-1.7-0ubuntu1) lucid; urgency=low
+
+ * IcedTea6 1.7 release.
+ * Don't try to load libjpeg7; still building with libjpeg62. Closes: #563999.
+ * Run the testsuite on sh4.
+ * Ubuntu only: Implement an execute bit checker for the Non-Exec Policy
+ - debian/JB-java.desktop.in: update mime handler to use new launcher.
+ * armel: Apply the thumb2 patches from the trunk, plus proposed patches
+ for the trunk.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 27 Jan 2010 22:48:24 +0100
+
+openjdk-6 (6b17-0ubuntu1) lucid; urgency=low
+
+ * Build from the IcedTea6-1.7 branch.
+ * Don't build the plugin on sparc64.
+ * Enable the NPPlugin.
+ * Add support for SH4 (Nobuhiro Iwamatsu).
+ * Fix crash in the ARM assembler interpreter (Edward Nevill).
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 06 Jan 2010 15:52:50 +0100
+
+openjdk-6 (6b17~pre3-1ubuntu2) lucid; urgency=low
+
+ * Update IcedTea build infrastructure (20091224).
+ * Explicitely build-depend on x11-xkb-utils (xkbcomp is needed by
+ xvfb-run).
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 24 Dec 2009 12:43:00 +0100
+
+openjdk-6 (6b17~pre3-1ubuntu1) lucid; urgency=low
+
+ * Upload to lucid.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 18 Dec 2009 10:40:05 +0100
+
+openjdk-6 (6b17~pre3-1) unstable; urgency=low
+
+ * Update IcedTea build infrastructure (20091218).
+ * Install docs into the openjdk-6-jre-headless directory instead of
+ openjdk-6-jre.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 18 Dec 2009 10:00:08 +0100
+
+openjdk-6 (6b17~pre2-1ubuntu1) lucid; urgency=low
+
+ * Update IcedTea build infrastructure (20091215).
+ * Fix cacao build on armel with current optimization defaults.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 15 Dec 2009 16:41:12 +0100
+
+openjdk-6 (6b17~pre2-1) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 09 Nov 2009 21:50:52 +0100
+
+openjdk-6 (6b17~pre2-0ubuntu3) lucid; urgency=low
+
+ * Security updates:
+ - (CVE-2009-3728) ICC_Profile file existence detection information leak
+ (6631533).
+ - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445).
+ - (CVE-2009-3881) resurrected classloaders can still have children
+ (6636650).
+ - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs)
+ (6657026).
+ - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138).
+ - (CVE-2009-3880) UI logging information leakage (6664512).
+ - (CVE-2009-3879) GraphicsConfiguration information leak (6822057).
+ - (CVE-2009-3884) zoneinfo file existence information leak (6824265).
+ - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062).
+ - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968).
+ - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack
+ vulnerabilities (6863503).
+ - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser
+ denial of service (6864911).
+ - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357).
+ - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643.
+ - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358).
+ * Update IcedTea build infrastructure (20091109).
+ * Use hs16 on armel.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 09 Nov 2009 17:48:43 +0100
+
+openjdk-6 (6b17~pre2-0ubuntu2) lucid; urgency=low
+
+ * Don't use hs16 on armel and sparc.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 02 Nov 2009 15:33:00 +0100
+
+openjdk-6 (6b17~pre2-0ubuntu1) lucid; urgency=low
+
+ * New code drop (b17).
+ * Bump hotspot to hs16.
+ * Update IcedTea build infrastructure (20091031).
+ * Set priority of default -jre and -jdk packages to optional.
+ * Fix binary-all to binary-any dependencies. Closes: #550680.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 31 Oct 2009 19:30:54 +0100
+
+openjdk-6 (6b16-1.6.1-2) unstable; urgency=medium
+
+ * Build-depend on xulrunner-dev (>= 1.9.1.3-3).
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 11 Oct 2009 21:34:48 +0200
+
+openjdk-6 (6b16-1.6.1-1ubuntu3) karmic; urgency=low
+
+ [Matthias Klose]
+ * On armel and powerpc, build an additional VM using shark in the
+ openjdk-6-jre-zero package (java -shark <args>). Requires llvm-2.6.
+ * Hide the desktop menu entry for WebStart. LP: #222180.
+ * Don't provide java-virtual-machine anymore.
+
+ [Edward Nevill]
+ * Avoid stack overflows in the arm interpreter.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 08 Oct 2009 12:41:46 +0200
+
+openjdk-6 (6b16-1.6.1-1ubuntu2) karmic; urgency=low
+
+ * Support PKCS11 cryptography via NSS, now allowing import of all
+ certificates from ca-certificates.
+ * Remove Michael Koch from uploaders, request by himself.
+ * Add the doc dir symlink for openjdk-6-jre-zero when the package
+ is built with shark support.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 28 Sep 2009 21:55:08 +0200
+
+openjdk-6 (6b16-1.6.1-1ubuntu1) karmic; urgency=low
+
+ * Fix dependency on the java bridge packages.
+ * debian/rules: Conditionalize stuff so that the recent release
+ is never mentioned.
+ * Remove obsolete patches in debian/patches.
+ * Rebuild on armel to fix up libffi for the soft float abi.
+ * For jaunty builds, fix IcedTeaPlugin failure to start with xulrunner 1.9.1
+ (LP: #359407).
+ - debian/patches/icedtea-plugin-use-runtime-nsIProcess-IID.diff: Add.
+ - debian/rules: Apply it for jaunty builds.
+ * Use pulseaudio as default serviceprovider for
+ javax.sound.midi.MidiSystem and javax.sound.sampled.AudioSystem.
+ LP: #407299.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 26 Sep 2009 16:01:48 +0200
+
+openjdk-6 (6b16-1.6.1-1) unstable; urgency=low
+
+ * Upload to Debian unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 15 Sep 2009 02:17:03 +0200
+
+openjdk-6 (6b16-1.6.1-0ubuntu1) karmic; urgency=low
+
+ * Update IcedTea6 to the 1.6.1 release.
+ * Work around GCC PR target/41327, build the JDK on s390 with -O2.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 10 Sep 2009 01:55:08 +0200
+
+openjdk-6 (6b16-1.6-1) unstable; urgency=low
+
+ * Update IcedTea6 to the 1.6 release.
+ * Fix GCC build dependencies.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 09 Sep 2009 22:18:38 +0200
+
+openjdk-6 (6b16-1.6~pre2-1) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 28 Aug 2009 19:04:31 +0200
+
+openjdk-6 (6b16-1.6~pre2-0ubuntu1) karmic; urgency=low
+
+ * Update IcedTea from the 1.6 release branch:
+ - Fix buffer overflow in debugger's socket handler (Kees Cook).
+ https://bugs.openjdk.java.net/show_bug.cgi?id=100103. LP: #409736.
+ - plugin fixes.
+ * Move the pulseaudio recommendation to a suggestion, don't build-depend
+ on pulseaudio. Closes: #539394. LP: #361408.
+ * Build for armv6 (on armel).
+
+ [ Kees Cook ]
+ * debian/rules: Re-enable fortification and stack protector
+ (LP: #330713).
+ * Adding stack markings to the x86 assembly for not using executable
+ stack. LP: #419018.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 28 Aug 2009 18:51:34 +0200
+
+openjdk-6 (6b16-1.6~pre1-0ubuntu1) karmic; urgency=low
+
+ * Test build (icedtea6-1.6 release branch).
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 21 Aug 2009 19:44:42 +0200
+
+openjdk-6 (6b16~pre5-0ubuntu2) karmic; urgency=low
+
+ * Add explicit build dependency on libgtk2.0-dev.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 06 Aug 2009 11:39:14 +0200
+
+openjdk-6 (6b16~pre5-0ubuntu1) karmic; urgency=low
+
+ * Bump hotspot to hs14b16.
+ * Update IcedTea build infrastructure (20090805).
+ * patches/java-access-bridge-security.patch: Update.
+ * Build-depend on xulrunner-dev instead of xulrunner-1.9-dev on karmic.
+ * Don't recommend the jck fonts anymore, just suggest them; the appropriate
+ fonts are installed as dependencies of the language packs.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 06 Aug 2009 10:27:09 +0200
+
+openjdk-6 (6b16~pre4-0ubuntu7) karmic; urgency=low
+
+ * Build using GCC-4.4 on sparc as well, require 4.4.1.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 23 Jul 2009 18:23:14 +0200
+
+openjdk-6 (6b16~pre4-0ubuntu6) karmic; urgency=low
+
+ * Fix build failure building the zero VM.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 16 Jul 2009 09:49:36 -0400
+
+openjdk-6 (6b16~pre4-0ubuntu5) karmic; urgency=low
+
+ [Matthias Klose]
+ * Update IcedTea build infrastructure (20090715).
+ * Tighten build dependency on llvm-dev.
+
+ [Edward Nevill]
+ * Add armv4 compatibility.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 15 Jul 2009 15:40:44 -0400
+
+openjdk-6 (6b16~pre4-0ubuntu4) karmic; urgency=low
+
+ [Edward Nevill]
+ * Added Bytecode Interpreter Generator.
+ * Added ARM templates for above.
+ * Removed old optimised ARM assebler.
+ * Added -g0 because of problems with ld linking -g.
+ * Changed alignment to 64 now that as bug is fixed.
+
+ [Matthias Klose]
+ * Update IcedTea build infrastructure (20090710).
+ * Let the -jre package depend on the access-bridge package, not the
+ -jre-headless package. LP: #395074.
+ * Suggested by Ed Nevill:
+ - Pass -timeout:3 when running the jtreg testsuite on zero architectures.
+ - Pass -Xmx256M -vmoption:-Xmx256M on armel for the jtreg testsuite run.
+ * Tighten build dependency on llvm-dev.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 03 Jul 2009 18:32:50 +0200
+
+openjdk-6 (6b16~pre4-0ubuntu3) karmic; urgency=low
+
+ * Update zero-port-opt patch on armel.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 24 Jun 2009 10:48:48 +0200
+
+openjdk-6 (6b16~pre4-0ubuntu2) karmic; urgency=low
+
+ * Update IcedTea build infrastructure (20090623).
+ * Reapply the zero-port-opt patch on armel.
+ * Do not use the IPA Mona font family by default. Closes: #521233.
+ * Build cacao with -fno-strict-aliasing.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 23 Jun 2009 16:23:38 +0200
+
+openjdk-6 (6b16-4) unstable; urgency=medium
+
+ * Build the zero binary package when building with shark.
+ * Build-depend on cpio. Closes: #532963.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 16 Jun 2009 07:52:19 +0200
+
+openjdk-6 (6b16-3) unstable; urgency=low
+
+ * Update IcedTea build infrastructure (20090612).
+ * Install the libaccess-bridge-java* symlinks again.
+ * Build zero on ix86 architectures with JIT support (shark). To use the zero
+ build without shark, use the `-Xint' option to operate in interpreted-only
+ mode.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 12 Jun 2009 17:31:34 +0200
+
+openjdk-6 (6b16-2) unstable; urgency=low
+
+ * Don't install libaccess-bridge-java* symlinks until
+ libaccess-bridge-java-jni is available on all architectures.
+ * Add missing build dependency on cacao-source.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 18 May 2009 14:02:59 +0200
+
+openjdk-6 (6b16-1) unstable; urgency=low
+
+ * Upload to unstable, based in 6b16 and IcedTea 1.5.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 17 May 2009 23:02:46 +0200
+
+openjdk-6 (6b16~pre3-0ubuntu1) karmic; urgency=low
+
+ * Update to hotspot hs14b15.
+ * Provide symlink for libjava-access-bridge-jni.so. LP: #375347.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 15 May 2009 00:41:24 +0200
+
+openjdk-6 (6b16~pre2-0ubuntu3) karmic; urgency=low
+
+ * Update IcedTea build infrastructure (20090513).
+ * Fix build failure when xvfb-run doesn't work, trying to access a
+ non-existing directory.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 13 May 2009 23:01:23 +0200
+
+openjdk-6 (6b16~pre2-0ubuntu2) karmic; urgency=low
+
+ * Add libffi-dev as architecture independent build dependency.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 11 May 2009 08:41:42 +0200
+
+openjdk-6 (6b16~pre2-0ubuntu1) karmic; urgency=low
+
+ * Update to re-tagged code drop (b16).
+ * Update IcedTea build infrastructure (20090510).
+ * Remove patches integrated in IcedTea.
+ * Remove GCJ Web Plugin support.
+ * Remove build infrastructure to build additional VM's, integrated
+ in IcedTea.
+ * Stop building the openjdk-6-source-files package.
+ * README.Debian: Document using the different VM's.
+ * Use GCC-4.3 on sparc, ICE with GCC-4.4.
+ * Fix problem with the ARM assembler interpreter, when executing a 'new'
+ bytecode with a double on the top of the stack (Edward Nevill).
+ * Run the testsuite for the zero build on ix86 architectures.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 10 May 2009 23:37:42 +0200
+
+openjdk-6 (6b16~pre1-0ubuntu1) karmic; urgency=low
+
+ * New code drop (b16).
+ * Update IcedTea build infrastructure (20090429).
+ * Merge changes from 6b14-1.4.1.
+ * Fix section names (using the java section).
+ * Remove all UTF-8 sequence definitions from the font configuration.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 29 Apr 2009 11:33:07 +0200
+
+openjdk-6 (6b14-1.4.1-0ubuntu9) jaunty; urgency=low
+
+ * Reenable the testsuite (revert the change in last upload).
+ * Apply fix for the ARM bytecode interpreter (Edward Nevill).
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 18 Apr 2009 11:24:27 +0200
+
+openjdk-6 (6b14-1.4.1-0ubuntu7) jaunty; urgency=low
+
+ * Don't use some indian fonts with diverging font metrics for the
+ latin-1.UTF-8 encoding. LP: #289784.
+ * Disable running the testsuite for this build (no code changes compared
+ to the previous upload).
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 14 Apr 2009 11:46:25 +0200
+
+openjdk-6 (6b14-1.4.1-0ubuntu6) jaunty; urgency=low
+
+ * Fix native2ascii jdk test case, which let the jdk testsuite fail.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 10 Apr 2009 11:58:44 +0200
+
+openjdk-6 (6b14-1.4.1-0ubuntu5) jaunty; urgency=low
+
+ [Matthias Klose]
+ * Update to the final CACAO 0.99.4 release.
+ * Security Vulnerability Fixes for OpenJDK:
+ - 6522586: Enforce limits on Font creation.
+ - 6536193: flaw in UTF8XmlOutput.
+ - 6610888: Potential use of cleared of incorrect acc in JMX Monitor.
+ - 6610896: JMX Monitor handles thread groups incorrectly.
+ - 6630639: lightweight HttpServer leaks file descriptors on no-data
+ connections.
+ - 6632886: Font.createFont can be persuaded to leak temporary files.
+ - 6636360: compiler/6595044/Main.java test fails with 64bit java on
+ solaris-sparcv9 with SIGSEGV.
+ - 6652463: MediaSize constructors allow to redefine the mapping of
+ standard MediaSizeName values.
+ - 6652929: Font.createFont(int,File) trusts File.getPath.
+ - 6656633: getNotificationInfo methods static mutable (findbugs).
+ - 6658158: Mutable statics in SAAJ (findbugs).
+ - 6658163: txw2.DatatypeWriter.BUILDIN is a mutable static (findbugs).
+ - 6691246: Thread context class loader can be set using JMX remote
+ ClientNotifForwarded.
+ - 6717680: LdapCtx does not close the connection if initialization fails.
+ - 6721651: Security problem with out-of-the-box management.
+ - 6737315: LDAP serialized data vulnerability.
+ - 6792554: Java JAR Pack200 header checks are insufficent.
+ - 6804996: JWS PNG Decoding Integer Overflow [V-flrhat2ln8].
+ - 6804997: JWS GIF Decoding Heap Corruption [V-r687oxuocp].
+ - 6804998: JRE GIF Decoding Heap Corruption [V-y6g5jlm8e1].
+ * Add security patch for the lcms library.
+ * Add accessibility patches java-access-bridge-security.patch and
+ accessible-toolkit.patch.
+ * Merge fixes for testsuite failures from the IcedTea6 branch.
+ * Merge the proxy support for the plugin from the IcedTea6 branch.
+ * Merge http://icedtea.classpath.org/hg/release/icedtea6-1.4.1/rev/546ef0cdee06
+ (TJ). LP: #344705.
+ * Add a Xb-Npp-Description for the IcedTea plugin. LP: #272010.
+
+ [Edward Nevill]
+ * Put VFP back in - selects VFP / novfp autmatically
+ * More assembler optimisations
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 09 Apr 2009 14:14:12 +0200
+
+openjdk-6 (6b14-1.4.1-0ubuntu4) jaunty; urgency=low
+
+ * Disable the additional zero JVM on sparc.
+ * patches/hotspot/default/icedtea-includedb.patch: Add missing include in
+ openjdk/hotspot/src/share/vm/includeDB_core.
+ * Fix build failure of the zero VM on lpia with a fixed GCC.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 13 Mar 2009 16:39:27 +0100
+
+openjdk-6 (6b14-1.4.1-0ubuntu3) jaunty; urgency=low
+
+ * Build the Zero/Shark VM as an additional JVM (call as `java -zero').
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 07 Mar 2009 20:54:28 +0100
+
+openjdk-6 (6b14-1.4.1-0ubuntu2) jaunty; urgency=low
+
+ * Fix zero-port-opt patching (build failure on armel).
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 05 Mar 2009 18:19:18 +0100
+
+openjdk-6 (6b14-1.4.1-0ubuntu1) jaunty; urgency=low
+
+ * Update IcedTea to the 1.4.1 release.
+ * Build the Cacao VM as an additional JVM (call as `java -cacao').
+ * Build in separate build directory.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 05 Mar 2009 15:16:02 +0100
+
+openjdk-6 (6b14-1.5~pre1-5) unstable; urgency=low
+
+ * Fix build failure on armel.
+ * Require the final cacao-0.99.4 release.
+ * Add /usr/lib/jni to the library path. Closes: #517338.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 17 Mar 2009 09:37:20 +0100
+
+openjdk-6 (6b14-1.5~pre1-4) unstable; urgency=low
+
+ * Disable the additional zero JVM on sparc.
+ * Fix casts in hotspot on s390. Closes: #518823.
+ * Add special flags for javac on s390 to work around a VM problem with bad
+ code generation during inlining.
+ * Run the testsuites for the default VM on all architectures.
+ * Update IcedTea (20090314).
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 14 Mar 2009 18:29:49 +0100
+
+openjdk-6 (6b14-1.5~pre1-3) unstable; urgency=low
+
+ * Don't configure the additional zero JVM with --enable-shark, currently
+ fails to build.
+ * Don't build the JDK when building the additional zero JVM.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 07 Mar 2009 21:11:16 +0100
+
+openjdk-6 (6b14-1.5~pre1-2) experimental; urgency=low
+
+ * Build the Zero/Shark VM as an additional JVM (call as `java -zero').
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 06 Mar 2009 11:16:07 +0100
+
+openjdk-6 (6b14-1.5~pre1-0ubuntu1) jaunty; urgency=low
+
+ * Update hotspot to 14.0-b10.
+ * Update IcedTea (20090305).
+ * Build the Cacao VM as an additional JVM (call as `java -cacao').
+ * Build in separate build directory.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 05 Mar 2009 15:16:02 +0100
+
+openjdk-6 (6b14-0ubuntu17) jaunty; urgency=low
+
+ [ Edward Nevill ]
+ * Remove VFP from asm loop
+ * Disble the mauve testsuite for armel.
+
+ [Matthias Klose]
+ * Update IcedTea (20090302).
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 02 Mar 2009 16:18:01 +0100
+
+openjdk-6 (6b14-0ubuntu16) jaunty; urgency=low
+
+ * Regenerate auto files.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 18 Feb 2009 15:20:10 +0100
+
+openjdk-6 (6b14-0ubuntu15) jaunty; urgency=low
+
+ [ Edward Nevill ]
+ * Added ARM assembler interpreter loop
+ * mauve and jtreg removed again for alpha release
+
+ [Matthias Klose]
+ * Update IcedTea (20090218).
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 18 Feb 2009 13:35:02 +0100
+
+openjdk-6 (6b14-0ubuntu14) jaunty; urgency=low
+
+ * Configure with --disable-nio2 on armel as well.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 13 Feb 2009 10:13:55 +0100
+
+openjdk-6 (6b14-0ubuntu13) jaunty; urgency=low
+
+ * Really configure with --disable-nio2.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 12 Feb 2009 17:26:43 +0100
+
+openjdk-6 (6b14-0ubuntu12) jaunty; urgency=low
+
+ * Configure with --disable-nio2.
+ * Run mauve and jtreg testsuites on armel.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 11 Feb 2009 13:00:15 +0100
+
+openjdk-6 (6b14-0ubuntu11) jaunty; urgency=low
+
+ [Edward Nevill]
+ * Performance improvements for the zero build (currently applied
+ on armel only).
+
+ [Matthias Klose]
+ * Update IcedTea (20090210).
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 10 Feb 2009 15:29:22 +0100
+
+openjdk-6 (6b14-0ubuntu10) jaunty; urgency=low
+
+ * Explicitely remove PulseAudioMuteControl.java.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 26 Jan 2009 22:09:21 +0100
+
+openjdk-6 (6b14-0ubuntu9.1) jaunty; urgency=low
+
+ * Test build.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 25 Jan 2009 17:03:51 +0100
+
+openjdk-6 (6b14-0ubuntu9) jaunty; urgency=low
+
+ * Update IcedTea build infrastructure (20090125).
+ * Run the jtreg testsuite for cacao builds, save all test logs.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 25 Jan 2009 15:40:52 +0100
+
+openjdk-6 (6b14-0ubuntu8) jaunty; urgency=low
+
+ * Fix merge error, don't apply patches twice.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 19 Jan 2009 01:15:19 +0100
+
+openjdk-6 (6b14-0ubuntu7) jaunty; urgency=low
+
+ * debian/rules: Call dh_desktop. LP: #309999.
+ * Add dependency on libjpeg62 for the -headless package. LP: #318383.
+ * Test some jtreg tests which fail in samevm mode in a separate VM.
+ * Build all with -fno-stack-protector -U_FORTIFY_SOURCE.
+ * Include jtr files of failed tests in the -jdk package.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 19 Jan 2009 00:23:22 +0100
+
+openjdk-6 (6b14-0ubuntu6) jaunty; urgency=low
+
+ * The -source package now contains all source files. Closes: #504568.
+ * The 6b14 build fixes the following security related issues (sun bug number,
+ CVE, description):
+ - 6588160, CVE-2008-5348: jaas krb5 client leaks OS-level UDP sockets.
+ - 6497740, CVE-2009-5349: Limit the size of RSA public keys.
+ - 6484091, CVE-2008-5350: FileSystemView leaks directory info.
+ - 4486841, CVE-2008-5351: UTF-8 decoder needed adhere to Unicode 3.0.1
+ fixes.
+ - 6755943, CVE-2008-5352: JAR decompression should enforce stricter header
+ checks.
+ - 6734167, CVE-2008-5353: Calendar.readObject allows elevation of
+ privileges.
+ - 6733959, CVE-2008-5354: Insufficient checks for "Main-Class" manifest
+ entry in JAR files
+ - 6751322, CVE-2008-5356: Sun Java JRE TrueType Font Parsing Heap Overflow.
+ - 6733336, CVE-2008-5357: Crash on malformed font.
+ - 6766136, CVE-2008-5358: corrupted gif image may cause crash in java
+ splashscreen library.
+ - 6726779, CVE-2008-5359: ConvolveOp on USHORT raster can cause the JVM
+ crash.
+ - 6721753, CVE-2008-5360: File.createTempFile produces guessable file names.
+ - 6592792: Add com.sun.xml.internal to the "package.access" property in
+ $JAVA_HOME/lib/security/java.security.
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 13 Jan 2009 15:04:36 +0100
+
+openjdk-6 (6b14-0ubuntu2~ppa1) intrepid; urgency=low
+
+ * Upload to the OpenJDK PPA for intrepid.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 13 Jan 2009 13:28:38 +0100
+
+openjdk-6 (6b14-0ubuntu5) jaunty; urgency=low
+
+ * Update IcedTea build infrastructure (20090113).
+ * Rebuild with updated nss/nspr packages.
+ * Update debug patches.
+ * debian/patches/nonreparenting-wm.diff: If the _JAVA_AWT_WM_NONREPARENTING
+ environment variable is set, disable all workarounds causing blank windows
+ in non-reparentizing window managers (Bernhard R. Link). Closes: #508650.
+ * Fix location of plugin for Debian. Closes: #505726.
+ * Let the -jdk package provide java-compiler. Closes: #507641.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 13 Jan 2009 10:18:44 +0100
+
+openjdk-6 (6b14-0ubuntu4) jaunty; urgency=low
+
+ * Use a default jvm.cfg not only for java, but for all jdk tools.
+ LP: #288616.
+ * Update IcedTea build infrastructure (20081223).
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 23 Dec 2008 09:24:23 +0100
+
+openjdk-6 (6b14-0ubuntu3) jaunty; urgency=low
+
+ * Update IcedTea build infrastructure (20081217).
+ * Add support for PARISC.
+ * Use a default jvm.cfg if the jvm.cfg doesn't yet exist after unpacking
+ the runtime package. LP: #288616.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 17 Dec 2008 09:58:26 +0100
+
+openjdk-6 (6b14~pre1-0ubuntu2) jaunty; urgency=low
+
+ * Install hotspot tarball in -source-files package.
+ * Fix build failure on sparc.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 05 Dec 2008 09:43:51 +0100
+
+openjdk-6 (6b14~pre1-0ubuntu1) jaunty; urgency=low
+
+ * New code drop (b14).
+ * Update IcedTea build infrastructure (20081204).
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 04 Dec 2008 11:40:56 +0100
+
+openjdk-6 (6b13~pre2-0ubuntu2) jaunty; urgency=low
+
+ * Update IcedTea build infrastructure (20081203).
+ - Fix build failures on zero based architectures.
+ * Add build dependency on libxrender-dev.
+ * Don't use fastjar on ia64, working around a build failure.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 03 Dec 2008 18:43:23 +0100
+
+openjdk-6 (6b13~pre2-0ubuntu1) jaunty; urgency=low
+
+ * Update IcedTea build infrastructure (20081202).
+ - Add Dec 3 OpenJDK security patches
+ * Build with --with-hotspot-build, update patches for this config.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 03 Dec 2008 01:05:54 +0100
+
+openjdk-6 (6b13~pre1-0ubuntu4) jaunty; urgency=low
+
+ * Update IcedTea build infrastructure (20081122).
+ - Fixes for the IcedTeaPlugin. LP: #300254.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 22 Nov 2008 10:42:10 +0100
+
+openjdk-6 (6b13~pre1-0ubuntu3) jaunty; urgency=low
+
+ * Fix versioned conflict on icedtea-gcjwebplugin. LP: #284299.
+ * Update IcedTea build infrastructure (20081121).
+ - Fixes for the IcedTeaPlugin.
+ * Configure with pulseaudio in jaunty.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 21 Nov 2008 07:46:10 +0100
+
+openjdk-6 (6b13~pre1-0ubuntu2) jaunty; urgency=low
+
+ * Update IcedTea build infrastructure (20081117).
+ * Use openjdk-6 as stage1 compiler on armel for a faster build.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 17 Nov 2008 18:43:17 +0100
+
+openjdk-6 (6b13~pre1-0ubuntu1) jaunty; urgency=low
+
+ * New code drop (b13).
+ - In the langtools area, besides a few miscellaneous bug fixes (6760834,
+ 6725036, 6657499), all the langtools regression tests now pass out of
+ the box (6728697, 6707027) and if using the most recent version of
+ jtreg, the langtools regression tests can be run in the much faster
+ "same vm" mode of jtreg, enabled with the -s option (6749967, 6748541,
+ 6748546, 6748601, 6759775, 6759795, 6759796, 6759996, 6760805, 6760930).
+ - Gervill update, including applying a patch from IcedTea (6758986,
+ 6748247, 6748251).
+ - Publishing a few dozen additional existing regression tests as open
+ source (6601457, 6759433, 6740185).
+ - JMX and monitoring fixes (6651382, 6616825, 6756202, 6754672).
+ - Man page updates (6757036, 6392810, 6504867, 6326773).
+ - Assorted other fixes (6746055, 6621697, 6756569, 6356642, 6761678).
+ * Update IcedTea build infrastructure (20081111).
+ - Fix freeze in midi app, LP: #275672.
+ - Fixes in the IcedTeaPlugin: LP: #282570, LP: #282570, LP: #285729,
+ LP: #291377, LP: #37330, LP: #239533.
+ - Fix vertical text metrics with freetype scaler. LP: #289784.
+ * Build-depend on ecj-gcj instead of ecj on architectures using
+ gij/gcj as the bootstrap system.
+ * Fixed in 6b12: Stack overflow running Kea. LP: #244731.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 11 Nov 2008 12:39:16 +0100
+
+openjdk-6 (6b12-1~exp1) experimental; urgency=low
+
+ * Update IcedTea build infrastructure (20081025).
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 25 Oct 2008 23:35:14 +0200
+
+openjdk-6 (6b12-0ubuntu6) intrepid; urgency=low
+
+ * Make the dependency on ca-certificates-java unversioned.
+ * Merge from IcedTea:
+ - plugin/icedtea/netscape/javascript/JSObject.java: Make
+ long constructor public.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 24 Oct 2008 23:06:32 +0200
+
+openjdk-6 (6b12-0ubuntu5) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20081024).
+ - Add --pkgversion=<package version> configure option.
+ - IcedTeaPlugin fixes.
+ - Fix xjc regressions.
+ * openjdk-jre-headless: Depend on ca-certificates-java.
+ * Configure with --pkgversion=<package version> to encode the package
+ version in the -version output and in vm dumps.
+ * cacao: Handle VM options Xverify:all and Xverify:none.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 24 Oct 2008 13:39:29 +0200
+
+openjdk-6 (6b12-0) experimental; urgency=low
+
+ * Upload to experimental.
+ * Pretend the availability of at least 384MB RAM; better swap on the
+ buildds than failing the build.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Oct 2008 11:15:28 +0200
+
+openjdk-6 (6b12-0ubuntu4) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20081019).
+ - plugin fix (Make applet size factors doubles instead of ints).
+ * Don't fail the build when the jtreg summary is missing.
+ * openjdk-6-source-files: Fix priority and section of the binary package.
+ * Fix section of the plugin package.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Oct 2008 09:29:03 +0200
+
+openjdk-6 (6b12-0ubuntu3) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20081018).
+ - Fix LiveConnect issues in the web plugin. LP: #282762.
+ - Fail the build, if patches don't apply.
+ * Show xvfb and xauth failures in the build log, when running the testsuites.
+ * Kill processes which still hang after running the testsuite. Closes: #493339.
+ * Run the testsuite in parallel, reducing build time.
+ * openjdk-headless: Depend instead of recommending tzdata-java.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 18 Oct 2008 17:15:14 +0200
+
+openjdk-6 (6b12-0ubuntu2) intrepid; urgency=low
+
+ * icedtea6-plugin: Versioned conflict with icedtea-gcjwebplugin. LP: #184299.
+ * Don't configure --with-alt-jar=/usr/bin/fastjar on hotspot archs
+ and cacao builds. Working around a problem generating rt.jar. Manually
+ add the netscape/javascript files in zero builds.
+ * Update IcedTea build infrastructure (20081017).
+ - configury updates.
+ - IcedTeaPlugin update.
+ * openjdk-6-jdk: Suggest visualvm.
+ * Remove cacao patches found in cacao 0.99.4~20081012.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 17 Oct 2008 13:25:45 +0200
+
+openjdk-6 (6b12-0ubuntu1) intrepid; urgency=low
+
+ * Update IcedTea to the 1.3.0 release.
+ * Apply upstream patch to fix upstream issue 6758986.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 15 Oct 2008 19:49:05 +0000
+
+openjdk-6 (6b12~pre2-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 12 Oct 2008 11:16:03 +0000
+
+openjdk-6 (6b12~pre2-0ubuntu3) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20081015).
+ * Add netscape/javascript class files to rt.jar. LP: #282762.
+ * Be more verbose in the icedtea6-plugin package description.
+ * Fix some lintian warnings.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 15 Oct 2008 12:45:59 +0200
+
+openjdk-6 (6b12~pre2-0ubuntu2) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20081012).
+ * When building as cacao, build a cacao-oj6-plugin package.
+ * When building as cacao, run the testsuite on amd64, i386, sparc.
+ * Add finnish translations to the desktop files (Timo Jyrinki).
+ Closes: #494354.
+ * Fix font paths (Rob Gom). Closes: #495988.
+ * Reenable running the testsuite.
+ * Fix pulse-java build failure on amd64.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 12 Oct 2008 13:05:49 +0200
+
+openjdk-6 (6b12~pre2-0ubuntu1) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20081011).
+ * debian/copyright: Add copyright notice for pulseaudio sound files.
+ * Add support to build with pulseaudio support.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 11 Oct 2008 15:44:50 +0200
+
+openjdk-6 (6b12~pre1-0ubuntu5) intrepid; urgency=low
+
+ * Move the plugin from the -jre package into the -plugin package.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 10 Oct 2008 06:55:34 +0000
+
+openjdk-6 (6b12~pre1-0ubuntu4) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20081009).
+ * Configure with --enable-liveconnect, build an icedtea6-plugin package.
+ Thanks to Deepak Bhole.
+ LP: #207064, #195783, #199680, #202762, #220241, #242263, #242496,
+ #242496, #250292, #269885, #274356, #274360, #259313.
+ * Build an icedtea6-plugin package.
+ * Merge changes from 6b11-9 packaging.
+ * Build a openjdk-6-source-files packages (used as a build dependency
+ of cacao-oj6).
+ * Build depend on cacao-source for cacao-oj6 builds.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 09 Oct 2008 15:04:27 +0200
+
+openjdk-6 (6b12~pre1-0ubuntu3) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20080915).
+ * Reapply: openjdk-6-jre-headless: Make libnss-mdns a suggestion
+ instead of a recommendation. LP: #261847.
+ * Build-depend against fixed fastjar. LP: #267177.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 15 Sep 2008 20:16:51 +0200
+
+openjdk-6 (6b12~pre1-0ubuntu2) intrepid; urgency=low
+
+ * Update the icedtea-hotspot patch to b12, fixing build failures
+ on zero archs (ia64, powerpc).
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 13 Sep 2008 11:48:44 +0200
+
+openjdk-6 (6b12~pre1-0ubuntu1) intrepid; urgency=low
+
+ * New code drop (b12).
+ * Update IcedTea build infrastructure (20080912).
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 13 Sep 2008 00:41:42 +0200
+
+openjdk-6 (6b11-6) unstable; urgency=low
+
+ * Set minimum heap size independent of available memory for cacao builds.
+ * Link the wrapper tools with -rdynamic for cacao builds.
+ * Update cacao based builds:
+ - Update cacao to 0.99.3, remove patches applied upstream.
+ - Fix build failures on mipsel-linux.
+ * Allow setting of the bootstrap compiler per architecture.
+ * Configure --with-alt-jar set to fastjar to speed up builds.
+ * Update IcedTea build infrastructure (20080815), remove local patches
+ integrated in IcedTea.
+ - Make use of unsigned/signed types explicit.
+ - Fix PR icedtea/184, adding support for returning floats and doubles
+ for zero builds.
+ - Fix Fix PR icedtea/181, class type checks.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 15 Aug 2008 16:59:48 +0000
+
+openjdk-6 (6b11-5) unstable; urgency=low
+
+ * debian/rules (stamps/mauve-build): Configure with --host and --build.
+ * openjdk-6-jdk: Recommend libxt-dev (jawt_md.h header includes).
+ * Fix build issues on s390 (size_t is unsigned long).
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 03 Aug 2008 20:05:44 +0200
+
+openjdk-6 (6b11-4) unstable; urgency=low
+
+ * Update IcedTea build infrastructure (20080801).
+ - Fix typo, causing build failure on mipsel.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 01 Aug 2008 01:25:51 +0200
+
+openjdk-6 (6b11-3) unstable; urgency=low
+
+ * Include the name of the VM used in the package description.
+ * Update IcedTea build infrastructure (20080731).
+ * Build for alpha, arm, mips and mipsel.
+ * Switch from libcupsys2(-dev) to libcups2(-dev) for newer releases.
+ (Closes: #492384)
+ * Add symlinks for header files found in JAVA_HOME/include/linux in
+ JAVA_HOME/include.
+ * openjdk-6-jre: Don' recommend lesstif2 anymore.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 31 Jul 2008 17:16:59 +0200
+
+openjdk-6 (6b11-2ubuntu1) intrepid; urgency=low
+
+ * xvfb seems to be broken when running with intrepid and an intrepid kernel.
+ Nevertheless, run xvfb-run -s "-extension GLX" on the buildds (hardy kernels).
+ * Stop the buildwatch process after the testsuite finishes.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 25 Jul 2008 12:33:44 +0200
+
+openjdk-6 (6b11-2) unstable; urgency=low
+
+ * Update IcedTea build infrastructure (20080724).
+ * debian/buildwatch.sh: Track long building files with no visible output.
+ * Fix build failure when not running the mauve testsuite.
+ * Disable running the testsuite for cacao builds (leaving processes around).
+ * Don't set a soversion for the cacao libjvm.
+ * Configure with --host and --build.
+ * Call xvfb-run with -s "-extension GLX".
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 24 Jul 2008 22:25:30 +0200
+
+openjdk-6 (6b11-1ubuntu2) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20080724).
+ * debian/buildwatch.sh: Track long building files with no visible output.
+ * Fix build failure when not running the mauve testsuite.
+ * Disable running the testsuite for cacao builds (leaving processes around).
+ * Don't set a soversion for the cacao libjvm.
+ * Configure with --host and --build.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 24 Jul 2008 17:58:53 +0200
+
+openjdk-6 (6b11-1ubuntu1) intrepid; urgency=low
+
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 23 Jul 2008 00:42:16 +0200
+
+openjdk-6 (6b11-1) unstable; urgency=low
+
+ * New code drop (b11).
+ * Update IcedTea build infrastructure (20080721).
+ * debian/generate-dfsg.sh: Update for b11.
+ * debian/patches/const_strings.patch, debian/patches/issue-6659207.diff:
+ Remove, applied upstream.
+ * debian/generate-debian-orig.sh: Fix /proc check.
+ * debian/control.in: Loosen dependency of -jre-lib on -jre.
+ * Support `nodocs' in DEB_BUILD_OPTIONS.
+ * Remove build-dependency on lesstif2-dev.
+ * Bootstrap using gcj on all archs; the 6b10dfsg-2 packages are broken.
+ * Run the jtreg harness in a virtual X environment.
+ * Install javazic.jar in the jre-lib package.
+ * Don't run the testsuite on arm; the build already takes days; only
+ run the testsuite on hotspot archs and powerpc.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 23 Jul 2008 00:28:12 +0200
+
+openjdk-6 (6b10dfsg-2) unstable; urgency=low
+
+ * Update IcedTea build infrastructure (20080714).
+ * On arm configure cacao builds with --enable-softfloat.
+ * Don't run the mauve testsuite for cacao builds (hangs the test runner
+ process).
+ * Don't configure cacao builds with --enable/-disable-zero.
+ * Don't remove alternatives on upgrade.
+ * debian/copyright: Add license for NanoXML.
+ * Do recommends ttf-indic-fonts instead of ttf-indic-fonts-core for
+ lenny and sid. Closes: #490619.
+ * Ignore errors when registering the jar binfmt. The alternative may
+ already be registered by another JVM. Closes: #490594.
+ * openjdk-6-jre-headless: Depend on ttf-dejavu-core instead of ttf-dejavu.
+ * On amd64, i386 and sparc, bootstrap using openjdk.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 14 Jul 2008 19:41:19 +0200
+
+openjdk-6 (6b10dfsg-1ubuntu2) intrepid; urgency=low
+
+ * Update IcedTea build infrastructure (20080702).
+ - Do not configure --with-shark by default.
+ - Update license headers from jdk7.
+ * Start debian/buildwatch.sh for armel and sparc builds as well.
+ * Allow configuration with --with-cacao.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 30 Jun 2008 13:30:06 +0200
+
+openjdk-6 (6b10dfsg-1ubuntu1) intrepid; urgency=low
+
+ * The rebuilt upstream tarball now has GPL-compatible free software licenses
+ and documented copyrights and licenses. LP: #238569.
+ * Fixed name of the xulrunner-1.9-javaplugin.so in the .jinfo file.
+ LP: #226911.
+ * Ignore errors during activation of class data sharing. Closes: #490617,
+ #490672.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 30 Jun 2008 13:30:06 +0200
+
+openjdk-6 (6b10dfsg-1) unstable; urgency=low
+
+ * Rebuild the upstream tar ball:
+ - Remove the jscheme jar files.
+ - Apply the patch from Iris Clark (Sun) for the copyright headers
+ (http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=141#c4).
+ - Remove jdk/src/share/classes/java/lang/instrument/package.html.
+ - Upload to main.
+ * Update IcedTea build infrastructure (20080628).
+ * Build an openjdk-6-dbg package.
+ * patches/gcc-mtune-generic.diff: Fix typo.
+ * openjdk-6-jre: Depend on ttf-dejavu.
+ * debian/copyright: Add two more copyright holders, not directly
+ mentioned in the third party readme.
+ Replace Apache 2.0 license with pointer to common-licenses.
+ * Fix more lintian warnings.
+ * debian/sun_java_app.xpm: Downsize icon to 32x32 pixels.
+ * Build-depend/depend on rhino.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 29 Jun 2008 17:42:51 +0200
+
+openjdk-6 (6b10-1) unstable; urgency=low
+
+ * New code drop (b10).
+ - Still some non-compliant license headers found in
+ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl.
+ - Upload to non-free.
+ * Update IcedTea build infrastructure (20080603).
+ * In fontconfig.properties, fix Korean font names and add paths to the Luxi
+ fonts for Motif. Add fonts for Indic languages.
+ * Install compilefontconfig.jar in openjdk-6-jre-lib package.
+ * Run the testsuites of hotspot, langtools and jdk.
+ * Include the jscheme-5.0 sources in the tarball, mention the jscheme
+ licenses in debian/copyright.
+ * Use the certificates provided by the ca-certificates-java package.
+ * More fontconfig updates (Arne Goetje).
+ * Fix some lintian warnings.
+ * Correct build-dependency for openjdk based bootstraps.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 04 Jun 2008 01:46:52 +0200
+
+openjdk-6 (6b09-1~pre1) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * New code drop (b09).
+ * Update IcedTea build infrastructure (20080528).
+ - Add missing color profiles. LP: #225174.
+ - Moved system properties defined in hotspot to TrustManagerFactoryImpl.
+ LP: #224455.
+ * 6636469_v4.diff: Remove, committed in IcedTea.
+ * debian/control: Update Vcs-* attributes.
+ * debian/JB-jre-headless.p*.in: Fix update-binfmts calls.
+ * Compress the man pages, fixing the slave symlinks of the alternatives.
+ * javaws.desktop: Add `%u' to the Exec key, remove -viewer option.
+ * openjdk-6-jre-headless: Recommends libnss-mdns.
+ * openjdk-6-jre-headless: Warn about unmounted /proc file system.
+ * debian/JB-jre.mime.in: Remove the -viewer option from command (Tan Rui
+ Boon).
+ * Add a `docs' symlink pointing to /usr/share/doc/openjdk-6. LP: #218405.
+ * Set maintainer to the team list.
+ * Add copyright notices for patches and generated files.
+ * Add helper scripts to modify upstream tarball and generate the debian
+ tarball.
+ * Fix names for browser alternatives in jinfo file, set browser_plugin_dirs
+ unconditionally.
+ * Recommend the ttf-wqy-zenhei font instead of ttf-arphic-uming, if the
+ latter is available in Truetype Collection (TTC) format only, add the
+ fontconfig changes as a patch.
+ * Make the cjk font packages configurable in the control file.
+ * Use GCC-4.3 on all platforms where available.
+ * Install a config file swing.properties, allowing a user to change
+ the default look and feel. LP: #229112.
+ * When trying to determine the executable name reading /proc/self/exe,
+ discard known prefixes used for unionfs mounts. LP: #224110.
+ * Explicitely configure with --disable-zero on hotspot architectures.
+ * Add fix for issue 6659207, access violation in CompilerThread0.
+ Addresses #478560. Needs checking: LP: #229207.
+ * Disable building the docs on ia64, powerpc and sparc, we don't build
+ architecture independent packages on these architectures.
+ * Explicitely configure --with-parallel-jobs, needed by the updated IcedTea.
+ * Backport the linux-sparc patches, enable building on sparc. LP: #154080.
+ * Don't use an absolute path calling the compiler.
+ * Replace the OpenJDK version in desktop and menu files.
+ * Install menu files.
+ * Install openjdk-6-java.desktop in -jre, instead of -jre-headless.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 14 May 2008 08:49:54 +0200
+
+openjdk-6 (6b08-1) unstable; urgency=low
+
+ [ Torsten Werner ]
+ * first upload to Debian (Closes: #452750)
+ * Regenerate debian/control.
+ * Switch to bzip2 package compression in Debian but leave lzma compression
+ in Ubuntu.
+ * Temporarily downgrade Depends: tzdata-java to Recommends until the package
+ becomes available in Debian.
+ * Add myself to Uploaders.
+ * Do not install extras license file in openjdk-6-jre-lib.
+ * Add patch shebang.diff to fix a lintian warning.
+ * Install openjdk-6-java.desktop into the correct binary package.
+ * Improve some package descriptions.
+ * Remove some empty directories from binary packages.
+ * Install README.Debian in every binary package and give it some useful
+ content.
+ * Install java-rmi.cgi in package openjdk-6-jre-headless and mention it in
+ README.Debian.
+ * Install /usr/bin/jexec via update-alternatives.
+ * Downgrade Depends: java-common (>= 0.28).
+ * Add patch jexec.diff to make the jexec binary executable without
+ specifying an absolute path.
+ * Add Build-Depends: xauth and xfonts-base for mauve.
+ * Update and install the lintian override files.
+ * Replace all occurences of binary:Version and source:Version by
+ Source-Version to be compatible with Ubuntu release 6.06.
+ * Remove Conflicts: gcjwebplugin.
+
+ [ Michael Koch ]
+ * Fixed Vcs-Bzr and Vcs-Browser fields.
+ * Removed Encoding entry from all debian/*.desktop.in files.
+
+ [ Matthias Klose ]
+ * Make Java Full Screen Exclusive Mode work again with Xorg Server 1.3
+ and above (Dan Munckton). LP: #154613 (Java bug 6636469).
+ * Configure with --enable-zero on all archs except amd64, i386, lpia.
+ * Update IcedTea build infrastructure.
+ * Handle binary files in updates of the build infrastructure.
+ * Enable bootstrap/normal builds per architecture.
+ * javaws-wrapper.sh: Use readlink --canonicalize. LP: #211515.
+ * binfmt-support: Handle /usr/share/binfmts/jar as a slave symlink of
+ the jexec alternative, install the binfmt file in the jre libdir.
+ Use the jexec alternative in the binfmt file.
+ * JB-jre-headless.postinst.in: Remove sun-java6 specific chunks.
+ * Differentiate between the openjdk version required as dependency and
+ as build dependency.
+
+ -- Torsten Werner <twerner@debian.org> Wed, 09 Apr 2008 10:12:55 +0200
+
+openjdk-6 (6b08-0ubuntu1) hardy; urgency=low
+
+ * New code drop (b08).
+ * Update IcedTea build infrastructure.
+ * Move binfmt-support references from -jre to -jre-headless package.
+ * Don't fail on purge, if /var/lib/binfmts/openjdk-6 is missing. LP: #206721.
+ * Only use the basename for icons in desktop files. LP: #207413.
+ * Install javaws(1). LP: #191297.
+ * Install a wrapper script for javaws, which calls `javaws -viewer' if no
+ arguments are given (or else starting javaws from the desktop menu
+ would not do anything).
+ * debian/JB-web-start.applications.in: Remove the -viewer option from command.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 28 Mar 2008 16:10:32 +0000
+
+openjdk-6 (6b07-0ubuntu1) hardy; urgency=low
+
+ * New code drop (b07).
+ * Update IcedTea build infrastructure.
+ * debian/copyright: Update to OpenJDK Trademark Notice v1.1.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 22 Mar 2008 22:41:42 +0100
+
+openjdk-6 (6b06-0ubuntu12) hardy; urgency=low
+
+ * Update icon locations in menu files.
+ * openjdk-6-jre-headless: Provide java-virtual-machine. LP: #189953.
+ * openjdk-6-jre-headless: Add a conflict to gcjwebplugin; for openjdk
+ use the icetea-gcjwebplugin, for gij the java-gcj-compat-plugin.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 22 Mar 2008 20:12:41 +0100
+
+openjdk-6 (6b06-0ubuntu11) hardy; urgency=low
+
+ * Update IcedTea to 20080319.
+ * Move rt.jar into the openjdk-6-jre-headless package; sun/awt/X11
+ class files differ between amd64 and i386.
+ * Install all desktop files in /usr/share/applications.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 19 Mar 2008 23:53:36 +0100
+
+openjdk-6 (6b06-0ubuntu10) hardy; urgency=low
+
+ * Remove print-lsb-release.patch, forwarded to IcedTea.
+ * Fix IcedTea configure to detect libffi without pkg-config.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 12 Mar 2008 20:28:55 +0100
+
+openjdk-6 (6b06-0ubuntu9) hardy; urgency=low
+
+ * Build-depend on libffi4-dev on architectures other than amd64, i386, lpia.
+ * Install icons in /usr/share/pixmaps, not /usr/share/icons.
+ * debian/rules: Call dh_icons.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 12 Mar 2008 11:34:44 +0100
+
+openjdk-6 (6b06-0ubuntu8) hardy; urgency=low
+
+ * Tighten dependency on java-common.
+ * debian/copyright: Include trademark notice.
+ * debian/control: Mention IcedTea in the package descriptions.
+ * Update IcedTea to 20080311.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 11 Mar 2008 21:39:27 +0100
+
+openjdk-6 (6b06-0ubuntu7) hardy; urgency=low
+
+ * Build-depend on unzip.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 07 Mar 2008 16:47:43 +0100
+
+openjdk-6 (6b06-0ubuntu6) hardy; urgency=low
+
+ * Build-depend on zip.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 07 Mar 2008 16:16:52 +0100
+
+openjdk-6 (6b06-0ubuntu5) hardy; urgency=low
+
+ * debian/mauve_tests: javax.swing.text.html.HTML.ElementTagAttributeTest,
+ removed, tries to access the network.
+ * debian/README.alternatives.in: Update for --jre-headless.
+ * debian/rules: Fix paths for OpenJDK based bootstrap.
+ * Compress packages using lzma.
+ * Drop build dependency on zip, unzip.
+ * Fix build infrastructure to bootstrap with OpenJDK instead of ecj.
+ * Do not build the gcjwebplugin from the OpenJDK source.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 07 Mar 2008 13:53:15 +0100
+
+openjdk-6 (6b06-0ubuntu4) hardy; urgency=low
+
+ * Don't register a java-rmi.cgi alternative in /usr/bin.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 06 Mar 2008 17:59:35 +0100
+
+openjdk-6 (6b06-0ubuntu3) hardy; urgency=low
+
+ * Split out a openjdk-6-jre-headless package, depend on java-common,
+ supporting update-java-alternatives --jre-headless.
+ * Make openjdk-6-jre-headless and openjdk-6-jre architecture any.
+ * New package openjdk-6-jre-lib (arch all).
+ * Remove openjdk-6-bin package.
+ * debian/patches/openjdk-ubuntu-branding.patch: New patch.
+ * Install images/cursors/cursors.properties as a config file.
+ * Do not compress demos and examples in the -demo package.
+ * openjdk-6-jre: Add dependency on libxinerama1.
+ * Update IcedTea to 20080305.
+ * Don't generate cacerts ourself, but depend on ca-certificates,
+ fix location of javax.net.ssl.trustStore property.
+ * Build-depend on mauve and xvfb; run some mauve tests (the list of
+ tests taken from the Fedora package).
+ * Keep a backup of the `generated' directory; some files are regenerated
+ differently, increasing the size of the diff.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 06 Mar 2008 10:05:39 +0100
+
+openjdk-6 (6b06-0ubuntu2) hardy; urgency=low
+
+ * Re-add gawk and pkg-config as build dependencies.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 04 Mar 2008 12:20:21 +0100
+
+openjdk-6 (6b06-0ubuntu1) hardy; urgency=low
+
+ * New code drop (b06).
+ * Remove java-access-bridge tarball, use an externally built package.
+ * Update IcedTea to 20080304.
+ * Don't use any compiler flags from the environment.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 04 Mar 2008 09:16:59 +0100
+
+openjdk-6 (6b05-0ubuntu1) hardy; urgency=low
+
+ * First public OpenJDK upstream code drop (b05).
+ * Depend on tzdata-java.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 29 Feb 2008 19:05:42 +0100
+
+icedtea-java7 (7~b24-1.5+20080118-2) UNRELEASED; urgency=low
+
+ * Fix removal of alternatives.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 26 Jan 2008 18:41:40 +0100
+
+icedtea-java7 (7~b24-1.5+20080118-1) hardy; urgency=low
+
+ * Fix installation of the plugin for firefox-3.0.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 19 Jan 2008 15:10:18 +0100
+
+icedtea-java7 (7~b24-1.5+20080118-1~ppa1) hardy; urgency=low
+
+ * Update IcedTea to 20080118.
+ * Fix another build failure when gcc version != gcj version.
+ * Use the versioned compiler to build the corba parts.
+ * Register plugin for firefox-3.0.
+ * Build using GCC-4.3.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 18 Jan 2008 21:15:08 +0100
+
+icedtea-java7 (7~b24-1.5-2) UNRELEASED; urgency=low
+
+ * First upload to Debian. Closes: #452750.
+ * debian/control.in:
+ - Moved package from universe/devel section to devel.
+ - Put icedtea-java7-doc into doc section.
+ - Added Homepage field and removed Homepage pseudo field from
+ descriptions.
+ - Updated Standards-Version to 3.7.3.
+ * debian/rules:
+ - Check if Makefile exists before called clean in clean target.
+ * debian/copyright: Converted to UTF-8.
+
+ -- Michael Koch <konqueror@gmx.de> Sat, 05 Jan 2008 13:34:46 -0100
+
+icedtea-java7 (7~b24-1.5-1) hardy; urgency=low
+
+ * Update to IcedTea-1.5.
+ * debian/patches/ssp-interpreter.diff: Use bash to call the ssp script,
+ backslash handling differs betweend dash and bash.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 04 Jan 2008 09:58:27 +0100
+
+icedtea-java7 (7~b24-1.5~20071214-1) hardy; urgency=low
+
+ * New upstream snapshot (b24).
+ * Update java-access-bridge to 1.21.1.
+ * On powerpc keep the build alive using buildwatch script.
+ * Do not install menu entries for javaws, ControlPanel. LP: #155553, #156673.
+ * README.alternatives: Fix example. LP: #157063.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 14 Dec 2007 11:09:22 +0100
+
+icedtea-java7 (7~b23-1.5~20071124-4) hardy; urgency=low
+
+ * Allow libungif4-dev as alternative build dependency.
+ * On powerpc keep the build alive using buildwatch script.
+ * Always build the plugin using libxul-dev.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 10 Dec 2007 15:20:16 +0100
+
+icedtea-java7 (7~b23-1.5~20071124-3) hardy; urgency=low
+
+ * Lower optimization to -O2 for building the jdk on amd64.
+ * Reenable parallel build.
+ * Link using -Bsymbolic-functions.
+ * debian/patches/arguments.patch, debian/patches/const_strings.patch:
+ New patches (Arnaud Vandyck).
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 29 Nov 2007 18:50:41 +0100
+
+icedtea-java7 (7~b23-1.5~20071124-2) hardy; urgency=low
+
+ * Bootstrap using ecj/gcj.
+ * Build using g++-4.1 on i386, lpia, powerpc.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 28 Nov 2007 14:46:48 +0000
+
+icedtea-java7 (7~b23-1.5~20071124-1) hardy; urgency=low
+
+ * New upstream snapshot (b23).
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 27 Nov 2007 15:48:08 +0100
+
+icedtea-java7 (7~b22-1.5~20071018-0ubuntu3) hardy; urgency=low
+
+ * Revert the previous change, require 7~b22 versions again.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 20 Oct 2007 14:33:26 +0000
+
+icedtea-java7 (7~b22-1.5~20071018-0ubuntu2) hardy; urgency=low
+
+ * Loosen dependencies to 7~b21, until package is built on all archs.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 20 Oct 2007 07:48:36 +0000
+
+icedtea-java7 (7~b22-1.5~20071018-0ubuntu1) hardy; urgency=low
+
+ * New upstream snapshot (b22).
+ * Don't use parallel builds to make the build log better comparable.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 19 Oct 2007 19:49:51 +0200
+
+icedtea-java7 (7~b21-1.4+20071007-0ubuntu5) gutsy; urgency=low
+
+ * Update icedtea to vcs 20071012 (1.4 release), checked that the plugin
+ works on amd64.
+ * debian/copyright: Update "License Headers" section.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 14 Oct 2007 19:55:12 +0200
+
+icedtea-java7 (7~b21-1.4+20071007-0ubuntu4) gutsy; urgency=low
+
+ * Bootstrapping trigger upload for final step of bootstrapping i386, amd64,
+ lpia.
+
+ -- LaMont Jones <lamont@ubuntu.com> Wed, 10 Oct 2007 22:04:25 -0600
+
+icedtea-java7 (7~b21-1.4+20071007-0ubuntu3) gutsy; urgency=low
+
+ * Add build dependency on bzip2.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 10 Oct 2007 09:00:40 +0000
+
+icedtea-java7 (7~b21-1.4+20071007-0ubuntu2) gutsy; urgency=low
+
+ * Add build dependency on ant.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 10 Oct 2007 06:33:14 +0000
+
+icedtea-java7 (7~b21-1.4+20071007-0ubuntu1) gutsy; urgency=low
+
+ * Update icedtea to vcs 20071007.
+ * Update java-access-bridge to 1.20.0.
+ * Add build-dependency on libxinerama-dev.
+ * Add Xb-Npp-xxx tags for the -plugin package.
+ * Name the plugin "GCJ Web Browser Plugin (using IcedTea)", GCJ now
+ "Great Cool Java" (according to Michael Koch).
+ * Compress binary-indep packages using bzip2.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 7 Oct 2007 23:43:28 +0200
+
+icedtea-java7 (7~b21-1.4+20071002-0ubuntu2) gutsy; urgency=low
+
+ * Rebuild using icedtea 7~b21.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 02 Oct 2007 19:45:21 +0200
+
+icedtea-java7 (7~b21-1.4+20071002-0ubuntu1) gutsy; urgency=low
+
+ * New upstream snapshot (b21).
+ * Correctly unregister the executable binary format in the -bin package.
+ * Assemble the debian/copyright file.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 2 Oct 2007 09:59:37 +0200
+
+icedtea-java7 (7~b19-1.3+20070905-0ubuntu1) gutsy; urgency=low
+
+ * New upstream snapshot (b19).
+ * Build using g++-4.2 on amd64, using g++-4.1 on i386 and lpia.
+ * Build without -Werror, upstream source is not yet warning clean.
+ * Support DEB_BUILD_OPTIONS=parallel=<n>.
+ * Add build dependency on wget.
+ * Add font suggestions.
+ * Changed font configuration to fix CJK font support (Arne Goetje).
+ * Fix location of the plugin, when registering the plugin alternatives.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 6 Sep 2007 00:46:40 +0200
+
+icedtea-java7 (7~b18-1.2+20070822-0ubuntu2) gutsy; urgency=low
+
+ * Create browser plugin directories.
+ * Build-depend on liblcms1-dev.
+ * Recommend packages with dlopened libraries: liblcms1, lesstif2, libcupsys2,
+ libgtk2.0-0, libgnome2-0, libgnomevfs2-0, libgconf2-4, libxrandr2,
+ libgl1-mesa-glx.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 21 Aug 2007 17:21:00 +0200
+
+icedtea-java7 (7~b18-1.2+20070822-0ubuntu1) gutsy; urgency=low
+
+ * New upstream version.
+ * Include java-access-bridge.
+ * Build -doc, -plugin packages.
+ * Register alternatives, priority 1060.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 21 Aug 2007 17:21:00 +0200
+
+icedtea-java7 (7~b17-1.2+20070808-1) gutsy; urgency=low
+
+ * Initial release, discard the initial packaging based on cdbs.
+ * Base the packaging on the sun-javaX packages.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 08 Aug 2007 15:55:39 +0200
+
+icedtea (7~b16-20070724-1) UNRELEASED; urgency=low
+
+ * Update upstream tarball to 7~b16, update icedtea to 20070724.
+ * debian/control: Build-depend on libfreetype6-dev.
+ * debian/rules: Configure --with-jar=/usr/bin/fastjar.
+ * Build using gcj-4.2.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 24 Jul 2007 11:24:55 +0200
+
+icedtea (7~b14-20070704-1) unstable; urgency=low
+
+ * Initial version.
+
+ -- Michael Koch <konqueror@gmx.de> Wed, 04 Jul 2007 08:25:31 -0100
+
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..ddc3041
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,169 @@
+Source: openjdk-7
+Section: java
+Priority: optional
+Maintainer: OpenJDK Team <openjdk@lists.launchpad.net>
+Uploaders: Matthias Klose <doko@ubuntu.com>, Damien Raude-Morvan <drazzib@debian.org>
+Build-Depends: debhelper (>= 5), binutils-dev [armel armhf], m4, lsb-release, wget, zip, unzip, sharutils, gawk, cpio, pkg-config, procps, time, wdiff, fastjar (>= 2:0.96-0ubuntu2), autoconf, automake, autotools-dev, ant, ant-optional, libtool, g++-4.7, g++-4.4 [mips mipsel], ecj-gcj [amd64 armel armhf hppa i386 ia64 lpia powerpc powerpcspe ppc64 m68k mips mipsel sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64], gcj-jdk [amd64 armel armhf hppa i386 ia64 lpia powerpc powerpcspe ppc64 mips mipsel sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64], gcj-4.6-jdk [m68k s390], gcj-4.7-jdk [ia64], openjdk-7-jdk (>= 6b18) [alpha], libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, libcups2-dev, libasound2-dev, liblcms2-dev, libfreetype6-dev (>= 2.2.1), libgtk2.0-dev, libxinerama-dev, xsltproc, librhino-java (>= 1.7R3~), fonts-ipafont-mincho, libffi-dev, zlib1g-dev, libattr1-dev, libpng-dev, libjpeg8-dev, libgif-dev, libpulse-dev (>= 0.9.12), libnss3-dev (>= 2:3.13.4), mauve, xvfb, xauth, xfonts-base, libgl1-mesa-dri, twm | metacity, twm | dbus-x11, x11-xkb-utils,
+Standards-Version: 3.9.3
+Homepage: http://openjdk.java.net/
+Vcs-Bzr: http://bazaar.launchpad.net/~openjdk/openjdk/openjdk7
+Vcs-Browser: https://code.launchpad.net/~openjdk/openjdk/openjdk7
+
+Package: openjdk-7-jdk
+Architecture: amd64 armel armhf i386 ia64 lpia powerpc powerpcspe ppc64 m68k sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64
+Multi-Arch: same
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Recommends: libxt-dev
+Suggests: openjdk-7-demo, openjdk-7-source, visualvm
+Provides: java-sdk, java2-sdk, java5-sdk, java6-sdk, java7-jdk, java-compiler
+Description: OpenJDK Development Kit (JDK)
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: openjdk-7-jre-headless
+Architecture: amd64 armel armhf i386 ia64 lpia powerpc powerpcspe ppc64 m68k sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64
+Multi-Arch: same
+Pre-Depends: ${dpkg:Depends}, ${multiarch:Depends}
+Depends: openjdk-7-jre-lib (= ${source:Version}), ${jredefault:Depends}, ${cacert:Depends}, ${tzdata:Depends}, ${jcommon:Depends}, ${dlopenhl:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Recommends: ${dlopenhl:Recommends}, ${jamvm:Recommends}
+Suggests: ${cacao:Recommends}, libnss-mdns, sun-java6-fonts, ttf-dejavu-extra, fonts-ipafont-gothic, fonts-ipafont-mincho, ttf-wqy-microhei | ttf-wqy-zenhei, ttf-indic-fonts,
+Provides: java-runtime-headless, java2-runtime-headless, java5-runtime-headless, java6-runtime-headless, java7-runtime-headless, ${defaultvm:Provides}, ${jvm:Provides}
+Conflicts: ${multiarch:Conflicts}
+Description: OpenJDK Java runtime, using ${vm:Name} (headless)
+ Minimal Java runtime - needed for executing non GUI Java programs.
+ Using ${vm:Name}.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: openjdk-7-jre
+Architecture: amd64 armel armhf i386 ia64 lpia powerpc powerpcspe ppc64 m68k sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64
+Multi-Arch: same
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre-headless (= ${binary:Version}), ${xandsound:Depends}, ${shlibs:Depends}, ${dlopenjre:Depends}, ${misc:Depends}, ${dep:bridge}
+Recommends: ${dlopenjre:Recommends}, ttf-dejavu-extra
+Suggests: icedtea-7-plugin, ${pkg:pulseaudio}
+Conflicts: icedtea-gcjwebplugin (<< 1.0-1ubuntu4)
+Provides: java-runtime, java2-runtime, java5-runtime, java6-runtime, java7-runtime
+Description: OpenJDK Java runtime, using ${vm:Name}
+ Full Java runtime environment - needed for executing Java GUI and Webstart
+ programs. Using ${vm:Name}.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: openjdk-7-jre-lib
+Architecture: all
+Multi-Arch: foreign
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre-headless (>= ${base:Version}), ${misc:Depends}
+Recommends: ${dlopen:Recommends}
+Built-Using: ${rhino:Source}
+Description: OpenJDK Java runtime (architecture independent libraries)
+ OpenJDK Java runtime, using ${vm:Name}.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: openjdk-7-demo
+Architecture: amd64 armel armhf i386 ia64 lpia powerpc powerpcspe ppc64 m68k sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Java runtime based on OpenJDK (demos and examples)
+ OpenJDK Java runtime
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: openjdk-7-source
+Architecture: all
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre (>= ${source:Version}), openjdk-7-jdk (>= ${binary:Version}), ${misc:Depends}
+Description: OpenJDK Development Kit (JDK) source files
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ This package contains the Java programming language source files
+ (src.zip) for all classes that make up the Java core API.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: openjdk-7-doc
+Section: doc
+Pre-Depends: ${dpkg:Depends}
+Architecture: all
+Priority: extra
+Depends: ${misc:Depends}
+Suggests: openjdk-7-jdk
+Description: OpenJDK Development Kit (JDK) documentation
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ This package contains the API documentation.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: openjdk-7-dbg
+Architecture: amd64 armel armhf i386 ia64 lpia powerpc powerpcspe ppc64 m68k sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64
+Multi-Arch: same
+Priority: extra
+Section: debug
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre-headless (= ${binary:Version}), ${misc:Depends}
+Recommends: openjdk-7-jre (= ${binary:Version})
+Suggests: openjdk-7-jdk (= ${binary:Version})
+Description: Java runtime based on OpenJDK (debugging symbols)
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ This package contains the debugging symbols.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: icedtea-7-jre-cacao
+Architecture: alpha amd64 armel armhf i386 lpia powerpc m68k mips mipsel s390
+Multi-Arch: same
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Transitional package for obsolete Cacao JVM for OpenJDK
+ Cacao support was removed for recent versions of OpenJDK 7.
+ .
+ This is a transitional package which can be safely removed.
+
+Package: icedtea-7-jre-jamvm
+Architecture: amd64 armel armhf i386 lpia mips mipsel powerpc kfreebsd-i386 kfreebsd-amd64
+Multi-Arch: same
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Alternative JVM for OpenJDK, using JamVM
+ The package provides an alternative runtime using the JamVM. This is a
+ somewhat faster alternative than the Zero port on architectures like armel,
+ mips, mipsel, powerpc.
+ .
+ The VM is started with the option `-jamvm'. See the README.Debian for details.
+
+Package: openjdk-7-jre-zero
+Architecture: amd64 i386 lpia kfreebsd-amd64 kfreebsd-i386
+Multi-Arch: same
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: openjdk-7-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: ${zerovm:Provides}
+Description: Alternative JVM for OpenJDK, using Zero/Shark
+ The package provides an alternative runtime using the Zero VM and the
+ Shark Just In Time Compiler (JIT). Built on architectures in addition
+ to the Hotspot VM as a debugging aid for those architectures which don't
+ have a Hotspot VM.
+ .
+ The VM is started with the option `-zero'. See the README.Debian for details.
diff --git a/debian/control.cacao-jre b/debian/control.cacao-jre
new file mode 100644
index 0000000..db63362
--- /dev/null
+++ b/debian/control.cacao-jre
@@ -0,0 +1,15 @@
+
+Package: icedtea-7-jre-cacao
+Architecture: @cacao_archs@
+Multi-Arch: same
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: icedtea6-jre-cacao
+Description: Alternative JVM for OpenJDK, using Cacao
+ The package provides an alternative runtime using the Cacao VM and the
+ Cacao Just In Time Compiler (JIT). This is a somewhat faster alternative
+ than the Zero port on architectures like alpha, armel, m68k, mips, mipsel,
+ powerpc and s390.
+ .
+ The VM is started with the option `-cacao'. See the README.Debian for details.
diff --git a/debian/control.cacao-trans b/debian/control.cacao-trans
new file mode 100644
index 0000000..487056c
--- /dev/null
+++ b/debian/control.cacao-trans
@@ -0,0 +1,11 @@
+
+Package: icedtea-7-jre-cacao
+Architecture: alpha amd64 armel armhf i386 lpia powerpc m68k mips mipsel s390
+Multi-Arch: same
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Transitional package for obsolete Cacao JVM for OpenJDK
+ Cacao support was removed for recent versions of OpenJDK 7.
+ .
+ This is a transitional package which can be safely removed.
diff --git a/debian/control.in b/debian/control.in
new file mode 100644
index 0000000..c9d4d38
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,130 @@
+Source: @basename@
+Section: java
+Priority: optional
+Maintainer: OpenJDK Team <openjdk@lists.launchpad.net>
+Uploaders: Matthias Klose <doko@ubuntu.com>, Damien Raude-Morvan <drazzib@debian.org>
+Build-Depends: debhelper (>= 5), binutils-dev [armel armhf], m4, lsb-release, wget, zip, unzip, sharutils, gawk, cpio, pkg-config, procps, time, wdiff, @bd_fastjar@ @bd_compress@ @bd_autotools@ @bd_ant@ @bd_cacao@ @bd_jamvm@ @bd_gcc@ @bd_bootstrap@ @bd_openjdk@ @bd_zero@ @bd_shark@ @bd_syslibs@ @bd_pulsejava@ @bd_nss@ @bd_systemtap@ @bd_mauve@ @bd_xvfb@
+Standards-Version: 3.9.3
+Homepage: http://openjdk.java.net/
+Vcs-Bzr: http://bazaar.launchpad.net/~openjdk/openjdk/openjdk7
+Vcs-Browser: https://code.launchpad.net/~openjdk/openjdk/openjdk7
+
+Package: @basename@-jdk
+Architecture: @any_archs@
+Multi-Arch: same
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Recommends: libxt-dev
+Suggests: @basename@-demo, @basename@-source, visualvm
+Provides: java-sdk, java2-sdk, java5-sdk, java6-sdk, java7-jdk, java-compiler
+Description: OpenJDK Development Kit (JDK)
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: @basename@-jre-headless
+Architecture: @any_archs@
+Multi-Arch: same
+Pre-Depends: ${dpkg:Depends}, ${multiarch:Depends}
+Depends: @basename@-jre-lib (= ${source:Version}), ${jredefault:Depends}, ${cacert:Depends}, ${tzdata:Depends}, ${jcommon:Depends}, ${dlopenhl:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Recommends: ${dlopenhl:Recommends}, ${jamvm:Recommends}
+Suggests: ${cacao:Recommends}, libnss-mdns, sun-java6-fonts, @core_fonts@, @cjk_fonts@
+Provides: java-runtime-headless, java2-runtime-headless, java5-runtime-headless, java6-runtime-headless, java7-runtime-headless, ${defaultvm:Provides}, ${jvm:Provides}
+Conflicts: ${multiarch:Conflicts}
+Description: OpenJDK Java runtime, using ${vm:Name} (headless)
+ Minimal Java runtime - needed for executing non GUI Java programs.
+ Using ${vm:Name}.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: @basename@-jre
+Architecture: @any_archs@
+Multi-Arch: same
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre-headless (= ${binary:Version}), ${xandsound:Depends}, ${shlibs:Depends}, ${dlopenjre:Depends}, ${misc:Depends}, ${dep:bridge}
+Recommends: ${dlopenjre:Recommends}, @core_fonts@
+Suggests: icedtea-7-plugin, ${pkg:pulseaudio}
+Conflicts: icedtea-gcjwebplugin (<< 1.0-1ubuntu4)
+Provides: java-runtime, java2-runtime, java5-runtime, java6-runtime, java7-runtime
+Description: OpenJDK Java runtime, using ${vm:Name}
+ Full Java runtime environment - needed for executing Java GUI and Webstart
+ programs. Using ${vm:Name}.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: @basename@-jre-lib
+Architecture: @lib_arch@
+Multi-Arch: foreign
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre-headless (>= ${base:Version}), ${misc:Depends}
+Recommends: ${dlopen:Recommends}
+Built-Using: ${rhino:Source}
+Description: OpenJDK Java runtime (architecture independent libraries)
+ OpenJDK Java runtime, using ${vm:Name}.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: @basename@-demo
+Architecture: @any_archs@
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Java runtime based on OpenJDK (demos and examples)
+ OpenJDK Java runtime
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: @basename@-source
+Architecture: all
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre (>= ${source:Version}), @basename@-jdk (>= ${binary:Version}), ${misc:Depends}
+Description: OpenJDK Development Kit (JDK) source files
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ This package contains the Java programming language source files
+ (src.zip) for all classes that make up the Java core API.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: @basename@-doc
+Section: doc
+Pre-Depends: ${dpkg:Depends}
+Architecture: all
+Priority: extra
+Depends: ${misc:Depends}
+Suggests: @basename@-jdk
+Description: OpenJDK Development Kit (JDK) documentation
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ This package contains the API documentation.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
+
+Package: @basename@-dbg
+Architecture: @any_archs@
+Multi-Arch: same
+Priority: extra
+Section: debug
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre-headless (= ${binary:Version}), ${misc:Depends}
+Recommends: @basename@-jre (= ${binary:Version})
+Suggests: @basename@-jdk (= ${binary:Version})
+Description: Java runtime based on OpenJDK (debugging symbols)
+ OpenJDK is a development environment for building applications,
+ applets, and components using the Java programming language.
+ .
+ This package contains the debugging symbols.
+ .
+ The packages are built using the IcedTea build support and patches
+ from the IcedTea project.
diff --git a/debian/control.jamvm-jre b/debian/control.jamvm-jre
new file mode 100644
index 0000000..dd3923f
--- /dev/null
+++ b/debian/control.jamvm-jre
@@ -0,0 +1,13 @@
+
+Package: icedtea-7-jre-jamvm
+Architecture: @jamvm_archs@
+Multi-Arch: same
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Alternative JVM for OpenJDK, using JamVM
+ The package provides an alternative runtime using the JamVM. This is a
+ somewhat faster alternative than the Zero port on architectures like armel,
+ mips, mipsel, powerpc.
+ .
+ The VM is started with the option `-jamvm'. See the README.Debian for details.
diff --git a/debian/control.zero-jre b/debian/control.zero-jre
new file mode 100644
index 0000000..f53e372
--- /dev/null
+++ b/debian/control.zero-jre
@@ -0,0 +1,15 @@
+
+Package: @basename@-jre-zero
+Architecture: @altzero_archs@
+Multi-Arch: same
+Priority: extra
+Pre-Depends: ${dpkg:Depends}
+Depends: @basename@-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: ${zerovm:Provides}
+Description: Alternative JVM for OpenJDK, using Zero/Shark
+ The package provides an alternative runtime using the Zero VM and the
+ Shark Just In Time Compiler (JIT). Built on architectures in addition
+ to the Hotspot VM as a debugging aid for those architectures which don't
+ have a Hotspot VM.
+ .
+ The VM is started with the option `-zero'. See the README.Debian for details.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..f6f5cb7
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,2361 @@
+This package was debianized by Matthias Klose <doko@ubuntu.com> on
+Wed, 08 Aug 2007 15:55:39 +0200.
+
+It was downloaded from
+ http://icedtea.classpath.org
+ http://download.java.net/openjdk/jdk7/
+ http://ftp.gnome.org/pub/GNOME/sources/java-access-bridge/
+
+------------------------------------------------------------------------------
+Upstream Authors:
+
+IcedTea (see AUTHORS for a current list):
+ Lillian Angel <langel@redhat.com>
+ Gary Benson <gbenson@redhat.com>
+ Tania Bento <tbento@redhat.com>
+ Deepak Bhole <dbhole@redhat.com>
+ Thomas Fitzsimmons <fitzsim@redhat.com>
+ Kyle Galloway <kgallowa@redhat.com>
+ Andrew Haley <aph@redhat.com>
+ Ioana Iivan <iivan@redhat.com>
+ Matthias Klose <doko@ubuntu.com>
+ Francis Kung <fkung@redhat.com>
+ Omair Majid <omajid@redhat.com>
+ Casey Marshall <csm@gnu.org>
+ Raif Naffah <admin@naffah-raif.name>
+ Joshua Sumali <jsumali@redhat.com>
+ Christian Thalinger <twisti@complang.tuwien.ac.at>
+ Mark Wielaard <mark@klomp.org>
+
+OpenJDK:
+ Sun Microsystems, Inc.
+ Oracle and/or its affiliates.
+
+Java Access Bridge:
+ Bill Haneman <bill.haneman@sun.com>
+ Louise Miller
+ Gergõ Érdi <cactus@cactus.rulez.org>
+ Laszlo (Laca) Peter <laszlo.peter@sun.com>
+ Jeff Cai<jeff.cai@sun.com>
+ George Kraft IV <gk4@us.ibm.com>
+ Padraig O'Briain <padraig.obriain@sun.com>
+ Darren Kenny <darren.kenny@sun.com>
+
+Packaging:
+ Matthias Klose
+
+------------------------------------------------------------------------------
+Copyright:
+
+IcedTea:
+ Portions Copyright © 2007 Lillian Angel <langel@redhat.com>
+ Portions Copyright © 2007 Gary Benson <gbenson@redhat.com>
+ Portions Copyright © 2007 Tania Bento <tbento@redhat.com>
+ Portions Copyright © 2008 Deepak Bhole <dbhole@redhat.com>
+ Portions Copyright © 2007 Thomas Fitzsimmons <fitzsim@redhat.com>
+ Portions Copyright © 2007 Kyle Galloway <kgallowa@redhat.com>
+ Portions Copyright © 2007 Andrew Haley <aph@redhat.com>
+ Portions Copyright © 2008 Ioana Iivan <iivan@redhat.com>
+ Portions Copyright © 2007 Matthias Klose <doko@ubuntu.com>
+ Portions Copyright © 2007 Francis Kung <fkung@redhat.com>
+ Portions Copyright © 2008 Omair Majid <omajid@redhat.com>
+ Portions Copyright © 2007 Casey Marshall <csm@gnu.org>
+ Portions Copyright © 2007 Raif Naffah <admin@naffah-raif.name>
+ Portions Copyright © 2007 Joshua Sumali <jsumali@redhat.com>
+ Portions Copyright © 2007 Christian Thalinger <twisti@complang.tuwien.ac.at>
+ Portions Copyright © 2007 Mark Wielaard <mark@klomp.org>
+ Portions Copyright © 2007, 2008 Red Hat, Inc.
+ Portions Copyright © 2001-2003 Jon A. Maxwell (JAM)
+ Portions Copyright © 1992, 1995-2007 Sun Microsystems, Inc.
+ Portions Copyright © 2007 Matthew Flaschen
+ Portions Copyright © 2000-2002 Marc De Scheemaecker
+ Portions Copyright © 1991-1998 Thomas G. Lane
+ Portions Copyright © 2007 Free Software Foundation, Inc.
+
+OpenJDK:
+ Copyright © 1996-2007 Sun Microsystems, Inc.
+ Copyright © 1996-2007 Oracle and/or its affiliates.
+ For third party copyrights see below (copies from the third party readme).
+ Portions Copyright © 1993-1999 IBM Corp.
+ Portions Copyright © 1997 Eastman Kodak Company.
+ Portions Copyright © 1999-2005 The Apache Software Foundation.
+
+Java Access Bridge:
+ Portions Copyright © 2002-2007 Bill Haneman <bill.haneman@sun.com>
+ Portions Copyright © 2002-2007 Louise Miller
+ Portions Copyright © 2002-2007 Gergõ Érdi <cactus@cactus.rulez.org>
+ Portions Copyright © 2002-2007 Laszlo (Laca) Peter <laszlo.peter@sun.com>
+ Portions Copyright © 2002-2007 Jeff Cai<jeff.cai@sun.com>
+ Portions Copyright © 2002-2007 George Kraft IV <gk4@us.ibm.com>
+ Portions Copyright © 2002-2007 Padraig O'Briain <padraig.obriain@sun.com>
+ Portions Copyright © 2002-2007 Darren Kenny <darren.kenny@sun.com>
+
+Packaging:
+ Copyright © 2007, 2008, 2009, 2010 Canonical Ltd.
+
+------------------------------------------------------------------------------
+License:
+
+NOTE: the combined work which includes the upstream components below
+carries forward the OpenJDK Assembly Exception (text included below).
+
+Packaging:
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+IcedTea:
+ IcedTea is licensed under the GPL v2. See `/usr/share/common-licenses/GPL-2'.
+ The exception is: "CLASSPATH" EXCEPTION TO THE GPL.
+
+ The sound files (pulseaudio/testsounds/*.wav) were taken from the KDE Project
+ (www.kde.org). A copy of them can be obtained from
+ http://websvn.kde.org/branches/KDE/4.0/kdeartwork/sounds/ . They are licensed
+ by the copyright holders as GPLv2.
+
+IcedTea/rewriter:
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+OpenJDK:
+ OpenJDK is licensed under the GPL v2 with exceptions,
+ see `/usr/share/common-licenses/GPL-2'.
+ The exceptions are:
+ - "CLASSPATH" EXCEPTION TO THE GPL
+ - OPENJDK ASSEMBLY EXCEPTION
+ Various third party code in OpenJDK is licensed under different licenses.
+ See below (THIRD_PARTY_README).
+
+Java Access Bridge:
+ Java Access Bridge is licensed under the LGPL v2.
+ See `/usr/share/common-licenses/LGPL-2'.
+
+A Note About License Headers
+----------------------------
+
+Some sources downloaded from openjdk.java.net do not display the GPL
+license header. Instances are:
+
+ - The files in openjdk/j2se/src/share/classes/javax/xml/stream/ seem to
+ comprise the BEA-StAX source code
+
+ http://ftpna2.bea.com/pub/downloads/jsr173.jar
+
+ with some Sun-specific modifications. We're assuming that Sun is
+ bundling BEA-StAX under the terms of the Apache License 2.0 and
+ that the modifications are owned by Sun.
+
+ - We are assuming that these files are owned by Sun:
+ openjdk/j2se/src/share/classes/**/resources/*.properties
+
+The downloaded sources include a script that inserts proprietary
+license headers into the source files it generates. The script
+itself is GPL'd so we patched them to emit the GPL header. The
+file is:
+ openjdk/j2se/make/java/nio/genExceptions.sh
+
+------------------------------------------------------------------------------
+"CLASSPATH" EXCEPTION TO THE GPL
+
+Certain source files distributed by Sun Microsystems, Inc. are subject to
+the following clarification and special exception to the GPL, but only where
+Sun has expressly included in the particular source file's header the words
+"Sun designates this particular file as subject to the "Classpath" exception
+as provided by Sun in the LICENSE file that accompanied this code."
+
+ Linking this library statically or dynamically with other modules is making
+ a combined work based on this library. Thus, the terms and conditions of
+ the GNU General Public License cover the whole combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent modules,
+ and to copy and distribute the resulting executable under terms of your
+ choice, provided that you also meet, for each linked independent module,
+ the terms and conditions of the license of that module. An independent
+ module is a module which is not derived from or based on this library. If
+ you modify this library, you may extend this exception to your version of
+ the library, but you are not obligated to do so. If you do not wish to do
+ so, delete this exception statement from your version.
+
+------------------------------------------------------------------------------
+OPENJDK ASSEMBLY EXCEPTION
+
+The OpenJDK source code made available by Sun at openjdk.java.net and
+openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
+GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
+only ("GPL2"), with the following clarification and special exception.
+
+ Linking this OpenJDK Code statically or dynamically with other code
+ is making a combined work based on this library. Thus, the terms
+ and conditions of GPL2 cover the whole combination.
+
+ As a special exception, Sun gives you permission to link this
+ OpenJDK Code with certain code licensed by Sun as indicated at
+ http://openjdk.java.net/legal/exception-modules-2007-05-08.html
+ ("Designated Exception Modules") to produce an executable,
+ regardless of the license terms of the Designated Exception Modules,
+ and to copy and distribute the resulting executable under GPL2,
+ provided that the Designated Exception Modules continue to be
+ governed by the licenses under which they were offered by Sun.
+
+As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
+build an executable that includes those portions of necessary code that Sun
+could not provide under GPL2 (or that Sun has provided under GPL2 with the
+Classpath exception). If you modify or add to the OpenJDK code, that new
+GPL2 code may still be combined with Designated Exception Modules if the
+new code is made subject to this exception by its copyright holder.
+
+------------------------------------------------------------------------------
+OpenJDK Trademark Notice
+Version 1.1, 2008/3/10
+
+OpenJDK (the "Name") is a trademark of Sun Microsystems, Inc. (the "Owner").
+Owner permits any person obtaining a copy of this software (the "Software")
+which is based on original software retrieved from one of the following
+websites: http://download.java.net/openjdk, http://hg.openjdk.java.net/jdk6,
+or http://openjdk.java.net (each a "Website", with the original software made
+available by the Owner on a Website being known as the "Website Software") to
+use the Name in package names and version strings of the Software subject to
+the following conditions:
+
+ - The Software is a substantially complete implementation of the OpenJDK
+ development kit or runtime environment code made available by Owner on a
+ Website, and the vast majority of the Software code is identical to the
+ upstream Website Software;
+
+ - No permission is hereby granted to use the Name in any other manner,
+ unless such use constitutes "fair use."
+
+ - The Owner makes no warranties of any kind respecting the Name and all
+ representations and warranties, including any implied warranty of
+ merchantability, fitness for a particular purpose or non-infringement
+ are hereby disclaimed; and
+
+ - This notice and the following legend are included in all copies of the
+ Software or portions of it:
+
+ OpenJDK is a trademark or registered trademark of Sun Microsystems,
+ Inc. in the United States and other countries.
+
+The Name may also be used in connection with descriptions of the Software that
+constitute "fair use," such as "derived from the OpenJDK code base" or "based
+on the OpenJDK source code."
+
+Owner intends to revise this Notice as necessary in order to meet the needs of
+the OpenJDK Community. Please send questions or comments about this Notice to
+Sun Microsystems at openjdk-tm@sun.com. Revisions to this Notice will be
+announced on the public mailing list announce@openjdk.java.net, to which you
+may subscribe by visiting http://mail.openjdk.java.net. The latest version of
+this Notice may be found at http://openjdk.java.net/legal.
+
+------------------------------------------------------------------------------
+the follwing licenses for third party code are taken from
+openjdk/THIRD_PARTY_README
+------------------------------------------------------------------------------
+
+DO NOT TRANSLATE OR LOCALIZE.
+
+%% This notice is provided with respect to Thai dictionary for text breaking, which may be included with this software:
+
+--- begin of LICENSE file ---
+
+Copyright (C) 1982 The Royal Institute, Thai Royal Government.
+
+Copyright (C) 1998 National Electronics and Computer Technology Center,
+ National Science and Technology Development Agency,
+ Ministry of Science Technology and Environment,
+ Thai Royal Government.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without
+limitation the rights to use, copy, modify, merge, publish, distribute,
+sublicense, and/or sell copies of the Software, and to permit persons to
+whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+--- end of LICENSE file ---
+%% This notice is provided with respect to ASM, which may be included with this software:
+Copyright (c) 2000-2005 INRIA, France Telecom
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+%% This notice is provided with respect to zlib 1.1.3, which may be included with this software:
+
+Acknowledgments:
+
+ The deflate format used by zlib was defined by Phil Katz. The deflate
+ and zlib specifications were written by L. Peter Deutsch. Thanks to all the
+ people who reported problems and suggested various improvements in zlib;
+ they are too numerous to cite here.
+
+Copyright notice:
+
+ (C) 1995-1998 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+If you use the zlib library in a product, we would appreciate *not*
+receiving lengthy legal documents to sign. The sources are provided
+for free but without warranty of any kind. The library has been
+entirely written by Jean-loup Gailly and Mark Adler; it does not
+include third-party code.
+
+If you redistribute modified sources, we would appreciate that you include
+in the file ChangeLog history information documenting your changes.
+
+%% This notice is provided with respect to W3C (DTD for XML Signatures), which may be included with this software:
+W3C® SOFTWARE NOTICE AND LICENSE
+Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
+This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
+Permission to use, copy, modify, and distribute this software and its documentation, with or without modification,  for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
+1.The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+2.Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
+3.Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
+____________________________________
+This formulation of W3C's notice and license became active on August 14 1998 so as to improve compatibility with GPL. This version ensures that W3C software licensing terms are no more restrictive than GPL and consequently W3C software may be distributed in GPL packages. See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, including specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.
+%% This notice is provided with respect to jscheme.jar, which may be included with this software:
+Software License Agreement
+Copyright © 1998-2002 by Peter Norvig.
+Permission is granted to anyone to use this software, in source or object code form, on any computer system, and to modify, compile, decompile, run, and redistribute it to anyone else, subject to the following restrictions:
+1.The author makes no warranty of any kind, either expressed or implied, about the suitability of this software for any purpose.
+2.The author accepts no liability of any kind for damages or other consequences of the use of this software, even if they arise from defects in the software.
+3.The origin of this software must not be misrepresented, either by explicit claim or by omission.
+4.Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Altered versions may be distributed in packages under other licenses (such as the GNU license).
+If you find this software useful, it would be nice if you let me (peter@norvig.com) know about it, and nicer still if you send me modifications that you are willing to share. However, you are not required to do so.
+
+
+%% This notice is provided with respect to PC/SC Lite for Suse Linux v. 1.1.1, which may be included with this software:
+
+Copyright (c) 1999-2004 David Corcoran
+Copyright (C) 1999-2003 Ludovic Rousseau
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+Changes to this license can be made only by the copyright author with
+explicit written consent.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+%% This notice is provided with respect to IAIK PKCS Wrapper, which may be included with this software:
+
+Copyright (c) 2002 Graz University of Technology. All rights reserved.
+Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
+
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
+
+ "This product includes software developed by IAIK of Graz University of Technology."
+
+ Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Graz University of Technology" and "IAIK of Graz University of Technology" must not be used to endorse or promote products derived from this software without prior written permission.
+
+5. Products derived from this software may not be called "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior written permission of Graz University of Technology.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+%% This notice is provided with respect to Document Object Model (DOM) v. Level 3, which may be included with this software:
+
+W3Cýý SOFTWARE NOTICE AND LICENSE
+
+http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+This work (and included software, documentation such as READMEs, or other related items) is being
+provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you
+(the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+
+Permission to copy, modify, and distribute this software and its documentation, with or without modification, for
+any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies
+of the software and documentation or portions thereof, including modifications:
+ 1.The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+ 2.Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the
+ W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body
+ of any redistributed or derivative code.
+ 3.Notice of any changes or modifications to the files, including the date changes were made. (We
+ recommend you provide URIs to the location from which the code is derived.)
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKENO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
+WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THEUSE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL ORCONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the
+software without specific, written prior permission. Title to copyright in this software and any associated
+documentation will at all times remain with copyright holders.
+
+____________________________________
+
+This formulation of W3C's notice and license became active on December 31 2002. This version removes the
+copyright ownership notice such that this license can be used with materials other than those owned by the
+W3C, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the
+license, and removes the ambiguous grant of "use". Otherwise, this version is the same as the previous
+version and is written so as to preserve the Free Software Foundation's assessment of GPL compatibility and
+OSI's certification under the Open Source Definition. Please see our Copyright FAQ for common questions
+about using materials from our site, including specific terms and conditions for packages like libwww, Amaya,
+and Jigsaw. Other questions about this notice can be directed to
+site-policy@w3.org.
+
+%% This notice is provided with respect to Xalan, Xerces, which may be included with this software:
+
+/*
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer. *
+ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. *
+ * 4. The names "Xerces" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ==================================================================== *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, International
+ * Business Machines, Inc., http://www.ibm.com. For more
+ * information on the Apache Software Foundation, please see
+ *
+
+%% This notice is provided with respect to JavaScript, which may be included with this software:
+
+AMENDMENTS
+The Netscape Public License Version 1.1 ("NPL") consists of the Mozilla Public License Version 1.1 with the following Amendments, including Exhibit A-Netscape Public License.  Files identified with "Exhibit A-Netscape Public License" are governed by the Netscape Public License Version 1.1.
+Additional Terms applicable to the Netscape Public License.
+I. Effect.
+These additional terms described in this Netscape Public License -- Amendments shall apply to the Mozilla Communicator client code and to all Covered Code under this License.
+II. ''Netscape's Branded Code'' means Covered Code that Netscape distributes and/or permits others to distribute under one or more trademark(s) which are controlled by Netscape but which are not licensed for use under this License.
+III. Netscape and logo.
+This License does not grant any rights to use the trademarks "Netscape'', the "Netscape N and horizon'' logo or the "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript", "Smart Browsing" even if such marks are included in the Original Code or Modifications.
+IV. Inability to Comply Due to Contractual Obligation.
+Prior to licensing the Original Code under this License, Netscape has licensed third party code for use in Netscape's Branded Code. To the extent that Netscape is limited contractually from making such third party code available under this License, Netscape may choose to reintegrate such code into Covered Code without being required to distribute such code in Source Code form, even if such code would otherwise be considered ''Modifications'' under this License.
+V. Use of Modifications and Covered Code by Initial Developer.
+V.1. In General.
+The obligations of Section 3 apply to Netscape, except to the extent specified in this Amendment, Section V.2 and V.3.
+V.2. Other Products.
+Netscape may include Covered Code in products other than the Netscape's Branded Code which are released by Netscape during the two (2) years following the release date of the Original Code, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
+V.3. Alternative Licensing.
+Netscape may license the Source Code of Netscape's Branded Code, including Modifications incorporated therein, without such Netscape Branded Code becoming subject to the terms of this License, and may license such Netscape Branded Code on different terms from those contained in this License.
+VI. Litigation.
+Notwithstanding the limitations of Section 11 above, the provisions regarding litigation in Section 11(a), (b) and (c) of the License shall apply to all disputes relating to this License.
+
+EXHIBIT A-Netscape Public License.
+''The contents of this file are subject to the Netscape Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/NPL/
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+The Original Code is Mozilla Communicator client code, released March 31, 1998.
+The Initial Developer of the Original Code is Netscape Communications Corporation. Portions created by Netscape are Copyright (C) 1998-1999 Netscape Communications Corporation. All Rights Reserved.
+Contributor(s): ______________________________________.
+Alternatively, the contents of this file may be used under the terms of the _____ license (the  "[___] License"), in which case the provisions of [______] License are applicable  instead of those above.  If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the NPL, indicate your decision by deleting  the provisions above and replace  them with the notice and other provisions required by the [___] License.  If you do not delete the provisions above, a recipient may use your version of this file under either the NPL or the [___] License."
+
+MOZILLA PUBLIC LICENSE
+Version 1.1
+
+1. Definitions.
+1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+1.1. ''Contributor'' means each entity that creates or contributes to the creation of Modifications.
+1.2. ''Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+1.3. ''Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+1.4. ''Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+1.5. ''Executable'' means Covered Code in any form other than Source Code.
+1.6. ''Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+1.7. ''Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+1.8. ''License'' means this document.
+1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+1.9. ''Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+B. Any new file that contains any part of the Original Code or previous Modifications.
+1.10. ''Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation,  method, process, and apparatus claims, in any patent Licensable by grantor.
+1.11. ''Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+1.12. "You'' (or "Your")  means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+2. Source Code License.
+2.1. The Initial Developer Grant.
+The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+(a)  under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+(b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+(c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+(d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code;  or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+2.2. Contributor Grant.
+Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+(a)  under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+(b) under Patent Claims infringed by the making, using, or selling of  Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of  Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+(c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+(d)    Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2)  separate from the Contributor Version;  3)  for infringements caused by: i) third party modifications of Contributor Version or ii)  the combination of Modifications made by that Contributor with other software  (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+3.1. Application of License.
+The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+3.2. Availability of Source Code.
+Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+3.3. Description of Modifications.
+You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+3.4. Intellectual Property Matters
+(a) Third Party Claims.
+If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+(b) Contributor APIs.
+If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+          (c)    Representations.
+Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+3.5. Required Notices.
+You must duplicate the notice in Exhibit A in each file of the Source Code.  If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice.  If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A.  You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code.  You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+3.6. Distribution of Executable Versions.
+You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+3.7. Larger Works.
+You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+4. Inability to Comply Due to Statute or Regulation.
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+5. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+6. Versions of the License.
+6.1. New Versions.
+Netscape Communications Corporation (''Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+6.2. Effect of New Versions.
+Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+6.3. Derivative Works.
+If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+7. DISCLAIMER OF WARRANTY.
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+8. TERMINATION.
+8.1.  This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+8.2.  If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant")  alleging that:
+(a)  such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i)  agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant.  If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+(b)  any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+8.3.  If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+8.4.  In the event of termination under Sections 8.1 or 8.2 above,  all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+10. 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.
+11. MISCELLANEOUS.
+This License represents the complete agreement concerning subject matter hereof. 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+12. RESPONSIBILITY FOR CLAIMS.
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+13. MULTIPLE-LICENSED CODE.
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed".  "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A -Mozilla Public License.
+``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+http://www.mozilla.org/MPL/
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
+ANY KIND, either express or implied. See the License for the specific language governing rights and
+limitations under the License.
+The Original Code is ______________________________________.
+The Initial Developer of the Original Code is ________________________. Portions created by
+ ______________________ are Copyright (C) ______ _______________________. All Rights
+Reserved.
+Contributor(s): ______________________________________.
+Alternatively, the contents of this file may be used under the terms of the _____ license (the  "[___] License"), in which case the provisions of [______] License are applicable  instead of those above.  If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting  the provisions above and replace  them with the notice and other provisions required by the [___] License.  If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."
+[NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
+
+%% This notice is provided with respect to Mesa 3-D graphics library v. 5, which may be included with this software:
+
+Copyright (c) 2007 The Khronos Group Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and/or associated documentation files (the
+"Materials"), to deal in the Materials without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Materials, and to
+permit persons to whom the Materials are furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Materials.
+
+THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+%% This notice is provided with respect to Byte Code Engineering Library (BCEL), which may be included with this software:
+
+ Apache Software License
+
+ /*
+==================================================================== * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2001 The Apache Software Foundation. Allrights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, withor without
+ * modification, are permitted provided that the followingconditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the abovecopyright
+ * notice, this list of conditions and the followingdisclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce theabove copyright
+ * notice, this list of conditions and the followingdisclaimer in
+ * the documentation and/or other materials providedwith the
+ * distribution.
+ *
+ * 3. The end-user documentation included with theredistribution,
+ * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation
+(http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in thesoftware itself,
+ * if and wherever such third-party acknowledgmentsnormally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation"and
+ * "Apache BCEL" must not be used to endorse or promoteproducts
+ * derived from this software without prior writtenpermission. For
+ * written permission, please contact apache@apache.org. *
+ * 5. Products derived from this software may not be called"Apache",
+ * "Apache BCEL", nor may "Apache" appear in their name,without
+ * prior written permission of the Apache SoftwareFoundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED ORIMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWAREFOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVERCAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING INANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+==================================================================== *
+ * This software consists of voluntary contributions madeby many
+ * individuals on behalf of the Apache Software
+Foundation. For more
+ * information on the Apache Software Foundation, pleasesee
+ * .
+ */
+
+%% This notice is provided with respect to Regexp, Regular Expression Package, which may be included with this software:
+
+The Apache Software License, Version 1.1
+Copyright (c) 2001 The Apache Software Foundation. All rights
+reserved.
+Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the
+distribution.
+
+3. The end-user documentation included with the redistribution,
+if any, must include the following acknowledgment:
+"This product includes software developed by the
+Apache Software Foundation (http://www.apache.org/)."
+Alternately, this acknowledgment may appear in the software itself,
+if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Apache" and "Apache Software Foundation" and
+"Apache Turbine" must not be used to endorse or promote products
+derived from this software without prior written permission. For
+written permission, please contact apache@apache.org.
+
+5. Products derived from this software may not be called "Apache",
+"Apache Turbine", nor may "Apache" appear in their name, without
+prior written permission of the Apache Software Foundation.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+====================================================================
+This software consists of voluntary contributions made by many
+individuals on behalf of the Apache Software Foundation. For more
+information on the Apache Software Foundation, please see
+
+http://www.apache.org.
+
+%% This notice is provided with respect to CUP Parser Generator for Java, which may be included with this software:
+
+CUP Parser Generator Copyright Notice, License, and Disclaimer
+
+Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided thatthe above copyright notice appear in all copies and that both the copyrightnotice and this permission notice and warranty disclaimer appear in
+supporting documentation, and that the names of the authors or their employersnot be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.
+
+The authors and their employers disclaim all warranties with regard to thissoftware, including all implied warranties of merchantability and
+fitness. In no event shall the authors or their employers be liable for anyspecial, indirect or consequential damages or any damages whatsoever
+resulting from loss of use, data or profits, whether in an action of contract,negligence or other tortious action, arising out of or in connection withthe use or performance of this software.
+
+%% This notice is provided with respect to SAX v. 2.0.1, which may be included with this software:
+
+Copyright Status
+
+ SAX is free!
+
+ In fact, it's not possible to own a license to SAX, since it's been placed in the public
+ domain.
+
+ No Warranty
+
+ Because SAX is released to the public domain, there is no warranty for the design or for
+ the software implementation, to the extent permitted by applicable law. Except when
+ otherwise stated in writing the copyright holders and/or other parties provide SAX "as is"
+ without warranty of any kind, either expressed or implied, including, but not limited to, the
+ implied warranties of merchantability and fitness for a particular purpose. The entire risk as
+ to the quality and performance of SAX is with you. Should SAX prove defective, you
+ assume the cost of all necessary servicing, repair or correction.
+
+ In no event unless required by applicable law or agreed to in writing will any copyright
+ holder, or any other party who may modify and/or redistribute SAX, be liable to you for
+ damages, including any general, special, incidental or consequential damages arising out of
+ the use or inability to use SAX (including but not limited to loss of data or data being
+ rendered inaccurate or losses sustained by you or third parties or a failure of the SAX to
+ operate with any other programs), even if such holder or other party has been advised of
+ the possibility of such damages.
+
+ Copyright Disclaimers
+
+ This page includes statements to that effect by David Megginson, who would have been
+ able to claim copyright for the original work.
+ SAX 1.0
+
+ Version 1.0 of the Simple API for XML (SAX), created collectively by the membership of
+ the XML-DEV mailing list, is hereby released into the public domain.
+
+ No one owns SAX: you may use it freely in both commercial and non-commercial
+ applications, bundle it with your software distribution, include it on a CD-ROM, list the
+ source code in a book, mirror the documentation at your own web site, or use it in any
+ other way you see fit.
+
+ David Megginson, sax@megginson.com
+ 1998-05-11
+
+ SAX 2.0
+
+ I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and release
+ all of the SAX 2.0 source code, compiled code, and documentation contained in this
+ distribution into the Public Domain. SAX comes with NO WARRANTY or guarantee of
+ fitness for any purpose.
+
+ David Megginson, david@megginson.com
+ 2000-05-05
+
+%% This notice is provided with respect to Cryptix, which may be included with this software:
+
+Cryptix General License
+
+Copyright © 1995-2003 The Cryptix Foundation Limited. All rights reserved.
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions aremet:
+
+ 1.Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BELIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOTLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFTHE POSSIBILITY OF SUCH DAMAGE.
+
+%% This notice is provided with respect to X Window System, which may be included with this software:
+
+Copyright The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and itsdocumentation for any purpose is hereby granted without fee, provided that theabove copyright notice appear in all copies and that both that copyright noticeand this permission notice appear in supporting documentation.
+
+The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUPBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OFCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THESOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group.
+
+Portions also covered by other licenses as noted in the above URL.
+
+%% This notice is provided with respect to Retroweaver, which may be included with this software:
+
+Copyright (c) February 2004, Toby Reyelts
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+Neither the name of Toby Reyelts nor the names of his contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+%% This notice is provided with respect to stripper, which may be included with this software:
+
+Stripper : debug information stripper
+ Copyright (c) 2003 Kohsuke Kawaguchi
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+%% This notice is provided with respect to libpng official PNG reference library, which may be included with this software:
+
+This copy of the libpng notices is provided for your convenience. In case ofany discrepancy between this copy and the notices in the file png.h that isincluded in the libpng distribution, the latter shall prevail.
+
+COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
+
+If you modify libpng you may insert additional notices immediately followingthis sentence.
+
+libpng version 1.2.6, December 3, 2004, is
+Copyright (c) 2004 Glenn Randers-Pehrson, and is
+distributed according to the same disclaimer and license as libpng-1.2.5with the following individual added to the list of Contributing Authors
+ Cosmin Truta
+
+libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, areCopyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-1.0.6with the following individuals added to the list of Contributing Authors
+ Simon-Pierre Cadieux
+ Eric S. Raymond
+ Gilles Vollant
+
+and with the following additions to the disclaimer:
+
+ There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user.
+
+libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, areCopyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-0.96,with the following individuals added to the list of Contributing Authors:
+ Tom Lane
+ Glenn Randers-Pehrson
+ Willem van Schaik
+
+libpng versions 0.89, June 1996, through 0.96, May 1997, are
+Copyright (c) 1996, 1997 Andreas Dilger
+Distributed according to the same disclaimer and license as libpng-0.88,with the following individuals added to the list of Contributing Authors:
+ John Bowler
+ Kevin Bracey
+ Sam Bushell
+ Magnus Holmgren
+ Greg Roelofs
+ Tom Tanner
+
+libpng versions 0.5, May 1995, through 0.88, January 1996, are
+Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+
+For the purposes of this copyright and license, "Contributing Authors"is defined as the following set of individuals:
+
+ Andreas Dilger
+ Dave Martindale
+ Guy Eric Schalnat
+ Paul Schmidt
+ Tim Wegner
+
+The PNG Reference Library is supplied "AS IS". The Contributing Authorsand Group 42, Inc. disclaim all warranties, expressed or implied,
+including, without limitation, the warranties of merchantability and offitness for any purpose. The Contributing Authors and Group 42, Inc.
+assume no liability for direct, indirect, incidental, special, exemplary,or consequential damages, which may result from the use of the PNG
+Reference Library, even if advised of the possibility of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute thissource code, or portions hereof, for any purpose, without fee, subjectto the following restrictions:
+
+1. The origin of this source code must not be misrepresented.
+
+2. Altered versions must be plainly marked as such and must not
+ be misrepresented as being the original source.
+
+3. This Copyright notice may not be removed or altered from any
+ source or altered source distribution.
+
+The Contributing Authors and Group 42, Inc. specifically permit, withoutfee, and encourage the use of this source code as a component to
+supporting the PNG file format in commercial products. If you use thissource code in a product, acknowledgment is not required but would be
+appreciated.
+
+
+A "png_get_copyright" function is available, for convenient use in "about"boxes and the like:
+
+ printf("%s",png_get_copyright(NULL));
+
+Also, the PNG logo (in PNG format, of course) is supplied in the
+files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
+
+Libpng is OSI Certified Open Source Software. OSI Certified Open Source is acertification mark of the Open Source Initiative.
+
+Glenn Randers-Pehrson
+glennrp at users.sourceforge.net
+December 3, 2004
+
+%% This notice is provided with respect to Libungif - An uncompressed GIF library, which may be included with this software:
+
+The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond
+
+Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+%% This notice is provided with respect to XML Resolver library, Xalan J2, and StAX API, which may be included with this software:
+
+[Apache 2.0 license removed from this file. On Debian systems the text of
+ the Apache 2.0 license can be found in /usr/share/common-licenses/Apache-2.0 ]
+
+%% Some Portions licensed from IBM are available at:
+http://www.ibm.com/software/globalization/icu/
+
+%% This notice is provided with respect to ICU4J, ICU 1.8.1 and later, which may be included with this software:
+
+ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Cop
+yright (c)
+1995-2003 International Business Machines Corporation and others All rightsreserved. Permission is hereby granted, free of charge, to any person obtaininga copy of this software and associated documentation files (the "Software"), todeal in the Software without restriction, including without limitation therights to use, copy, modify, merge, publish, distribute, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,provided that the above copyright notice(s) and this permission notice appear inall copies of the Software and that both the above copyright notice(s) and thispermission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOTLIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSEAND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHTHOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY C
+ LAIM, OR ANYSPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTINGFROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCEOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE ORPERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of acopyright holder shall not be used in advertising or otherwise to promote thesale, use or other dealings in this Software without prior written authorizationof the copyright holder.
+
+%% This notice is provided with respect to Jing, which may be included with this software:
+
+Jing Copying Conditions
+
+Copyright (c) 2001-2003 Thai Open Source Software Center Ltd
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentation and/orother materials provided with the distribution.
+ * Neither the name of the Thai Open Source Software Center Ltd nor the namesof its contributors may be used to endorse or promote products derived from thissoftware without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ONANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+%% This notice is provided with respect to RELAX NG Object Model/Parser, which may be included with this software:
+
+
+The MIT License
+
+Copyright (c)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy ofthis software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS ORCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHERIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+%% This notice is provided with respect to XFree86-VidMode Extension, which may be included with this software:
+
+Version 1.1 of XFree86 ProjectLicence.
+
+ Copyright (C) 1994-2004 The XFree86 Project, Inc. All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicence, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:
+
+ 1. Redistributions of source code must retain the above copyright notice,this list of conditions, and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution, and in thesame place and form as other copyright, license and disclaimer information. 3. The end-user documentation included with the redistribution, if any,must include the following acknowledgment: "This product includes softwaredeveloped by The XFree86 Project, Inc (http://www.xfree86.org/) and itscontributors", in the same place and form as other third-party acknowledgments.Alternately, this acknowledgment may appear in the software itself, in the sameform and location as other such third-party acknowledgments.
+ 4. Except as contained in this notice, the name of The XFree86 Project,Inc shall not be used in advertising or otherwise to promote the sale, use orother dealings in this Software without prior written authorization from TheXFree86 Project, Inc.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY ANDFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE XFREE86PROJECT, INC OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISINGIN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITYOF SUCH DAMAGE.
+
+%% This notice is provided with respect to XML Security, which may be included with this software:
+
+ The Apache Software License,
+ Version 1.1
+
+
+ PDF
+
+
+ Copyright (C) 2002 The Apache SoftwareFoundation.
+ All rights reserved. Redistribution anduse in
+ source and binary forms, with or withoutmodifica-
+ tion, are permitted provided that thefollowing
+ conditions are met: 1. Redistributions ofsource
+ code must retain the above copyrightnotice, this
+ list of conditions and the followingdisclaimer.
+ 2. Redistributions in binary form mustreproduce
+ the above copyright notice, this list of conditions and the following disclaimerin the
+ documentation and/or other materialsprovided with
+ the distribution. 3. The end-userdocumentation
+ included with the redistribution, if any,must
+ include the following acknowledgment:"This
+ product includes software developed bythe Apache
+ Software Foundation
+(http://www.apache.org/)."
+ Alternately, this acknowledgment mayappear in the
+ software itself, if and wherever suchthird-party
+ acknowledgments normally appear. 4. Thenames
+ "Apache Forrest" and "Apache SoftwareFoundation"
+ must not be used to endorse or promoteproducts
+ derived from this software without priorwritten
+ permission. For written permission,please contact
+ apache@apache.org. 5. Products derivedfrom this
+ software may not be called "Apache", normay
+ "Apache" appear in their name, withoutprior
+ written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED``AS IS''
+ AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THEIMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESSFOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NOEVENT
+ SHALL THE APACHE SOFTWARE FOUNDATION ORITS
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT,INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, ORCONSEQUENTIAL
+ DAMAGES (INCLU- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ORSERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANYTHEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OROTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
+ SUCH DAMAGE. This software consists ofvoluntary
+ contributions made by many individuals onbehalf
+ of the Apache Software Foundation. Formore
+ information on the Apache SoftwareFoundation,
+ please see .
+
+%% This notice is provided with respect to Independent JPEG Group's software (libjpeg), which may be included with this software:
+
+In plain English:
+
+1. We don't promise that this software works. (But if you find any bugs,
+ please let us know!)
+2. You can use this software for whatever you want. You don't have to pay us.
+3. You may not pretend that you wrote this software. If you use it in a program, you must acknowledge somewhere in your documentation that you've used the IJG code.
+
+In legalese:
+
+The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume the entire risk as to its quality and accuracy.
+
+This software is copyright (C) 1991-1998, Thomas G. Lane.
+All Rights Reserved except as specified below.
+
+Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions:
+
+(1) If any part of the source code for this software is distributed, then this
+README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation.
+
+(2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group".
+
+(3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind.
+
+These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us.
+
+Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as "the Independent JPEG Group's software".
+
+We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor.
+
+ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. ansi2knr.c is NOT covered by the above copyright and conditions, but instead by the usual distribution terms of the Free Software Foundation; principally, that you must include source code if you redistribute it. (See the file ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part of any program generated from the IJG code, this does not limit you more than the foregoing paragraphs do.
+
+The Unix configuration script "configure" was produced with GNU Autoconf. It is copyright by the Free Software Foundation but is freely distributable. The same holds for its supporting scripts (config.guess, config.sub, ltconfig, ltmain.sh). Another support script, install-sh, is copyright by M.I.T. but is also freely distributable.
+
+It appears that the arithmetic coding option of the JPEG spec is covered by patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot legally be used without obtaining one or more licenses. For this reason, support for arithmetic coding has been removed from the free JPEG software. (Since arithmetic coding provides only a marginal gain over the unpatented Huffman mode, it is unlikely that very many implementations will support it.) So far as we are aware, there are no patent restrictions on the remaining code.
+
+The IJG distribution formerly included code to read and write GIF files. To avoid entanglement with the Unisys LZW patent, GIF reading support has been removed altogether, and the GIF writer has been simplified to produce "uncompressed GIFs". This technique does not use the LZW algorithm; the resulting GIF files are larger than usual, but are readable by all standard GIF decoders.
+
+We are required to state that
+ "The Graphics Interchange Format(c) is the Copyright property of
+ CompuServe Incorporated. GIF(sm) is a Service Mark property of
+ CompuServe Incorporated."
+
+%% This notice is provided with respect to X Resize and Rotate (Xrandr) Extension, which may be included with this software:
+2. XFree86 License
+
+XFree86 code without an explicit copyright is covered by the following
+copyright/license:
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86
+PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not be
+used in advertising or otherwise to promote the sale, use or other dealings in
+this Software without prior written authorization from the XFree86 Project.
+
+%% This notice is provided with respect to fontconfig, which may be included with this software:
+Id: COPYING,v 1.3 2003/04/04 20:17:40 keithp Exp $
+Copyright 2001,2003 Keith Packard
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Keith Packard not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Keith Packard makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+%% This notice is provided with respect to XFree86, which may be included with this software:
+Copyright (C) 1994-2002 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated
+documentation files (the "Software"), to deal in the Software without
+restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT
+NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not be
+used in advertising or otherwise
+to promote the sale, use or other dealings in this Software without prior
+written authorization from the XFree86
+Project.
+%% This notice is provided with respect to Fast Infoset, which may be included with this software:
+* Fast Infoset ver. 0.1 software ("Software")
+*
+* Copyright, 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
+*
+* Software is licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License. You may
+* obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+* License for the specific language governing permissions and limitations.
+*
+* Sun supports and benefits from the global community of open source
+* developers, and thanks the community for its important contributions and
+* open standards-based technology, which Sun has adopted into many of its
+* products.
+*
+* Please note that portions of Software may be provided with notices and
+* open source licenses from such communities and third parties that govern the
+* use of those portions, and any licenses granted hereunder do not alter any
+* rights and obligations you may have under such open source licenses,
+* however, the disclaimer of warranty and limitation of liability provisions
+* in this License will apply to all Software in this distribution.
+*
+* You acknowledge that the Software is not designed, licensed or intended
+* for use in the design, construction, operation or maintenance of any nuclear
+* facility.
+*
+* Apache License
+* Version 2.0, January 2004
+* http://www.apache.org/licenses/
+*
+*/
+/*
+* ====================================================================
+*
+* This code is subject to the freebxml License, Version 1.1
+*
+* Copyright (c) 2001 - 2005 freebxml.org. All rights reserved.
+*
+* $Header: /cvs/fi/FastInfoset/src/com/sun/xml/internal/fastinfoset/AbstractResourceBundle.java,v 1.2
+*  ====================================================================
+*/
+%% This notice is provided with respect to Kerberos, which may be included with this software:
+
+/*
+ * Copyright (C) 1998 by the FundsXpress, INC.
+ *
+ * All rights reserved.
+ *
+ * Export of this software from the United States of America may require
+ * a specific license from the United States Government.  It is the
+ * responsibility of any person or organization contemplating export to
+ * obtain such a license before exporting.
+ *
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of FundsXpress. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission. FundsXpress makes no representations about the suitability of
+ * this software for any purpose. It is provided "as is" without express
+ * or implied warranty.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+%% This notice is provided with respect to Unicode's CLDR data repository, which may be included with this software:
+
+ Unicode Copyright
+
+ For the general privacy policy governing access to this site, see the
+Unicode Privacy Policy. For trademark usage, see the the Unicode Consortium
+Trademarks and Logo Policy.
+ Notice to End User: Terms of Use
+ Carefully read the following legal agreement ("Agreement"). Use or copying
+of the software and/or codes provided with this agreement (The "Software")
+constitutes your acceptance of these terms
+
+ 1. Unicode Copyright.
+ 1. Copyright © 1991-2005 Unicode, Inc. All rights reserved.
+ 2. Certain documents and files on this website contain a legend
+indicating that "Modification is permitted." Any person is hereby authorized,
+without fee, to modify such documents and files to create derivative works
+conforming to the Unicode® Standard, subject to Terms and Conditions herein.
+ 3. Any person is hereby authorized, without fee, to view, use,
+reproduce, and distribute all documents and files solely for informational
+purposes in the creation of products supporting the Unicode Standard, subject to
+the Terms and Conditions herein.
+ 4. Further specifications of rights and restrictions pertaining to
+the use of the particular set of data files known as the "Unicode Character
+Database" can be found in Exhibit 1.
+ 5. Further specifications of rights and restrictions pertaining to
+the use of the particular set of files that constitute the online edition of The
+Unicode Standard, Version 4.0, may be found in V4.0 online edition.
+ 6. No license is granted to "mirror" the Unicode website where a
+fee is charged for access to the "mirror" site.
+ 7. Modification is not permitted with respect to this document. All
+copies of this document must be verbatim.
+ 2. Restricted Rights Legend. Any technical data or software which is
+licensed to the United States of America, its agencies and/or instrumentalities
+under this Agreement is commercial technical data or commercial computer
+software developed exclusively at private expense as defined in FAR 2.101, or
+DFARS 252.227-7014 (June 1995), as applicable. For technical data, use,
+duplication, or disclosure by the Government is subject to restrictions as set
+forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and
+this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202,
+as applicable, use, duplication or disclosure by the Government is subject to
+the restrictions set forth in this Agreement.
+ 3. Warranties and Disclaimers.
+ 1. This publication and/or website may include technical or
+typographical errors or other inaccuracies . Changes are periodically added to
+the information herein; these changes will be incorporated in new editions of
+the publication and/or website. Unicode may make improvements and/or changes in
+the product(s) and/or program(s) described in this publication and/or website at
+any time.
+ 2. If this file has been purchased on magnetic or optical media
+from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange
+of the defective media within ninety (90) days of original purchase.
+ 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR
+SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS,
+IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE
+AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS
+PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED
+TO THIS PUBLICATION OR THE UNICODE WEBSITE.
+ 4. Waiver of Damages. In no event shall Unicode or its licensors be
+liable for any special, incidental, indirect or consequential damages of any
+kind, or any damages whatsoever, whether or not Unicode was advised of the
+possibility of the damage, including, without limitation, those resulting from
+the following: loss of use, data or profits, in connection with the use,
+modification or distribution of this information or its derivatives.
+ 5. Trademarks.
+ 1. Unicode and the Unicode logo are registered trademarks of
+Unicode, Inc.
+ 2. This site contains product names and corporate names of other
+companies. All product names and company names and logos mentioned herein are
+the trademarks or registered trademarks of their respective owners. Other
+products and corporate names mentioned herein which are trademarks of a third
+party are used only for explanation and for the owners' benefit and with no
+intent to infringe.
+ 3. Use of third party products or information referred to herein is
+at the user's risk.
+ 6. Miscellaneous.
+ 1. Jurisdiction and Venue. This server is operated from a location
+in the State of California, United States of America. Unicode makes no
+representation that the materials are appropriate for use in other locations. If
+you access this server from other locations, you are responsible for compliance
+with local laws. This Agreement, all use of this site and any claims and damages
+resulting from use of this site are governed solely by the laws of the State of
+California without regard to any principles which would apply the laws of a
+different jurisdiction. The user agrees that any disputes regarding this site
+shall be resolved solely in the courts located in Santa Clara County,
+California. The user agrees said courts have personal jurisdiction and agree to
+waive any right to transfer the dispute to any other forum.
+ 2. Modification by Unicode Unicode shall have the right to modify
+this Agreement at any time by posting it to this site. The user may not assign
+any part of this Agreement without Unicode's prior written consent.
+ 3. Taxes. The user agrees to pay any taxes arising from access to
+this website or use of the information herein, except for those based on
+Unicode's net income.
+ 4. Severability. If any provision of this Agreement is declared
+invalid or unenforceable, the remaining provisions of this Agreement shall
+remain in effect.
+ 5. Entire Agreement. This Agreement constitutes the entire
+agreement between the parties.
+
+EXHIBIT 1
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+ Unicode Data Files include all data files under the directories
+http://www.unicode.org/Public/ and http://www.unicode.org/reports/. Unicode
+Software includes any source code under the directories
+http://www.unicode.org/Public/ and http://www.unicode.org/reports/.
+
+ NOTICE TO USER: Carefully read the following legal agreement. BY
+DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES
+("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND
+AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU
+DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES
+OR SOFTWARE.
+
+ COPYRIGHT AND PERMISSION NOTICE
+
+ Copyright Ã?Â,Ã,© 1991-2004 Unicode, Inc. All rights reserved. Distributed under
+the Terms of Use in http://www.unicode.org/copyright.html.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+of the Unicode data files and associated documentation (the "Data Files") or
+Unicode software and associated documentation (the "Software") to deal in the
+Data Files or Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files or
+Software are furnished to do so, provided that (a) the above copyright notice(s)
+and this permission notice appear with all copies of the Data Files or Software,
+(b) both the above copyright notice(s) and this permission notice appear in
+associated documentation, and (c) there is clear notice in each modified Data
+File or in the Software as well as in the documentation associated with the Data
+File(s) or Software that the data or software has been modified.
+
+ THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD
+PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+ Except as contained in this notice, the name of a copyright holder shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in these Data Files or Software without prior written authorization of the
+copyright holder.
+
+ Unicode and the Unicode logo are trademarks of Unicode, Inc., and may be
+registered in some jurisdictions. All other trademarks and registered trademarks
+mentioned herein are the property of their respective owners.
+%% This notice is provided with respect to RSA PKCS#11 Header Files & Specification, which may be included with this software:
+
+/*
+ * Copyright (C) 1998 by the FundsXpress, INC.
+ *
+ * All rights reserved.
+ *
+ * Export of this software from the United States of America may require
+ * a specific license from the United States Government.  It is the
+ * responsibility of any person or organization contemplating export to
+ * obtain such a license before exporting.
+ *
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of FundsXpress. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission.  FundsXpress makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is" without express
+ * or implied warranty.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+%% This notice is provided with respect to certain files/code which may included in the implementation of AWT within the software:
+
+******************************************************
+BEGIN  src/solaris/native/sun/awt/HPkeysym.h
+Copyright 1987, 1998  The Open Group
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Hewlett Packard
+or Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+END  src/solaris/native/sun/awt/HPkeysym.h
+******************************************************
+BEGIN  src/solaris/native/sun/awt/Xinerama.c
+/*****************************************************************
+Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+******************************************************************/
+END  src/solaris/native/sun/awt/Xinerama.c
+******************************************************
+BEGIN src/solaris/native/sun/awt/Xinerama.h
+/*
+Copyright (C) 1994-2001 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Soft-
+ware"), to deal in the Software without restriction, including without
+limitation the rights to use, copy, modify, merge, publish, distribute,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, provided that the above copyright
+notice(s) and this permission notice appear in all copies of the Soft-
+ware and that both the above copyright notice(s) and this permission
+notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
+RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
+THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
+QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
+MANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization of
+the copyright holder.
+*/
+END src/solaris/native/sun/awt/Xinerama.h
+******************************************************
+BEGIN src/solaris/native/sun/awt/Xrandr.h
+/*
+ * $XFree86: xc/lib/Xrandr/Xrandr.h,v 1.9 2002/09/29 23:39:44 keithp Exp $
+ *
+ * Copyright © 2000 Compaq Computer Corporation, Inc.
+ * Copyright © 2002 Hewlett-Packard Company, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Compaq not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  HP makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Jim Gettys, HP Labs, HP.
+ */
+
+
+END src/solaris/native/sun/awt/Xrandr.h
+******************************************************
+BEGIN src/solaris/native/sun/awt/extutil.h
+/*
+ * $Xorg: extutil.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $
+ *
+Copyright 1989, 1998  The Open Group
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * Author:  Jim Fulton, MIT The Open Group
+ *
+ *                     Xlib Extension-Writing Utilities
+ *
+ * This package contains utilities for writing the client API for various
+ * protocol extensions.  THESE INTERFACES ARE NOT PART OF THE X STANDARD AND
+ * ARE SUBJECT TO CHANGE!
+ */
+/* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */
+
+END src/solaris/native/sun/awt/extutil.h
+******************************************************
+BEGIN   src/solaris/native/sun/awt/fontconfig.h
+/*
+ * $RCSId: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.30 2002/09/26 00:17:27
+keithp Exp $
+ *
+ * Copyright © 2001 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  Keith Packard makes no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+
+END   src/solaris/native/sun/awt/fontconfig.h
+******************************************************
+BEGIN src/solaris/native/sun/awt/list.c
+AND  src/solaris/native/sun/awt/list.h
+AND src/solaris/native/sun/awt/multiVis.c
+AND  src/solaris/native/sun/awt/multiVis.h
+AND  src/solaris/native/sun/awt/wsutils.h
+
+Copyright (c) 1994 Hewlett-Packard Co.
+Copyright (c) 1996  X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+END src/solaris/native/sun/awt/list.c
+AND  src/solaris/native/sun/awt/list.h
+AND src/solaris/native/sun/awt/multiVis.c
+AND  src/solaris/native/sun/awt/multiVis.h
+AND  src/solaris/native/sun/awt/wsutils.h
+
+*****************************************************************
+BEGIN src/solaris/native/sun/awt/panoramiXext.h
+Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+END src/solaris/native/sun/awt/panoramiXext.h
+******************************************************
+
+BEGIN src/solaris/native/sun/awt/randr.h
+
+ *
+ * Copyright © 2000, Compaq Computer Corporation,
+ * Copyright © 2002, Hewlett Packard, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Compaq or HP not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.  HP makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Jim Gettys, HP Labs, Hewlett-Packard, Inc.
+
+END src/solaris/native/sun/awt/randr.h
+*****************************************************
+
+BEGIN src/solaris/native/sun/java2d/opengl/J2D_GL/glx.h
+ * Mesa 3-D graphics library
+ * Version:  4.1
+ *
+ * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+END src/solaris/native/sun/java2d/opengl/J2D_GL/glx.h
+
+
+ The Jscheme Language and Implementation
+
+Copyright (c) 2002 Ken R. Anderson, Timothy J. Hickey, Peter Norvig
+
+This system is licensed under the following
+zlib/libpng open-source license.
+
+This software is provided 'as-is', without any express or
+implied warranty.
+
+In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it
+and redistribute it freely, subject to the following
+restrictions:
+
+1. The origin of this software must not be misrepresented; you
+ must not claim that you wrote the original software. If you
+ use this software in a product, an acknowledgment in the
+ product documentation would be appreciated but is not
+ required.
+
+2. Altered source versions must be plainly marked as such, and
+ must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+ distribution.
+
+JScheme includes software licensed under the Apache Software License,
+Version 1.1:
+
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ * Portions of this software are based upon public domain software
+ * originally written at the National Center for Supercomputing Applications,
+ * University of Illinois, Urbana-Champaign.
+ */
+
+
+Licenses for sources found in the IcedTea patches/checkins:
+
+NanoXML:
+
+ * This file is part of NanoXML 2 Lite.
+ * Copyright (C) 2000-2002 Marc De Scheemaecker, All Rights Reserved.
+ *
+ * This software is provided 'as-is', without any express or implied warranty.
+ * In no event will the authors be held liable for any damages arising from the
+ * use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software in
+ * a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ *
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ *
+ * 3. This notice may not be removed or altered from any source distribution.
+
+
+CACAO
+===============================================================================
+
+It was downloaded from http://www.cacaojvm.org/
+
+Copyright Holder: CACAO Project <cacao@cacaojvm.org>
+ Copyright (C) 1996-2008 Verein zur Foerderung der freien virtuellen Maschine CACAO
+ Portions Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
+ C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
+ E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
+ J. Wenninger, Institut f. Computersprachen - TU Wien
+
+License:
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+On Debian systems a full copy of the GNU General Public License, GPL, can be
+found in the file /usr/share/common-licenses/GPL-2.
+
+
+CACAO uses code from other free software projects. Only code licensed
+under a GPL compatible license can be merged in. You can find the
+licenses of third party sources in their respective sources.
+
+
+* src/mm/boehm-gc
+
+Merged in the Boehm-Weiser garbage collector from
+http://www.hpl.hp.com/personal/Hans_Boehm/gc/.
+
+Copyright (c) 1988, 1989 Hans-J. Boehm, Alan J. Demers
+Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved.
+Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
+Copyright (c) 1999-2003 by Hewlett-Packard Company. All rights reserved.
+Portions Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
+
+The file linux_threads.c is also
+Copyright (c) 1998 by Fergus Henderson. All rights reserved.
+
+The files Makefile.am, and configure.in are
+Copyright (c) 2001 by Red Hat Inc. All rights reserved.
+
+Several files supporting GNU-style builds are copyrighted by the Free
+Software Foundation, and carry a different license from that given
+below.
+
+THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+
+Permission is hereby granted to use or copy this program
+for any purpose, provided the above notices are retained on all copies.
+Permission to modify the code and to distribute modified code is granted,
+provided the above notices are retained, and a notice that the code was
+modified is included with the above copyright notice.
+
+A few of the files needed to use the GNU-style build procedure come with
+slightly different licenses, though they are all similar in spirit. A few
+are GPL'ed, but with an exception that should cover all uses in the
+collector. (If you are concerned about such things, I recommend you look
+at the notice in config.guess or ltmain.sh.)
+
+The files copyrighted by Hewlett-Packard Company have the notice:
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+
+* src/fdlibm
+
+fdlimb contains general algorithms useful for runtimes and compilers to
+support strict double and float mathematical operations.
+
+fdlibm files carry the following notices:
+
+ Copyright (c) 1991 by AT&T.
+
+ Permission to use, copy, modify, and distribute this software for any
+ purpose without fee is hereby granted, provided that this entire notice
+ is included in all copies of any software which is or includes a copy
+ or modification of this software and in all copies of the supporting
+ documentation for such software.
+
+ THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+ Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+
+ Developed at SunPro, a Sun Microsystems, Inc. business.
+ Permission to use, copy, modify, and distribute this
+ software is freely granted, provided that this notice
+ is preserved.
+
+The upstream for fdlibm is libgcj (http://gcc.gnu.org/java/), they sync
+again with the 'real' upstream (http://www.netlib.org/fdlibm/readme).
+
+
+* src/threads/green/{locks.[ch],threadio.[ch],threads.[ch]}
+
+This files are taken from Kaffe.org VM available at
+http://www.kaffe.org/. Kaffe's license.terms file is located in the
+top directory of the source code. The current license of Kaffe is the
+same as of CACAO, GPL Version 2.
+
+
+* src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}
+
+Print i386 instructions for GDB, the GNU debugger.
+Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
+
+
+* src/vm/jit/{i386,x86_64}/dis-asm.h
+
+Interface between the opcode library and its callers.
+
+Copyright 2001, 2002 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor,
+Boston, MA 02110-1301 USA
+
+Written by Cygnus Support, 1993.
+
+The opcode library (libopcodes.a) provides instruction decoders for
+a large variety of instruction sets, callable with an identical
+interface, for making instruction-processing programs more independent
+of the instruction set being processed.
+
+
+* src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}
+
+Copyright 1994, 1995, 2000, 2001, 2002 Free Software Foundation, Inc.
+Written by Ian Lance Taylor, Cygnus Support
+
+This file is part of GDB, GAS, and the GNU binutils.
+
+GDB, GAS, and the GNU binutils are free software; you can redistribute
+them and/or modify them under the terms of the GNU General Public
+License as published by the Free Software Foundation; either version
+2, or (at your option) any later version.
+
+GDB, GAS, and the GNU binutils are distributed in the hope that they
+will be useful, but WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this file; see the file COPYING. If not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+Boston, MA 02110-1301 USA.
+
+
+* src/lib/classes/*
+
+GNU Classpath is licensed under the terms of the GNU General Public
+License with the following clarification and special exception:
+
+ "Linking this library statically or dynamically with other modules
+ is making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give
+ you permission to link this library with independent modules to
+ produce an executable, regardless of the license terms of these
+ independent modules, and to copy and distribute the resulting
+ executable under terms of your choice, provided that you also meet,
+ for each linked independent module, the terms and conditions of the
+ license of that module. An independent module is a module which is
+ not derived from or based on this library. If you modify this library,
+ you may extend this exception to your version of the library, but you
+ are not obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version."
+
+See license.terms for the text of the GNU General Public License.
+
+More information on GNU Classpath is available from
+http://www.gnu.org/software/classpath/classpath.html.
+
+
+* m4/{iconv.m4,lib-ld.m4,lib-link.m4,lib-prefix.m4}
+
+Copyright (C) 1996-2003 Free Software Foundation, Inc.
+This file is free software, distributed under the terms of the GNU
+General Public License. As a special exception to the GNU General
+Public License, this file may be distributed as part of a program
+that contains a configuration script generated by Autoconf, under
+the same distribution terms as the rest of that program.
+
+
+* src/toolbox/avl.[ch]
+
+libavl - library for manipulation of binary trees.
+Copyright (C) 1998-2002 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+The author may be contacted at <blp@gnu.org> on the Internet, or
+write to Ben Pfaff, Stanford University, Computer Science Dept., 353
+Serra Mall, Stanford CA 94305, USA.
+
+
+* src/vm/unzip.[ch]
+
+Copyright (C) 1998 Gilles Vollant
+
+This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g
+ WinZip, InfoZip tools and compatible.
+Encryption and multi volume ZipFile (span) are not supported.
+Old compressions used by old PKZip 1.x are not supported
+
+THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
+CAN CHANGE IN FUTURE VERSION !!
+I WAIT FEEDBACK at mail info@winimage.com
+Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution
+
+Condition of use and distribution are the same than zlib :
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+
+src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/armcc
+
+ * Copyright (c) 2007 by NEC LE-IT: All rights reserved.
+ * A transcription of ARMv6 atomic operations for the ARM Realview Toolchain.
+ * This code works with armcc from RVDS 3.1
+ * This is based on work in gcc/arm.h by
+ * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
+ * Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
+ * Copyright (c) 1999-2003 by Hewlett-Packard Company. All rights reserved.
+ *
+ *
+ *
+ * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+ * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+ *
+ * Permission is hereby granted to use or copy this program
+ * for any purpose, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
+
+src/mm/boehm-gc/include/private
+
+ Copyright (c) 2004-2005 Andrei Polushin
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+contrib/vmlog:
+
+/* Copyright (C) 2006 Edwin Steiner <edwin.steiner@gmx.net> */
+/* 2007 Peter Molnar <peter.molnar@wm.sk> */
+
+/* This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+Some of the build files are
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+
+
+JAMVM:
+
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010
+ Robert Lougher <rob@jamvm.org.uk>.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2,
+ or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+On Debian systems a full copy of the GNU General Public License, GPL, can be
+found in the file /usr/share/common-licenses/GPL-2.
diff --git a/debian/copyright.cacao b/debian/copyright.cacao
new file mode 100644
index 0000000..14f310c
--- /dev/null
+++ b/debian/copyright.cacao
@@ -0,0 +1,356 @@
+
+===============================================================================
+CACAO
+===============================================================================
+
+This package was debianized by Stephan Michels <stephan@apache.org> on
+Sat, 12 Nov 2005 22:07:41 +0100.
+
+It was downloaded from http://www.cacaojvm.org/
+
+Copyright Holder: CACAO Project <cacao@cacaojvm.org>
+ Copyright (C) 1996-2008 Verein zur Foerderung der freien virtuellen Maschine CACAO
+ Portions Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
+ C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
+ E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
+ J. Wenninger, Institut f. Computersprachen - TU Wien
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+On Debian systems a full copy of the GNU General Public License, GPL, can be
+found in the file /usr/share/common-licenses/GPL-2.
+
+
+CACAO uses code from other free software projects. Only code licensed
+under a GPL compatible license can be merged in. You can find the
+licenses of third party sources in their respective sources.
+
+
+* src/mm/boehm-gc
+
+Merged in the Boehm-Weiser garbage collector from
+http://www.hpl.hp.com/personal/Hans_Boehm/gc/.
+
+Copyright (c) 1988, 1989 Hans-J. Boehm, Alan J. Demers
+Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved.
+Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
+Copyright (c) 1999-2003 by Hewlett-Packard Company. All rights reserved.
+Portions Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
+
+The file linux_threads.c is also
+Copyright (c) 1998 by Fergus Henderson. All rights reserved.
+
+The files Makefile.am, and configure.in are
+Copyright (c) 2001 by Red Hat Inc. All rights reserved.
+
+Several files supporting GNU-style builds are copyrighted by the Free
+Software Foundation, and carry a different license from that given
+below.
+
+THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+
+Permission is hereby granted to use or copy this program
+for any purpose, provided the above notices are retained on all copies.
+Permission to modify the code and to distribute modified code is granted,
+provided the above notices are retained, and a notice that the code was
+modified is included with the above copyright notice.
+
+A few of the files needed to use the GNU-style build procedure come with
+slightly different licenses, though they are all similar in spirit. A few
+are GPL'ed, but with an exception that should cover all uses in the
+collector. (If you are concerned about such things, I recommend you look
+at the notice in config.guess or ltmain.sh.)
+
+The files copyrighted by Hewlett-Packard Company have the notice:
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+
+* src/fdlibm
+
+fdlimb contains general algorithms useful for runtimes and compilers to
+support strict double and float mathematical operations.
+
+fdlibm files carry the following notices:
+
+ Copyright (c) 1991 by AT&T.
+
+ Permission to use, copy, modify, and distribute this software for any
+ purpose without fee is hereby granted, provided that this entire notice
+ is included in all copies of any software which is or includes a copy
+ or modification of this software and in all copies of the supporting
+ documentation for such software.
+
+ THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+ Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+
+ Developed at SunPro, a Sun Microsystems, Inc. business.
+ Permission to use, copy, modify, and distribute this
+ software is freely granted, provided that this notice
+ is preserved.
+
+The upstream for fdlibm is libgcj (http://gcc.gnu.org/java/), they sync
+again with the 'real' upstream (http://www.netlib.org/fdlibm/readme).
+
+
+* src/threads/green/{locks.[ch],threadio.[ch],threads.[ch]}
+
+This files are taken from Kaffe.org VM available at
+http://www.kaffe.org/. Kaffe's license.terms file is located in the
+top directory of the source code. The current license of Kaffe is the
+same as of CACAO, GPL Version 2.
+
+
+* src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}
+
+Print i386 instructions for GDB, the GNU debugger.
+Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
+
+
+* src/vm/jit/{i386,x86_64}/dis-asm.h
+
+Interface between the opcode library and its callers.
+
+Copyright 2001, 2002 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor,
+Boston, MA 02110-1301 USA
+
+Written by Cygnus Support, 1993.
+
+The opcode library (libopcodes.a) provides instruction decoders for
+a large variety of instruction sets, callable with an identical
+interface, for making instruction-processing programs more independent
+of the instruction set being processed.
+
+
+* src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}
+
+Copyright 1994, 1995, 2000, 2001, 2002 Free Software Foundation, Inc.
+Written by Ian Lance Taylor, Cygnus Support
+
+This file is part of GDB, GAS, and the GNU binutils.
+
+GDB, GAS, and the GNU binutils are free software; you can redistribute
+them and/or modify them under the terms of the GNU General Public
+License as published by the Free Software Foundation; either version
+2, or (at your option) any later version.
+
+GDB, GAS, and the GNU binutils are distributed in the hope that they
+will be useful, but WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this file; see the file COPYING. If not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+Boston, MA 02110-1301 USA.
+
+
+* src/lib/classes/*
+
+GNU Classpath is licensed under the terms of the GNU General Public
+License with the following clarification and special exception:
+
+ "Linking this library statically or dynamically with other modules
+ is making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give
+ you permission to link this library with independent modules to
+ produce an executable, regardless of the license terms of these
+ independent modules, and to copy and distribute the resulting
+ executable under terms of your choice, provided that you also meet,
+ for each linked independent module, the terms and conditions of the
+ license of that module. An independent module is a module which is
+ not derived from or based on this library. If you modify this library,
+ you may extend this exception to your version of the library, but you
+ are not obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version."
+
+See license.terms for the text of the GNU General Public License.
+
+More information on GNU Classpath is available from
+http://www.gnu.org/software/classpath/classpath.html.
+
+
+* m4/{iconv.m4,lib-ld.m4,lib-link.m4,lib-prefix.m4}
+
+Copyright (C) 1996-2003 Free Software Foundation, Inc.
+This file is free software, distributed under the terms of the GNU
+General Public License. As a special exception to the GNU General
+Public License, this file may be distributed as part of a program
+that contains a configuration script generated by Autoconf, under
+the same distribution terms as the rest of that program.
+
+
+* src/toolbox/avl.[ch]
+
+libavl - library for manipulation of binary trees.
+Copyright (C) 1998-2002 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+The author may be contacted at <blp@gnu.org> on the Internet, or
+write to Ben Pfaff, Stanford University, Computer Science Dept., 353
+Serra Mall, Stanford CA 94305, USA.
+
+
+* src/vm/unzip.[ch]
+
+Copyright (C) 1998 Gilles Vollant
+
+This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g
+ WinZip, InfoZip tools and compatible.
+Encryption and multi volume ZipFile (span) are not supported.
+Old compressions used by old PKZip 1.x are not supported
+
+THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
+CAN CHANGE IN FUTURE VERSION !!
+I WAIT FEEDBACK at mail info@winimage.com
+Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution
+
+Condition of use and distribution are the same than zlib :
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+
+src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/armcc
+
+ * Copyright (c) 2007 by NEC LE-IT: All rights reserved.
+ * A transcription of ARMv6 atomic operations for the ARM Realview Toolchain.
+ * This code works with armcc from RVDS 3.1
+ * This is based on work in gcc/arm.h by
+ * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
+ * Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
+ * Copyright (c) 1999-2003 by Hewlett-Packard Company. All rights reserved.
+ *
+ *
+ *
+ * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+ * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+ *
+ * Permission is hereby granted to use or copy this program
+ * for any purpose, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
+
+src/mm/boehm-gc/include/private
+
+ Copyright (c) 2004-2005 Andrei Polushin
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+contrib/vmlog:
+
+/* Copyright (C) 2006 Edwin Steiner <edwin.steiner@gmx.net> */
+/* 2007 Peter Molnar <peter.molnar@wm.sk> */
+
+/* This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+Some of the build files are
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
diff --git a/debian/font.properties.ja b/debian/font.properties.ja
new file mode 100644
index 0000000..9191671
--- /dev/null
+++ b/debian/font.properties.ja
@@ -0,0 +1,197 @@
+# @(#)font.properties.ja.linux 1.7 02/03/07
+#
+# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+#
+
+# Component Font Mappings
+#
+serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
+serif.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+serif.italic.0=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
+serif.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+serif.bold.0=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
+serif.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+serif.bolditalic.0=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1
+serif.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+# Missing Glyph Character
+#
+default.char=274f
+
+# Component Font Character Encodings
+#
+fontcharset.serif.0=sun.io.CharToByteISO8859_1
+fontcharset.serif.1=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
+fontcharset.sansserif.1=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
+fontcharset.monospaced.1=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.dialog.0=sun.io.CharToByteISO8859_1
+fontcharset.dialog.1=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
+fontcharset.dialoginput.1=sun.awt.motif.CharToByteX11JIS0208
+
+# Exclusion Ranges
+#
+
+# XFontSet Information
+#
+fontset.serif.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.serif.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.serif.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.serif.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.default=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
diff --git a/debian/font.properties.ja.wgy_zenhai b/debian/font.properties.ja.wgy_zenhai
new file mode 100644
index 0000000..119822d
--- /dev/null
+++ b/debian/font.properties.ja.wgy_zenhai
@@ -0,0 +1,244 @@
+# @(#)font.properties.ja.linux 1.7 02/03/07
+#
+# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+#
+
+# Component Font Mappings
+#
+serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
+serif.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+serif.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+serif.italic.0=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
+serif.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+serif.italic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+serif.bold.0=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
+serif.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+serif.bold.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+serif.bolditalic.0=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1
+serif.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+serif.bolditalic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+sansserif.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+sansserif.italic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+sansserif.bold.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+sansserif.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+sansserif.bolditalic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+monospaced.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+monospaced.italic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+monospaced.bold.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+monospaced.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+monospaced.bolditalic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialog.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialog.italic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialog.bold.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialog.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialog.bolditalic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialoginput.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialoginput.italic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialoginput.bold.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+dialoginput.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+dialoginput.bolditalic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+# Missing Glyph Character
+#
+default.char=274f
+
+# Component Font Character Encodings
+#
+fontcharset.serif.0=sun.io.CharToByteISO8859_1
+fontcharset.serif.1=sun.awt.motif.CharToByteX11JIS0208
+fontcharset.serif.2=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
+fontcharset.sansserif.1=sun.awt.motif.CharToByteX11JIS0208
+fontcharset.sansserif.2=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
+fontcharset.monospaced.1=sun.awt.motif.CharToByteX11JIS0208
+fontcharset.monospaced.2=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.dialog.0=sun.io.CharToByteISO8859_1
+fontcharset.dialog.1=sun.awt.motif.CharToByteX11JIS0208
+fontcharset.dialog.2=sun.awt.motif.CharToByteX11JIS0208
+
+fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
+fontcharset.dialoginput.1=sun.awt.motif.CharToByteX11JIS0208
+fontcharset.dialoginput.2=sun.awt.motif.CharToByteX11JIS0208
+
+# Exclusion Ranges
+#
+
+# XFontSet Information
+#
+fontset.serif.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.serif.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.serif.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.serif.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.sansserif.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.monospaced.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialog.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.italic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.bold=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.bolditalic=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.dialoginput.plain=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
+fontset.default=\
+-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\
+-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
+-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\
+-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
+
diff --git a/debian/generate-debian-orig.sh b/debian/generate-debian-orig.sh
new file mode 100644
index 0000000..8c7bc9b
--- /dev/null
+++ b/debian/generate-debian-orig.sh
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+tarballs="corba.tar.gz hotspot-default.tar.gz hotspot-zero.tar.gz jaxp.tar.gz jaxws.tar.gz jdk-dfsg.tar.gz langtools-dfsg.tar.gz openjdk.tar.gz"
+jamvmtb=jamvm-0972452d441544f7dd29c55d64f1ce3a5db90d82.tar.gz
+cacaotb=cacao-a567bcb7f589.tar.gz
+tarballdir=7u21
+version=7u21-2.3.9
+base=openjdk-7
+pkgdir=$base-$version
+origtar=${base}_${version}.orig.tar.gz
+
+icedtea_checkout=icedtea7-2.3
+debian_checkout=openjdk7
+
+if [ -d $pkgdir ]; then
+ echo directory $pkgdir already exists
+ exit 1
+fi
+
+if [ -d $pkgdir.orig ]; then
+ echo directory $pkgdir.orig already exists
+ exit 1
+fi
+
+if [ -f $origtar ]; then
+ echo "Using existing $origtar"
+ tar xf $origtar
+ if [ -d $pkgdir.orig ]; then
+ mv $pkgdir.orig $pkgdir
+ fi
+ tar -c -f - -C $icedtea_checkout . | tar -x -f - -C $pkgdir
+ rm -rf $pkgdir/.hg
+else
+ echo "Creating new $pkgdir.orig/"
+ rm -rf $pkgdir.orig
+ mkdir -p $pkgdir.orig
+ case "$base" in
+ openjdk*)
+ for i in $tarballs; do
+ cp -p $tarballdir/$i $pkgdir.orig/
+ done
+ if [ -n "$cacaotb" ]; then
+ cp -p $tarballdir/$cacaotb $pkgdir.orig/
+ fi
+ cp -p $tarballdir/$jamvmtb $pkgdir.orig/
+ ;;
+ esac
+ tar -c -f - -C $icedtea_checkout . | tar -x -f - -C $pkgdir.orig
+ (
+ cd $pkgdir.orig
+ sh autogen.sh
+ rm -rf autom4te.cache
+ )
+ cp -a $pkgdir.orig $pkgdir
+ rm -rf $pkgdir.orig/.hg
+fi
+
+echo "Build debian diff in $pkgdir/"
+cp -a $debian_checkout $pkgdir/debian
+(
+ cd $pkgdir
+ bash debian/update-shasum.sh
+ #bash debian/update-hgrev.sh
+ ls
+ patch -p0 < debian/patches/icedtea-patch.diff
+ sh autogen.sh
+ rm -rf autom4te.cache
+)
diff --git a/debian/generate-dfsg-zip.sh b/debian/generate-dfsg-zip.sh
new file mode 100644
index 0000000..d091392
--- /dev/null
+++ b/debian/generate-dfsg-zip.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+if [ ! -f "$1" ]; then
+ echo "does not exist: $1"
+ exit 1
+fi
+
+jdkdir=$(tar tf $1 | head -1 | sed 's,/.*,,')
+echo $jdkdir
+
+dist=$(lsb_release -is)
+
+# Untar openjdk source zip.
+rm -rf openjdk
+case "$1" in
+ *.zip) unzip -q -x $1 ;;
+ *.tar*) tar xf $1;;
+esac
+
+case "$1" in
+ *jdk*)
+ echo "Cleanup jdk tarball..."
+ # Remove J2DBench sources, some of which have questionable license
+ # headers.
+ rm -rf \
+ $jdkdir/src/share/demo/java2d/J2DBench
+
+ # binary files
+ rm -f \
+ $jdkdir/test/sun/net/idn/*.spp
+
+ rm -rf \
+ $jdkdir/test/sun/security/pkcs11/nss/lib/*
+
+ rm -f \
+ $jdkdir/test/java/util/Locale/data/deflocale.sh \
+ $jdkdir/test/java/util/Locale/data/deflocale.rhel5 \
+ $jdkdir/test/java/util/Locale/data/deflocale.rhel5.fmtasdefault \
+ $jdkdir/test/java/util/Locale/data/deflocale.sol10.fmtasdefault \
+ $jdkdir/test/java/util/Locale/data/deflocale.win7 \
+ $jdkdir/test/java/util/Locale/data/deflocale.win7.fmtasdefault
+;;
+
+ *langtools*)
+ echo "Cleanup langtools tarball..."
+ rm -rf $jdkdir/test/tools/javac/T5090006/broken.jar
+;;
+
+esac
+
+# Create new zip with new name.
+
+NEW_ZIP=$(echo $1 | sed -e 's/\.tar.gz/-dfsg.tar.gz/;s/\.zip/-dfsg.tar.gz/')
+GZIP=-9v tar -cz -f $NEW_ZIP $jdkdir
+
+# Remove old unzipped openjdk dir.
+rm -rf $jdkdir
diff --git a/debian/icedtea-7-jre-jamvm.overrides b/debian/icedtea-7-jre-jamvm.overrides
new file mode 100644
index 0000000..c173d01
--- /dev/null
+++ b/debian/icedtea-7-jre-jamvm.overrides
@@ -0,0 +1,7 @@
+# It seems to be acceptable to use rpath for private libraries like the
+# jdk is doing it. Check http://wiki.debian.org/RpathIssue for more
+# information.
+icedtea-7-jre-jamvm binary: shlib-with-executable-stack
+
+# Strip libjvm.so with --strip-debug instead of --strip-unneeded. LP: #574997.
+icedtea-7-jre-jamvm binary: unstripped-binary-or-object
diff --git a/debian/jvm.cfg-default b/debian/jvm.cfg-default
new file mode 100644
index 0000000..d886ba8
--- /dev/null
+++ b/debian/jvm.cfg-default
@@ -0,0 +1,5 @@
+# jvm.cfg-default - default jvm configuration which is used if no jvm.cfg
+# is found. After unpacking the file jvm.cfg doesn't exist yet (config file),
+# in this case use this file instead, so that the VM can be used before
+# configuration of the runtime package.
+-server KNOWN
diff --git a/debian/mauve_tests b/debian/mauve_tests
new file mode 100644
index 0000000..edba589
--- /dev/null
+++ b/debian/mauve_tests
@@ -0,0 +1,2570 @@
+javax.xml.xpath.XPath
+javax.xml.parsers.DocumentBuilder.PR27864
+javax.xml.parsers.DocumentBuilder.parseSimpleXML
+javax.crypto.spec.TestOfPBEKeySpec
+javax.crypto.spec.TestOfSecretKeySpec
+javax.accessibility.AccessibleContext.getAccessibleRelationSet
+javax.imageio.plugins.jpeg.TestJPEGImageReadParam
+javax.imageio.plugins.jpeg.TestJPEGHuffmanTable
+javax.imageio.plugins.jpeg.TestJPEGQTable
+javax.imageio.stream.IIOByteBuffer.setOffset
+javax.imageio.stream.IIOByteBuffer.setLength
+javax.imageio.stream.IIOByteBuffer.setData
+javax.imageio.spi.ServiceRegistry.getServiceProviderByClass
+javax.imageio.spi.ServiceRegistry.deregisterAll
+javax.imageio.spi.ServiceRegistry.getCategories
+javax.imageio.spi.ServiceRegistry.lookupProviders
+javax.imageio.spi.ServiceRegistry.registerServiceProvider
+javax.imageio.spi.IIOServiceProvider.getVersion
+javax.imageio.spi.IIOServiceProvider.getVendorName
+javax.imageio.spi.ImageOutputStreamSpi.ImageOutputStreamSpi
+javax.imageio.spi.ImageOutputStreamSpi.needsCacheFile
+javax.imageio.spi.ImageOutputStreamSpi.canUseCacheFile
+javax.imageio.spi.ImageReaderWriterSpi.getNativeImageMetadataFormatName
+javax.imageio.spi.ImageReaderWriterSpi.getFileSuffixes
+javax.imageio.spi.ImageReaderWriterSpi.getExtraImageMetadataFormatNames
+javax.imageio.spi.ImageReaderWriterSpi.getPluginClassName
+javax.imageio.spi.ImageReaderWriterSpi.getNativeStreamMetadataFormatName
+javax.imageio.spi.ImageReaderWriterSpi.getExtraStreamMetadataFormatNames
+javax.imageio.spi.ImageReaderWriterSpi.getMIMETypes
+javax.imageio.spi.ImageReaderWriterSpi.isStandardImageMetadataFormatSupported
+javax.imageio.spi.ImageReaderWriterSpi.getFormatNames
+javax.imageio.spi.ImageReaderWriterSpi.isStandardStreamMetadataFormatSupported
+javax.imageio.spi.ImageInputStreamSpi.ImageInputStreamSpi
+javax.imageio.spi.ImageInputStreamSpi.needsCacheFile
+javax.imageio.spi.ImageInputStreamSpi.canUseCacheFile
+javax.imageio.spi.ImageTranscoderSpi.ImageTranscoderSpi
+javax.imageio.spi.IIORegistry.getDefaultInstance
+javax.naming.CompoundName.simple
+javax.naming.directory.BasicAttribute.Enumerate
+javax.naming.CompositeName.composite
+javax.management.ObjectName.apply
+javax.management.ObjectName.Parsing
+javax.management.ObjectName.ParsingJDK6
+javax.management.ObjectName.applyJDK6
+javax.management.openmbean.ArrayType.IsValue
+javax.management.openmbean.ArrayType.Constructor2
+javax.management.openmbean.ArrayType.Equals
+javax.management.openmbean.ArrayType.IsPrimitiveArray
+javax.management.openmbean.ArrayType.GetArrayType
+javax.management.openmbean.ArrayType.HashCode
+javax.management.openmbean.ArrayType.GetPrimitiveArrayType
+javax.management.openmbean.ArrayType.Constructor1
+javax.management.openmbean.CompositeDataInvocationHandler.Test
+javax.management.MBeanServerPermission.Constructor
+javax.security.auth.login.TestOfPR25202
+javax.print.SimpleDoc.constructor
+javax.print.SimpleDoc.getStreamForBytes
+javax.print.SimpleDoc.getAttributes
+javax.print.SimpleDoc.getReaderForText
+javax.print.DocFlavor.parseMimeType
+javax.print.attribute.TextSyntax.constructors
+javax.print.attribute.ResolutionSyntax.simple
+javax.print.attribute.EnumSyntax.serialize
+javax.print.attribute.EnumSyntax.equals
+javax.print.attribute.AttributeSetUtilities.simple
+javax.print.attribute.Size2DSyntax.simple
+javax.print.attribute.SetOfIntegerSyntax.Simple
+javax.print.attribute.HashAttributeSet.populatedSet
+javax.print.attribute.HashAttributeSet.nullTests
+javax.print.attribute.HashAttributeSet.emptySet
+javax.print.attribute.standard.MediaSize.userClass
+javax.swing.JWindow.isRootPaneCheckingEnabled
+javax.swing.JSplitPane.setComponent
+javax.swing.JSplitPane.setResizeWeight
+javax.swing.JSplitPane.getDividerLocation
+javax.swing.JSplitPane.getInputMap
+javax.swing.JSplitPane.getActionMap
+javax.swing.JSplitPane.paramString
+javax.swing.JSplitPane.Constructor
+javax.swing.JOptionPane.getInputMap
+javax.swing.JTabbedPane.getInputMap
+javax.swing.JTabbedPane.Mnemonic
+javax.swing.JTabbedPane.remove
+javax.swing.JToggleButton.constructor
+javax.swing.JToggleButton.actionEvent
+javax.swing.JToggleButton.isFocusable
+javax.swing.JToggleButton.uidelegate
+javax.swing.JToggleButton.getActionCommand
+javax.swing.JToggleButton.model
+javax.swing.JToggleButton.click
+javax.swing.text.View.getResizeWeight
+javax.swing.text.View.getMaximumSpan
+javax.swing.text.View.getMinimumSpan
+javax.swing.text.View.getAlignment
+javax.swing.text.GapContent.getString
+javax.swing.text.GapContent.GapContentTest
+javax.swing.text.GapContent.length
+javax.swing.text.GapContent.constructors
+javax.swing.text.GapContent.insertString
+javax.swing.text.GapContent.getChars
+javax.swing.text.GapContent.PositionTest
+javax.swing.text.GapContent.remove
+javax.swing.text.ElementIterator.ElementIteratorTest
+javax.swing.text.AbstractDocument.BranchElement.getStartOffset
+javax.swing.text.AbstractDocument.BranchElement.getElementIndexNullPointer
+javax.swing.text.AbstractDocument.BranchElement.BranchElementTest
+javax.swing.text.AbstractDocument.BranchElement.getElementIndex
+javax.swing.text.AbstractDocument.LeafElement.getStartOffset
+javax.swing.text.AbstractDocument.getDocumentProperties
+javax.swing.text.AbstractDocument.ElementChange2
+javax.swing.text.AbstractDocument.AbstractDocumentTest
+javax.swing.text.AbstractDocument.ElementChange
+javax.swing.text.AbstractDocument.filterTest
+javax.swing.text.MaskFormatter.MaskFormatterTest
+javax.swing.text.DefaultFormatter.getValueClass
+javax.swing.text.PlainDocument.getRootElements
+javax.swing.text.PlainDocument.getDocumentProperties
+javax.swing.text.PlainDocument.removeJoinesLines
+javax.swing.text.PlainDocument.multipleLeafs
+javax.swing.text.PlainDocument.getText
+javax.swing.text.PlainDocument.getLength
+javax.swing.text.PlainDocument.createPosition
+javax.swing.text.PlainDocument.insertUpdate
+javax.swing.text.PlainDocument.insertString
+javax.swing.text.PlainDocument.PlainDocumentTest
+javax.swing.text.AttributeSet.isEqual
+javax.swing.text.Segment.clone
+javax.swing.text.Segment.first
+javax.swing.text.Segment.setIndex
+javax.swing.text.Segment.last
+javax.swing.text.Segment.getIndex
+javax.swing.text.Segment.current
+javax.swing.text.Segment.next
+javax.swing.text.Segment.isPartialReturn
+javax.swing.text.Segment.getEndIndex
+javax.swing.text.Segment.setPartialReturn
+javax.swing.text.Segment.getBeginIndex
+javax.swing.text.Segment.constructors
+javax.swing.text.Segment.toString
+javax.swing.text.Segment.previous
+javax.swing.text.TextAction.augmentList
+javax.swing.text.TabSet.getTab
+javax.swing.text.TabSet.constructor
+javax.swing.text.TabSet.getTabCount
+javax.swing.text.TabSet.getTabIndex
+javax.swing.text.TabSet.getTabIndexAfter
+javax.swing.text.TabSet.equals
+javax.swing.text.TabSet.toString
+javax.swing.text.html.HTML.HTML_Test
+javax.swing.text.html.HTMLDocument.FindById
+javax.swing.text.html.parser.Entity.Entity_Test
+javax.swing.text.html.parser.TagElement.TagElement_Test
+javax.swing.text.html.parser.AttributeList.AttributeList_test
+javax.swing.text.html.parser.Element.Element_Test
+javax.swing.text.html.parser.ParserDelegator.Entities
+javax.swing.text.html.parser.ParserDelegator.Text4
+javax.swing.text.html.parser.ParserDelegator.randomTables
+javax.swing.text.html.parser.ParserDelegator.SimpleParsing
+javax.swing.text.html.parser.ParserDelegator.Text3
+javax.swing.text.html.parser.ParserDelegator.Text
+javax.swing.text.html.parser.ParserDelegator.eolnNorification
+javax.swing.text.html.parser.ParserDelegator.tokenLocations
+javax.swing.text.html.parser.DTD.DTD_test
+javax.swing.text.BoxView.spans
+javax.swing.text.StyleConstants.setTabSet
+javax.swing.text.StyleConstants.setUnderline
+javax.swing.text.StyleConstants.getLeftIndent
+javax.swing.text.StyleConstants.getIcon
+javax.swing.text.StyleConstants.setFontFamily
+javax.swing.text.StyleConstants.isBold
+javax.swing.text.StyleConstants.setLineSpacing
+javax.swing.text.StyleConstants.isSubscript
+javax.swing.text.StyleConstants.setItalic
+javax.swing.text.StyleConstants.getFontSize
+javax.swing.text.StyleConstants.setComponent
+javax.swing.text.StyleConstants.setBidiLevel
+javax.swing.text.StyleConstants.getForeground
+javax.swing.text.StyleConstants.setSuperscript
+javax.swing.text.StyleConstants.getSpaceAbove
+javax.swing.text.StyleConstants.getLineSpacing
+javax.swing.text.StyleConstants.setSpaceBelow
+javax.swing.text.StyleConstants.setBackground
+javax.swing.text.StyleConstants.getRightIndent
+javax.swing.text.StyleConstants.getFirstLineIndent
+javax.swing.text.StyleConstants.isItalic
+javax.swing.text.StyleConstants.getTabSet
+javax.swing.text.StyleConstants.setIcon
+javax.swing.text.StyleConstants.isUnderline
+javax.swing.text.StyleConstants.setBold
+javax.swing.text.StyleConstants.setAlignment
+javax.swing.text.StyleConstants.setSubscript
+javax.swing.text.StyleConstants.setRightIndent
+javax.swing.text.StyleConstants.isSuperscript
+javax.swing.text.StyleConstants.getSpaceBelow
+javax.swing.text.StyleConstants.setFontSize
+javax.swing.text.StyleConstants.getFontFamily
+javax.swing.text.StyleConstants.constants
+javax.swing.text.StyleConstants.setStrikeThrough
+javax.swing.text.StyleConstants.setForeground
+javax.swing.text.StyleConstants.getAlignment
+javax.swing.text.StyleConstants.setLeftIndent
+javax.swing.text.StyleConstants.getBackground
+javax.swing.text.StyleConstants.getComponent
+javax.swing.text.StyleConstants.getBidiLevel
+javax.swing.text.StyleConstants.setFirstLineIndent
+javax.swing.text.StyleConstants.setSpaceAbove
+javax.swing.text.StyleConstants.isStrikeThrough
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure3
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure1
+javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument6
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure7
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure2
+javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument1
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure4
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure6
+javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument3
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure5
+javax.swing.text.DefaultStyledDocument.ElementBuffer.insert
+javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure8
+javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument2
+javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument5
+javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument4
+javax.swing.text.DefaultStyledDocument.Insert
+javax.swing.text.DefaultStyledDocument.insertString
+javax.swing.text.DefaultStyledDocument.Create
+javax.swing.text.SimpleAttributeSet.removeAttributesOnlyIfMatch
+javax.swing.text.SimpleAttributeSet.clone
+javax.swing.text.SimpleAttributeSet.EMPTY
+javax.swing.text.SimpleAttributeSet.containsAttributes
+javax.swing.text.SimpleAttributeSet.containsChecksParent
+javax.swing.text.SimpleAttributeSet.containsAttribute
+javax.swing.text.SimpleAttributeSet.getResolveParent
+javax.swing.text.SimpleAttributeSet.removeAttribute
+javax.swing.text.SimpleAttributeSet.copyAttributes
+javax.swing.text.SimpleAttributeSet.equals
+javax.swing.text.SimpleAttributeSet.removeAttributes
+javax.swing.text.SimpleAttributeSet.getAttribute
+javax.swing.text.SimpleAttributeSet.isEqual
+javax.swing.text.SimpleAttributeSet.getAttributeCount
+javax.swing.text.SimpleAttributeSet.constructors
+javax.swing.text.SimpleAttributeSet.isDefined
+javax.swing.text.SimpleAttributeSet.addAttribute
+javax.swing.text.SimpleAttributeSet.getAttributeNames
+javax.swing.text.SimpleAttributeSet.setResolveParent
+javax.swing.text.SimpleAttributeSet.isEmpty
+javax.swing.text.SimpleAttributeSet.addAttributes
+javax.swing.text.SimpleAttributeSet.nullValue
+javax.swing.text.ZoneView.getMaximumZoneSize
+javax.swing.text.ZoneView.createZone
+javax.swing.text.ZoneView.constructor
+javax.swing.text.ZoneView.zoneWasLoaded
+javax.swing.text.ZoneView.isZoneLoaded
+javax.swing.text.ZoneView.loadChildren
+javax.swing.text.ZoneView.setMaxZonesLoaded
+javax.swing.text.ZoneView.unloadZone
+javax.swing.text.ZoneView.setMaximumZoneSize
+javax.swing.text.FlowView.FlowStrategy.adjustRow
+javax.swing.text.FlowView.getFlowAxis
+javax.swing.text.InternationalFormatter.InternationalFormatterTest
+javax.swing.text.Utilities.getNextWord
+javax.swing.text.Utilities.getBreakLocation
+javax.swing.text.Utilities.getPreviousWord
+javax.swing.text.Utilities.getWordStart
+javax.swing.text.Utilities.getTabbedTextOffset
+javax.swing.text.TabStop.constructors
+javax.swing.text.TabStop.toString
+javax.swing.text.StringContent.insertUndo
+javax.swing.text.StringContent.BadLocationExceptionTest
+javax.swing.text.StringContent.stickyPosition
+javax.swing.text.StringContent.length
+javax.swing.text.StringContent.removeUndo
+javax.swing.text.StringContent.constructors
+javax.swing.text.StringContent.insertString
+javax.swing.text.StringContent.StringContentTest
+javax.swing.text.StyledEditorKit.createInputAttributesTest
+javax.swing.text.StyleContext.NamedStyleInit
+javax.swing.text.StyleContext.NamedStyleSetResolveParent
+javax.swing.text.StyleContext.addStyle
+javax.swing.text.StyleContext.addAttribute
+javax.swing.JScrollBar.getAccessibleContext
+javax.swing.JScrollBar.getInputMap
+javax.swing.JScrollBar.constructors
+javax.swing.JScrollBar.getActionMap
+javax.swing.JScrollBar.paramString
+javax.swing.plaf.basic.BasicButtonUI.getTextShiftOffset
+javax.swing.plaf.basic.BasicButtonUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicButtonUI.defaultTextIconGap
+javax.swing.plaf.basic.BasicButtonUI.setTextShiftOffset
+javax.swing.plaf.basic.BasicButtonUI.defaultTextShiftOffset
+javax.swing.plaf.basic.BasicButtonUI.clearTextShiftOffset
+javax.swing.plaf.basic.BasicRadioButtonMenuItemUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicToggleButtonUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicSeparatorUI.getPreferredSize
+javax.swing.plaf.basic.BasicSeparatorUI.getMinimumSize
+javax.swing.plaf.basic.BasicSeparatorUI.getMaximumSize
+javax.swing.plaf.basic.BasicLookAndFeel.initSystemColorDefaults
+javax.swing.plaf.basic.BasicCheckBoxMenuItemUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicHTML.isHTMLString
+javax.swing.plaf.basic.BasicScrollBarUI.layoutContainer
+javax.swing.plaf.basic.BasicScrollBarUI.getPreferredSize
+javax.swing.plaf.basic.BasicScrollBarUI.constructor
+javax.swing.plaf.basic.BasicScrollBarUI.getMinimumSize
+javax.swing.plaf.basic.BasicScrollBarUI.createDecreaseButton
+javax.swing.plaf.basic.BasicScrollBarUI.getMaximumSize
+javax.swing.plaf.basic.BasicScrollBarUI.getMaximumThumbSize
+javax.swing.plaf.basic.BasicScrollBarUI.installDefaults
+javax.swing.plaf.basic.BasicScrollBarUI.createIncreaseButton
+javax.swing.plaf.basic.BasicScrollBarUI.installComponents
+javax.swing.plaf.basic.BasicScrollBarUI.getMinimumThumbSize
+javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction.constructor
+javax.swing.plaf.basic.BasicInternalFrameTitlePane.IconifyAction.constructor
+javax.swing.plaf.basic.BasicInternalFrameTitlePane.CloseAction.constructor
+javax.swing.plaf.basic.BasicInternalFrameTitlePane.RestoreAction.constructor
+javax.swing.plaf.basic.BasicInternalFrameTitlePane.MoveAction.constructor
+javax.swing.plaf.basic.BasicInternalFrameTitlePane.SizeAction.constructor
+javax.swing.plaf.basic.BasicPasswordFieldUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicSplitPaneUI.BasicHorizontalLayoutManager.layoutContainer
+javax.swing.plaf.basic.BasicSplitPaneUI.getDividerLocation
+javax.swing.plaf.basic.BasicArrowButton.getPreferredSize
+javax.swing.plaf.basic.BasicArrowButton.isFocusTraversable
+javax.swing.plaf.basic.BasicArrowButton.getMinimumSize
+javax.swing.plaf.basic.BasicArrowButton.isFocusable
+javax.swing.plaf.basic.BasicArrowButton.getMaximumSize
+javax.swing.plaf.basic.BasicSliderUI.xPositionForValue
+javax.swing.plaf.basic.BasicSliderUI.getPreferredSize
+javax.swing.plaf.basic.BasicSliderUI.getMinimumSize
+javax.swing.plaf.basic.BasicSliderUI.valueForYPosition
+javax.swing.plaf.basic.BasicSliderUI.getMaximumSize
+javax.swing.plaf.basic.BasicSliderUI.getThumbSize
+javax.swing.plaf.basic.BasicSliderUI.valueForXPosition
+javax.swing.plaf.basic.BasicSliderUI.constructors
+javax.swing.plaf.basic.BasicSliderUI.yPositionForValue
+javax.swing.plaf.basic.BasicTextFieldUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicTextPaneUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicMenuItemUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicFormattedTextFieldUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicTextAreaUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicComboBoxUI.getDefaultSize
+javax.swing.plaf.basic.BasicComboBoxUI.createEditor
+javax.swing.plaf.basic.BasicComboBoxUI.getMaximumSize
+javax.swing.plaf.basic.BasicListUI.updateLayoutStateNeeded
+javax.swing.plaf.basic.BasicMenuUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicIconFactory.getCheckBoxMenuItemIcon
+javax.swing.plaf.basic.BasicIconFactory.getMenuArrowIcon
+javax.swing.plaf.basic.BasicIconFactory.getCheckBoxIcon
+javax.swing.plaf.basic.BasicFileChooserUI.getFileName
+javax.swing.plaf.basic.BasicFileChooserUI.getApproveButtonText
+javax.swing.plaf.basic.BasicFileChooserUI.constructor
+javax.swing.plaf.basic.BasicFileChooserUI.getApproveButtonMnemonic
+javax.swing.plaf.basic.BasicFileChooserUI.uninstallStrings
+javax.swing.plaf.basic.BasicFileChooserUI.getApproveButton
+javax.swing.plaf.basic.BasicFileChooserUI.getGoHomeAction
+javax.swing.plaf.basic.BasicFileChooserUI.getUpdateAction
+javax.swing.plaf.basic.BasicFileChooserUI.getDirectoryName
+javax.swing.plaf.basic.BasicFileChooserUI.getApproveSelectionAction
+javax.swing.plaf.basic.BasicFileChooserUI.installStrings
+javax.swing.plaf.basic.BasicFileChooserUI.getChangeToParentDirectoryAction
+javax.swing.plaf.basic.BasicFileChooserUI.getCancelSelectionAction
+javax.swing.plaf.basic.BasicFileChooserUI.getFileView
+javax.swing.plaf.basic.BasicFileChooserUI.installIcons
+javax.swing.plaf.basic.BasicFileChooserUI.getNewFolderAction
+javax.swing.plaf.basic.BasicFileChooserUI.getApproveButtonToolTipText
+javax.swing.plaf.basic.BasicFileChooserUI.getDialogTitle
+javax.swing.plaf.basic.BasicCheckBoxUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicComboBoxEditor.removeActionListener
+javax.swing.plaf.basic.BasicComboBoxEditor.addActionListener
+javax.swing.plaf.basic.BasicComboBoxEditor.constructor
+javax.swing.plaf.basic.BasicEditorPaneUI.getPropertyPrefix
+javax.swing.plaf.basic.BasicRootPaneUI.installDefaults
+javax.swing.plaf.basic.BasicRadioButtonUI.getPropertyPrefix
+javax.swing.plaf.ColorUIResource.serialization
+javax.swing.plaf.ColorUIResource.equals
+javax.swing.plaf.ColorUIResource.constructors
+javax.swing.plaf.metal.MetalTheme.MetalThemeTest
+javax.swing.plaf.metal.MetalLookAndFeel.getMenuTextFont
+javax.swing.plaf.metal.MetalLookAndFeel.getDescription
+javax.swing.plaf.metal.MetalLookAndFeel.isNativeLookAndFeel
+javax.swing.plaf.metal.MetalLookAndFeel.getSeparatorBackground
+javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControl
+javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleInactiveForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getMenuBackground
+javax.swing.plaf.metal.MetalLookAndFeel.getMenuForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlShadow
+javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getControlTextFont
+javax.swing.plaf.metal.MetalLookAndFeel.getControlHighlight
+javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlHighlight
+javax.swing.plaf.metal.MetalLookAndFeel.getControlTextColor
+javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlDarkShadow
+javax.swing.plaf.metal.MetalLookAndFeel.getSeparatorForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getSubTextFont
+javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme
+javax.swing.plaf.metal.MetalLookAndFeel.getControlShadow
+javax.swing.plaf.metal.MetalLookAndFeel.isSupportedLookAndFeel
+javax.swing.plaf.metal.MetalLookAndFeel.getMenuSelectedBackground
+javax.swing.plaf.metal.MetalLookAndFeel.getInactiveControlTextColor
+javax.swing.plaf.metal.MetalLookAndFeel.getWhite
+javax.swing.plaf.metal.MetalLookAndFeel.getUserTextFont
+javax.swing.plaf.metal.MetalLookAndFeel.getAcceleratorForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getControlDisabled
+javax.swing.plaf.metal.MetalLookAndFeel.getID
+javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleBackground
+javax.swing.plaf.metal.MetalLookAndFeel.getName
+javax.swing.plaf.metal.MetalLookAndFeel.getSystemTextColor
+javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleFont
+javax.swing.plaf.metal.MetalLookAndFeel.getInactiveSystemTextColor
+javax.swing.plaf.metal.MetalLookAndFeel.getUserTextColor
+javax.swing.plaf.metal.MetalLookAndFeel.getWindowBackground
+javax.swing.plaf.metal.MetalLookAndFeel.getBlack
+javax.swing.plaf.metal.MetalLookAndFeel.getAcceleratorSelectedForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getDesktopColor
+javax.swing.plaf.metal.MetalLookAndFeel.getSystemTextFont
+javax.swing.plaf.metal.MetalLookAndFeel.getControlDarkShadow
+javax.swing.plaf.metal.MetalLookAndFeel.getControlInfo
+javax.swing.plaf.metal.MetalLookAndFeel.getMenuDisabledForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getFocusColor
+javax.swing.plaf.metal.MetalLookAndFeel.getMenuSelectedForeground
+javax.swing.plaf.metal.MetalLookAndFeel.getHighlightedTextColor
+javax.swing.plaf.metal.MetalLookAndFeel.getControl
+javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleInactiveBackground
+javax.swing.plaf.metal.MetalLookAndFeel.getTextHighlightColor
+javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlInfo
+javax.swing.plaf.metal.MetalComboBoxIcon.getIconWidth
+javax.swing.plaf.metal.MetalComboBoxIcon.getIconHeight
+javax.swing.plaf.metal.MetalComboBoxUI.getPreferredSize
+javax.swing.plaf.metal.MetalComboBoxUI.createArrowButton
+javax.swing.plaf.metal.MetalFileChooserUI.getFileName
+javax.swing.plaf.metal.MetalFileChooserUI.createFilterComboBoxModel
+javax.swing.plaf.metal.MetalFileChooserUI.getButtonPanel
+javax.swing.plaf.metal.MetalFileChooserUI.getPreferredSize
+javax.swing.plaf.metal.MetalFileChooserUI.getMinimumSize
+javax.swing.plaf.metal.MetalFileChooserUI.getMaximumSize
+javax.swing.plaf.metal.MetalFileChooserUI.getApproveButton
+javax.swing.plaf.metal.MetalFileChooserUI.setFileName
+javax.swing.plaf.metal.MetalFileChooserUI.getBottomPanel
+javax.swing.plaf.metal.MetalCheckBoxUI.getPropertyPrefix
+javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon.getAdditionalHeight
+javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon.getShift
+javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon.getIconWidth
+javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon.getIconHeight
+javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon.getAdditionalHeight
+javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon.getShift
+javax.swing.plaf.metal.MetalIconFactory.getInternalFrameCloseIcon
+javax.swing.plaf.metal.MetalIconFactory.getInternalFrameMaximizeIcon
+javax.swing.plaf.metal.MetalIconFactory.getMenuItemCheckIcon
+javax.swing.plaf.metal.MetalIconFactory.getRadioButtonMenuItemIcon
+javax.swing.plaf.metal.MetalIconFactory.getCheckBoxMenuItemIcon
+javax.swing.plaf.metal.MetalIconFactory.getTreeHardDriveIcon
+javax.swing.plaf.metal.MetalIconFactory.getTreeLeafIcon
+javax.swing.plaf.metal.MetalIconFactory.getMenuArrowIcon
+javax.swing.plaf.metal.MetalIconFactory.getFileChooserNewFolderIcon
+javax.swing.plaf.metal.MetalIconFactory.getTreeControlIcon
+javax.swing.plaf.metal.MetalIconFactory.getFileChooserDetailViewIcon
+javax.swing.plaf.metal.MetalIconFactory.getTreeFloppyDriveIcon
+javax.swing.plaf.metal.MetalIconFactory.getMenuItemArrowIcon
+javax.swing.plaf.metal.MetalIconFactory.getFileChooserListViewIcon
+javax.swing.plaf.metal.MetalIconFactory.getTreeComputerIcon
+javax.swing.plaf.metal.MetalIconFactory.getFileChooserHomeFolderIcon
+javax.swing.plaf.metal.MetalIconFactory.getInternalFrameAltMaximizeIcon
+javax.swing.plaf.metal.MetalIconFactory.getRadioButtonIcon
+javax.swing.plaf.metal.MetalIconFactory.getFileChooserUpFolderIcon
+javax.swing.plaf.metal.MetalIconFactory.getInternalFrameDefaultMenuIcon
+javax.swing.plaf.metal.MetalIconFactory.getInternalFrameMinimizeIcon
+javax.swing.plaf.metal.MetalIconFactory.getCheckBoxIcon
+javax.swing.plaf.metal.MetalIconFactory.getTreeFolderIcon
+javax.swing.plaf.metal.MetalRadioButtonUI.getSelectColor
+javax.swing.plaf.metal.MetalRadioButtonUI.getFocusColor
+javax.swing.plaf.metal.MetalRadioButtonUI.getDisabledTextColor
+javax.swing.plaf.metal.MetalComboBoxButton.setIconOnly
+javax.swing.plaf.metal.MetalComboBoxButton.isFocusTraversable
+javax.swing.plaf.metal.MetalComboBoxButton.setEnabled
+javax.swing.plaf.metal.MetalComboBoxButton.isIconOnly
+javax.swing.plaf.metal.MetalComboBoxButton.getComboBox
+javax.swing.plaf.metal.MetalComboBoxButton.getComboIcon
+javax.swing.plaf.metal.MetalComboBoxButton.setComboBox
+javax.swing.plaf.metal.MetalComboBoxButton.constructors
+javax.swing.plaf.metal.MetalComboBoxButton.setComboIcon
+javax.swing.plaf.metal.DefaultMetalTheme.getMenuTextFont
+javax.swing.plaf.metal.DefaultMetalTheme.DefaultMetalThemeTest
+javax.swing.plaf.metal.DefaultMetalTheme.getControlTextFont
+javax.swing.plaf.metal.DefaultMetalTheme.getSubTextFont
+javax.swing.plaf.metal.DefaultMetalTheme.getUserTextFont
+javax.swing.plaf.metal.DefaultMetalTheme.getName
+javax.swing.plaf.metal.DefaultMetalTheme.getWindowTitleFont
+javax.swing.plaf.metal.DefaultMetalTheme.getSystemTextFont
+javax.swing.plaf.metal.MetalComboBoxEditor.constructor
+javax.swing.plaf.metal.MetalComboBoxEditor.editorBorderInsets
+javax.swing.plaf.metal.MetalToolTipUI.constructor
+javax.swing.plaf.metal.MetalToolTipUI.createUI
+javax.swing.plaf.metal.OceanTheme.OceanThemeTest
+javax.swing.plaf.metal.OceanTheme.addCustomEntriesToTable
+javax.swing.plaf.metal.MetalToggleButtonUI.getSelectColor
+javax.swing.plaf.metal.MetalToggleButtonUI.getFocusColor
+javax.swing.plaf.metal.MetalToggleButtonUI.getDisabledTextColor
+javax.swing.plaf.metal.MetalBorders.ToolBarBorder.getBorderInsets
+javax.swing.plaf.metal.MetalBorders.MenuItemBorder.borderInsets
+javax.swing.plaf.metal.MetalBorders.MenuBarBorder.getBorderInsets
+javax.swing.plaf.metal.MetalBorders.MenuBarBorder.borderInsets
+javax.swing.plaf.metal.MetalBorders.getToggleButtonBorder
+javax.swing.plaf.metal.MetalBorders.getDesktopIconBorder
+javax.swing.plaf.metal.MetalBorders.getButtonBorder
+javax.swing.plaf.metal.MetalBorders.getTextFieldBorder
+javax.swing.plaf.metal.MetalBorders.getTextBorder
+javax.swing.plaf.metal.MetalScrollButton.getButtonWidth
+javax.swing.plaf.metal.MetalScrollButton.getPreferredSize
+javax.swing.plaf.metal.MetalScrollButton.constructor
+javax.swing.plaf.metal.MetalScrollButton.getMinimumSize
+javax.swing.plaf.metal.MetalScrollButton.isFocusable
+javax.swing.plaf.metal.MetalScrollButton.getMaximumSize
+javax.swing.plaf.metal.MetalScrollBarUI.layoutContainer
+javax.swing.plaf.metal.MetalScrollBarUI.getPreferredSize
+javax.swing.plaf.metal.MetalScrollBarUI.constructor
+javax.swing.plaf.metal.MetalScrollBarUI.installDefaults
+javax.swing.plaf.metal.MetalScrollBarUI.getMinimumThumbSize
+javax.swing.plaf.metal.MetalButtonUI.getSelectColor
+javax.swing.plaf.metal.MetalButtonUI.getFocusColor
+javax.swing.plaf.metal.MetalButtonUI.getDisabledTextColor
+javax.swing.plaf.IconUIResource.constructor
+javax.swing.JFrame.isRootPaneCheckingEnabled
+javax.swing.JFrame.glassPaneLayout
+javax.swing.JFrame.constructors
+javax.swing.border.TitledBorder.getTitleFont
+javax.swing.border.TitledBorder.getTitle
+javax.swing.border.TitledBorder.setTitleJustification
+javax.swing.border.TitledBorder.getBorder
+javax.swing.border.TitledBorder.getBorderInsets
+javax.swing.border.TitledBorder.setTitleColor
+javax.swing.border.TitledBorder.setTitle
+javax.swing.border.TitledBorder.setTitlePosition
+javax.swing.border.TitledBorder.getTitleJustification
+javax.swing.border.TitledBorder.setBorder
+javax.swing.border.TitledBorder.getTitleColor
+javax.swing.border.TitledBorder.isBorderOpaque
+javax.swing.border.TitledBorder.constructors
+javax.swing.border.TitledBorder.setTitleFont
+javax.swing.border.TitledBorder.getTitlePosition
+javax.swing.border.CompoundBorder.isBorderOpaque
+javax.swing.JTable.AccessibleJTable.AccessibleJTableHeaderCell.getAccessibleRole
+javax.swing.JTable.AccessibleJTable.AccessibleJTableCell.getAccessibleRole
+javax.swing.JTable.AccessibleJTable.getAccessibleColumnHeader
+javax.swing.JTable.setRowSelectionAllowed
+javax.swing.JTable.getColumn
+javax.swing.JTable.getRowHeight
+javax.swing.JTable.convertColumnIndexToModel
+javax.swing.JTable.createDefaultDataModel
+javax.swing.JTable.getCellEditor
+javax.swing.JTable.setColumnSelectionAllowed
+javax.swing.JTable.setAutoCreateColumnsFromModel
+javax.swing.JTable.setRowHeight
+javax.swing.JTable.createDefaultSelectionModel
+javax.swing.JTable.getAccessibleContext
+javax.swing.JTable.convertColumnIndexToView
+javax.swing.JTable.isCellEditable
+javax.swing.JTable.getInputMap
+javax.swing.JTable.getCellRect
+javax.swing.JTable.isRowSelected
+javax.swing.JTable.getModel
+javax.swing.JTable.initializeLocalVars
+javax.swing.JTable.createDefaultColumnsFromModel
+javax.swing.JTable.getAutoCreateColumnsFromModel
+javax.swing.JTable.isColumnSelected
+javax.swing.JTable.addColumn
+javax.swing.table.AbstractTableModel.getColumnName
+javax.swing.table.AbstractTableModel.fireTableDataChanged
+javax.swing.table.AbstractTableModel.fireTableStructureChanged
+javax.swing.table.AbstractTableModel.fireTableRowsUpdated
+javax.swing.table.AbstractTableModel.fireTableRowsDeleted
+javax.swing.table.AbstractTableModel.getColumnClass
+javax.swing.table.AbstractTableModel.isCellEditable
+javax.swing.table.AbstractTableModel.fireTableChanged
+javax.swing.table.AbstractTableModel.findColumn
+javax.swing.table.AbstractTableModel.fireTableRowsInserted
+javax.swing.table.AbstractTableModel.fireTableCellUpdated
+javax.swing.table.DefaultTableCellRenderer.getTableCellRendererComponent
+javax.swing.table.DefaultTableColumnModel.getListeners
+javax.swing.table.DefaultTableColumnModel.getColumn
+javax.swing.table.DefaultTableColumnModel.getColumnModelListeners
+javax.swing.table.DefaultTableColumnModel.getSelectedColumnCount
+javax.swing.table.DefaultTableColumnModel.getSelectionModel
+javax.swing.table.DefaultTableColumnModel.getTotalColumnWidth
+javax.swing.table.DefaultTableColumnModel.constructor
+javax.swing.table.DefaultTableColumnModel.getColumns
+javax.swing.table.DefaultTableColumnModel.setColumnSelectionAllowed
+javax.swing.table.DefaultTableColumnModel.getColumnSelectionAllowed
+javax.swing.table.DefaultTableColumnModel.getColumnCount
+javax.swing.table.DefaultTableColumnModel.setSelectionModel
+javax.swing.table.DefaultTableColumnModel.setColumnMargin
+javax.swing.table.DefaultTableColumnModel.getColumnIndexAtX
+javax.swing.table.DefaultTableColumnModel.addColumnModelListener
+javax.swing.table.DefaultTableColumnModel.removeColumn
+javax.swing.table.DefaultTableColumnModel.moveColumn
+javax.swing.table.DefaultTableColumnModel.addColumn
+javax.swing.table.DefaultTableColumnModel.getColumnIndex
+javax.swing.table.DefaultTableColumnModel.getColumnMargin
+javax.swing.table.DefaultTableModel.removeRow
+javax.swing.table.DefaultTableModel.getRowCount
+javax.swing.table.DefaultTableModel.setColumnCount
+javax.swing.table.DefaultTableModel.insertRow
+javax.swing.table.DefaultTableModel.getColumnCount
+javax.swing.table.DefaultTableModel.convertToVector
+javax.swing.table.DefaultTableModel.setColumnIdentifiers
+javax.swing.table.DefaultTableModel.isCellEditable
+javax.swing.table.DefaultTableModel.setDataVector
+javax.swing.table.DefaultTableModel.setValueAt
+javax.swing.table.DefaultTableModel.moveRow
+javax.swing.table.DefaultTableModel.newDataAvailable
+javax.swing.table.DefaultTableModel.addRow
+javax.swing.table.DefaultTableModel.constructors
+javax.swing.table.DefaultTableModel.getDataVector
+javax.swing.table.DefaultTableModel.rowsRemoved
+javax.swing.table.DefaultTableModel.addColumn
+javax.swing.table.DefaultTableModel.setRowCount
+javax.swing.table.DefaultTableModel.getValueAt
+javax.swing.table.TableColumn.setCellEditor
+javax.swing.table.TableColumn.getHeaderRenderer
+javax.swing.table.TableColumn.getIdentifier
+javax.swing.table.TableColumn.setPreferredWidth
+javax.swing.table.TableColumn.setHeaderValue
+javax.swing.table.TableColumn.getCellRenderer
+javax.swing.table.TableColumn.sizeWidthToFit
+javax.swing.table.TableColumn.setResizable
+javax.swing.table.TableColumn.properties
+javax.swing.table.TableColumn.removePropertyChangeListener
+javax.swing.table.TableColumn.setIdentifier
+javax.swing.table.TableColumn.addPropertyChangeListener
+javax.swing.table.TableColumn.setMinWidth
+javax.swing.table.TableColumn.setModelIndex
+javax.swing.table.TableColumn.setCellRenderer
+javax.swing.table.TableColumn.getModelIndex
+javax.swing.table.TableColumn.setMaxWidth
+javax.swing.table.TableColumn.setWidth
+javax.swing.table.TableColumn.constants
+javax.swing.table.TableColumn.setHeaderRenderer
+javax.swing.table.TableColumn.getHeaderValue
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getLocale
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.isFocusTraversable
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.setAccessibleName
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleName
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleDescription
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleIndexInParent
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleContext
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.isVisible
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleChild
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleRole
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleComponent
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleChildrenCount
+javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleValue
+javax.swing.table.JTableHeader.AccessibleJTableHeader.getAccessibleChild
+javax.swing.table.JTableHeader.AccessibleJTableHeader.getAccessibleRole
+javax.swing.table.JTableHeader.AccessibleJTableHeader.getAccessibleChildrenCount
+javax.swing.table.JTableHeader.getAccessibleContext
+javax.swing.event.InternalFrameEvent.constructor
+javax.swing.event.InternalFrameEvent.getInternalFrame
+javax.swing.event.InternalFrameEvent.paramString
+javax.swing.event.ListDataEvent.getIndex0
+javax.swing.event.ListDataEvent.constructor
+javax.swing.event.ListDataEvent.getType
+javax.swing.event.ListDataEvent.getSource
+javax.swing.event.ListDataEvent.getIndex1
+javax.swing.event.ListDataEvent.toString
+javax.swing.event.TableModelEvent.constructors
+javax.swing.event.SwingPropertyChangeSupport.firePropertyChange
+javax.swing.event.SwingPropertyChangeSupport.getPropertyChangeListeners
+javax.swing.event.SwingPropertyChangeSupport.constructor
+javax.swing.event.SwingPropertyChangeSupport.hasListeners
+javax.swing.event.SwingPropertyChangeSupport.removePropertyChangeListener
+javax.swing.event.SwingPropertyChangeSupport.addPropertyChangeListener
+javax.swing.event.EventListenerList.getListeners
+javax.swing.event.EventListenerList.add
+javax.swing.event.EventListenerList.getListenerList
+javax.swing.event.EventListenerList.getListenerCount
+javax.swing.event.EventListenerList.toString
+javax.swing.event.EventListenerList.remove
+javax.swing.event.TreeSelectionEvent.isAddedPath
+javax.swing.event.TreeSelectionEvent.cloneWithSource
+javax.swing.event.TreeSelectionEvent.constructors
+javax.swing.JDesktopPane.constructor
+javax.swing.JRadioButton.isFocusable
+javax.swing.JRadioButton.uidelegate
+javax.swing.JRadioButton.getActionCommand
+javax.swing.JRadioButton.model
+javax.swing.JMenuBar.getComponentIndex
+javax.swing.JMenuBar.getHelpMenu
+javax.swing.JMenuBar.getSubElements
+javax.swing.JMenuBar.setMargin
+javax.swing.JMenuBar.getInputMap
+javax.swing.JMenuBar.setHelpMenu
+javax.swing.JMenuBar.getActionMap
+javax.swing.JMenuBar.getMenu
+javax.swing.JCheckBoxMenuItem.uidelegate
+javax.swing.JCheckBoxMenuItem.getActionCommand
+javax.swing.JCheckBoxMenuItem.model
+javax.swing.JCheckBoxMenuItem.constructors
+javax.swing.JComboBox.getPrototypeDisplayValue
+javax.swing.JComboBox.MutableTest2
+javax.swing.JComboBox.setEditor
+javax.swing.JComboBox.getEditor
+javax.swing.JComboBox.addItem
+javax.swing.JComboBox.MutableTest1
+javax.swing.JComboBox.removeItem
+javax.swing.JComboBox.setModel
+javax.swing.JComboBox.setSelectedIndex
+javax.swing.JComboBox.model
+javax.swing.JComboBox.listenerList
+javax.swing.JComboBox.setPrototypeDisplayValue
+javax.swing.JComboBox.setEditable
+javax.swing.JComboBox.SimpleSelectionTest
+javax.swing.OverlayLayout.layoutContainer
+javax.swing.OverlayLayout.getLayoutAlignmentY
+javax.swing.OverlayLayout.getLayoutAlignmentX
+javax.swing.OverlayLayout.preferredLayoutSize
+javax.swing.OverlayLayout.minimumLayoutSize
+javax.swing.OverlayLayout.maximumLayoutSize
+javax.swing.JScrollPane.AccessibleJScrollPane.resetViewport
+javax.swing.JScrollPane.createHorizontalScrollBar
+javax.swing.JScrollPane.getInputMap
+javax.swing.JScrollPane.createVerticalScrollBar
+javax.swing.JScrollPane.getActionMap
+javax.swing.DefaultListCellRenderer.getListCellRendererComponent
+javax.swing.JFileChooser.setFileHidingEnabled
+javax.swing.JFileChooser.getControlButtonsAreShown
+javax.swing.JFileChooser.setApproveButtonMnemonic
+javax.swing.JFileChooser.setFileSystemView
+javax.swing.JFileChooser.getApproveButtonText
+javax.swing.JFileChooser.setDialogTitle
+javax.swing.JFileChooser.setDialogType
+javax.swing.JFileChooser.setSelectedFile
+javax.swing.JFileChooser.getChoosableFileFilters
+javax.swing.JFileChooser.getApproveButtonMnemonic
+javax.swing.JFileChooser.setApproveButtonText
+javax.swing.JFileChooser.getDialogType
+javax.swing.JFileChooser.getFileFilter
+javax.swing.JFileChooser.setAccessory
+javax.swing.JFileChooser.isAcceptAllFileFilterUsed
+javax.swing.JFileChooser.accept
+javax.swing.JFileChooser.setControlButtonsAreShown
+javax.swing.JFileChooser.setFileView
+javax.swing.JFileChooser.setCurrentDirectory
+javax.swing.JFileChooser.isFileHidingEnabled
+javax.swing.JFileChooser.constructors
+javax.swing.JFileChooser.changeToParentDirectory
+javax.swing.JFileChooser.getFileView
+javax.swing.JFileChooser.getFileSystemView
+javax.swing.JFileChooser.setSelectedFiles
+javax.swing.JFileChooser.setFileFilter
+javax.swing.JFileChooser.getFileSelectionMode
+javax.swing.JFileChooser.setFileSelectionMode
+javax.swing.JFileChooser.getSelectedFiles
+javax.swing.JFileChooser.getAccessory
+javax.swing.JFileChooser.setApproveButtonToolTipText
+javax.swing.JFileChooser.getApproveButtonToolTipText
+javax.swing.JFileChooser.getDialogTitle
+javax.swing.SpinnerDateModel.getPreviousValue
+javax.swing.SpinnerDateModel.setStart
+javax.swing.SpinnerDateModel.setEnd
+javax.swing.SpinnerDateModel.setValue
+javax.swing.SpinnerDateModel.getNextValue
+javax.swing.SpinnerDateModel.constructors
+javax.swing.JDialog.isRootPaneCheckingEnabled
+javax.swing.JPopupMenu.getInputMap
+javax.swing.JSlider.getPaintTrack
+javax.swing.JSlider.addChangeListener
+javax.swing.JSlider.setMinimum
+javax.swing.JSlider.setSnapToTicks
+javax.swing.JSlider.setOrientation
+javax.swing.JSlider.getMinorTickSpacing
+javax.swing.JSlider.setValue
+javax.swing.JSlider.setMaximum
+javax.swing.JSlider.setExtent
+javax.swing.JSlider.setPaintLabels
+javax.swing.JSlider.getSnapToTicks
+javax.swing.JSlider.setMinorTickSpacing
+javax.swing.JSlider.getUIClassID
+javax.swing.JSlider.setLabelTable
+javax.swing.JSlider.getPaintTicks
+javax.swing.JSlider.setModel
+javax.swing.JSlider.getMaximum
+javax.swing.JSlider.setPaintTicks
+javax.swing.JSlider.getPaintLabels
+javax.swing.JSlider.getMinimum
+javax.swing.JSlider.getModel
+javax.swing.JSlider.getInverted
+javax.swing.JSlider.setInverted
+javax.swing.JSlider.constructors
+javax.swing.JSlider.getMajorTickSpacing
+javax.swing.JSlider.createStandardLabels
+javax.swing.JSlider.setMajorTickSpacing
+javax.swing.JSlider.getExtent
+javax.swing.JSlider.setPaintTrack
+javax.swing.JSlider.getLabelTable
+javax.swing.DefaultButtonModel.addActionListener
+javax.swing.DefaultButtonModel.setPressed
+javax.swing.DefaultButtonModel.setEnabled
+javax.swing.DefaultButtonModel.constructor
+javax.swing.DefaultButtonModel.setActionCommand
+javax.swing.DefaultButtonModel.getSelectedObjects
+javax.swing.DefaultButtonModel.setArmed
+javax.swing.DefaultButtonModel.setSelected
+javax.swing.DefaultButtonModel.constants
+javax.swing.DefaultButtonModel.setRollover
+javax.swing.DefaultButtonModel.setGroup
+javax.swing.JComponent.getListeners
+javax.swing.JComponent.setVerifyInputWhenFocusTarget
+javax.swing.JComponent.getVetoableChangeListeners
+javax.swing.JComponent.setInheritsPopupMenu
+javax.swing.JComponent.getPreferredSize
+javax.swing.JComponent.setEnabled
+javax.swing.JComponent.constructor
+javax.swing.JComponent.registerKeyboardAction
+javax.swing.JComponent.setUI
+javax.swing.JComponent.getActionForKeyStroke
+javax.swing.JComponent.setMinimumSize
+javax.swing.JComponent.setPreferredSize
+javax.swing.JComponent.setDefaultLocale
+javax.swing.JComponent.setBackground
+javax.swing.JComponent.setBorder
+javax.swing.JComponent.getInputMap
+javax.swing.JComponent.setVisible
+javax.swing.JComponent.setAlignmentX
+javax.swing.JComponent.setComponentPopupMenu
+javax.swing.JComponent.getFont
+javax.swing.JComponent.setAlignmentY
+javax.swing.JComponent.setMaximumSize
+javax.swing.JComponent.setFont
+javax.swing.JComponent.getVerifyInputWhenFocusTarget
+javax.swing.JComponent.putClientProperty
+javax.swing.JComponent.getAlignmentY
+javax.swing.JComponent.getComponentPopupMenu
+javax.swing.JComponent.getAlignmentX
+javax.swing.JComponent.removeVetoableChangeListener
+javax.swing.JComponent.getRegisteredKeyStrokes
+javax.swing.JComponent.setForeground
+javax.swing.JComponent.paint
+javax.swing.JComponent.setOpaque
+javax.swing.JComponent.addVetoableChangeListener
+javax.swing.JProgressBar.isStringPainted
+javax.swing.JProgressBar.setOrientation
+javax.swing.JProgressBar.setValue
+javax.swing.JProgressBar.setBorderPainted
+javax.swing.JProgressBar.setStringPainted
+javax.swing.JProgressBar.getAccessibleContext
+javax.swing.JProgressBar.getPercentComplete
+javax.swing.JProgressBar.paramString
+javax.swing.JMenu.uidelegate
+javax.swing.JMenu.getInputMap
+javax.swing.JMenu.getActionCommand
+javax.swing.JMenu.model
+javax.swing.JMenu.getPopUpMenu
+javax.swing.JMenu.remove
+javax.swing.UIManager.LookAndFeelInfo.constructor
+javax.swing.UIManager.getPropertyChangeListeners
+javax.swing.UIManager.getBoolean
+javax.swing.UIManager.addAuxiliaryLookAndFeel
+javax.swing.UIManager.getString
+javax.swing.UIManager.getBorder
+javax.swing.UIManager.getIcon
+javax.swing.UIManager.getInsets
+javax.swing.UIManager.removeAuxiliaryLookAndFeel
+javax.swing.UIManager.setLookAndFeel
+javax.swing.UIManager.getFont
+javax.swing.UIManager.getDefaults
+javax.swing.UIManager.getInt
+javax.swing.UIManager.addPropertyChangeListener
+javax.swing.UIManager.getUI
+javax.swing.UIManager.getDimension
+javax.swing.UIManager.getLookAndFeelDefaults
+javax.swing.UIManager.getCrossPlatformLookAndFeelClassName
+javax.swing.UIManager.getColor
+javax.swing.UIManager.getAuxiliaryLookAndFeels
+javax.swing.JPanel.setBorder
+javax.swing.JPanel.Layouter
+javax.swing.JTree.getCellRenderer
+javax.swing.JTree.isRowSelected
+javax.swing.JTree.setModel
+javax.swing.TransferHandler.exportToClipboard
+javax.swing.TransferHandler.TransferActionConstructor
+javax.swing.TransferHandler.canImport
+javax.swing.TransferHandler.importData
+javax.swing.TransferHandler.createTransferable
+javax.swing.JToolTip.setComponent
+javax.swing.JToolTip.setTipText
+javax.swing.JToolTip.getAccessibleContext
+javax.swing.JToolTip.getUIClassID
+javax.swing.JToolTip.getTipText
+javax.swing.JToolTip.paramString
+javax.swing.JToolTip.getComponent
+javax.swing.JToolBar.buttonInsets
+javax.swing.JToolBar.getInputMap
+javax.swing.JRootPane.RootLayout.layoutContainer
+javax.swing.JRootPane.RootLayout.getLayoutAlignmentY
+javax.swing.JRootPane.RootLayout.getLayoutAlignmentX
+javax.swing.JRootPane.RootLayout.preferredLayoutSize
+javax.swing.JRootPane.setLayeredPane
+javax.swing.ScrollPaneLayout.minimumLayoutSize
+javax.swing.Timer.preparatory
+javax.swing.Timer.setDelay
+javax.swing.Timer.basic
+javax.swing.Timer.test_23918
+javax.swing.Timer.setInitialDelay
+javax.swing.ActionMap.newMapKeysNull
+javax.swing.InputMap.put
+javax.swing.InputMap.constructor
+javax.swing.InputMap.keys
+javax.swing.InputMap.setParent
+javax.swing.InputMap.size
+javax.swing.InputMap.newMapKeysNull
+javax.swing.InputMap.get
+javax.swing.InputMap.getParent
+javax.swing.InputMap.remove
+javax.swing.InputMap.clear
+javax.swing.InputMap.allKeys
+javax.swing.filechooser.FileView.getDescription
+javax.swing.filechooser.FileView.getIcon
+javax.swing.filechooser.FileView.getName
+javax.swing.filechooser.FileView.isTraversable
+javax.swing.filechooser.FileView.getTypeDescription
+javax.swing.filechooser.FileSystemView.getFileSystemView
+javax.swing.ViewportLayout.layoutContainer
+javax.swing.ViewportLayout.minimumLayoutSize
+javax.swing.JList.AccessibleJList.AccessibleJListChild.isFocusTraversable
+javax.swing.JList.AccessibleJList.AccessibleJListChild.isEnabled
+javax.swing.JList.AccessibleJList.AccessibleJListChild.setEnabled
+javax.swing.JList.AccessibleJList.AccessibleJListChild.setCursor
+javax.swing.JList.AccessibleJList.AccessibleJListChild.getForeground
+javax.swing.JList.AccessibleJList.AccessibleJListChild.setBackground
+javax.swing.JList.AccessibleJList.AccessibleJListChild.isVisible
+javax.swing.JList.AccessibleJList.AccessibleJListChild.isShowing
+javax.swing.JList.AccessibleJList.AccessibleJListChild.getFont
+javax.swing.JList.AccessibleJList.AccessibleJListChild.getCursor
+javax.swing.JList.AccessibleJList.AccessibleJListChild.getAccessibleRole
+javax.swing.JList.AccessibleJList.AccessibleJListChild.setFont
+javax.swing.JList.AccessibleJList.AccessibleJListChild.getAccessibleStateSet
+javax.swing.JList.AccessibleJList.AccessibleJListChild.setForeground
+javax.swing.JList.AccessibleJList.AccessibleJListChild.getBackground
+javax.swing.JList.AccessibleJList.valueChanged
+javax.swing.JList.AccessibleJList.getAccessibleChild
+javax.swing.JList.AccessibleJList.getAccessibleRole
+javax.swing.JList.AccessibleJList.intervalAdded
+javax.swing.JList.AccessibleJList.intervalRemoved
+javax.swing.JList.AccessibleJList.contentsChanged
+javax.swing.JList.AccessibleJList.getAccessibleStateSet
+javax.swing.JList.setValueIsAdjusting
+javax.swing.JList.setVisibleRowCount
+javax.swing.JList.setSelectionBackground
+javax.swing.JList.setBackground
+javax.swing.JList.getSelectionBackground
+javax.swing.JList.getInputMap
+javax.swing.JList.setModel
+javax.swing.JList.getNextMatch
+javax.swing.JList.setLayoutOrientation
+javax.swing.JList.constructors
+javax.swing.JList.getBackground
+javax.swing.ToolTipManager.setReshowDelay
+javax.swing.ToolTipManager.setInitialDelay
+javax.swing.ToolTipManager.setDismissDelay
+javax.swing.AbstractButton.constructor
+javax.swing.AbstractButton.setRolloverEnabled
+javax.swing.AbstractButton.setRolloverSelectedIcon
+javax.swing.AbstractButton.init
+javax.swing.AbstractButton.setVerticalTextPosition
+javax.swing.AbstractButton.setHorizontalAlignment
+javax.swing.AbstractButton.setHorizontalTextPosition
+javax.swing.AbstractButton.setRolloverIcon
+javax.swing.AbstractButton.setVerticalAlignment
+javax.swing.AbstractButton.createChangeListener
+javax.swing.JLayeredPane.defaultLayoutManager
+javax.swing.JLayeredPane.getComponentsInLayer
+javax.swing.JLayeredPane.setPosition
+javax.swing.JLayeredPane.moveToFront
+javax.swing.JLayeredPane.addImpl
+javax.swing.DefaultListModel.toArray
+javax.swing.DefaultListModel.trimToSize
+javax.swing.DefaultListModel.removeAllElements
+javax.swing.DefaultListModel.constructor
+javax.swing.DefaultListModel.add
+javax.swing.DefaultListModel.lastElement
+javax.swing.DefaultListModel.copyInto
+javax.swing.DefaultListModel.firstElement
+javax.swing.DefaultListModel.setElementAt
+javax.swing.DefaultListModel.set
+javax.swing.DefaultListModel.elementAt
+javax.swing.DefaultListModel.ensureCapacity
+javax.swing.DefaultListModel.indexOf
+javax.swing.DefaultListModel.insertElementAt
+javax.swing.DefaultListModel.setSize
+javax.swing.DefaultListModel.lastIndexOf
+javax.swing.DefaultListModel.elements
+javax.swing.DefaultListModel.size
+javax.swing.DefaultListModel.getSize
+javax.swing.DefaultListModel.capacity
+javax.swing.DefaultListModel.removeElementAt
+javax.swing.DefaultListModel.get
+javax.swing.DefaultListModel.contains
+javax.swing.DefaultListModel.getElementAt
+javax.swing.DefaultListModel.removeRange
+javax.swing.DefaultListModel.addElement
+javax.swing.DefaultListModel.removeElement
+javax.swing.DefaultListModel.isEmpty
+javax.swing.DefaultListModel.remove
+javax.swing.DefaultListModel.clear
+javax.swing.JFormattedTextField.JFormattedTextFieldTests
+javax.swing.AbstractAction.clone
+javax.swing.AbstractAction.setEnabled
+javax.swing.AbstractAction.getValue
+javax.swing.AbstractAction.constructors
+javax.swing.AbstractAction.putValue
+javax.swing.JTextArea.preferredSize
+javax.swing.JTextArea.isValidChecks
+javax.swing.JTextArea.text
+javax.swing.JTextArea.gettingText
+javax.swing.JCheckBox.constructor
+javax.swing.JCheckBox.isFocusable
+javax.swing.JCheckBox.uidelegate
+javax.swing.JCheckBox.getActionCommand
+javax.swing.JCheckBox.model
+javax.swing.JButton.uidelegate
+javax.swing.JButton.getActionCommand
+javax.swing.JButton.model
+javax.swing.SizeRequirements.calculateAlignedPositions
+javax.swing.tree.TreePath.getParentPath
+javax.swing.tree.TreePath.serialization
+javax.swing.tree.TreePath.getPath
+javax.swing.tree.TreePath.getLastPathComponent
+javax.swing.tree.TreePath.PR27651
+javax.swing.tree.TreePath.isDescendant
+javax.swing.tree.TreePath.equals
+javax.swing.tree.TreePath.getPathCount
+javax.swing.tree.TreePath.constructors
+javax.swing.tree.TreePath.getPathComponent
+javax.swing.tree.TreePath.pathByAddingChild
+javax.swing.tree.DefaultMutableTreeNode.clone
+javax.swing.tree.DefaultMutableTreeNode.getChildAt
+javax.swing.tree.DefaultMutableTreeNode.getChildBefore
+javax.swing.tree.DefaultMutableTreeNode.getSiblingCount
+javax.swing.tree.DefaultMutableTreeNode.isNodeSibling
+javax.swing.tree.DefaultMutableTreeNode.getIndex
+javax.swing.tree.DefaultMutableTreeNode.isNodeChild
+javax.swing.tree.DefaultMutableTreeNode.add
+javax.swing.tree.DefaultMutableTreeNode.getFirstChild
+javax.swing.tree.DefaultMutableTreeNode.getPath
+javax.swing.tree.DefaultMutableTreeNode.removeAllChildren
+javax.swing.tree.DefaultMutableTreeNode.getChildCount
+javax.swing.tree.DefaultMutableTreeNode.isNodeRelated
+javax.swing.tree.DefaultMutableTreeNode.getNextSibling
+javax.swing.tree.DefaultMutableTreeNode.getPreviousSibling
+javax.swing.tree.DefaultMutableTreeNode.setAllowsChildren
+javax.swing.tree.DefaultMutableTreeNode.getPreviousLeaf
+javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor
+javax.swing.tree.DefaultMutableTreeNode.getNextPreviousNode
+javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant
+javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration
+javax.swing.tree.DefaultMutableTreeNode.getLastLeaf
+javax.swing.tree.DefaultMutableTreeNode.children
+javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren
+javax.swing.tree.DefaultMutableTreeNode.getFirstLeaf
+javax.swing.tree.DefaultMutableTreeNode.constructors
+javax.swing.tree.DefaultMutableTreeNode.isLeaf
+javax.swing.tree.DefaultMutableTreeNode.insert
+javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNodeTest
+javax.swing.tree.DefaultMutableTreeNode.getParent
+javax.swing.tree.DefaultMutableTreeNode.getLastChild
+javax.swing.tree.DefaultMutableTreeNode.pathFromAncestorEnumeration
+javax.swing.tree.DefaultMutableTreeNode.remove
+javax.swing.tree.DefaultMutableTreeNode.getNextLeaf
+javax.swing.tree.DefaultMutableTreeNode.getChildAfter
+javax.swing.tree.DefaultTreeCellRenderer.getBackgroundSelectionColor
+javax.swing.tree.DefaultTreeCellRenderer.getOpenIcon
+javax.swing.tree.DefaultTreeCellRenderer.getClosedIcon
+javax.swing.tree.DefaultTreeCellRenderer.setOpenIcon
+javax.swing.tree.DefaultTreeCellRenderer.constructor
+javax.swing.tree.DefaultTreeCellRenderer.getLeafIcon
+javax.swing.tree.DefaultTreeCellRenderer.getBorderSelectionColor
+javax.swing.tree.DefaultTreeCellRenderer.setLeafIcon
+javax.swing.tree.DefaultTreeCellRenderer.getDefaultLeafIcon
+javax.swing.tree.DefaultTreeCellRenderer.setBackgroundSelectionColor
+javax.swing.tree.DefaultTreeCellRenderer.getDefaultOpenIcon
+javax.swing.tree.DefaultTreeCellRenderer.getDefaultClosedIcon
+javax.swing.tree.DefaultTreeCellRenderer.setBackgroundNonSelectionColor
+javax.swing.tree.DefaultTreeCellRenderer.setBorderSelectionColor
+javax.swing.tree.DefaultTreeCellRenderer.getBackgroundNonSelectionColor
+javax.swing.tree.DefaultTreeCellRenderer.setClosedIcon
+javax.swing.tree.VariableHeightLayoutCache.getBounds
+javax.swing.BoxLayout.layoutContainer
+javax.swing.BoxLayout.invalidateLayout
+javax.swing.BoxLayout.constructor
+javax.swing.BoxLayout.simplevertical
+javax.swing.BoxLayout.maximumLayoutSize2
+javax.swing.BoxLayout.getLayoutAlignmentY
+javax.swing.BoxLayout.horizontal2
+javax.swing.BoxLayout.getLayoutAlignmentX
+javax.swing.BoxLayout.simplehorizontal
+javax.swing.BoxLayout.constants
+javax.swing.BoxLayout.preferredLayoutSize
+javax.swing.BoxLayout.minimumLayoutSize
+javax.swing.BoxLayout.maximumLayoutSize
+javax.swing.JApplet.isRootPaneCheckingEnabled
+javax.swing.DefaultBoundedRangeModel.setValueIsAdjusting
+javax.swing.DefaultBoundedRangeModel.setMinimum
+javax.swing.DefaultBoundedRangeModel.serialization
+javax.swing.DefaultBoundedRangeModel.setValue
+javax.swing.DefaultBoundedRangeModel.setMaximum
+javax.swing.DefaultBoundedRangeModel.setExtent
+javax.swing.DefaultBoundedRangeModel.getChangeListeners
+javax.swing.DefaultBoundedRangeModel.getValue
+javax.swing.DefaultBoundedRangeModel.setRangeProperties
+javax.swing.DefaultBoundedRangeModel.getMaximum
+javax.swing.DefaultBoundedRangeModel.getValueIsAdjusting
+javax.swing.DefaultBoundedRangeModel.getMinimum
+javax.swing.DefaultBoundedRangeModel.general
+javax.swing.DefaultBoundedRangeModel.toString
+javax.swing.DefaultBoundedRangeModel.getExtent
+javax.swing.undo.UndoableEditSupport.getUndoableEditListeners
+javax.swing.undo.UndoableEditSupport.createCompoundEdit
+javax.swing.undo.UndoableEditSupport.toString
+javax.swing.undo.UndoableEditSupport.beginUpdate
+javax.swing.undo.UndoableEditSupport.UndoableEditSupport
+javax.swing.undo.UndoableEditSupport.getUpdateLevel
+javax.swing.undo.CompoundEdit.lastEdit
+javax.swing.undo.CompoundEdit.addEdit
+javax.swing.undo.CompoundEdit.canRedo
+javax.swing.undo.CompoundEdit.canUndo
+javax.swing.undo.CompoundEdit.isInProgress
+javax.swing.undo.AbstractUndoableEdit.getRedoPresentationName
+javax.swing.undo.AbstractUndoableEdit.addEdit
+javax.swing.undo.AbstractUndoableEdit.canRedo
+javax.swing.undo.AbstractUndoableEdit.redo
+javax.swing.undo.AbstractUndoableEdit.undo
+javax.swing.undo.AbstractUndoableEdit.canUndo
+javax.swing.undo.AbstractUndoableEdit.getPresentationName
+javax.swing.undo.AbstractUndoableEdit.replaceEdit
+javax.swing.undo.AbstractUndoableEdit.isSignificant
+javax.swing.undo.AbstractUndoableEdit.getUndoPresentationName
+javax.swing.undo.StateEdit.undo
+javax.swing.undo.StateEdit.getPresentationName
+javax.swing.undo.UndoManager.getRedoPresentationName
+javax.swing.undo.UndoManager.getUndoOrRedoPresentationName
+javax.swing.undo.UndoManager.addEdit
+javax.swing.undo.UndoManager.canRedo
+javax.swing.undo.UndoManager.trimEdits
+javax.swing.undo.UndoManager.undoTo
+javax.swing.undo.UndoManager.editToBeUndone
+javax.swing.undo.UndoManager.canUndo
+javax.swing.undo.UndoManager.undoableEditHappened
+javax.swing.undo.UndoManager.setLimit
+javax.swing.undo.UndoManager.discardAllEdits
+javax.swing.undo.UndoManager.redoTo
+javax.swing.undo.UndoManager.end
+javax.swing.undo.UndoManager.toString
+javax.swing.undo.UndoManager.getUndoPresentationName
+javax.swing.undo.UndoManager.getLimit
+javax.swing.undo.UndoManager.editToBeRedone
+javax.swing.undo.UndoManager.canUndoOrRedo
+javax.swing.JMenuItem.getActionCommand
+javax.swing.JMenuItem.constructors
+javax.swing.DefaultComboBoxModel.removeAllElements
+javax.swing.DefaultComboBoxModel.insertElementAt
+javax.swing.DefaultComboBoxModel.getIndexOf
+javax.swing.DefaultComboBoxModel.getSize
+javax.swing.DefaultComboBoxModel.constructors
+javax.swing.DefaultComboBoxModel.removeElementAt
+javax.swing.DefaultComboBoxModel.getSelectedItem
+javax.swing.DefaultComboBoxModel.getElementAt
+javax.swing.DefaultComboBoxModel.addElement
+javax.swing.DefaultComboBoxModel.removeElement
+javax.swing.SizeSequence.getIndex
+javax.swing.SizeSequence.getSizes
+javax.swing.SizeSequence.removeEntries
+javax.swing.SizeSequence.setSizes
+javax.swing.SizeSequence.setSize
+javax.swing.SizeSequence.getSize
+javax.swing.SizeSequence.constructors
+javax.swing.SizeSequence.insertEntries
+javax.swing.JTextField.CopyPaste
+javax.swing.JTextField.createDefaultModel
+javax.swing.JTextField.setDocument
+javax.swing.JTextField.fireActionPerformed
+javax.swing.UIDefaults.putDefaults
+javax.swing.UIDefaults.getBoolean
+javax.swing.UIDefaults.remove
+javax.swing.RepaintManager.addDirtyRegion
+javax.swing.JInternalFrame.AccessibleJInternalFrame.getAccessibleName
+javax.swing.JInternalFrame.AccessibleJInternalFrame.getCurrentAccessibleValue
+javax.swing.JInternalFrame.AccessibleJInternalFrame.getMaximumAccessibleValue
+javax.swing.JInternalFrame.AccessibleJInternalFrame.setCurrentAccessibleValue
+javax.swing.JInternalFrame.AccessibleJInternalFrame.getAccessibleRole
+javax.swing.JInternalFrame.AccessibleJInternalFrame.getAccessibleValue
+javax.swing.JInternalFrame.AccessibleJInternalFrame.getMinimumAccessibleValue
+javax.swing.JInternalFrame.getDesktopIcon
+javax.swing.JInternalFrame.isRootPaneCheckingEnabled
+javax.swing.JInternalFrame.setDefaultCloseOperation
+javax.swing.JInternalFrame.isIconifiable
+javax.swing.JInternalFrame.setTitle
+javax.swing.JInternalFrame.setClosable
+javax.swing.JInternalFrame.setResizable
+javax.swing.JInternalFrame.setIconifiable
+javax.swing.JInternalFrame.setFrameIcon
+javax.swing.JInternalFrame.setMaximizable
+javax.swing.JInternalFrame.getInputMap
+javax.swing.JInternalFrame.setClosed
+javax.swing.JInternalFrame.setNormalBounds
+javax.swing.JInternalFrame.setSelected2
+javax.swing.JInternalFrame.dispose
+javax.swing.JInternalFrame.isResizable
+javax.swing.JInternalFrame.constructors
+javax.swing.JInternalFrame.paramString
+javax.swing.JInternalFrame.setDesktopIcon
+javax.swing.JInternalFrame.getNormalBounds
+javax.swing.SpinnerListModel.Constructors
+javax.swing.SpinnerListModel.Ordering
+javax.swing.SpinnerListModel.SetList
+javax.swing.SpinnerListModel.ArrayModel
+javax.swing.SpinnerListModel.ListModel
+javax.swing.JRadioButtonMenuItem.isFocusable
+javax.swing.JRadioButtonMenuItem.uidelegate
+javax.swing.JRadioButtonMenuItem.getActionCommand
+javax.swing.JRadioButtonMenuItem.model
+javax.swing.KeyStroke.getKeyStroke
+javax.swing.SpinnerNumberModel.getPreviousValue
+javax.swing.SpinnerNumberModel.setMinimum
+javax.swing.SpinnerNumberModel.setValue
+javax.swing.SpinnerNumberModel.setMaximum
+javax.swing.SpinnerNumberModel.getNextValue
+javax.swing.SpinnerNumberModel.setStepSize
+javax.swing.SpinnerNumberModel.constructors
+javax.swing.JLabel.AccessibleJLabel.getAccessibleName
+javax.swing.JLabel.setDisplayedMnemonicIndex
+javax.swing.JLabel.constructor
+javax.swing.JLabel.getAccessibleContext
+javax.swing.JLabel.Icon
+javax.swing.JLabel.getInputMap
+javax.swing.JLabel.setHorizontalAlignment
+javax.swing.JLabel.setFont
+javax.swing.JLabel.setDisplayedMnemonic
+javax.swing.JLabel.getActionMap
+javax.swing.JLabel.Mnemonic
+javax.swing.JLabel.paramString
+javax.swing.JLabel.setVerticalAlignment
+javax.swing.JEditorPane.ContentType
+javax.swing.JEditorPane.ViewType
+javax.swing.JEditorPane.setText
+javax.swing.JEditorPane.getScrollableTracks
+javax.swing.DefaultListSelectionModel.clone
+javax.swing.DefaultListSelectionModel.getListeners
+javax.swing.DefaultListSelectionModel.setValueIsAdjusting
+javax.swing.DefaultListSelectionModel.setAnchorSelectionIndex
+javax.swing.DefaultListSelectionModel.removeListSelectionListener
+javax.swing.DefaultListSelectionModel.constructor
+javax.swing.DefaultListSelectionModel.removeIndexInterval
+javax.swing.DefaultListSelectionModel.removeSelectionInterval
+javax.swing.DefaultListSelectionModel.getAnchorSelectionIndex
+javax.swing.DefaultListSelectionModel.getLeadSelectionIndex
+javax.swing.DefaultListSelectionModel.isLeadAnchorNotificationEnabled
+javax.swing.DefaultListSelectionModel.setSelectionInterval
+javax.swing.DefaultListSelectionModel.getSelectionMode
+javax.swing.DefaultListSelectionModel.isSelectedIndex
+javax.swing.DefaultListSelectionModel.moveLeadSelectionIndex
+javax.swing.DefaultListSelectionModel.leadSelectionIndex
+javax.swing.DefaultListSelectionModel.getMaxSelectionIndex
+javax.swing.DefaultListSelectionModel.getMinSelectionIndex
+javax.swing.DefaultListSelectionModel.getListSelectionListeners
+javax.swing.DefaultListSelectionModel.getValueIsAdjusting
+javax.swing.DefaultListSelectionModel.isSelectionEmpty
+javax.swing.DefaultListSelectionModel.addSelectionInterval
+javax.swing.DefaultListSelectionModel.setLeadSelectionIndex
+javax.swing.DefaultListSelectionModel.toString
+javax.swing.DefaultListSelectionModel.setSelectionMode
+javax.swing.DefaultListSelectionModel.clearSelection
+javax.swing.DefaultListSelectionModel.insertIndexInterval
+javax.swing.DefaultListSelectionModel.addListSelectionListener
+javax.swing.SwingUtilities.calculateInnerArea
+javax.swing.SwingUtilities.isRectangleContainingRectangle
+javax.swing.SwingUtilities.computeIntersection
+javax.swing.SwingUtilities.replaceUIActionMap
+javax.swing.SwingUtilities.computeUnion
+javax.swing.JSpinner.ListEditor.constructor
+javax.swing.JSpinner.ListEditor.getModel
+javax.swing.JSpinner.NumberEditor.getModel
+javax.swing.JSpinner.NumberEditor.constructors
+javax.swing.JSpinner.NumberEditor.getFormat
+javax.swing.JSpinner.DefaultEditor.constructor
+javax.swing.JSpinner.DefaultEditor.stateChanged
+javax.swing.JSpinner.DefaultEditor.propertyChange
+javax.swing.JSpinner.DefaultEditor.preferredLayoutSize
+javax.swing.JSpinner.DefaultEditor.minimumLayoutSize
+javax.swing.JSpinner.DateEditor.getModel
+javax.swing.JSpinner.getPreviousValue
+javax.swing.JSpinner.addChangeListener
+javax.swing.JSpinner.createEditor
+javax.swing.JSpinner.getChangeListeners
+javax.swing.JSpinner.setEditor
+javax.swing.JSpinner.getUIClassID
+javax.swing.JSpinner.getEditor
+javax.swing.JSpinner.setModel
+javax.swing.JSpinner.getNextValue
+javax.swing.JSpinner.getModel
+javax.swing.JSpinner.constructors
+javax.swing.JSpinner.removeChangeListener
+javax.swing.ButtonGroup.constructor
+javax.swing.ButtonGroup.add
+javax.swing.ButtonGroup.isSelected
+javax.swing.ButtonGroup.getSelection
+javax.swing.ButtonGroup.getElements
+javax.swing.ButtonGroup.getButtonCount
+javax.swing.ButtonGroup.setSelected
+javax.swing.ButtonGroup.remove
+javax.swing.JViewport.setView
+gnu.javax.crypto.jce.TestOfDHKeyAgreement2
+gnu.javax.crypto.jce.TestOfPR27849
+gnu.javax.crypto.jce.TestOfPR27228
+java.rmi.server.Uniqueness
+java.lang.Integer.compareTo
+java.lang.Integer.decode
+java.lang.Integer.new_Integer
+java.lang.Integer.IntegerTest
+java.lang.Integer.getInteger
+java.lang.Integer.parseInt
+java.lang.ClassLoader.redefine
+java.lang.ClassLoader.security
+java.lang.ClassLoader.loadClass
+java.lang.ClassLoader.initialize
+java.lang.ClassLoader.Resources
+java.lang.ClassLoader.BootDefinedPackages
+java.lang.Number.NumberTest
+java.lang.ProcessBuilder.simple
+java.lang.System.getProperty
+java.lang.System.arraycopy
+java.lang.System.identityHashCode
+java.lang.ThreadGroup.enumerate
+java.lang.ThreadGroup.insecurity
+java.lang.ThreadGroup.security
+java.lang.String.substring
+java.lang.String.compareTo
+java.lang.String.getBytes13
+java.lang.String.hash
+java.lang.String.split
+java.lang.String.getBytes14
+java.lang.String.startsWith
+java.lang.String.equals
+java.lang.String.indexOf
+java.lang.String.to
+java.lang.String.StringTest
+java.lang.String.surrogate
+java.lang.String.charAt
+java.lang.String.new_String
+java.lang.String.getBytes
+java.lang.String.CASE_INSENSITIVE_ORDER
+java.lang.Class.ClassTest
+java.lang.Class.serialization
+java.lang.Class.reflect
+java.lang.Class.security
+java.lang.Class.init
+java.lang.Class.newInstance
+java.lang.Class.reflect2
+java.lang.Cloneable.CloneableTest
+java.lang.ref.WeakReference.weakref
+java.lang.ref.PhantomReference.phantom
+java.lang.Double.compareTo
+java.lang.Double.DoubleSetterTest
+java.lang.Double.DoubleTest
+java.lang.Double.toHexString
+java.lang.Double.parseDouble
+java.lang.Double.compare
+java.lang.Double.valueOf
+java.lang.StrictMath.cbrt
+java.lang.StrictMath.expm1
+java.lang.StrictMath.cosh
+java.lang.StrictMath.sinh
+java.lang.StrictMath.tanh
+java.lang.Short.hash
+java.lang.Short.ShortTest
+java.lang.InheritableThreadLocal.simple
+java.lang.Math.max
+java.lang.Math.ulp
+java.lang.Math.sin
+java.lang.Math.min
+java.lang.Math.cos
+java.lang.Math.MathTest
+java.lang.Math.rint
+java.lang.Boolean.BooleanTest
+java.lang.Boolean.equals_Boolean
+java.lang.Boolean.new_Boolean
+java.lang.Boolean.hashcode_Boolean
+java.lang.Boolean.get
+java.lang.Boolean.value
+java.lang.Float.compareTo
+java.lang.Float.toHexString
+java.lang.Float.compare
+java.lang.Float.parseFloat
+java.lang.Float.valueOf
+java.lang.Float.FloatTest
+java.lang.Float.new_Float
+java.lang.reflect.Array.set
+java.lang.reflect.Array.newInstance
+java.lang.reflect.AccessibleObject.accessible
+java.lang.reflect.Field.promotion
+java.lang.reflect.Field.access
+java.lang.reflect.Field.toString
+java.lang.reflect.Modifier.toString12
+java.lang.reflect.Modifier.toString
+java.lang.reflect.Constructor.newInstance
+java.lang.reflect.Constructor.toString
+java.lang.reflect.Proxy.DeclaringClass
+java.lang.reflect.Proxy.check13
+java.lang.reflect.Proxy.ExceptionRaising
+java.lang.reflect.Proxy.ToString
+java.lang.reflect.InvocationTargetException.Chain
+java.lang.reflect.Method.equals
+java.lang.reflect.Method.toString
+java.lang.reflect.Method.invoke
+java.lang.reflect.ReflectAccess
+java.lang.ThreadLocal.simple
+java.lang.Object.clone
+java.lang.Object.wait
+java.lang.Object.ObjectTest
+java.lang.Object.oom
+java.lang.Byte.ByteTest
+java.lang.Byte.new_Byte
+java.lang.StringBuffer.StringBufferTest
+java.lang.StringBuffer.plus
+java.lang.Long.Tests15
+java.lang.Long.getLong
+java.lang.Long.LongTest
+java.lang.Long.new_Long
+java.lang.Thread.join
+java.lang.Thread.isAlive
+java.lang.Thread.name
+java.lang.Thread.interrupt
+java.lang.Thread.contextClassLoader
+java.lang.Thread.getThreadGroup
+java.lang.Thread.priority
+java.lang.Thread.stop
+java.lang.Thread.daemon
+java.lang.Package.getPackage
+java.lang.Character.digit
+java.lang.Character.Blocks
+java.lang.Character.unicode
+java.lang.Character.getNumericValue
+java.lang.Character.getType
+java.lang.Character.hash
+java.lang.Character.classify
+java.lang.Character.classify12
+java.lang.Character.to
+java.lang.Character.consts
+java.lang.Character.forDigit
+java.lang.Character.getType12
+java.lang.Character.equals_Character
+java.lang.Character.CharacterTest
+java.lang.Character.Blocks15
+java.lang.SecurityManager.thread
+java.text.StringCharacterIterator.constructor
+java.text.StringCharacterIterator.iter
+java.text.CollationElementIterator.offset
+java.text.CollationElementIterator.jdk11
+java.text.AttributedString.constructors
+java.text.AttributedString.addAttribute
+java.text.AttributedString.getIterator
+java.text.AttributedString.addAttributes
+java.text.AttributedString.Test
+java.text.DecimalFormat.setCurrency
+java.text.DecimalFormat.clone
+java.text.DecimalFormat.setDecimalFormatSymbols
+java.text.DecimalFormat.getNegativePrefix
+java.text.DecimalFormat.applyPattern
+java.text.DecimalFormat.formatToCharacterIterator
+java.text.DecimalFormat.getNegativeSuffix
+java.text.DecimalFormat.setNegativePrefix
+java.text.DecimalFormat.applyLocalizedPattern
+java.text.DecimalFormat.getDecimalFormatSymbols
+java.text.DecimalFormat.toLocalizedPattern
+java.text.DecimalFormat.isDecimalSeparatorAlwaysShown
+java.text.DecimalFormat.setNegativeSuffix
+java.text.DecimalFormat.PR27311
+java.text.DecimalFormat.getPositivePrefix
+java.text.DecimalFormat.getCurrency
+java.text.DecimalFormat.equals
+java.text.DecimalFormat.digits
+java.text.DecimalFormat.setDecimalSeparatorAlwaysShown
+java.text.DecimalFormat.setPositiveSuffix
+java.text.DecimalFormat.parse
+java.text.DecimalFormat.setPositivePrefix
+java.text.DecimalFormat.toPattern14
+java.text.DecimalFormat.setMultiplier
+java.text.DecimalFormat.format
+java.text.DecimalFormat.getPositiveSuffix
+java.text.DecimalFormat.setGroupingSize
+java.text.DecimalFormat.PR23996
+java.text.DecimalFormat.toPattern
+java.text.DecimalFormat.constructors
+java.text.DecimalFormat.MaximumAndMinimumDigits
+java.text.DecimalFormat.formatExp
+java.text.DecimalFormat.getGroupingSize
+java.text.DecimalFormat.hashCode
+java.text.DecimalFormat.position
+java.text.DecimalFormat.getMultiplier
+java.text.NumberFormat.UK
+java.text.CharacterIterator.implement
+java.text.ParsePosition.Test
+java.text.BreakIterator.chariter
+java.text.BreakIterator.patho
+java.text.BreakIterator.lineiter
+java.text.BreakIterator.sentiter
+java.text.BreakIterator.worditer
+java.text.Collator.Constants
+java.text.Collator.GetSet
+java.text.ParseException.Test
+java.text.Annotation.Test
+java.text.RuleBasedCollator.CollatorTests
+java.text.RuleBasedCollator.VeryBasic
+java.text.MessageFormat.format14
+java.text.MessageFormat.attribute
+java.text.MessageFormat.parse
+java.text.MessageFormat.format
+java.text.ChoiceFormat.next
+java.text.ChoiceFormat.parse
+java.text.ChoiceFormat.format
+java.text.DateFormatSymbols.setMonths
+java.text.DateFormatSymbols.setShortMonths
+java.text.DateFormatSymbols.setEras
+java.text.DateFormatSymbols.setAmPmStrings
+java.text.DateFormatSymbols.setWeekdays
+java.text.DateFormatSymbols.setZoneStrings
+java.text.DateFormatSymbols.setShortWeekdays
+java.text.DateFormatSymbols.Test
+java.text.AttributedCharacterIterator.Attribute.toString
+java.text.AttributedCharacterIterator.getRunLimit
+java.text.AttributedCharacterIterator.implement
+java.text.AttributedCharacterIterator.getRunStart
+java.text.AttributedCharacterIterator.getAttribute
+java.text.DateFormat.equals
+java.text.DateFormat.hashCode
+java.text.DateFormat.Test
+java.text.ACIAttribute.Test
+java.text.DecimalFormatSymbols.serial
+java.text.DecimalFormatSymbols.GetSet12
+java.text.DecimalFormatSymbols.getCurrency
+java.text.DecimalFormatSymbols.DumpDefault11
+java.text.DecimalFormatSymbols.GetSet11
+java.text.DecimalFormatSymbols.DumpDefault12
+java.text.FieldPosition.Test
+java.text.SimpleDateFormat.applyPattern
+java.text.SimpleDateFormat.Localization
+java.text.SimpleDateFormat.applyLocalizedPattern
+java.text.SimpleDateFormat.toLocalizedPattern
+java.text.SimpleDateFormat.attribute
+java.text.SimpleDateFormat.Cloning
+java.text.SimpleDateFormat.getDateFormatSymbols
+java.text.SimpleDateFormat.parse
+java.text.SimpleDateFormat.toPattern
+java.text.SimpleDateFormat.constructors
+java.text.SimpleDateFormat.setDateFormatSymbols
+java.text.SimpleDateFormat.getAndSet2DigitYearStart
+java.text.SimpleDateFormat.Test
+java.text.Bidi.Basic
+java.text.Bidi.reorderVisually
+java.math.BigInteger.compareTo
+java.math.BigInteger.modInverse
+java.math.BigInteger.shift
+java.math.BigInteger.serialization
+java.math.BigInteger.add
+java.math.BigInteger.TestOfPR27372
+java.math.BigInteger.signum
+java.math.BigInteger.modPow
+java.math.BigInteger.equals
+java.math.BigInteger.divide
+java.math.BigInteger.setBit
+java.math.BigInteger.multiply
+java.math.BigInteger.TestOfToByteArray
+java.math.BigInteger.toString
+java.math.BigInteger.ctor
+java.math.BigInteger.abs
+java.math.BigInteger.valueOf
+java.math.BigDecimal.compareTo
+java.math.BigDecimal.divide
+java.math.BigDecimal.DiagBigDecimal
+java.math.BigDecimal.construct
+java.math.BigDecimal.setScale
+java.security.MessageDigest.Instance
+java.security.AccessController.doPrivileged
+java.security.AccessController.contexts
+java.security.Security.getAlgorithms
+java.security.Security.provider
+java.security.Provider.NameVersionInfo
+java.security.SecureRandom.SHA1PRNG
+java.security.SecureRandom.TestOfPR23899
+java.security.SecureRandom.Instance
+java.security.KeyPairGenerator.getInstance14
+java.security.AlgorithmParameters.getInstance14
+java.security.AlgorithmParameterGenerator.getInstance14
+java.security.DigestInputStream.readMD5
+java.security.KeyFactory.getInstance14
+java.security.Signature.getInstance14
+java.security.Signature.Instance
+java.security.BasicPermission.newPermission
+java.sql.Clob.ClobTest
+java.sql.Types.TestJdbc10
+java.sql.Types.TestJdbc20
+java.sql.Array.ArrayTest
+java.sql.Blob.BlobTest
+java.sql.Connection.TestJdbc
+java.sql.Time.TimeTest
+java.sql.DriverManager.DriverManagerTest
+java.sql.Date.DateTest
+java.sql.DatabaseMetaData.TestJdbc
+java.sql.Timestamp.TimestampTest
+java.io.RandomAccessFile.setLength
+java.io.RandomAccessFile.security
+java.io.RandomAccessFile.jdk11
+java.io.RandomAccessFile.randomaccessfile
+java.io.BufferedWriter.Test
+java.io.PipedReaderWriter.Test
+java.io.PushbackInputStream.ProtectedVars
+java.io.PushbackInputStream.BufferOverflow
+java.io.PushbackInputStream.Unread
+java.io.FileOutputStream.append
+java.io.FileOutputStream.fileoutputstream
+java.io.FileOutputStream.security
+java.io.FileOutputStream.write
+java.io.FileOutputStream.jdk12
+java.io.StringWriter.Test
+java.io.FilterOutputStream.write
+java.io.ObjectInputStream.security
+java.io.ObjectInputStream.readResolve
+java.io.ObjectInputStream.ClassLoaderTest
+java.io.ObjectOutputStream.security
+java.io.ObjectOutputStream.StreamDataTest
+java.io.ObjectOutputStream.useProtocolVersion
+java.io.InputStream.Test
+java.io.Utf8Encoding.ReadReference
+java.io.Utf8Encoding.WriteRead
+java.io.FilePermission.traversal2
+java.io.FilePermission.simple
+java.io.FilePermission.traversal
+java.io.FileWriter.jdk11
+java.io.OutputStreamWriter.jdk11
+java.io.Serializable.BreakMe
+java.io.Serializable.BreakMeTestSer
+java.io.Serializable.ParentReadResolve
+java.io.Serializable.readResolve
+java.io.Serializable.ParentWriteReplace
+java.io.ObjectInputOutput.LoopSerializationTest
+java.io.ObjectInputOutput.ExtTest
+java.io.ObjectInputOutput.Deserializable
+java.io.ObjectInputOutput.ProxySerializationTest
+java.io.ObjectInputOutput.Compat1
+java.io.ObjectInputOutput.SerTest
+java.io.ObjectInputOutput.HierarchyTest
+java.io.ObjectInputOutput.OutputTest
+java.io.ObjectInputOutput.InputTest
+java.io.PrintWriter.jdk11
+java.io.PrintWriter.checkError
+java.io.SequenceInputStream.Test
+java.io.StringBufferInputStream.ProtectedVars
+java.io.StringBufferInputStream.SimpleRead
+java.io.StringBufferInputStream.MarkReset
+java.io.LineNumberReader.Test2
+java.io.LineNumberReader.mark
+java.io.LineNumberReader.Test
+java.io.InputStreamReader.hang
+java.io.InputStreamReader.utf8
+java.io.InputStreamReader.jdk11
+java.io.InputStreamReader.except
+java.io.InputStreamReader.getEncoding
+java.io.DataInputStream.readLine
+java.io.DataInputStream.ReadReference
+java.io.DataInputStream.ReadReference2
+java.io.FilterWriter.write
+java.io.CharArrayWriter.ProtectedVars
+java.io.CharArrayWriter.BasicTests
+java.io.FileDescriptor.jdk11
+java.io.Reader.Test
+java.io.PushbackReader.BufferOverflow
+java.io.PushbackReader.Unread
+java.io.ByteArrayOutputStream.subclass
+java.io.ByteArrayOutputStream.write
+java.io.PrintStream.subclass
+java.io.PrintStream.encodings
+java.io.ObjectStreamClass.ProxyTest
+java.io.ObjectStreamClass.Test
+java.io.FilterReader.SimpleRead
+java.io.FilterReader.MarkReset
+java.io.BufferedOutputStream.interrupt
+java.io.BufferedOutputStream.Test
+java.io.BufferedInputStream.Skip
+java.io.BufferedInputStream.BigMark
+java.io.BufferedInputStream.ProtectedVars
+java.io.BufferedInputStream.ZeroRead
+java.io.BufferedInputStream.SimpleRead
+java.io.BufferedInputStream.MarkReset
+java.io.BufferedReader.mark
+java.io.BufferedReader.SimpleRead
+java.io.BufferedReader.MarkReset
+java.io.BufferedReader.boundary
+java.io.DataOutputStream.WriteRead2
+java.io.DataOutputStream.writeUTF
+java.io.DataOutputStream.WriteRead
+java.io.PipedStream.close
+java.io.PipedStream.receive
+java.io.PipedStream.Test
+java.io.FileInputStream.fileinputstream
+java.io.FileInputStream.read
+java.io.FileInputStream.security
+java.io.Writer.Test
+java.io.FilterInputStream.SimpleRead
+java.io.FilterInputStream.MarkReset
+java.io.FileReader.jdk11
+java.io.StringReader.Test
+java.io.ByteArrayInputStream.ProtectedVars
+java.io.ByteArrayInputStream.SimpleRead
+java.io.ByteArrayInputStream.MarkReset
+java.io.File.newFileURI
+java.io.File.URI
+java.io.File.createFile
+java.io.File.security
+java.io.File.ReadMethods
+java.io.File.ExecuteMethods
+java.io.File.list
+java.io.File.jdk11
+java.io.File.newFile
+java.io.File.WriteMethods
+java.io.File.canWrite
+java.io.File.listFiles
+java.io.File.emptyFile
+java.io.File.UnicodeURI
+java.io.OutputStream.Test
+java.io.StreamTokenizer.WordWhiteChars
+java.io.StreamTokenizer.slashstar
+java.io.StreamTokenizer.commentchar
+java.io.StreamTokenizer.slashslash
+java.io.StreamTokenizer.newline
+java.io.StreamTokenizer.misc
+java.io.StreamTokenizer.Test
+java.io.LineNumberInputStream.Test
+java.io.CharArrayReader.ProtectedVars
+java.io.CharArrayReader.OutOfBounds
+java.io.CharArrayReader.SimpleRead
+java.io.CharArrayReader.MarkReset
+java.util.Stack.AcuniaStackTest
+java.util.Arrays.asList
+java.util.Arrays.fill
+java.util.Arrays.equals
+java.util.Arrays.sort
+java.util.Arrays.binarySearch
+java.util.Properties.getProperty
+java.util.Properties.AcuniaPropertiesTest
+java.util.Properties.load
+java.util.TreeSet.basic
+java.util.Observable.observable
+java.util.StringTokenizer.hasMoreElements
+java.util.StringTokenizer.hasMoreTokens
+java.util.StringTokenizer.countTokens
+java.util.StringTokenizer.nextToken
+java.util.StringTokenizer.constructors
+java.util.StringTokenizer.nextElement
+java.util.IdentityHashMap.simple
+java.util.prefs.PreferenceTest
+java.util.Hashtable.HashContains
+java.util.Hashtable.AcuniaHashtableTest
+java.util.Hashtable.EnumerateAndModify
+java.util.Hashtable.basic
+java.util.Hashtable.ContainsHash
+java.util.Hashtable.NullValue
+java.util.TreeMap.serialization
+java.util.TimeZone.setDefault
+java.util.TimeZone.zdump
+java.util.TimeZone.setID
+java.util.UUID.TestAll
+java.util.Currency.Constructors
+java.util.Currency.Germany
+java.util.Currency.ReferenceEquality
+java.util.Currency.France
+java.util.Currency.getInstance
+java.util.Currency.Japan
+java.util.Currency.UK
+java.util.Currency.Korea
+java.util.Currency.PRC
+java.util.Currency.Canada
+java.util.Currency.CanadaFrench
+java.util.Currency.China
+java.util.Currency.Taiwan
+java.util.Currency.Italy
+java.util.AbstractCollection.AcuniaAbstractCollectionTest
+java.util.AbstractCollection.AcuniaAddCollectionTest
+java.util.AbstractCollection.toString
+java.util.SimpleTimeZone.clone
+java.util.SimpleTimeZone.hasSameRules
+java.util.SimpleTimeZone.getRawOffset
+java.util.SimpleTimeZone.setRawOffset
+java.util.SimpleTimeZone.check14
+java.util.SimpleTimeZone.equals
+java.util.SimpleTimeZone.inDaylightTime
+java.util.SimpleTimeZone.setStartYear
+java.util.SimpleTimeZone.constructors
+java.util.SimpleTimeZone.getOffset
+java.util.SimpleTimeZone.setDSTSavings
+java.util.SimpleTimeZone.hashCode
+java.util.SimpleTimeZone.constants
+java.util.SimpleTimeZone.getDSTSavings
+java.util.AbstractList.AcuniaAbstractListTest
+java.util.Collections.nCopies
+java.util.Collections.fill
+java.util.Collections.max
+java.util.Collections.copy
+java.util.Collections.rotate
+java.util.Collections.unmodifiableList
+java.util.Collections.min
+java.util.Collections.unmodifiableMap
+java.util.Collections.reverse
+java.util.Collections.reverseOrder
+java.util.Collections.sort
+java.util.Collections.binarySearch
+java.util.logging.SocketHandler.SocketHandler
+java.util.logging.XMLFormatter.getTail
+java.util.logging.Handler.isLoggable
+java.util.logging.Handler.setEncoding
+java.util.logging.Handler.setFilter
+java.util.logging.Handler.getErrorManager
+java.util.logging.Handler.reportError
+java.util.logging.Handler.setLevel
+java.util.logging.Handler.setErrorManager
+java.util.logging.LogRecord.getThreadID
+java.util.logging.LogRecord.setLoggerName
+java.util.logging.LogRecord.getMillis
+java.util.logging.LogRecord.setThrown
+java.util.logging.LogRecord.setThreadID
+java.util.logging.LogRecord.setSequenceNumber
+java.util.logging.LogRecord.setSourceMethodName
+java.util.logging.LogRecord.setResourceBundle
+java.util.logging.LogRecord.setMillis
+java.util.logging.LogRecord.setMessage
+java.util.logging.LogRecord.setParameters
+java.util.logging.LogRecord.setSourceClassName
+java.util.logging.LogRecord.setLevel
+java.util.logging.Level.intValue
+java.util.logging.Level.equals
+java.util.logging.Level.getName
+java.util.logging.Level.parse
+java.util.logging.Level.toString
+java.util.logging.Level.hashCode
+java.util.logging.LogManager.readConfiguration
+java.util.logging.LoggingMXBean.Test
+java.util.logging.Logger.hierarchyChecks
+java.util.logging.Logger.getName
+java.util.logging.Logger.getAnonymousLogger
+java.util.logging.Logger.securityChecks
+java.util.logging.Logger.getParent
+java.util.logging.Logger.global
+java.util.Iterator.ConcurrentModification
+java.util.BitSet.AcuniaBitSetTest
+java.util.BitSet.flip
+java.util.BitSet.jdk10
+java.util.BitSet.get
+java.util.BitSet.clear
+java.util.Timer.taskException
+java.util.GregorianCalendar.first
+java.util.GregorianCalendar.setFirstDayOfWeek
+java.util.GregorianCalendar.dayOfWeekInMonth
+java.util.GregorianCalendar.setWeekOfMonth
+java.util.GregorianCalendar.internal
+java.util.GregorianCalendar.equals
+java.util.GregorianCalendar.getMinimum
+java.util.GregorianCalendar.getMinimalDaysInFirstWeek
+java.util.GregorianCalendar.conversion
+java.util.GregorianCalendar.weekOfYear
+java.util.Random.basic
+java.util.AbstractSet.AcuniaAbstractSetTest
+java.util.Calendar.TimeZone
+java.util.Calendar.ampm
+java.util.Calendar.add
+java.util.Calendar.minmax
+java.util.Calendar.setTime
+java.util.Calendar.setTimeZone
+java.util.Calendar.getInstance
+java.util.Calendar.set
+java.util.Calendar.simple
+java.util.Calendar.roll
+java.util.Calendar.dstOffset
+java.util.regex.Matcher.hitEnd
+java.util.regex.Pattern.UnicodeSimpleCategory
+java.util.regex.Pattern.pcrematches
+java.util.regex.Pattern.matches
+java.util.regex.PatternSplit
+java.util.regex.CharacterClasses
+java.util.AbstractSequentialList.AcuniaAbstractSequentialListTest
+java.util.LinkedList.subList
+java.util.LinkedList.AcuniaLinkedListTest
+java.util.LinkedList.SubListTest
+java.util.HashMap.AcuniaHashMapTest
+java.util.jar.JarInputStream.getNextEntry
+java.util.jar.JarFile.TestOfManifest
+java.util.jar.JarFile.basic
+java.util.Vector.subList
+java.util.Vector.copyInto
+java.util.Vector.removeAll
+java.util.Vector.retainAll
+java.util.Vector.VectorSerialization
+java.util.zip.ZipEntry.time
+java.util.zip.ZipEntry.Size
+java.util.zip.ZipEntry.newZipEntry
+java.util.zip.ZipEntry.setComment
+java.util.zip.ZipInputStream.close
+java.util.zip.ZipInputStream.basic
+java.util.zip.Deflater.PR27435
+java.util.zip.Adler32.checksum
+java.util.zip.GZIPInputStream.PR24461
+java.util.zip.GZIPInputStream.basic
+java.util.zip.InflaterInputStream.basic
+java.util.zip.ZipFile.DirEntryTest
+java.util.zip.ZipFile.NoEntryTest
+java.util.zip.ZipFile.newZipFile
+java.util.Date.compareTo
+java.util.Date.clone
+java.util.Date.before
+java.util.Date.serialization
+java.util.Date.range
+java.util.Date.equals
+java.util.Date.parse
+java.util.Date.after
+java.util.Date.getTimezoneOffset
+java.util.LinkedHashMap.LinkedHashMapTest
+java.util.LinkedHashMap.Regress
+java.util.ArrayList.subList
+java.util.ArrayList.serial
+java.util.ResourceBundle.getBundle
+java.util.AbstractMap.AcuniaAbstractMapTest
+java.beans.XMLDecoder.jdk14
+java.beans.Expression.check
+java.beans.Introspector.getBeanInfo2
+java.beans.Introspector.getBeanInfo4
+java.beans.Introspector.getBeanInfo
+java.beans.Introspector.jdk11
+java.beans.Introspector.jdk12
+java.beans.Introspector.getBeanInfo2_2
+java.beans.DesignMode.constants
+java.beans.PropertyEditorSupport.setValue
+java.beans.PropertyEditorSupport.getSource
+java.beans.SimpleBeanInfo.getIcon
+java.beans.SimpleBeanInfo.getDefaultPropertyIndex
+java.beans.SimpleBeanInfo.getEventSetDescriptors
+java.beans.SimpleBeanInfo.getDefaultEventIndex
+java.beans.SimpleBeanInfo.getBeanDescriptor
+java.beans.SimpleBeanInfo.getAdditionalBeanInfo
+java.beans.SimpleBeanInfo.loadImage
+java.beans.EventSetDescriptor.constructorTest1
+java.beans.FeatureDescriptor.check
+java.beans.beancontext.BeanContextSupport.toArray
+java.beans.beancontext.BeanContextSupport.getChildPropertyChangeListener
+java.beans.beancontext.BeanContextSupport.serialize
+java.beans.beancontext.BeanContextSupport.getChildBeanContextChild
+java.beans.beancontext.BeanContextSupport.getChildBeanContextMembershipListener
+java.beans.beancontext.BeanContextSupport.setDesignTime
+java.beans.beancontext.BeanContextSupport.getChildVisibility
+java.beans.beancontext.BeanContextSupport.constructors
+java.beans.beancontext.BeanContextSupport.getChildVetoableChangeListener
+java.beans.beancontext.BeanContextSupport.getChildSerializable
+java.beans.beancontext.BeanContextSupport.getBeanContextPeer
+java.beans.beancontext.BeanContextServicesSupport.getChildBeanContextServicesListener
+java.beans.beancontext.InstantiateChild
+java.beans.beancontext.Remove
+java.beans.beancontext.Array
+java.beans.beancontext.Add
+java.beans.PropertyChangeSupport.firePropertyChange
+java.beans.VetoableChangeSupport.addVetoableChangeListener
+java.beans.Statement.check
+java.beans.Beans.instantiate_1
+java.beans.EventHandler.check
+java.beans.EventHandler.check14b
+java.beans.PropertyDescriptor.constructorTest2
+java.beans.PropertyDescriptor.constructorTest1
+java.beans.MethodDescriptor.constructorTest1
+java.awt.AWTEvent.constants
+java.awt.CardLayout.show
+java.awt.CardLayout.first
+java.awt.CardLayout.testMaximumLayoutSize
+java.awt.CardLayout.testMinimumLayoutSize
+java.awt.Graphics.clearRect
+java.awt.Polygon.contains
+java.awt.Polygon.getPathIterator
+java.awt.BasicStroke.equals
+java.awt.BasicStroke.constructors
+java.awt.BasicStroke.hashCode
+java.awt.BasicStroke.constants
+java.awt.Graphics2D.setClip
+java.awt.Graphics2D.getClip
+java.awt.Graphics2D.getClipBounds
+java.awt.Graphics2D.setTransform
+java.awt.Graphics2D.clip
+java.awt.Graphics2D.transform
+java.awt.Point.move
+java.awt.Point.clone
+java.awt.Point.equals
+java.awt.Point.constructors
+java.awt.Point.setLocation
+java.awt.Point.translate
+java.awt.Point.getLocation
+java.awt.event.ComponentEvent.paramString
+java.awt.image.ShortLookupTable.getTable
+java.awt.image.ShortLookupTable.lookupPixel
+java.awt.image.ShortLookupTable.constructors
+java.awt.image.PixelGrabber.SimpleGrabber
+java.awt.image.PixelGrabber.testNullProducer
+java.awt.image.ConvolveOp.getEdgeCondition
+java.awt.image.ConvolveOp.getKernel
+java.awt.image.ConvolveOp.filterRaster
+java.awt.image.ConvolveOp.getRenderingHints
+java.awt.image.ConvolveOp.getPoint2D
+java.awt.image.ConvolveOp.createCompatibleDestRaster
+java.awt.image.ConvolveOp.constructors
+java.awt.image.ConvolveOp.getBounds2D
+java.awt.image.ConvolveOp.constants
+java.awt.image.IndexColorModel.getGreens
+java.awt.image.IndexColorModel.getComponentSize
+java.awt.image.IndexColorModel.getTransparentPixel
+java.awt.image.IndexColorModel.getColorSpace
+java.awt.image.IndexColorModel.getAlphas
+java.awt.image.IndexColorModel.getPixelSize
+java.awt.image.IndexColorModel.isValid
+java.awt.image.IndexColorModel.constructors
+java.awt.image.IndexColorModel.getBlues
+java.awt.image.IndexColorModel.getReds
+java.awt.image.IndexColorModel.getTransparency
+java.awt.image.DataBuffer.getDataTypeSize
+java.awt.image.DataBuffer.getOffset
+java.awt.image.DataBuffer.constants
+java.awt.image.DataBuffer.getOffsets
+java.awt.image.DataBufferUShort.getData
+java.awt.image.DataBufferUShort.getBankData
+java.awt.image.DataBufferUShort.setElem
+java.awt.image.DataBufferUShort.getElem
+java.awt.image.DataBufferUShort.getDataType
+java.awt.image.DataBufferUShort.constructors
+java.awt.image.ComponentSampleModel.setPixels
+java.awt.image.ComponentSampleModel.getPixelStride
+java.awt.image.ComponentSampleModel.getDataElements
+java.awt.image.ComponentSampleModel.getSample
+java.awt.image.ComponentSampleModel.getBandOffsets
+java.awt.image.ComponentSampleModel.equals
+java.awt.image.ComponentSampleModel.getPixel
+java.awt.image.ComponentSampleModel.getNumDataElements
+java.awt.image.ComponentSampleModel.getSamples
+java.awt.image.ComponentSampleModel.getSampleSize
+java.awt.image.ComponentSampleModel.getSampleFloat
+java.awt.image.ComponentSampleModel.setDataElements
+java.awt.image.ComponentSampleModel.constructors
+java.awt.image.ComponentSampleModel.setPixel
+java.awt.image.ComponentSampleModel.createDataBuffer
+java.awt.image.ComponentSampleModel.getOffset
+java.awt.image.ComponentSampleModel.getSampleDouble
+java.awt.image.ComponentSampleModel.createCompatibleSampleModel
+java.awt.image.ComponentSampleModel.setSamples
+java.awt.image.ComponentSampleModel.hashCode
+java.awt.image.ComponentSampleModel.getPixels
+java.awt.image.ComponentSampleModel.getScanlineStride
+java.awt.image.ComponentSampleModel.createSubsetSampleModel
+1 problem (1 error)java.awt.image.ColorModel.getComponentSize
+java.awt.image.ColorModel.getRGBdefault
+java.awt.image.ColorModel.constructors
+java.awt.image.LookupTable.constructor
+java.awt.image.LookupTable.getNumComponents
+java.awt.image.RescaleOp.getScaleFactors
+java.awt.image.RescaleOp.getRenderingHints
+java.awt.image.RescaleOp.getPoint2D
+java.awt.image.RescaleOp.constructors
+java.awt.image.RescaleOp.getNumFactors
+java.awt.image.RescaleOp.getOffsets
+java.awt.image.DirectColorModel.coerceData
+java.awt.image.WritableRaster.createChild
+java.awt.image.WritableRaster.createWritableChild
+java.awt.image.ComponentColorModel.coerceData
+java.awt.image.SampleModel.setPixels
+java.awt.image.SampleModel.getSample
+java.awt.image.SampleModel.getPixel
+java.awt.image.SampleModel.getSamples
+java.awt.image.SampleModel.getSampleSize
+java.awt.image.SampleModel.getSampleFloat
+java.awt.image.SampleModel.setPixel
+java.awt.image.SampleModel.setSample
+java.awt.image.SampleModel.createDataBuffer
+java.awt.image.SampleModel.getSampleDouble
+java.awt.image.SampleModel.setSamples
+java.awt.image.SampleModel.getPixels
+java.awt.image.BandCombineOp.getPoint2D
+java.awt.image.BandCombineOp.createCompatibleDestRaster
+java.awt.image.BandCombineOp.getBounds2D
+java.awt.image.BandCombineOp.filter
+java.awt.image.LookupOp.constructor
+java.awt.image.LookupOp.filterRaster
+java.awt.image.LookupOp.getRenderingHints
+java.awt.image.LookupOp.getTable
+java.awt.image.LookupOp.getPoint2D
+java.awt.image.Kernel.getYOrigin
+java.awt.image.Kernel.constructor
+java.awt.image.Kernel.getXOrigin
+java.awt.image.Kernel.getHeight
+java.awt.image.Kernel.check
+java.awt.image.Kernel.getKernelData
+java.awt.image.Kernel.getWidth
+java.awt.image.BufferedImage.getSubimage
+java.awt.image.BufferedImage.getSetRgb1Pixel
+java.awt.image.DataBufferByte.getData
+java.awt.image.DataBufferByte.getBankData
+java.awt.image.DataBufferByte.setElem
+java.awt.image.DataBufferByte.getElem
+java.awt.image.DataBufferByte.getDataType
+java.awt.image.DataBufferByte.constructors
+java.awt.image.DataBufferShort.getData
+java.awt.image.DataBufferShort.getBankData
+java.awt.image.DataBufferShort.setElem
+java.awt.image.DataBufferShort.getElem
+java.awt.image.DataBufferShort.getDataType
+java.awt.image.DataBufferShort.constructors
+java.awt.image.Raster.createChild
+java.awt.image.DataBufferInt.getData
+java.awt.image.DataBufferInt.getBankData
+java.awt.image.DataBufferInt.setElem
+java.awt.image.DataBufferInt.getElem
+java.awt.image.DataBufferInt.getDataType
+java.awt.image.DataBufferInt.constructors
+java.awt.image.SinglePixelPackedSampleModel.getBitOffsets
+java.awt.image.SinglePixelPackedSampleModel.getDataElements
+java.awt.image.SinglePixelPackedSampleModel.getSample
+java.awt.image.SinglePixelPackedSampleModel.equals
+java.awt.image.SinglePixelPackedSampleModel.getPixel
+java.awt.image.SinglePixelPackedSampleModel.getNumDataElements
+java.awt.image.SinglePixelPackedSampleModel.getSamples
+java.awt.image.SinglePixelPackedSampleModel.getSampleSize
+java.awt.image.SinglePixelPackedSampleModel.setDataElements
+java.awt.image.SinglePixelPackedSampleModel.constructors
+java.awt.image.SinglePixelPackedSampleModel.getBitMasks
+java.awt.image.SinglePixelPackedSampleModel.setPixel
+java.awt.image.SinglePixelPackedSampleModel.setSample
+java.awt.image.SinglePixelPackedSampleModel.createDataBuffer
+java.awt.image.SinglePixelPackedSampleModel.getOffset
+java.awt.image.SinglePixelPackedSampleModel.createCompatibleSampleModel
+java.awt.image.SinglePixelPackedSampleModel.hashCode
+java.awt.image.SinglePixelPackedSampleModel.getPixels
+java.awt.image.SinglePixelPackedSampleModel.getScanlineStride
+java.awt.image.SinglePixelPackedSampleModel.createSubsetSampleModel
+java.awt.image.ByteLookupTable.getTable
+java.awt.image.ByteLookupTable.lookupPixel
+java.awt.image.ByteLookupTable.constructors
+java.awt.image.MultiPixelPackedSampleModel.getBitOffset
+java.awt.image.MultiPixelPackedSampleModel.getTransferType
+java.awt.image.MultiPixelPackedSampleModel.getDataElements
+java.awt.image.MultiPixelPackedSampleModel.getSample
+java.awt.image.MultiPixelPackedSampleModel.equals
+java.awt.image.MultiPixelPackedSampleModel.getPixel
+java.awt.image.MultiPixelPackedSampleModel.getSampleSize
+java.awt.image.MultiPixelPackedSampleModel.setDataElements
+java.awt.image.MultiPixelPackedSampleModel.constructors
+java.awt.image.MultiPixelPackedSampleModel.setPixel
+java.awt.image.MultiPixelPackedSampleModel.setSample
+java.awt.image.MultiPixelPackedSampleModel.createDataBuffer
+java.awt.image.MultiPixelPackedSampleModel.getPixelBitStride
+java.awt.image.MultiPixelPackedSampleModel.getOffset
+java.awt.image.MultiPixelPackedSampleModel.createCompatibleSampleModel
+java.awt.image.MultiPixelPackedSampleModel.hashCode
+java.awt.image.MultiPixelPackedSampleModel.getScanlineStride
+java.awt.image.MultiPixelPackedSampleModel.createSubsetSampleModel
+java.awt.image.AffineTransformOp.getPoint2D
+java.awt.image.AffineTransformOp.createCompatibleDestRaster
+java.awt.image.AffineTransformOp.constructors
+java.awt.image.AffineTransformOp.getBounds2D
+java.awt.image.PixelInterleavedSampleModel.createSubsetSampleModel
+java.awt.image.BandedSampleModel.setPixels
+java.awt.image.BandedSampleModel.getDataElements
+java.awt.image.BandedSampleModel.getSample
+java.awt.image.BandedSampleModel.getPixel
+java.awt.image.BandedSampleModel.getSamples
+java.awt.image.BandedSampleModel.getSampleFloat
+java.awt.image.BandedSampleModel.setDataElements
+java.awt.image.BandedSampleModel.constructors
+java.awt.image.BandedSampleModel.setPixel
+java.awt.image.BandedSampleModel.setSample
+java.awt.image.BandedSampleModel.createDataBuffer
+java.awt.image.BandedSampleModel.getSampleDouble
+java.awt.image.BandedSampleModel.createCompatibleSampleModel
+java.awt.image.BandedSampleModel.setSamples
+java.awt.image.BandedSampleModel.hashCode
+java.awt.image.BandedSampleModel.getPixels
+java.awt.image.BandedSampleModel.createSubsetSampleModel
+java.awt.image.ColorConvertOp.filterRaster
+java.awt.image.ColorConvertOp.getPoint2D
+java.awt.image.ColorConvertOp.createCompatibleDestRaster
+java.awt.image.ColorConvertOp.constructors
+java.awt.image.ColorConvertOp.getBounds2D
+java.awt.ScrollPaneAdjustable.paramString
+java.awt.GridBagLayout.AdjustForGravity
+java.awt.GridBagLayout.toString
+java.awt.Dimension.clone
+java.awt.Dimension.equals
+java.awt.Dimension.setSize
+java.awt.Dimension.getSize
+java.awt.Dimension.constructors
+java.awt.TextField.getPreferredSize
+java.awt.TextField.getMinimumSize
+java.awt.TextField.constructors
+java.awt.BorderLayout.layoutContainer
+java.awt.BorderLayout.getHgap
+java.awt.BorderLayout.maxLayoutSize
+java.awt.BorderLayout.setVgap
+java.awt.BorderLayout.getVgap
+java.awt.BorderLayout.getLayoutAlignmentY
+java.awt.BorderLayout.Test15
+java.awt.BorderLayout.getLayoutAlignmentX
+java.awt.BorderLayout.setHgap
+java.awt.BorderLayout.constructors
+java.awt.BorderLayout.constants
+java.awt.BorderLayout.preferredLayoutSize
+java.awt.BorderLayout.addLayoutComponent
+java.awt.Scrollbar.testSetBlockIncrement
+java.awt.Scrollbar.testSetUnitIncrement
+java.awt.Scrollbar.testSetValues
+java.awt.List.testSelected
+java.awt.ScrollPane.add
+java.awt.ScrollPane.getScrollPosition
+java.awt.ScrollPane.testSetLayout
+java.awt.ScrollPane.setScrollPosition
+java.awt.ScrollPane.doLayout
+java.awt.Choice.getSelected
+java.awt.Choice.remove
+java.awt.KeyboardFocusManager.getFocusOwner
+java.awt.KeyboardFocusManager.getGlobalPermanentFocusOwner
+java.awt.KeyboardFocusManager.getGlobalFocusOwner
+java.awt.AWTPermission.constructor
+java.awt.ColorClass.decode
+java.awt.ColorClass.serialization
+java.awt.ColorClass.equals
+java.awt.ColorClass.getGreen
+java.awt.ColorClass.constructors
+java.awt.ColorClass.brighter
+java.awt.ColorClass.hashCode
+java.awt.ColorClass.constants
+java.awt.ColorClass.getBlue
+java.awt.ColorClass.getRed
+java.awt.RenderingHints.Key.isCompatibleValue
+java.awt.RenderingHints.clone
+java.awt.RenderingHints.keySet
+java.awt.RenderingHints.put
+java.awt.RenderingHints.add
+java.awt.RenderingHints.putAll
+java.awt.RenderingHints.entrySet
+java.awt.RenderingHints.equals
+java.awt.RenderingHints.size
+java.awt.RenderingHints.get
+java.awt.RenderingHints.values
+java.awt.RenderingHints.containsValue
+java.awt.RenderingHints.isEmpty
+java.awt.RenderingHints.remove
+java.awt.RenderingHints.clear
+java.awt.Panel.TestPanelRepaint
+java.awt.AWTKeyStroke.serialization
+java.awt.AWTKeyStroke.equals
+java.awt.AWTKeyStroke.getAWTKeyStroke
+java.awt.Rectangle.clone
+java.awt.Rectangle.add
+java.awt.Rectangle.setRect
+java.awt.Rectangle.setBounds
+java.awt.Rectangle.equals
+java.awt.Rectangle.intersects
+java.awt.Rectangle.setSize
+java.awt.Rectangle.grow
+java.awt.Rectangle.outcode
+java.awt.Rectangle.union
+java.awt.Rectangle.constructors
+java.awt.Rectangle.intersection
+java.awt.Rectangle.setLocation
+java.awt.Rectangle.translate
+java.awt.Rectangle.contains
+java.awt.Rectangle.isEmpty
+java.awt.Menu.insert
+java.awt.AlphaComposite.getInstance
+java.awt.AlphaComposite.equals
+java.awt.AlphaComposite.getInstance14
+java.awt.AlphaComposite.getRule
+java.awt.Window.security
+java.awt.Window.focusCycleRootTest
+java.awt.EventClass.constants
+java.awt.Frame.isDisplayable1
+java.awt.Frame.isDisplayable5
+java.awt.Frame.isDisplayable4
+java.awt.Frame.isDisplayable3
+java.awt.Frame.isDisplayable6
+java.awt.Frame.menubar
+java.awt.Frame.isDisplayable2
+java.awt.Frame.isDisplayable7
+java.awt.Container.getListeners
+java.awt.Container.setLayout
+java.awt.Container.getPreferredSize
+java.awt.Container.applyComponentOrientation
+java.awt.Container.getComponentAt
+java.awt.Container.getAlignmentY
+java.awt.Container.getAlignmentX
+java.awt.Container.addImpl
+java.awt.FontClass.serialization
+java.awt.MenuItem.label1
+java.awt.font.TextHitInfo.isLeadingEdge
+java.awt.font.TextHitInfo.getOtherHit
+java.awt.font.TextHitInfo.leading
+java.awt.font.TextHitInfo.getOffsetHit
+java.awt.font.TextHitInfo.equals
+java.awt.font.TextHitInfo.getCharIndex
+java.awt.font.TextHitInfo.afterOffset
+java.awt.font.TextHitInfo.getInsertionIndex
+java.awt.font.TextHitInfo.toString
+java.awt.font.TextHitInfo.beforeOffset
+java.awt.font.TextHitInfo.hashCode
+java.awt.font.TextHitInfo.trailing
+java.awt.font.TransformAttribute.serialization
+java.awt.font.TransformAttribute.getTransform
+java.awt.font.TransformAttribute.isIdentity
+java.awt.font.ShapeGraphicAttribute.ShapeGraphicAttributeTest
+java.awt.font.ImageGraphicAttribute.ImageGraphicAttributeTest
+java.awt.font.TextAttribute.toString13
+java.awt.font.TextAttribute.serialization
+java.awt.font.TextAttribute.toString
+java.awt.font.TextAttribute.constants13
+java.awt.font.TextAttribute.constants
+java.awt.GradientPaint.getPoint2
+java.awt.GradientPaint.equals
+java.awt.GradientPaint.getColor1
+java.awt.GradientPaint.constructors
+java.awt.GradientPaint.getColor2
+java.awt.GradientPaint.isCyclic
+java.awt.GradientPaint.getTransparency
+java.awt.GradientPaint.getPoint1
+java.awt.TextComponent.setSelectionStart
+java.awt.Component.repaint
+java.awt.Component.getListeners
+java.awt.Component.setName
+java.awt.Component.properties14
+java.awt.Component.getMaximumSize
+java.awt.Component.setMinimumSize
+java.awt.Component.getForeground
+java.awt.Component.setPreferredSize
+java.awt.Component.properties
+java.awt.Component.requestFocus
+java.awt.Component.isValid
+java.awt.Component.getFont
+java.awt.Component.setMaximumSize
+java.awt.Component.setComponentOrientation
+java.awt.datatransfer.DataFlavor.writeExternal
+java.awt.datatransfer.StringSelection.selection
+java.awt.TextArea.getPreferredSize
+java.awt.TextArea.getMinimumSize
+java.awt.TextArea.testReplaceText
+java.awt.TextArea.constructors
+java.awt.TextArea.testAppendText
+java.awt.TextArea.testInsertText
+java.awt.TextArea.testInvalidConstructorValues
+java.awt.color.ColorSpace.isCS_sRGB
+java.awt.color.ColorSpace.getInstance
+java.awt.FlowLayout.minimumLayoutSize
+java.awt.geom.Ellipse2D.Double.clone
+java.awt.geom.Ellipse2D.Double.getY
+java.awt.geom.Ellipse2D.Double.setFrame
+java.awt.geom.Ellipse2D.Double.getHeight
+java.awt.geom.Ellipse2D.Double.getX
+java.awt.geom.Ellipse2D.Double.constructors
+java.awt.geom.Ellipse2D.Double.getBounds2D
+java.awt.geom.Ellipse2D.Double.isEmpty
+java.awt.geom.Ellipse2D.Double.getWidth
+java.awt.geom.Ellipse2D.Float.clone
+java.awt.geom.Ellipse2D.Float.getY
+java.awt.geom.Ellipse2D.Float.setFrame
+java.awt.geom.Ellipse2D.Float.getHeight
+java.awt.geom.Ellipse2D.Float.getX
+java.awt.geom.Ellipse2D.Float.constructors
+java.awt.geom.Ellipse2D.Float.getBounds2D
+java.awt.geom.Ellipse2D.Float.isEmpty
+java.awt.geom.Ellipse2D.Float.getWidth
+java.awt.geom.Ellipse2D.intersects
+java.awt.geom.Ellipse2D.contains
+java.awt.geom.GeneralPath.getCurrentPoint
+java.awt.geom.GeneralPath.GeneralPath
+java.awt.geom.GeneralPath.append_PathIterator
+java.awt.geom.GeneralPath.contains
+java.awt.geom.GeneralPath.getPathIterator
+java.awt.geom.RectangularShape.getFrame
+java.awt.geom.RectangularShape.setFrame
+java.awt.geom.RectangularShape.getMinY
+java.awt.geom.RectangularShape.intersects
+java.awt.geom.RectangularShape.getMaxY
+java.awt.geom.RectangularShape.getMaxX
+java.awt.geom.RectangularShape.setFrameFromCenter
+java.awt.geom.RectangularShape.setFrameFromDiagonal
+java.awt.geom.RectangularShape.getMinX
+java.awt.geom.RectangularShape.getCenterX
+java.awt.geom.RectangularShape.getCenterY
+java.awt.geom.RectangularShape.contains
+java.awt.geom.RectangularShape.isEmpty
+java.awt.geom.RectangularShape.getBounds
+java.awt.geom.Line2D.clone
+java.awt.geom.Line2D.getP1
+java.awt.geom.Line2D.linesIntersect
+java.awt.geom.Line2D.ptSegDistSq
+java.awt.geom.Line2D.relativeCCW
+java.awt.geom.Line2D.getP2
+java.awt.geom.Line2D.setLine
+java.awt.geom.Line2D.equals
+java.awt.geom.Line2D.intersects
+java.awt.geom.Line2D.ptLineDistSq
+java.awt.geom.Line2D.ptSegDist
+java.awt.geom.Line2D.intersectsLine
+java.awt.geom.Line2D.contains
+java.awt.geom.Line2D.ptLineDist
+java.awt.geom.Line2D.getPathIterator
+java.awt.geom.Line2D.getBounds
+java.awt.geom.Area.clone
+java.awt.geom.Area.add
+java.awt.geom.Area.isRectangular
+java.awt.geom.Area.createTransformedArea
+java.awt.geom.Area.isPolygonal
+java.awt.geom.Area.intersect
+java.awt.geom.Area.equals
+java.awt.geom.Area.exclusiveOr
+java.awt.geom.Area.intersects
+java.awt.geom.Area.reset
+java.awt.geom.Area.isSingular
+java.awt.geom.Area.constructors
+java.awt.geom.Area.getBounds2D
+java.awt.geom.Area.contains
+java.awt.geom.Area.subtract
+java.awt.geom.Area.isEmpty
+java.awt.geom.Area.transform
+java.awt.geom.Area.getBounds
+java.awt.geom.Rectangle2D.Double.clone
+java.awt.geom.Rectangle2D.Double.createIntersection
+java.awt.geom.Rectangle2D.Double.setRect
+java.awt.geom.Rectangle2D.Double.outcode
+java.awt.geom.Rectangle2D.Double.createUnion
+java.awt.geom.Rectangle2D.Double.isEmpty
+java.awt.geom.Rectangle2D.Float.clone
+java.awt.geom.Rectangle2D.Float.createIntersection
+java.awt.geom.Rectangle2D.Float.setRect
+java.awt.geom.Rectangle2D.Float.outcode
+java.awt.geom.Rectangle2D.Float.createUnion
+java.awt.geom.Rectangle2D.Float.isEmpty
+java.awt.geom.Rectangle2D.add
+java.awt.geom.Rectangle2D.setFrame
+java.awt.geom.Rectangle2D.intersect
+java.awt.geom.Rectangle2D.equals
+java.awt.geom.Rectangle2D.intersects
+java.awt.geom.Rectangle2D.union
+java.awt.geom.Rectangle2D.intersectsLine
+java.awt.geom.Rectangle2D.getBounds2D
+java.awt.geom.Rectangle2D.contains
+java.awt.geom.Rectangle2D.constants
+java.awt.geom.Rectangle2D.getPathIterator
+java.awt.geom.Rectangle2D.getBounds
+java.awt.geom.Arc2D.Double.clone
+java.awt.geom.Arc2D.Float.clone
+java.awt.geom.Arc2D.setFrame
+java.awt.geom.Arc2D.setAngleStart
+java.awt.geom.Arc2D.setArc
+java.awt.geom.Arc2D.setArcByTangent
+java.awt.geom.Arc2D.containsAngle
+java.awt.geom.Arc2D.setArcByCenter
+java.awt.geom.Arc2D.intersects
+java.awt.geom.Arc2D.getEndPoint
+java.awt.geom.Arc2D.setAngleExtent
+java.awt.geom.Arc2D.constructors
+java.awt.geom.Arc2D.getBounds2D
+java.awt.geom.Arc2D.contains
+java.awt.geom.Arc2D.getStartPoint
+java.awt.geom.Arc2D.constants
+java.awt.geom.Arc2D.isEmpty
+java.awt.geom.Arc2D.getPathIterator
+java.awt.geom.Arc2D.setAngles
+java.awt.geom.Arc2D.setArcType
+java.awt.geom.QuadCurve2D.Double.getP1
+java.awt.geom.QuadCurve2D.Double.getP2
+java.awt.geom.QuadCurve2D.Double.getCtrlPt
+java.awt.geom.QuadCurve2D.Double.getBounds2D
+java.awt.geom.QuadCurve2D.Double.Double
+java.awt.geom.QuadCurve2D.Double.setCurve
+java.awt.geom.QuadCurve2D.Float.getP1
+java.awt.geom.QuadCurve2D.Float.Float
+java.awt.geom.QuadCurve2D.Float.getP2
+java.awt.geom.QuadCurve2D.Float.getCtrlPt
+java.awt.geom.QuadCurve2D.Float.getBounds2D
+java.awt.geom.QuadCurve2D.Float.setCurve
+java.awt.geom.QuadCurve2D.clone
+java.awt.geom.QuadCurve2D.getFlatness
+java.awt.geom.QuadCurve2D.subdivide
+java.awt.geom.QuadCurve2D.getFlatnessSq
+java.awt.geom.QuadCurve2D.setCurve
+java.awt.geom.QuadCurve2D.getPathIterator
+java.awt.geom.CubicCurve2D.Double.getP1
+java.awt.geom.CubicCurve2D.Double.getCtrlP2
+java.awt.geom.CubicCurve2D.Double.getP2
+java.awt.geom.CubicCurve2D.Double.getBounds2D
+java.awt.geom.CubicCurve2D.Double.Double
+java.awt.geom.CubicCurve2D.Double.setCurve
+java.awt.geom.CubicCurve2D.Double.getCtrlP1
+java.awt.geom.CubicCurve2D.Float.getP1
+java.awt.geom.CubicCurve2D.Float.getCtrlP2
+java.awt.geom.CubicCurve2D.Float.Float
+java.awt.geom.CubicCurve2D.Float.getP2
+java.awt.geom.CubicCurve2D.Float.getBounds2D
+java.awt.geom.CubicCurve2D.Float.setCurve
+java.awt.geom.CubicCurve2D.Float.getCtrlP1
+java.awt.geom.CubicCurve2D.clone
+java.awt.geom.CubicCurve2D.getFlatness
+java.awt.geom.CubicCurve2D.subdivide
+java.awt.geom.CubicCurve2D.getFlatnessSq
+java.awt.geom.CubicCurve2D.setCurve
+java.awt.geom.CubicCurve2D.getPathIterator
+java.awt.geom.FlatteningPathIterator.FlatteningPathIterator
+java.awt.geom.FlatteningPathIterator.getWindingRule
+java.awt.geom.FlatteningPathIterator.getFlatness
+java.awt.geom.FlatteningPathIterator.getRecursionLimit
+java.awt.geom.FlatteningPathIterator.currentSegment
+java.awt.geom.AffineTransform.clone
+java.awt.geom.AffineTransform.preConcatenate
+java.awt.geom.AffineTransform.getRotateInstance
+java.awt.geom.AffineTransform.getMatrix
+java.awt.geom.AffineTransform.inverseTransform
+java.awt.geom.AffineTransform.getScaleInstance
+java.awt.geom.AffineTransform.createInverse
+java.awt.geom.AffineTransform.deltaTransform
+java.awt.geom.AffineTransform.equals
+java.awt.geom.AffineTransform.setTransform
+java.awt.geom.AffineTransform.constructors
+java.awt.geom.AffineTransform.getTranslateInstance
+java.awt.geom.AffineTransform.constants
+java.awt.geom.AffineTransform.concatenate
+java.awt.geom.AffineTransform.getShearInstance
+java.awt.geom.AffineTransform.transform
+java.awt.geom.AffineTransform.getDeterminant
+java.awt.geom.AffineTransform.isIdentity
+java.awt.geom.RoundRectangle2D.intersects
+java.awt.geom.RoundRectangle2D.contains
+java.awt.testName
+java.nio.Buffer.IntBufferTest
+java.nio.Buffer.ShortBufferTest
+java.nio.Buffer.FloatBufferTest
+java.nio.Buffer.LongBufferTest
+java.nio.Buffer.ByteBufferTest
+java.nio.Buffer.DoubleBufferTest
+java.nio.Buffer.CharBufferTest
+java.nio.LongBuffer.compact
+java.nio.ShortBuffer.compact
+java.nio.IntBuffer.compareTo
+java.nio.IntBuffer.compact
+java.nio.channels.Channels.ChannelsTest
+java.nio.channels.Selector.testEmptySelect
+java.nio.channels.FileChannel.copyIO
+java.nio.channels.FileChannel.multibufferIO
+java.nio.channels.FileChannel.truncate
+java.nio.channels.FileChannel.map
+java.nio.channels.FileChannel.offsetSingleBuffer
+java.nio.channels.FileChannel.singlebufferIO
+java.nio.channels.FileChannel.multidirectbufferIO
+java.nio.channels.FileChannel.offsetSingleDirectBuffer
+java.nio.DoubleBuffer.compareTo
+java.nio.DoubleBuffer.compact
+java.nio.ByteBuffer.direct
+java.nio.ByteBuffer.compact
+java.nio.ByteBuffer.TestAllocateDirect
+java.nio.ByteBuffer.GetPut
+java.nio.ByteBuffer.putDouble
+java.nio.ByteBuffer.Order
+java.nio.ByteBuffer.Allocating
+java.nio.CharBuffer.compact
+java.nio.FloatBuffer.compareTo
+java.nio.FloatBuffer.compact
+java.nio.charset.Charset.UTF8Charset
+java.nio.charset.Charset.utf16
+java.nio.charset.Charset.canEncode
+java.nio.charset.Charset.forName
diff --git a/debian/patches/7130140-MouseEvent-systemout.diff b/debian/patches/7130140-MouseEvent-systemout.diff
new file mode 100644
index 0000000..bef6cfa
--- /dev/null
+++ b/debian/patches/7130140-MouseEvent-systemout.diff
@@ -0,0 +1,15 @@
+Description: 7130140: using horizontal scroll button on mouse causes a message to be printed on stdout
+Reviewed-by: art
+Origin: http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/19431d07bc19
+Bug-Debian: http://bugs.debian.org/679036
+Bug-Vendor: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7130140
+--- openjdk/jdk/src/share/classes/java/awt/event/MouseEvent.java.orig
++++ openjdk/jdk/src/share/classes/java/awt/event/MouseEvent.java
+@@ -758,7 +758,6 @@
+
+ if (getModifiersEx() != 0) { //There is at least one more button in a pressed state.
+ if (id == MouseEvent.MOUSE_RELEASED || id == MouseEvent.MOUSE_CLICKED){
+- System.out.println("MEvent. CASE!");
+ shouldExcludeButtonFromExtModifiers = true;
+ }
+ }
diff --git a/debian/patches/FreetypeFontScaler_getFontMetricsNative.diff b/debian/patches/FreetypeFontScaler_getFontMetricsNative.diff
new file mode 100644
index 0000000..0821253
--- /dev/null
+++ b/debian/patches/FreetypeFontScaler_getFontMetricsNative.diff
@@ -0,0 +1,120 @@
+Description:
+ Problem
+ =======
+ On OpenJDK JRE and using some TrueType font, JasperReports does not
+ display text element which height is just the same as the font size
+ eg. { height="8", size="8", font="IPA mincho" }.
+ JasperReports checks the text size before drawing the text elements.
+ If (ascent + descent) of text is greater than the height of text
+ element, this text is not drawn.
+ In above case, Sun Java returns the same height (ascent + descent =
+ fontsize), but OpenJDK returns the text height greater than font size,
+ so not drawn.
+
+ Sample code (includes Japanese char)
+ ===================================
+ import java.awt.Font;
+ import java.awt.font.FontRenderContext;
+ import java.awt.font.TextLayout;
+ public class JavaApplication1 {
+ public static void main(String[] args) throws Exception {
+ Font f = new Font("IPA明朝",Font.PLAIN, 8);
+ TextLayout layout = new TextLayout("IPA明朝", f,
+ new FontRenderContext(null, true, true));
+ System.out.println("Ascent: " + layout.getAscent());
+ System.out.println("Descent: " + layout.getDescent());
+ }
+ }
+ Result of this code
+ ===================
+ Sun Java 6 (sun-java6-jre 6.26-0squeeze1)
+ > Ascent: 7.0390625
+ > Descent: 0.9609375
+
+ OpenJDK 6 (openjdk-6-jre 6b24~pre2-1)
+ > Ascent: 7.046875
+ > Descent: 0.96875
+
+ OpenJDK 7 (openjdk-7-jre 7~b147-2.0-1)
+ > Ascent: 7.046875
+ > Descent: 0.96875
+
+ Sun Java returns correct height, but OpenJDK returns greater value
+ than Sun's.
+ Analysis of Source code
+ =======================
+ In OpenJDK6/7 native method sun.font.FreetypeFontScaler.getFontMetricsNative():
+ jdk/src/share/native/sun/font/freetypeScaler.c
+ >JNIEXPORT jobject JNICALL
+ >Java_sun_font_FreetypeFontScaler_getFontMetricsNative(
+ > JNIEnv *env, jobject scaler, jobject font2D,
+ > jlong pScalerContext, jlong pScaler) {
+ (snip)
+ > /* ascent */
+ > ax = 0;
+ > ay = -(jfloat) FT26Dot6ToFloat(FT_MulFix(
+ > ((jlong) scalerInfo->face->ascender + bmodifier/2),
+ > (jlong) scalerInfo->face->size->metrics.y_scale));
+ > /* descent */
+ > dx = 0;
+ > dy = -(jfloat) FT26Dot6ToFloat(FT_MulFix(
+ > ((jlong) scalerInfo->face->descender + bmodifier/2),
+ > (jlong) scalerInfo->face->size->metrics.y_scale));
+ (snip)
+ > metrics = (*env)->NewObject(env,
+ > sunFontIDs.strikeMetricsClass,
+ > sunFontIDs.strikeMetricsCtr,
+ > ax, ay, dx, dy, bx, by, lx, ly, mx, my);
+ >
+ > return metrics;
+ >}
+ This code uses FT_MulFix to convert size. But FT_MulFix sometimes rounds
+ up and loses precision.
+ In FreeType2's FT_MulFix:
+ freetype-2.4.8/src/base/ftcalc.c
+ > c = (FT_Long)( ( (FT_Int64)a * b + 0x8000L ) >> 16 );
+ If both ascent and descent are rounded up, (ascent + descent) is greater
+ than original height.
+ In the sample case (IPA mincho font),
+ bmodifier = 0
+ scalerInfo->face->ascender = 1802L
+ scalerInfo->face->descender = -246L
+ scalerInfo->face->size->metrics.y_scale = 16384L
+ In this case, 1802 mod 4 = 2 and 246 mod 4 = 2, so both are rounded up.
+ This causes (ay + dy) > font-size.
+ (Note: (Sun) 1802.0/256.0 = 7.0390625, (OpenJDK) 1804.0/256.0 = 7.046875)
+ Suggested fix
+ =============
+ Fix to keep the precision in the font metrics conversion in
+ Java_sun_font_FreetypeFontScaler_getFontMetricsNative().
+Author: Nobuhiro Ban <ban.nobuhiro@gmail.com>
+Bug-Debian: http://bugs.debian.org/657854
+--- openjdk/jdk/src/share/native/sun/font/freetypeScaler.c
++++ openjdk/jdk/src/share/native/sun/font/freetypeScaler.c
+@@ -488,14 +488,15 @@
+
+ /**** Note: only some metrics are affected by styling ***/
+
++#define FT_MulFixFloatShift6(a, b) (((float) (a)) * ((float) (b)) / 65536.0 / 64.0)
+ /* ascent */
+ ax = 0;
+- ay = -(jfloat) FT26Dot6ToFloat(FT_MulFix(
++ ay = -(jfloat) (FT_MulFixFloatShift6(
+ ((jlong) scalerInfo->face->ascender + bmodifier/2),
+ (jlong) scalerInfo->face->size->metrics.y_scale));
+ /* descent */
+ dx = 0;
+- dy = -(jfloat) FT26Dot6ToFloat(FT_MulFix(
++ dy = -(jfloat) (FT_MulFixFloatShift6(
+ ((jlong) scalerInfo->face->descender + bmodifier/2),
+ (jlong) scalerInfo->face->size->metrics.y_scale));
+ /* baseline */
+@@ -503,7 +504,7 @@
+
+ /* leading */
+ lx = 0;
+- ly = (jfloat) FT26Dot6ToFloat(FT_MulFix(
++ ly = (jfloat) (FT_MulFixFloatShift6(
+ (jlong) scalerInfo->face->height + bmodifier,
+ (jlong) scalerInfo->face->size->metrics.y_scale))
+ + ay - dy;
diff --git a/debian/patches/accessible-toolkit.patch b/debian/patches/accessible-toolkit.patch
new file mode 100644
index 0000000..222dcfb
--- /dev/null
+++ b/debian/patches/accessible-toolkit.patch
@@ -0,0 +1,16 @@
+diff -uNr openjdk-orig/jdk/src/share/classes/java/awt/Toolkit.java openjdk/jdk/src/share/classes/java/awt/Toolkit.java
+--- openjdk-orig/jdk/src/share/classes/java/awt/Toolkit.java 2009-01-23 11:59:47.000000000 -0500
++++ openjdk/jdk/src/share/classes/java/awt/Toolkit.java 2009-01-23 12:05:20.000000000 -0500
+@@ -871,7 +871,11 @@
+ return null;
+ }
+ });
+- loadAssistiveTechnologies();
++ try {
++ loadAssistiveTechnologies();
++ } catch ( AWTError error) {
++ // ignore silently
++ }
+ } finally {
+ // Make sure to always re-enable the JIT.
+ java.lang.Compiler.enable();
diff --git a/debian/patches/alpha-float-const.diff b/debian/patches/alpha-float-const.diff
new file mode 100644
index 0000000..bc63ece
--- /dev/null
+++ b/debian/patches/alpha-float-const.diff
@@ -0,0 +1,11 @@
+--- openjdk-boot/jdk/src/share/classes/java/lang/Float.java~ 2010-03-08 14:53:10.224835876 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Float.java 2010-03-08 15:05:28.803585964 +0100
+@@ -86,7 +86,7 @@
+ *
+ * @since 1.6
+ */
+- public static final float MIN_NORMAL = 1.17549435E-38f;
++ public static final float MIN_NORMAL = Float.intBitsToFloat(0x00800000);
+
+ /**
+ * A constant holding the smallest positive nonzero value of type
diff --git a/debian/patches/atk-wrapper-security.patch b/debian/patches/atk-wrapper-security.patch
new file mode 100644
index 0000000..7133c01
--- /dev/null
+++ b/debian/patches/atk-wrapper-security.patch
@@ -0,0 +1,12 @@
+--- openjdk/jdk/src/share/lib/security/java.security
++++ openjdk/jdk/src/share/lib/security/java.security
+@@ -147,7 +147,8 @@
+ com.sun.org.apache.xml.internal.res.,\
+ com.sun.org.apache.xml.internal.serializer.utils.,\
+ com.sun.org.apache.xml.internal.utils.,\
+- com.sun.org.glassfish.
++ com.sun.org.glassfish.,\
++ org.GNOME.Accessibility.
+
+ #
+ # List of comma-separated packages that start with or equal this string
diff --git a/debian/patches/cacao-armv4.diff b/debian/patches/cacao-armv4.diff
new file mode 100644
index 0000000..791f837
--- /dev/null
+++ b/debian/patches/cacao-armv4.diff
@@ -0,0 +1,100 @@
+Revert the following cacao change, when building for armel/armv4:
+
+# HG changeset patch
+# User Stefan Ring <stefan@complang.tuwien.ac.at>
+# Date 1344071656 -7200
+# Node ID 73ffc3dc8c16664613f878a131ded372b2099191
+# Parent e153dd602364e16b3f2b275d91cc683c4e3df2bb
+arm: Thumb interworking should work on armv5
+* src/vm/jit/arm/asmpart.S: Use Thumb interworking-aware instructions for transfer to C code.
+* src/vm/jit/arm/codegen.c: Likewise, for ICMD_BUILTIN.
+* src/vm/jit/arm/codegen.h: Define macros for BL and BLX instructions.
+
+--- cacao/cacao/src/vm/jit/arm/asmpart.S.orig 2013-01-10 17:45:14.000000000 +0100
++++ cacao/cacao/src/vm/jit/arm/asmpart.S 2013-02-08 17:24:23.744533547 +0100
+@@ -1,6 +1,6 @@
+ /* src/vm/jit/arm/asmpart.S - Java-C interface functions for ARM
+
+- Copyright (C) 1996-2012
++ Copyright (C) 1996-2005, 2006, 2007, 2008
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
+
+ This file is part of CACAO.
+@@ -239,7 +239,7 @@
+ stmfd sp!, {lr} /* save return address */
+ add a0, sp, #(1*4) /* pass java sp */
+ mov a1, lr /* pass exception address */
+- blx exceptions_asm_new_abstractmethoderror
++ bl exceptions_asm_new_abstractmethoderror
+ ldmfd sp!, {lr} /* restore return address */
+
+ mov xptr, res1 /* get exception pointer */
+@@ -281,7 +281,7 @@
+ swi __ARM_NR_cacheflush
+ #endif
+
+- bx lr
++ mov pc, lr
+
+
+ /* disable exec-stacks ********************************************************/
+--- cacao/cacao/src/vm/jit/arm/codegen.h.orig 2013-01-10 17:45:14.000000000 +0100
++++ cacao/cacao/src/vm/jit/arm/codegen.h 2013-02-08 17:24:23.744533547 +0100
+@@ -1,6 +1,6 @@
+ /* src/vm/jit/arm/codegen.h - code generation macros and definitions for ARM
+
+- Copyright (C) 1996-2012
++ Copyright (C) 1996-2005, 2006, 2007, 2008, 2010
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
+
+ This file is part of CACAO.
+@@ -215,19 +215,6 @@
+ } while (0)
+
+
+-/* branch and branch with link X (instruction set exchange)
+- cond ... conditional execution
+- L ...... branch with link (L=1)
+- reg .... register
+-*/
+-
+-#define M_BRAX(cond,L,reg) \
+- do { \
+- *((u4 *) cd->mcodeptr) = (((cond) << 28) | (0x12 << 20) | (0xfff << 8) | (L << 5) | (1 << 4) | ((reg) & 0xf)); \
+- cd->mcodeptr += 4; \
+- } while (0)
+-
+-
+ /* branch and branch with link: M_BRA
+ cond ... conditional execution
+ L ...... branch with link (L=1)
+@@ -490,9 +477,6 @@
+ #define M_BLO(off) M_BRA(COND_CC,0,off)
+ #define M_BLS(off) M_BRA(COND_LS,0,off)
+
+-#define M_BX(a) M_BRAX(COND_AL,0,a)
+-#define M_BLX(a) M_BRAX(COND_AL,1,a)
+-
+
+ /******************************************************************************/
+ /* macros for load and store instructions *************************************/
+--- cacao/cacao/src/vm/jit/arm/codegen.c.orig 2013-01-10 17:45:14.000000000 +0100
++++ cacao/cacao/src/vm/jit/arm/codegen.c 2013-02-08 17:24:23.748533547 +0100
+@@ -1,6 +1,6 @@
+ /* src/vm/jit/arm/codegen.c - machine code generator for Arm
+
+- Copyright (C) 1996-2012
++ Copyright (C) 1996-2011
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
+
+ This file is part of CACAO.
+@@ -1733,7 +1733,8 @@
+
+ /* generate the actual call */
+
+- M_BLX(REG_PV);
++ M_MOV(REG_LR, REG_PC);
++ M_MOV(REG_PC, REG_PV);
+
+ break;
+
diff --git a/debian/patches/default-jvm-cfg.diff b/debian/patches/default-jvm-cfg.diff
new file mode 100644
index 0000000..1e9a4a7
--- /dev/null
+++ b/debian/patches/default-jvm-cfg.diff
@@ -0,0 +1,44 @@
+--- openjdk/jdk/src/share/bin/java.c.orig
++++ openjdk/jdk/src/share/bin/java.c
+@@ -1580,7 +1580,7 @@
+ ReadKnownVMs(const char *jvmCfgName, jboolean speculative)
+ {
+ FILE *jvmCfg;
+- char line[MAXPATHLEN+20];
++ char line[MAXPATHLEN+30];
+ int cnt = 0;
+ int lineno = 0;
+ jlong start, end;
+@@ -1595,6 +1595,10 @@
+
+ jvmCfg = fopen(jvmCfgName, "r");
+ if (jvmCfg == NULL) {
++ strcat(jvmCfgName, "-default");
++ jvmCfg = fopen(jvmCfgName, "r");
++ }
++ if (jvmCfg == NULL) {
+ if (!speculative) {
+ JLI_ReportErrorMessage(CFG_ERROR6, jvmCfgName);
+ exit(1);
+--- openjdk/hotspot/src/share/tools/launcher/java.c.orig
++++ openjdk/hotspot/src/share/tools/launcher/java.c
+@@ -1863,7 +1863,7 @@
+ ReadKnownVMs(const char *jrepath, char * arch, jboolean speculative)
+ {
+ FILE *jvmCfg;
+- char jvmCfgName[MAXPATHLEN+20];
++ char jvmCfgName[MAXPATHLEN+30];
+ char line[MAXPATHLEN+20];
+ int cnt = 0;
+ int lineno = 0;
+@@ -1884,6 +1884,10 @@
+
+ jvmCfg = fopen(jvmCfgName, "r");
+ if (jvmCfg == NULL) {
++ strcat(jvmCfgName, "-default");
++ jvmCfg = fopen(jvmCfgName, "r");
++ }
++ if (jvmCfg == NULL) {
+ if (!speculative) {
+ ReportErrorMessage2("Error: could not open `%s'", jvmCfgName,
+ JNI_TRUE);
diff --git a/debian/patches/dnd-files.patch b/debian/patches/dnd-files.patch
new file mode 100644
index 0000000..96c8bc8
--- /dev/null
+++ b/debian/patches/dnd-files.patch
@@ -0,0 +1,21 @@
+diff -uNr openjdk-orig/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java
+--- openjdk-orig/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java 2012-10-16 22:36:45.000000000 +0200
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java 2012-12-15 12:14:59.281673529 +0100
+@@ -283,14 +283,14 @@
+ reader = new BufferedReader(new InputStreamReader(stream, charset));
+ String line;
+ ArrayList<URI> uriList = new ArrayList<URI>();
+- URI uri;
+ while ((line = reader.readLine()) != null) {
+ try {
+- uri = new URI(line);
++ if (!"\0".equals(line)) {
++ uriList.add(new URI(line));
++ }
+ } catch (URISyntaxException uriSyntaxException) {
+ throw new IOException(uriSyntaxException);
+ }
+- uriList.add(uri);
+ }
+ return uriList.toArray(new URI[uriList.size()]);
+ } finally {
diff --git a/debian/patches/enumipv6-fix.patch b/debian/patches/enumipv6-fix.patch
new file mode 100644
index 0000000..82f73c5
--- /dev/null
+++ b/debian/patches/enumipv6-fix.patch
@@ -0,0 +1,11 @@
+--- openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c~ 2012-02-15 09:26:50.000000000 +0100
++++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c 2012-02-26 14:13:22.602107361 +0100
+@@ -1105,7 +1105,7 @@
+ uint8_t ipv6addr[16];
+
+ if ((f = fopen(_PATH_PROCNET_IFINET6, "r")) != NULL) {
+- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
++ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %x %x %x %x %20s\n",
+ addr6p[0], addr6p[1], addr6p[2], addr6p[3], addr6p[4], addr6p[5], addr6p[6], addr6p[7],
+ &if_idx, &plen, &scope, &dad_status, devname) != EOF) {
+
diff --git a/debian/patches/fix_extra_flags-default.diff b/debian/patches/fix_extra_flags-default.diff
new file mode 100644
index 0000000..e2c909a
--- /dev/null
+++ b/debian/patches/fix_extra_flags-default.diff
@@ -0,0 +1,71 @@
+Description: Handle EXTRA_* flags into openjdk
+ - jsig: Add $EXTRA_CFLAGS to CC
+ - launcher: Add $EXTRA_CFLAGS/$EXTRA_LDFLAGS to CC/LD
+ - hotspot: Fix typo on EXTRA_LDFLAGS
+ - jdk: Append EXTRA_* to exisint flags
+Author: Damien Raude-Morvan <drazzib@debian.org>
+
+--- openjdk/hotspot/make/linux/makefiles/jsig.make.orig
++++ openjdk/hotspot/make/linux/makefiles/jsig.make
+@@ -59,7 +59,7 @@
+ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
+ @echo Making signal interposition lib...
+ $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
+- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
++ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS_HS) -o $@ $< -ldl
+ $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
+ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+ ifneq ($(STRIP_POLICY),no_strip)
+--- openjdk/hotspot/make/linux/makefiles/launcher.make.orig
++++ openjdk/hotspot/make/linux/makefiles/launcher.make
+@@ -73,16 +73,16 @@
+
+ $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
+ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+- $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
++ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(EXTRA_CFLAGS_HS) $(CXXFLAGS)
+
+ $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
+ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+- $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
++ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(EXTRA_CFLAGS_HS) $(CXXFLAGS)
+
+ $(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
+ $(QUIETLY) echo Linking launcher...
+ $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
+- $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
++ $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) $(EXTRA_LDFLAGS_HS) -o $@ $(OBJS) $(LIBS_LAUNCHER)
+ $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
+
+ $(LAUNCHER): $(LAUNCHER_SCRIPT)
+--- openjdk/hotspot/make/linux/makefiles/vm.make.orig
++++ openjdk/hotspot/make/linux/makefiles/vm.make
+@@ -113,8 +113,8 @@
+ CFLAGS += $(CFLAGS/NOEX)
+
+ # Extra flags from gnumake's invocation or environment
+-CFLAGS += $(EXTRA_CFLAGS)
+-LFLAGS += $(EXTRA_CFLAGS)
++CFLAGS += $(EXTRA_CFLAGS_HS)
++LFLAGS += $(EXTRA_LDFLAGS_HS)
+
+ # Don't set excutable bit on stack segment
+ # the same could be done by separate execstack command
+--- openjdk/jdk/make/common/Defs.gmk.orig
++++ openjdk/jdk/make/common/Defs.gmk
+@@ -506,11 +506,11 @@
+ # EXTRA_CFLAGS are used to define cross-compilation options
+ #
+ ASFLAGS = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(EXTRA_CFLAGS)
+-CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(EXTRA_CFLAGS)
++CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(EXTRA_CFLAGS_JDK)
++CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(EXTRA_CXXFLAGS_JDK)
+ CPPFLAGS = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
+- $(DEFINES) $(OPTIONS:%=-D%)
+-LDFLAGS = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
++ $(DEFINES) $(OPTIONS:%=-D%) $(EXTRA_CPPFLAGS_JDK)
++LDFLAGS = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS) $(EXTRA_LDFLAGS_JDK)
+ LDLIBS = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
+ LINTFLAGS = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
+ $(OTHER_LINTFLAGS)
diff --git a/debian/patches/fix_extra_flags-zero.diff b/debian/patches/fix_extra_flags-zero.diff
new file mode 100644
index 0000000..bbd6bd1
--- /dev/null
+++ b/debian/patches/fix_extra_flags-zero.diff
@@ -0,0 +1,71 @@
+Description: Handle EXTRA_* flags into openjdk
+ - jsig: Add $EXTRA_CFLAGS to CC
+ - launcher: Add $EXTRA_CFLAGS/$EXTRA_LDFLAGS to CC/LD
+ - hotspot: Fix typo on EXTRA_LDFLAGS
+ - jdk: Append EXTRA_* to exisint flags
+Author: Damien Raude-Morvan <drazzib@debian.org>
+
+--- openjdk/hotspot/make/linux/makefiles/jsig.make.orig
++++ openjdk/hotspot/make/linux/makefiles/jsig.make
+@@ -56,7 +56,7 @@
+ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
+ @echo Making signal interposition lib...
+ $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
+- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
++ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS_HS) -o $@ $< -ldl
+ $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
+ ifneq ($(OBJCOPY),)
+ ifneq ($(STRIP_POLICY),no_strip)
+--- openjdk/hotspot/make/linux/makefiles/launcher.make.orig
++++ openjdk/hotspot/make/linux/makefiles/launcher.make
+@@ -73,16 +73,16 @@
+
+ $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
+ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+- $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
++ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(EXTRA_CFLAGS_HS) $(CPPFLAGS)
+
+ $(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
+ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+- $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
++ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(EXTRA_CFLAGS_HS) $(CPPFLAGS)
+
+ $(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
+ $(QUIETLY) echo Linking launcher...
+ $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
+- $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
++ $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) $(EXTRA_LDFLAGS_HS) -o $@ $(OBJS) $(LIBS_LAUNCHER)
+ $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
+
+ $(LAUNCHER): $(LAUNCHER_SCRIPT)
+--- openjdk/hotspot/make/linux/makefiles/vm.make.orig
++++ openjdk/hotspot/make/linux/makefiles/vm.make
+@@ -113,8 +113,8 @@
+ CFLAGS += $(CFLAGS/NOEX)
+
+ # Extra flags from gnumake's invocation or environment
+-CFLAGS += $(EXTRA_CFLAGS)
+-LFLAGS += $(EXTRA_CFLAGS)
++CFLAGS += $(EXTRA_CFLAGS_HS)
++LFLAGS += $(EXTRA_LDFLAGS_HS)
+
+ # Don't set excutable bit on stack segment
+ # the same could be done by separate execstack command
+--- openjdk/jdk/make/common/Defs.gmk.orig
++++ openjdk/jdk/make/common/Defs.gmk
+@@ -506,11 +506,11 @@
+ # EXTRA_CFLAGS are used to define cross-compilation options
+ #
+ ASFLAGS = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(EXTRA_CFLAGS)
+-CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(EXTRA_CFLAGS)
++CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(EXTRA_CFLAGS_JDK)
++CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(EXTRA_CXXFLAGS_JDK)
+ CPPFLAGS = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
+- $(DEFINES) $(OPTIONS:%=-D%)
+-LDFLAGS = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
++ $(DEFINES) $(OPTIONS:%=-D%) $(EXTRA_CPPFLAGS_JDK)
++LDFLAGS = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS) $(EXTRA_LDFLAGS_JDK)
+ LDLIBS = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
+ LINTFLAGS = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
+ $(OTHER_LINTFLAGS)
diff --git a/debian/patches/fontconfig-arphic-uming.diff b/debian/patches/fontconfig-arphic-uming.diff
new file mode 100644
index 0000000..106029a
--- /dev/null
+++ b/debian/patches/fontconfig-arphic-uming.diff
@@ -0,0 +1,244 @@
+--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig 2008-10-12 10:42:26.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties 2008-10-12 10:43:49.000000000 +0000
+@@ -25,107 +25,156 @@
+
+ # Version
+
+-# Uses Ubuntu 6.10 (Edgy) fonts and file paths.
++# Used for Ubuntu 6.10 (edgy), Ubuntu 7.04 (feisty), Ubuntu 7.10 (gutsy),
++# Debian 4.0 (etch), Debian 5.0 (lenny) fonts and file paths.
+ version=1
+
+ # Component Font Mappings
+
++allfonts.chinese-gb18030=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1
++allfonts.chinese-gb18030.motif=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1
++allfonts.chinese-big5=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1
++allfonts.chinese-big5.motif=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1
++
+ dialog.plain.latin-1=DejaVu Sans
+-dialog.plain.japanese-x0208=Kochi Gothic
+-dialog.plain.korean=Baekmuk Dotum
++dialog.plain.latin-1.motif=LuxiSans-Regular
++dialog.plain.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialog.plain.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++dialog.plain.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ dialog.bold.latin-1=DejaVu Sans Bold
+-dialog.bold.japanese-x0208=Kochi Gothic
+-dialog.bold.korean=Baekmuk Dotum
++dialog.bold.latin-1.motif=LuxiSans-Bold
++dialog.bold.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialog.bold.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++dialog.bold.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ dialog.italic.latin-1=DejaVu Sans Oblique
+-dialog.italic.japanese-x0208=Kochi Gothic
+-dialog.italic.korean=Baekmuk Dotum
++dialog.italic.latin-1.motif=LuxiSans-Oblique
++dialog.italic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialog.italic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++dialog.italic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique
+-dialog.bolditalic.japanese-x0208=Kochi Gothic
+-dialog.bolditalic.korean=Baekmuk Dotum
+-
++dialog.bolditalic.latin-1.motif=LuxiSans-BoldOblique
++dialog.bolditalic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialog.bolditalic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++dialog.bolditalic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ sansserif.plain.latin-1=DejaVu Sans
+-sansserif.plain.japanese-x0208=Kochi Gothic
+-sansserif.plain.korean=Baekmuk Dotum
++sansserif.plain.latin-1.motif=LuxiSans-Regular
++sansserif.plain.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++sansserif.plain.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++sansserif.plain.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ sansserif.bold.latin-1=DejaVu Sans Bold
+-sansserif.bold.japanese-x0208=Kochi Gothic
+-sansserif.bold.korean=Baekmuk Dotum
++sansserif.bold.latin-1.motif=LuxiSans-Bold
++sansserif.bold.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++sansserif.bold.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++sansserif.bold.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ sansserif.italic.latin-1=DejaVu Sans Oblique
+-sansserif.italic.japanese-x0208=Kochi Gothic
+-sansserif.italic.korean=Baekmuk Dotum
++sansserif.italic.latin-1.motif=LuxiSans-Oblique
++sansserif.italic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++sansserif.italic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++sansserif.italic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique
+-sansserif.bolditalic.japanese-x0208=Kochi Gothic
+-sansserif.bolditalic.korean=Baekmuk Dotum
+-
++sansserif.bolditalic.latin-1.motif=LuxiSans-BoldOblique
++sansserif.bolditalic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++sansserif.bolditalic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
++sansserif.bolditalic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ serif.plain.latin-1=DejaVu Serif
+-serif.plain.japanese-x0208=Kochi Mincho
+-serif.plain.korean=Baekmuk Batang
++serif.plain.latin-1.motif=LuxiSerif-Regular
++serif.plain.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++serif.plain.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++serif.plain.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ serif.bold.latin-1=DejaVu Serif Bold
+-serif.bold.japanese-x0208=Kochi Mincho
+-serif.bold.korean=Baekmuk Batang
++serif.bold.latin-1.motif=LuxiSerif-Bold
++serif.bold.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++serif.bold.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++serif.bold.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ serif.italic.latin-1=DejaVu Serif Oblique
+-serif.italic.japanese-x0208=Kochi Mincho
+-serif.italic.korean=Baekmuk Batang
++serif.italic.latin-1.motif=LuxiSerif-Oblique
++serif.italic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++serif.italic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++serif.italic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ serif.bolditalic.latin-1=DejaVu Serif Bold Oblique
+-serif.bolditalic.japanese-x0208=Kochi Mincho
+-serif.bolditalic.korean=Baekmuk Batang
+-
++serif.bolditalic.latin-1.motif=LuxiSerif-BoldOblique
++serif.bolditalic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++serif.bolditalic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++serif.bolditalic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ monospaced.plain.latin-1=DejaVu Sans Mono
+-monospaced.plain.japanese-x0208=Kochi Gothic
+-monospaced.plain.korean=Baekmuk Dotum
++monospaced.plain.latin-1.motif=LuxiMono-Regular
++monospaced.plain.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++monospaced.plain.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++monospaced.plain.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ monospaced.bold.latin-1=DejaVu Sans Mono Bold
+-monospaced.bold.japanese-x0208=Kochi Gothic
+-monospaced.bold.korean=Baekmuk Dotum
++monospaced.bold.latin-1.motif=LuxiMono-Bold
++monospaced.bold.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++monospaced.bold.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++monospaced.bold.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ monospaced.italic.latin-1=DejaVu Sans Mono Oblique
+-monospaced.italic.japanese-x0208=Kochi Gothic
+-monospaced.italic.korean=Baekmuk Dotum
++monospaced.italic.latin-1.motif=LuxiMono-Oblique
++monospaced.italic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++monospaced.italic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++monospaced.italic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
+-monospaced.bolditalic.japanese-x0208=Kochi Gothic
+-monospaced.bolditalic.korean=Baekmuk Dotum
+-
++monospaced.bolditalic.latin-1.motif=LuxiMono-BoldOblique
++monospaced.bolditalic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++monospaced.bolditalic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++monospaced.bolditalic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ dialoginput.plain.latin-1=DejaVu Sans Mono
+-dialoginput.plain.japanese-x0208=Kochi Gothic
+-dialoginput.plain.korean=Baekmuk Dotum
++dialoginput.plain.latin-1.motif=LuxiMono-Regular
++dialoginput.plain.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialoginput.plain.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++dialoginput.plain.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ dialoginput.bold.latin-1=DejaVu Sans Mono Bold
+-dialoginput.bold.japanese-x0208=Kochi Gothic
+-dialoginput.bold.korean=Baekmuk Dotum
++dialoginput.bold.latin-1.motif=LuxiMono-Bold
++dialoginput.bold.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialoginput.bold.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++dialoginput.bold.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ dialoginput.italic.latin-1=DejaVu Sans Mono Oblique
+-dialoginput.italic.japanese-x0208=Kochi Gothic
+-dialoginput.italic.korean=Baekmuk Dotum
++dialoginput.italic.latin-1.motif=LuxiMono-Oblique
++dialoginput.italic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialoginput.italic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++dialoginput.italic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
+-dialoginput.bolditalic.japanese-x0208=Kochi Gothic
+-dialoginput.bolditalic.korean=Baekmuk Dotum
+-
+-allfonts.chinese-big5=AR PL ZenKai Uni
+-allfonts.chinese-gb18030=AR PL ZenKai Uni
++dialoginput.bolditalic.latin-1.motif=LuxiMono-BoldOblique
++dialoginput.bolditalic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
++dialoginput.bolditalic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
++dialoginput.bolditalic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-*
+
+ # Search Sequences
+
+ sequence.allfonts=latin-1
+-sequence.allfonts.Big5=chinese-big5,latin-1
+-sequence.allfonts.x-euc-jp-linux=japanese-x0208,latin-1
+-sequence.allfonts.EUC-KR=korean,latin-1
+-sequence.allfonts.GB18030=chinese-gb18030,latin-1
++sequence.allfonts.UTF-8.ko=latin-1,korean
++sequence.allfonts.UTF-8=latin-1,chinese-gb18030
++sequence.allfonts.UTF-8.ja=latin-1,japanese-x0208
++sequence.allfonts.UTF-8.zh.CN=latin-1,chinese-gb18030
++sequence.allfonts.UTF-8.zh.TW=latin-1,chinese-big5
++sequence.allfonts.Big5=latin-1,chinese-big5
++sequence.allfonts.GB2312=latin-1,chinese-gb18030
++sequence.allfonts.x-euc-jp-linux=latin-1,japanese-x0208
++sequence.allfonts.EUC-KR=latin-1,korean
++sequence.allfonts.GB18030=latin-1,chinese-gb18030
+ sequence.fallback=chinese-big5,chinese-gb18030,japanese-x0208,korean
+
++# Exclusion Ranges
++
++exclusion.japanese-x0208=0390-03d6,2200-22ef,2701-27be
++
+ # Font File Names
+
+ filename.DejaVu_Sans=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
+@@ -143,8 +192,27 @@
+ filename.DejaVu_Serif_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Oblique.ttf
+ filename.DejaVu_Serif_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-BoldOblique.ttf
+
+-filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic-subst.ttf
+-filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho-subst.ttf
+-filename.AR_PL_ZenKai_Uni=/usr/share/fonts//truetype/arphic/ukai.ttf
+-filename.Baekmuk_Dotum=/usr/share/fonts/truetype/baekmuk/dotum.ttf
+-filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf
++filename.-misc-ar_pl_shanheisun_uni-medium-r-normal--*-*-*-*-p-*-iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttf
++filename.-misc-baekmuk_batang-medium-r-normal--*-%d-*-*-c-*-*-*=/usr/share/fonts/truetype/baekmuk/batang.ttf
++filename.-misc-baekmuk_gulim-medium-r-normal--*-%d-*-*-c-*-*-*=/usr/share/fonts/truetype/baekmuk/gulim.ttf
++filename.-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
++filename.-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf
++
++filename.LuxiSans-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisr.ttf
++filename.LuxiSans-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisb.ttf
++filename.LuxiSans-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisri.ttf
++filename.LuxiSans-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisbi.ttf
++filename.LuxiMono-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximr.ttf
++filename.LuxiMono-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximb.ttf
++filename.LuxiMono-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximri.ttf
++filename.LuxiMono-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximbi.ttf
++filename.LuxiSerif-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirr.ttf
++filename.LuxiSerif-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirb.ttf
++filename.LuxiSerif-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirri.ttf
++filename.LuxiSerif-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirbi.ttf
++
++# AWT X11 font paths
++awtfontpath.latin-1=/usr/share/fonts/X11/Type1
++awtfontpath.chinese-gb18030=/usr/share/fonts/truetype/arphic
++awtfontpath.japanese-x0208=/usr/share/fonts/truetype/vlgothic
++awtfontpath.korean=/usr/share/fonts/truetype/baekmuk
diff --git a/debian/patches/fontconfig-japanese.diff b/debian/patches/fontconfig-japanese.diff
new file mode 100644
index 0000000..793b2dd
--- /dev/null
+++ b/debian/patches/fontconfig-japanese.diff
@@ -0,0 +1,219 @@
+# used for Debian wheezy and Ubuntu 12.04 LTS or newer
+
+--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig 2013-02-07 17:01:24.723477262 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties 2013-02-07 17:03:39.043477916 +0100
+@@ -57,142 +57,142 @@
+
+ serif.plain.latin-1=DejaVu Serif
+ #serif.plain.latin-1.motif=LuxiSerif-Regular
+-serif.plain.japanese-kochi=Kochi Mincho
+ serif.plain.japanese-sazanami=Sazanami Mincho
+ serif.plain.japanese-vlgothic=Sazanami Mincho
++serif.plain.japanese-ipafont=IPAMincho
+ serif.plain.korean-nanum=NanumMyeongjo
+
+ serif.bold.latin-1=DejaVu Serif Bold
+ #serif.bold.latin-1.motif=LuxiSerif-Bold
+-serif.bold.japanese-kochi=Kochi Mincho
+ serif.bold.japanese-sazanami=Sazanami Mincho
+ serif.bold.japanese-vlgothic=Sazanami Mincho
++serif.bold.japanese-ipafont=IPAMincho
+ serif.bold.korean-nanum=NanumMyeongjo Bold
+
+ serif.italic.latin-1=DejaVu Serif Oblique
+ #serif.italic.latin-1.motif=LuxiSerif-Oblique
+-serif.italic.japanese-kochi=Kochi Mincho
+ serif.italic.japanese-sazanami=Sazanami Mincho
+ serif.italic.japanese-vlgothic=Sazanami Mincho
++serif.italic.japanese-ipafont=IPAMincho
+ serif.italic.korean-nanum=NanumMyeongjo
+
+ serif.bolditalic.latin-1=DejaVu Serif Bold Oblique
+ #serif.bolditalic.latin-1.motif=LuxiSerif-BoldOblique
+-serif.bolditalic.japanese-kochi=Kochi Mincho
+ serif.bolditalic.japanese-sazanami=Sazanami Mincho
+ serif.bolditalic.japanese-vlgothic=Sazanami Mincho
++serif.bolditalic.japanese-ipafont=IPAMincho
+ serif.bolditalic.korean-nanum=NanumMyeongjo Bold
+
+ sansserif.plain.latin-1=DejaVu Sans
+ #sansserif.plain.latin-1.motif=LuxiSans-Regular
+-sansserif.plain.japanese-kochi=Kochi Gothic
+ sansserif.plain.japanese-sazanami=Sazanami Gothic
+ sansserif.plain.japanese-vlgothic=VL PGothic
++sansserif.plain.japanese-ipafont=IPAPGothic
+ sansserif.plain.korean-nanum=NanumGothic
+
+ sansserif.bold.latin-1=DejaVu Sans Bold
+ #sansserif.bold.latin-1.motif=LuxiSans-Bold
+-sansserif.bold.japanese-kochi=Kochi Gothic
+ sansserif.bold.japanese-sazanami=Sazanami Gothic
+ sansserif.bold.japanese-vlgothic=VL PGothic
++sansserif.bold.japanese-ipafont=IPAPGothic
+ sansserif.bold.korean-nanum=NanumGothic Bold
+
+ sansserif.italic.latin-1=DejaVu Sans Oblique
+ #sansserif.italic.latin-1.motif=LuxiSans-Oblique
+-sansserif.italic.japanese-kochi=Kochi Gothic
+ sansserif.italic.japanese-sazanami=Sazanami Gothic
+ sansserif.italic.japanese-vlgothic=VL PGothic
++sansserif.italic.japanese-ipafont=IPAPGothic
+ sansserif.italic.korean-nanum=NanumGothic
+
+ sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique
+ #sansserif.bolditalic.latin-1.motif=LuxiSans-BoldOblique
+-sansserif.bolditalic.japanese-kochi=Kochi Gothic
+ sansserif.bolditalic.japanese-sazanami=Sazanami Gothic
+ sansserif.bolditalic.japanese-vlgothic=VL PGothic
++sansserif.bolditalic.japanese-ipafont=IPAPGothic
+ sansserif.bolditalic.korean-nanum=NanumGothic Bold
+
+ monospaced.plain.latin-1=DejaVu Sans Mono
+ #monospaced.plain.latin-1.motif=LuxiMono-Regular
+-monospaced.plain.japanese-kochi=Kochi Gothic
+ monospaced.plain.japanese-sazanami=Sazanami Gothic
+ monospaced.plain.japanese-vlgothic=VL Gothic
++monospaced.plain.japanese-ipafont=IPAGothic
+ monospaced.plain.korean-nanum=NanumGothicCoding
+
+ monospaced.bold.latin-1=DejaVu Sans Mono Bold
+ #monospaced.bold.latin-1.motif=LuxiMono-Bold
+-monospaced.bold.japanese-kochi=Kochi Gothic
+ monospaced.bold.japanese-sazanami=Sazanami Gothic
+ monospaced.bold.japanese-vlgothic=VL Gothic
++monospaced.bold.japanese-ipafont=IPAGothic
+ monospaced.bold.korean-nanum=NanumGothicCoding Bold
+
+ monospaced.italic.latin-1=DejaVu Sans Mono Oblique
+ #monospaced.italic.latin-1.motif=LuxiMono-Oblique
+-monospaced.italic.japanese-kochi=Kochi Gothic
+ monospaced.italic.japanese-sazanami=Sazanami Gothic
+ monospaced.italic.japanese-vlgothic=VL Gothic
++monospaced.italic.japanese-ipafont=IPAGothic
+ monospaced.italic.korean-nanum=NanumGothicCoding
+
+ monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
+ #monospaced.bolditalic.latin-1.motif=LuxiMono-BoldOblique
+-monospaced.bolditalic.japanese-kochi=Kochi Gothic
+ monospaced.bolditalic.japanese-sazanami=Sazanami Gothic
+ monospaced.bolditalic.japanese-vlgothic=VL Gothic
++monospaced.bolditalic.japanese-ipafont=IPAGothic
+ monospaced.bolditalic.korean-nanum=NanumGothicCoding Bold
+
+ dialog.plain.latin-1=DejaVu Sans
+ #dialog.plain.latin-1.motif=LuxiSans-Regular
+-dialog.plain.japanese-kochi=Kochi Gothic
+ dialog.plain.japanese-sazanami=Sazanami Gothic
+ dialog.plain.japanese-vlgothic=VL PGothic
++dialog.plain.japanese-ipafont=IPAPGothic
+ dialog.plain.korean-nanum=NanumGothic
+
+ dialog.bold.latin-1=DejaVu Sans Bold
+ #dialog.bold.latin-1.motif=LuxiSans-Bold
+-dialog.bold.japanese-kochi=Kochi Gothic
+ dialog.bold.japanese-sazanami=Sazanami Gothic
+ dialog.bold.japanese-vlgothic=VL PGothic
++dialog.bold.japanese-ipafont=IPAPGothic
+ dialog.bold.korean-nanum=NanumGothic Bold
+
+ dialog.italic.latin-1=DejaVu Sans Oblique
+ #dialog.italic.latin-1.motif=LuxiSans-Oblique
+-dialog.italic.japanese-kochi=Kochi Gothic
+ dialog.italic.japanese-sazanami=Sazanami Gothic
+ dialog.italic.japanese-vlgothic=VL PGothic
++dialog.italic.japanese-ipafont=IPAPGothic
+ dialog.italic.korean-nanum=NanumGothic
+
+ dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique
+ #dialog.bolditalic.latin-1.motif=LuxiSans-BoldOblique
+-dialog.bolditalic.japanese-kochi=Kochi Gothic
+ dialog.bolditalic.japanese-sazanami=Sazanami Gothic
+ dialog.bolditalic.japanese-vlgothic=VL PGothic
++dialog.bolditalic.japanese-ipafont=IPAPGothic
+ dialog.bolditalic.korean-nanum=NanumGothic Bold
+
+ dialoginput.plain.latin-1=DejaVu Sans Mono
+ #dialoginput.plain.latin-1.motif=LuxiMono-Regular
+-dialoginput.plain.japanese-kochi=Kochi Gothic
+ dialoginput.plain.japanese-sazanami=Sazanami Gothic
+ dialoginput.plain.japanese-vlgothic=VL Gothic
++dialoginput.plain.japanese-ipafont=IPAGothic
+ dialoginput.plain.korean-nanum=NanumGothic
+
+ dialoginput.bold.latin-1=DejaVu Sans Mono Bold
+ #dialoginput.bold.latin-1.motif=LuxiMono-Bold
+-dialoginput.bold.japanese-kochi=Kochi Gothic
+ dialoginput.bold.japanese-sazanami=Sazanami Gothic
+ dialoginput.bold.japanese-vlgothic=VL Gothic
++dialoginput.bold.japanese-ipafont=IPAGothic
+ dialoginput.bold.korean-nanum=NanumGothic Bold
+
+ dialoginput.italic.latin-1=DejaVu Sans Mono Oblique
+ #dialoginput.italic.latin-1.motif=LuxiMono-Oblique
+-dialoginput.italic.japanese-kochi=Kochi Gothic
+ dialoginput.italic.japanese-sazanami=Sazanami Gothic
+ dialoginput.italic.japanese-vlgothic=VL Gothic
++dialoginput.italic.japanese-ipafont=IPAGothic
+ dialoginput.italic.korean-nanum=NanumGothic
+
+ dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
+ #dialoginput.bolditalic.latin-1.motif=LuxiMono-BoldOblique
+-dialoginput.bolditalic.japanese-kochi=Kochi Gothic
+ dialoginput.bolditalic.japanese-sazanami=Sazanami Gothic
+ dialoginput.bolditalic.japanese-vlgothic=VL Gothic
++dialoginput.bolditalic.japanese-ipafont=IPAGothic
+ dialoginput.bolditalic.korean-nanum=NanumGothic Bold
+
+ # Search Sequences
+@@ -201,18 +201,20 @@
+ sequence.allfonts.GB18030=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
+ sequence.allfonts.GB2312=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
+ sequence.allfonts.GBK=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
+-sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-sazanami,japanese-kochi
++sequence.allfonts.x-euc-jp-linux=latin-1,japanese-ipafont,japanese-vlgothic,japanese-sazanami
+ sequence.allfonts.EUC-KR=latin-1,korean-nanum
+ sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-microhei,wqy-zenhei
+ sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-microhei,wqy-zenhei
+-#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala
+-sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-nanum,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu
++#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-ipafont,japanese-vlgothic,japanese-sazanami,korean-un,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala
++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-ipafont,japanese-vlgothic,japanese-sazanami,korean-nanum,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu
++
++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-ipafont,japanese-vlgothic,japanese-sazanami,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu
+
+ # Exclusion Ranges
+
+-exclusion.japanese-kochi=0390-03d6,2200-22ef,2701-27be
+ exclusion.japanese-sazanami=0390-03d6,2200-22ef,2701-27be
+ exclusion.japanese-vlgothic=0390-03d6,2200-22ef,2701-27be
++exclusion.japanese-ipafont=0390-03d6,2200-22ef,2701-27be
+
+ # Font File Names
+
+@@ -244,12 +246,16 @@
+ filename.NanumGothic_Bold=/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf
+ filename.NanumGothicCoding=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding.ttf
+ filename.NanumGothicCoding_Bold=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding_Bold.ttf
+-filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic.ttf
++
++#Japanese fonts
+ filename.Sazanami_Gothic=/usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf
+-filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho.ttf
+ filename.Sazanami_Mincho=/usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf
+ filename.VL_Gothic=/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
+ filename.VL_PGothic=/usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf
++filename.IPAGothic=/usr/share/fonts/opentype/ipafont-gothic/ipag.ttf
++filename.IPAPGothic=/usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf
++filename.IPAMincho=/usr/share/fonts/opentype/ipafont-mincho/ipam.ttf
++filename.IPAPMincho=/usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf
+
+ filename.Lohit_Bengali=/usr/share/fonts/truetype/ttf-bengali-fonts/lohit_bn.ttf
+ filename.Lohit_Gujarati=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_gu.ttf
+@@ -283,7 +289,6 @@
+ awtfontpath.shanheisun=/usr/share/fonts/truetype/arphic
+ awtfontpath.wqy-microhei=/usr/share/fonts/truetype/wqy
+ awtfontpath.wqy-zenhei=/usr/share/fonts/truetype/wqy
+-awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi
+ awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami
+ awtfontpath.japanese-vlgothic=/usr/share/fonts/truetype/vlgothic
+ awtfontpath.korean-nanum=/usr/share/fonts/truetype/nanum
diff --git a/debian/patches/fontconfig-korean-nanum.diff b/debian/patches/fontconfig-korean-nanum.diff
new file mode 100644
index 0000000..6d28ad5
--- /dev/null
+++ b/debian/patches/fontconfig-korean-nanum.diff
@@ -0,0 +1,266 @@
+# used for Debian wheezy and Ubuntu 12.04 LTS or newer
+
+--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig
++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties
+@@ -60,200 +60,140 @@
+ serif.plain.japanese-kochi=Kochi Mincho
+ serif.plain.japanese-sazanami=Sazanami Mincho
+ serif.plain.japanese-vlgothic=Sazanami Mincho
+-serif.plain.korean-baekmuk=Baekmuk Batang
+-#serif.plain.korean-baekmuk.motif=Baekmuk Batang
+-serif.plain.korean-un=UnBatang
+-#serif.plain.korean-un.motif=UnBatang
++serif.plain.korean-nanum=NanumMyeongjo
+
+ serif.bold.latin-1=DejaVu Serif Bold
+ #serif.bold.latin-1.motif=LuxiSerif-Bold
+ serif.bold.japanese-kochi=Kochi Mincho
+ serif.bold.japanese-sazanami=Sazanami Mincho
+ serif.bold.japanese-vlgothic=Sazanami Mincho
+-serif.bold.korean-baekmuk=Baekmuk Batang
+-#serif.bold.korean-baekmuk.motif=Baekmuk Batang
+-serif.bold.korean-un=UnBatang Bold
+-#serif.bold.korean-un.motif=UnBatang Bold
++serif.bold.korean-nanum=NanumMyeongjo Bold
+
+ serif.italic.latin-1=DejaVu Serif Oblique
+ #serif.italic.latin-1.motif=LuxiSerif-Oblique
+ serif.italic.japanese-kochi=Kochi Mincho
+ serif.italic.japanese-sazanami=Sazanami Mincho
+ serif.italic.japanese-vlgothic=Sazanami Mincho
+-serif.italic.korean-baekmuk=Baekmuk Batang
+-#serif.italic.korean-baekmuk.motif=Baekmuk Batang
+-serif.italic.korean-un=UnBatang
+-#serif.italic.korean-un.motif=UnBatang
++serif.italic.korean-nanum=NanumMyeongjo
+
+ serif.bolditalic.latin-1=DejaVu Serif Bold Oblique
+ #serif.bolditalic.latin-1.motif=LuxiSerif-BoldOblique
+ serif.bolditalic.japanese-kochi=Kochi Mincho
+ serif.bolditalic.japanese-sazanami=Sazanami Mincho
+ serif.bolditalic.japanese-vlgothic=Sazanami Mincho
+-serif.bolditalic.korean-baekmuk=Baekmuk Batang
+-#serif.bolditalic.korean-baekmuk.motif=Baekmuk Batang
+-serif.bolditalic.korean-un=UnBatang Bold
+-#serif.bolditalic.korean-un.motif=UnBatang Bold
++serif.bolditalic.korean-nanum=NanumMyeongjo Bold
+
+ sansserif.plain.latin-1=DejaVu Sans
+ #sansserif.plain.latin-1.motif=LuxiSans-Regular
+ sansserif.plain.japanese-kochi=Kochi Gothic
+ sansserif.plain.japanese-sazanami=Sazanami Gothic
+ sansserif.plain.japanese-vlgothic=VL PGothic
+-sansserif.plain.korean-baekmuk=Baekmuk Gulim
+-#sansserif.plain.korean-baekmuk.motif=Baekmuk Gulim
+-sansserif.plain.korean-un=UnDotum
+-#sansserif.plain.korean-un.motif=UnDotum
++sansserif.plain.korean-nanum=NanumGothic
+
+ sansserif.bold.latin-1=DejaVu Sans Bold
+ #sansserif.bold.latin-1.motif=LuxiSans-Bold
+ sansserif.bold.japanese-kochi=Kochi Gothic
+ sansserif.bold.japanese-sazanami=Sazanami Gothic
+ sansserif.bold.japanese-vlgothic=VL PGothic
+-sansserif.bold.korean-baekmuk=Baekmuk Gulim
+-#sansserif.bold.korean-baekmuk.motif=Baekmuk Gulim
+-sansserif.bold.korean-un=UnDotum Bold
+-#sansserif.bold.korean-un.motif=UnDotum Bold
++sansserif.bold.korean-nanum=NanumGothic Bold
+
+ sansserif.italic.latin-1=DejaVu Sans Oblique
+ #sansserif.italic.latin-1.motif=LuxiSans-Oblique
+ sansserif.italic.japanese-kochi=Kochi Gothic
+ sansserif.italic.japanese-sazanami=Sazanami Gothic
+ sansserif.italic.japanese-vlgothic=VL PGothic
+-sansserif.italic.korean-baekmuk=Baekmuk Gulim
+-#sansserif.italic.korean-baekmuk.motif=Baekmuk Gulim
+-sansserif.italic.korean-un=UnDotum
+-#sansserif.italic.korean-un.motif=UnDotum
++sansserif.italic.korean-nanum=NanumGothic
+
+ sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique
+ #sansserif.bolditalic.latin-1.motif=LuxiSans-BoldOblique
+ sansserif.bolditalic.japanese-kochi=Kochi Gothic
+ sansserif.bolditalic.japanese-sazanami=Sazanami Gothic
+ sansserif.bolditalic.japanese-vlgothic=VL PGothic
+-sansserif.bolditalic.korean-baekmuk=Baekmuk Gulim
+-#sansserif.bolditalic.korean-baekmuk.motif=Baekmuk Gulim
+-sansserif.bolditalic.korean-un=UnDotum Bold
+-#sansserif.bolditalic.korean-un.motif=UnDotum Bold
++sansserif.bolditalic.korean-nanum=NanumGothic Bold
+
+ monospaced.plain.latin-1=DejaVu Sans Mono
+ #monospaced.plain.latin-1.motif=LuxiMono-Regular
+ monospaced.plain.japanese-kochi=Kochi Gothic
+ monospaced.plain.japanese-sazanami=Sazanami Gothic
+ monospaced.plain.japanese-vlgothic=VL Gothic
+-monospaced.plain.korean-baekmuk=Baekmuk Gulim
+-#monospaced.plain.korean-baekmuk.motif=Baekmuk Gulim
+-monospaced.plain.korean-un=UnDotum
+-#monospaced.plain.korean-un.motif=UnDotum
++monospaced.plain.korean-nanum=NanumGothicCoding
+
+ monospaced.bold.latin-1=DejaVu Sans Mono Bold
+ #monospaced.bold.latin-1.motif=LuxiMono-Bold
+ monospaced.bold.japanese-kochi=Kochi Gothic
+ monospaced.bold.japanese-sazanami=Sazanami Gothic
+ monospaced.bold.japanese-vlgothic=VL Gothic
+-monospaced.bold.korean-baekmuk=Baekmuk Gulim
+-#monospaced.bold.korean-baekmuk.motif=Baekmuk Gulim
+-monospaced.bold.korean-un=UnDotum Bold
+-#monospaced.bold.korean-un.motif=UnDotum Bold
++monospaced.bold.korean-nanum=NanumGothicCoding Bold
+
+ monospaced.italic.latin-1=DejaVu Sans Mono Oblique
+ #monospaced.italic.latin-1.motif=LuxiMono-Oblique
+ monospaced.italic.japanese-kochi=Kochi Gothic
+ monospaced.italic.japanese-sazanami=Sazanami Gothic
+ monospaced.italic.japanese-vlgothic=VL Gothic
+-monospaced.italic.korean-baekmuk=Baekmuk Gulim
+-#monospaced.italic.korean-baekmuk.motif=Baekmuk Gulim
+-monospaced.italic.korean-un=UnDotum
+-#monospaced.italic.korean-un.motif=UnDotum
++monospaced.italic.korean-nanum=NanumGothicCoding
+
+ monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
+ #monospaced.bolditalic.latin-1.motif=LuxiMono-BoldOblique
+ monospaced.bolditalic.japanese-kochi=Kochi Gothic
+ monospaced.bolditalic.japanese-sazanami=Sazanami Gothic
+ monospaced.bolditalic.japanese-vlgothic=VL Gothic
+-monospaced.bolditalic.korean-baekmuk=Baekmuk Gulim
+-#monospaced.bolditalic.korean-baekmuk.motif=Baekmuk Gulim
+-monospaced.bolditalic.korean-un=UnDotum Bold
+-#monospaced.bolditalic.korean-un.motif=UnDotum Bold
++monospaced.bolditalic.korean-nanum=NanumGothicCoding Bold
+
+ dialog.plain.latin-1=DejaVu Sans
+ #dialog.plain.latin-1.motif=LuxiSans-Regular
+ dialog.plain.japanese-kochi=Kochi Gothic
+ dialog.plain.japanese-sazanami=Sazanami Gothic
+ dialog.plain.japanese-vlgothic=VL PGothic
+-dialog.plain.korean-baekmuk=Baekmuk Gulim
+-#dialog.plain.korean-baekmuk.motif=Baekmuk Gulim
+-dialog.plain.korean-un=UnDotum
+-#dialog.plain.korean-un.motif=UnDotum
++dialog.plain.korean-nanum=NanumGothic
+
+ dialog.bold.latin-1=DejaVu Sans Bold
+ #dialog.bold.latin-1.motif=LuxiSans-Bold
+ dialog.bold.japanese-kochi=Kochi Gothic
+ dialog.bold.japanese-sazanami=Sazanami Gothic
+ dialog.bold.japanese-vlgothic=VL PGothic
+-dialog.bold.korean-baekmuk=Baekmuk Gulim
+-#dialog.bold.korean-baekmuk.motif=Baekmuk Gulim
+-dialog.bold.korean-un=UnDotum Bold
+-#dialog.bold.korean-un.motif=UnDotum Bold
++dialog.bold.korean-nanum=NanumGothic Bold
+
+ dialog.italic.latin-1=DejaVu Sans Oblique
+ #dialog.italic.latin-1.motif=LuxiSans-Oblique
+ dialog.italic.japanese-kochi=Kochi Gothic
+ dialog.italic.japanese-sazanami=Sazanami Gothic
+ dialog.italic.japanese-vlgothic=VL PGothic
+-dialog.italic.korean-baekmuk=Baekmuk Gulim
+-#dialog.italic.korean-baekmuk.motif=Baekmuk Gulim
+-dialog.italic.korean-un=UnDotum
+-#dialog.italic.korean-un.motif=UnDotum
++dialog.italic.korean-nanum=NanumGothic
+
+ dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique
+ #dialog.bolditalic.latin-1.motif=LuxiSans-BoldOblique
+ dialog.bolditalic.japanese-kochi=Kochi Gothic
+ dialog.bolditalic.japanese-sazanami=Sazanami Gothic
+ dialog.bolditalic.japanese-vlgothic=VL PGothic
+-dialog.bolditalic.korean-baekmuk=Baekmuk Gulim
+-#dialog.bolditalic.korean-baekmuk.motif=Baekmuk Gulim
+-dialog.bolditalic.korean-un=UnDotum Bold
+-#dialog.bolditalic.korean-un.motif=UnDotum Bold
++dialog.bolditalic.korean-nanum=NanumGothic Bold
+
+ dialoginput.plain.latin-1=DejaVu Sans Mono
+ #dialoginput.plain.latin-1.motif=LuxiMono-Regular
+ dialoginput.plain.japanese-kochi=Kochi Gothic
+ dialoginput.plain.japanese-sazanami=Sazanami Gothic
+ dialoginput.plain.japanese-vlgothic=VL Gothic
+-dialoginput.plain.korean-baekmuk=Baekmuk Gulim
+-#dialoginput.plain.korean-baekmuk.motif=Baekmuk Gulim
+-dialoginput.plain.korean-un=UnDotum
+-#dialoginput.plain.korean-un.motif=UnDotum
++dialoginput.plain.korean-nanum=NanumGothic
+
+ dialoginput.bold.latin-1=DejaVu Sans Mono Bold
+ #dialoginput.bold.latin-1.motif=LuxiMono-Bold
+ dialoginput.bold.japanese-kochi=Kochi Gothic
+ dialoginput.bold.japanese-sazanami=Sazanami Gothic
+ dialoginput.bold.japanese-vlgothic=VL Gothic
+-dialoginput.bold.korean-baekmuk=Baekmuk Gulim
+-#dialoginput.bold.korean-baekmuk.motif=Baekmuk Gulim
+-dialoginput.bold.korean-un=UnDotum Bold
+-#dialoginput.bold.korean-un.motif=UnDotum Bold
++dialoginput.bold.korean-nanum=NanumGothic Bold
+
+ dialoginput.italic.latin-1=DejaVu Sans Mono Oblique
+ #dialoginput.italic.latin-1.motif=LuxiMono-Oblique
+ dialoginput.italic.japanese-kochi=Kochi Gothic
+ dialoginput.italic.japanese-sazanami=Sazanami Gothic
+ dialoginput.italic.japanese-vlgothic=VL Gothic
+-dialoginput.italic.korean-baekmuk=Baekmuk Gulim
+-#dialoginput.italic.korean-baekmuk.motif=Baekmuk Gulim
+-dialoginput.italic.korean-un=UnDotum
+-#dialoginput.italic.korean-un.motif=UnDotum
++dialoginput.italic.korean-nanum=NanumGothic
+
+ dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
+ #dialoginput.bolditalic.latin-1.motif=LuxiMono-BoldOblique
+ dialoginput.bolditalic.japanese-kochi=Kochi Gothic
+ dialoginput.bolditalic.japanese-sazanami=Sazanami Gothic
+ dialoginput.bolditalic.japanese-vlgothic=VL Gothic
+-dialoginput.bolditalic.korean-baekmuk=Baekmuk Gulim
+-#dialoginput.bolditalic.korean-baekmuk.motif=Baekmuk Gulim
+-dialoginput.bolditalic.korean-un=UnDotum Bold
+-#dialoginput.bolditalic.korean-un.motif=UnDotum Bold
++dialoginput.bolditalic.korean-nanum=NanumGothic Bold
+
+ # Search Sequences
+
+@@ -262,11 +202,11 @@
+ sequence.allfonts.GB2312=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
+ sequence.allfonts.GBK=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
+ sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-sazanami,japanese-kochi
+-sequence.allfonts.EUC-KR=latin-1,korean-un,korean-baekmuk
++sequence.allfonts.EUC-KR=latin-1,korean-nanum
+ sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-microhei,wqy-zenhei
+ sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-microhei,wqy-zenhei
+-#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala
+-sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu
++#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala
++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-nanum,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu
+
+ # Exclusion Ranges
+
+@@ -298,12 +238,12 @@
+
+ filename.WenQuanYi_Micro_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc
+ filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
+-filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf
+-filename.UnBatang=/usr/share/fonts/truetype/unfonts/UnBatang.ttf
+-filename.UnBatang_Bold=/usr/share/fonts/truetype/unfonts/UnBatangBold.ttf
+-filename.Baekmuk_Gulim=/usr/share/fonts/truetype/baekmuk/gulim.ttf
+-filename.UnDotum=/usr/share/fonts/truetype/unfonts/UnDotum.ttf
+-filename.UnDotum_Bold=/usr/share/fonts/truetype/unfonts/UnDotumBold.ttf
++filename.NanumMyeongjo=/usr/share/fonts/truetype/nanum/NanumMyeongjo.ttf
++filename.NanumMyeongjo_Bold=/usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf
++filename.NanumGothic=/usr/share/fonts/truetype/nanum/NanumGothic.ttf
++filename.NanumGothic_Bold=/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf
++filename.NanumGothicCoding=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding.ttf
++filename.NanumGothicCoding_Bold=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding_Bold.ttf
+ filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic.ttf
+ filename.Sazanami_Gothic=/usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf
+ filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho.ttf
+@@ -346,5 +286,4 @@
+ awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi
+ awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami
+ awtfontpath.japanese-vlgothic=/usr/share/fonts/truetype/vlgothic
+-awtfontpath.korean-baekmuk=/usr/share/fonts/truetype/baekmuk
+-awtfontpath.korean-un=/usr/share/fonts/truetype/unfonts
++awtfontpath.korean-nanum=/usr/share/fonts/truetype/nanum
diff --git a/debian/patches/fontconfig-wqy-microhei.patch b/debian/patches/fontconfig-wqy-microhei.patch
new file mode 100644
index 0000000..23093aa
--- /dev/null
+++ b/debian/patches/fontconfig-wqy-microhei.patch
@@ -0,0 +1,53 @@
+--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig
++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties
+@@ -37,6 +37,7 @@
+ #allfonts.uminghk.motif=AR PL UMing HK
+ allfonts.umingtw=AR PL UMing TW
+ #allfonts.umingtw.motif=AR PL UMing TW
++allfonts.wqy-microhei=WenQuanYi Micro Hei
+ allfonts.wqy-zenhei=WenQuanYi Zen Hei
+ #allfonts.wqy-zenhei.motif=WenQuanYi Zen Hei
+ allfonts.shanheisun=AR PL ShanHeiSun Uni
+@@ -257,15 +258,15 @@
+ # Search Sequences
+
+ sequence.allfonts=latin-1
+-sequence.allfonts.GB18030=latin-1,umingcn,shanheisun,wqy-zenhei
+-sequence.allfonts.GB2312=latin-1,umingcn,shanheisun,wqy-zenhei
+-sequence.allfonts.GBK=latin-1,umingcn,shanheisun,wqy-zenhei
++sequence.allfonts.GB18030=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
++sequence.allfonts.GB2312=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
++sequence.allfonts.GBK=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei
+ sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-sazanami,japanese-kochi
+ sequence.allfonts.EUC-KR=latin-1,korean-un,korean-baekmuk
+-sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-zenhei
+-sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-zenhei
++sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-microhei,wqy-zenhei
++sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-microhei,wqy-zenhei
+ #sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala
+-sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu
++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu
+
+ # Exclusion Ranges
+
+@@ -293,9 +294,10 @@
+ filename.AR_PL_UMing_CN=/usr/share/fonts/truetype/arphic/uming.ttc
+ filename.AR_PL_UMing_HK=/usr/share/fonts/truetype/arphic/uming.ttc
+ filename.AR_PL_UMing_TW=/usr/share/fonts/truetype/arphic/uming.ttc
+-filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttf
++filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttc
+
+-filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf
++filename.WenQuanYi_Micro_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc
++filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
+ filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf
+ filename.UnBatang=/usr/share/fonts/truetype/unfonts/UnBatang.ttf
+ filename.UnBatang_Bold=/usr/share/fonts/truetype/unfonts/UnBatangBold.ttf
+@@ -339,6 +341,7 @@
+ awtfontpath.uminghk=/usr/share/fonts/truetype/arphic
+ awtfontpath.umingtw=/usr/share/fonts/truetype/arphic
+ awtfontpath.shanheisun=/usr/share/fonts/truetype/arphic
++awtfontpath.wqy-microhei=/usr/share/fonts/truetype/wqy
+ awtfontpath.wqy-zenhei=/usr/share/fonts/truetype/wqy
+ awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi
+ awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami
diff --git a/debian/patches/hotspot-libpath-default.diff b/debian/patches/hotspot-libpath-default.diff
new file mode 100644
index 0000000..13f777b
--- /dev/null
+++ b/debian/patches/hotspot-libpath-default.diff
@@ -0,0 +1,30 @@
+--- openjdk/hotspot/make/linux/makefiles/vm.make.orig
++++ openjdk/hotspot/make/linux/makefiles/vm.make
+@@ -112,6 +112,11 @@
+ endif
+ endif
+
++DEB_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null || true)
++ifneq (,$(DEB_MULTIARCH))
++CPPFLAGS += -DDEB_MULTIARCH="\"$(DEB_MULTIARCH)\""
++endif
++
+ ifdef DISTRIBUTION_ID
+ CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\""
+ endif
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp.orig
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -382,10 +382,10 @@
+ * ...
+ * 7: The default directories, normally /lib and /usr/lib.
+ */
+-#if defined(AMD64) || defined(_LP64) && (defined(SPARC) || defined(PPC) || defined(S390))
+-#define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib"
++#ifdef DEB_MULTIARCH
++#define DEFAULT_LIBPATH "/usr/lib/" DEB_MULTIARCH "/jni" ":/lib/" DEB_MULTIARCH ":/usr/lib/" DEB_MULTIARCH ":/usr/lib/jni:/lib:/usr/lib"
+ #else
+-#define DEFAULT_LIBPATH "/lib:/usr/lib"
++#define DEFAULT_LIBPATH "/usr/lib/jni:/lib:/usr/lib"
+ #endif
+
+ #define EXTENSIONS_DIR "/lib/ext"
diff --git a/debian/patches/hotspot-libpath-zero.diff b/debian/patches/hotspot-libpath-zero.diff
new file mode 100644
index 0000000..3295f34
--- /dev/null
+++ b/debian/patches/hotspot-libpath-zero.diff
@@ -0,0 +1,30 @@
+--- openjdk/hotspot/make/linux/makefiles/vm.make.orig
++++ openjdk/hotspot/make/linux/makefiles/vm.make
+@@ -96,6 +96,11 @@
+ CPPFLAGS += -DDERIVATIVE_ID="\"$(DERIVATIVE_ID)\""
+ endif
+
++DEB_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null || true)
++ifneq (,$(DEB_MULTIARCH))
++CPPFLAGS += -DDEB_MULTIARCH="\"$(DEB_MULTIARCH)\""
++endif
++
+ ifdef DISTRIBUTION_ID
+ CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\""
+ endif
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp.orig
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -383,10 +383,10 @@
+ * ...
+ * 7: The default directories, normally /lib and /usr/lib.
+ */
+-#if defined(AMD64) || defined(_LP64) && (defined(SPARC) || defined(PPC) || defined(S390))
+-#define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib"
++#ifdef DEB_MULTIARCH
++#define DEFAULT_LIBPATH "/usr/lib/" DEB_MULTIARCH "/jni" ":/lib/" DEB_MULTIARCH ":/usr/lib/" DEB_MULTIARCH ":/usr/lib/jni:/lib:/usr/lib"
+ #else
+-#define DEFAULT_LIBPATH "/lib:/usr/lib"
++#define DEFAULT_LIBPATH "/usr/lib/jni:/lib:/usr/lib"
+ #endif
+
+ #define EXTENSIONS_DIR "/lib/ext"
diff --git a/debian/patches/hotspot-no-march-i586.diff b/debian/patches/hotspot-no-march-i586.diff
new file mode 100644
index 0000000..3c36e61
--- /dev/null
+++ b/debian/patches/hotspot-no-march-i586.diff
@@ -0,0 +1,13 @@
+# Don't explicitly build with -march=i586 on i386 architectures.
+
+--- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2012-09-03 11:00:18.813744653 +0200
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2012-09-03 13:06:48.869916169 +0200
+@@ -112,7 +112,7 @@
+ endif
+
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+-ARCHFLAG/i486 = -m32 -march=i586
++ARCHFLAG/i486 = -m32
+ ARCHFLAG/amd64 = -m64
+ ARCHFLAG/ia64 =
+ ARCHFLAG/sparc = -m32 -mcpu=v9
diff --git a/debian/patches/hotspot-no-werror-default.diff b/debian/patches/hotspot-no-werror-default.diff
new file mode 100644
index 0000000..241277d
--- /dev/null
+++ b/debian/patches/hotspot-no-werror-default.diff
@@ -0,0 +1,10 @@
+--- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2012-08-31 11:51:58.391957451 +0200
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2012-08-31 11:53:42.659956265 +0200
+@@ -151,6 +151,7 @@
+
+ # Compiler warnings are treated as errors
+ ifneq ($(COMPILER_WARNINGS_FATAL),false)
++# dummy patch
+ WARNINGS_ARE_ERRORS = -Werror
+ endif
+
diff --git a/debian/patches/hotspot-no-werror-zero.diff b/debian/patches/hotspot-no-werror-zero.diff
new file mode 100644
index 0000000..8ed915c
--- /dev/null
+++ b/debian/patches/hotspot-no-werror-zero.diff
@@ -0,0 +1,11 @@
+--- openjdk/hotspot/make/linux/makefiles/gcc.make.orig 2010-11-29 15:43:34.397188809 +0000
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2010-11-29 17:44:05.507185775 +0000
+@@ -114,7 +114,7 @@
+ endif
+
+ # Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
++WARNINGS_ARE_ERRORS =
+
+ # Except for a few acceptable ones
+ # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
diff --git a/debian/patches/hotspot-s390.diff b/debian/patches/hotspot-s390.diff
new file mode 100644
index 0000000..2ef47ea
--- /dev/null
+++ b/debian/patches/hotspot-s390.diff
@@ -0,0 +1,204 @@
+Description: hotspot makes some assumptions about size_t, depending on the architecture
+ (32bit/64bit), which doesn't work on s390 (32bit).
+ the fix is to add casts to size_t, as already done in other places.
+Forwarded: http://mail.openjdk.java.net/pipermail/hotspot-dev/2011-July/004301.html
+
+--- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.orig
++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+@@ -2656,7 +2656,7 @@
+ if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
+ size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
+ n_blks += CMSOldPLABReactivityFactor*multiple*n_blks;
+- n_blks = MIN2(n_blks, CMSOldPLABMax);
++ n_blks = MIN2(n_blks, (size_t) CMSOldPLABMax);
+ }
+ assert(n_blks > 0, "Error");
+ _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.orig
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
+@@ -481,7 +481,7 @@
+ _regionStack(),
+ // _finger set in set_non_marking_state
+
+- _max_task_num(MAX2(ParallelGCThreads, (size_t)1)),
++ _max_task_num(MAX2((size_t)ParallelGCThreads, (size_t)1)),
+ // _active_tasks set in set_non_marking_state
+ // _tasks set inside the constructor
+ _task_queues(new CMTaskQueueSet((int) _max_task_num)),
+@@ -586,7 +586,7 @@
+ _sleep_factor = sleep_factor;
+ _marking_task_overhead = marking_task_overhead;
+ } else {
+- _parallel_marking_threads = MAX2((ParallelGCThreads + 2) / 4, (size_t)1);
++ _parallel_marking_threads = MAX2((size_t)(ParallelGCThreads + 2) / 4, (size_t)1);
+ _sleep_factor = 0.0;
+ _marking_task_overhead = 1.0;
+ }
+@@ -3689,7 +3689,7 @@
+ // of things to do) or totally (at the very end).
+ size_t target_size;
+ if (partially) {
+- target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
++ target_size = MIN2((size_t) (_task_queue->max_elems()/3), (size_t)GCDrainStackTargetSize);
+ } else {
+ target_size = 0;
+ }
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.orig
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+@@ -1615,7 +1615,7 @@
+
+ verify_region_sets_optional();
+
+- size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes);
++ size_t expand_bytes = MAX2((size_t) (word_size * HeapWordSize), (size_t)MinHeapDeltaBytes);
+ ergo_verbose1(ErgoHeapSizing,
+ "attempt heap expansion",
+ ergo_format_reason("allocation request failed")
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp.orig
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
+@@ -1083,7 +1083,7 @@
+ // This can be done by either mutator threads together with the
+ // concurrent refinement threads or GC threads.
+ int HeapRegionRemSet::num_par_rem_sets() {
+- return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
++ return (int)MAX2((uintx)DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
+ }
+
+ HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa,
+--- openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.orig
++++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
+@@ -188,7 +188,7 @@
+ const size_t num_overflow_elems = of_stack->size();
+ const size_t space_available = queue->max_elems() - queue->size();
+ const size_t num_take_elems = MIN3(space_available / 4,
+- ParGCDesiredObjsFromOverflowList,
++ (size_t)ParGCDesiredObjsFromOverflowList,
+ num_overflow_elems);
+ // Transfer the most recent num_take_elems from the overflow
+ // stack to our work queue.
+--- openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp.orig
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
+@@ -62,7 +62,7 @@
+ if (_virtual_space != NULL && _virtual_space->expand_by(bytes)) {
+ _region_start = covered_region.start();
+ _region_size = covered_region.word_size();
+- idx_t* map = (idx_t*)_virtual_space->reserved_low_addr();
++ uintptr_t* map = (uintptr_t*)_virtual_space->reserved_low_addr();
+ _beg_bits.set_map(map);
+ _beg_bits.set_size(bits / 2);
+ _end_bits.set_map(map + words / 2);
+--- openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp.orig
++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
+@@ -354,7 +354,7 @@
+ // generally small compared to the NewRatio calculation.
+ _min_gen0_size = NewSize;
+ desired_new_size = NewSize;
+- max_new_size = MAX2(max_new_size, NewSize);
++ max_new_size = MAX2(max_new_size, (size_t) NewSize);
+ } else {
+ // For the case where NewSize is the default, use NewRatio
+ // to size the minimum and initial generation sizes.
+@@ -362,10 +362,10 @@
+ // NewRatio is overly large, the resulting sizes can be too
+ // small.
+ _min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()),
+- NewSize);
++ (size_t) NewSize);
+ desired_new_size =
+ MAX2(scale_by_NewRatio_aligned(initial_heap_byte_size()),
+- NewSize);
++ (size_t) NewSize);
+ }
+
+ assert(_min_gen0_size > 0, "Sanity check");
+@@ -420,14 +420,14 @@
+ // Adjust gen0 down to accomodate OldSize
+ *gen0_size_ptr = heap_size - min_gen0_size;
+ *gen0_size_ptr =
+- MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()),
++ MAX2((size_t)align_size_down(*gen0_size_ptr, min_alignment()),
+ min_alignment());
+ assert(*gen0_size_ptr > 0, "Min gen0 is too large");
+ result = true;
+ } else {
+ *gen1_size_ptr = heap_size - *gen0_size_ptr;
+ *gen1_size_ptr =
+- MAX2((uintx)align_size_down(*gen1_size_ptr, min_alignment()),
++ MAX2((size_t)align_size_down(*gen1_size_ptr, min_alignment()),
+ min_alignment());
+ }
+ }
+@@ -451,7 +451,7 @@
+ // for setting the gen1 maximum.
+ _max_gen1_size = max_heap_byte_size() - _max_gen0_size;
+ _max_gen1_size =
+- MAX2((uintx)align_size_down(_max_gen1_size, min_alignment()),
++ MAX2((size_t)align_size_down(_max_gen1_size, min_alignment()),
+ min_alignment());
+ // If no explicit command line flag has been set for the
+ // gen1 size, use what is left for gen1.
+@@ -465,11 +465,11 @@
+ "gen0 has an unexpected minimum size");
+ set_min_gen1_size(min_heap_byte_size() - min_gen0_size());
+ set_min_gen1_size(
+- MAX2((uintx)align_size_down(_min_gen1_size, min_alignment()),
++ MAX2((size_t)align_size_down(_min_gen1_size, min_alignment()),
+ min_alignment()));
+ set_initial_gen1_size(initial_heap_byte_size() - initial_gen0_size());
+ set_initial_gen1_size(
+- MAX2((uintx)align_size_down(_initial_gen1_size, min_alignment()),
++ MAX2((size_t)align_size_down(_initial_gen1_size, min_alignment()),
+ min_alignment()));
+
+ } else {
+--- openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.orig
++++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
+@@ -46,7 +46,7 @@
+ const size_t beg_index = size_t(index);
+ assert(beg_index < len || len == 0, "index too large");
+
+- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
++ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
+ const size_t end_index = beg_index + stride;
+ T* const base = (T*)a->base();
+ T* const beg = base + beg_index;
+@@ -80,7 +80,7 @@
+ const size_t beg_index = size_t(index);
+ assert(beg_index < len || len == 0, "index too large");
+
+- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
++ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
+ const size_t end_index = beg_index + stride;
+ T* const base = (T*)a->base();
+ T* const beg = base + beg_index;
+--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp.orig
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
+@@ -1179,7 +1179,7 @@
+ // so it's NewRatio x of NewSize.
+ if (FLAG_IS_DEFAULT(OldSize)) {
+ if (max_heap > NewSize) {
+- FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize));
++ FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t) (NewRatio*NewSize), (size_t) (max_heap - NewSize)));
+ if (PrintGCDetails && Verbose) {
+ // Too early to use gclog_or_tty
+ tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize);
+--- openjdk/hotspot/src/share/vm/utilities/bitMap.inline.hpp.orig
++++ openjdk/hotspot/src/share/vm/utilities/bitMap.inline.hpp
+@@ -52,7 +52,7 @@
+
+ inline bool BitMap::par_set_bit(idx_t bit) {
+ verify_index(bit);
+- volatile idx_t* const addr = word_addr(bit);
++ volatile idx_t* const addr = (idx_t *)word_addr(bit);
+ const idx_t mask = bit_mask(bit);
+ idx_t old_val = *addr;
+
+@@ -73,7 +73,7 @@
+
+ inline bool BitMap::par_clear_bit(idx_t bit) {
+ verify_index(bit);
+- volatile idx_t* const addr = word_addr(bit);
++ volatile idx_t* const addr = (idx_t *)word_addr(bit);
+ const idx_t mask = ~bit_mask(bit);
+ idx_t old_val = *addr;
+
diff --git a/debian/patches/hotspot-sparc-arch.diff b/debian/patches/hotspot-sparc-arch.diff
new file mode 100644
index 0000000..0dc97c5
--- /dev/null
+++ b/debian/patches/hotspot-sparc-arch.diff
@@ -0,0 +1,11 @@
+--- openjdk/hotspot/make/linux/makefiles/defs.make.orig 2011-07-13 09:00:57.000000000 +0200
++++ openjdk/hotspot/make/linux/makefiles/defs.make 2011-07-13 08:58:01.000000000 +0200
+@@ -58,7 +58,7 @@
+ endif
+
+ # sparc
+-ifeq ($(ARCH), sparc64)
++ifneq (,$(filter $(ARCH), sparc sparc64))
+ ifeq ($(ARCH_DATA_MODEL), 64)
+ ARCH_DATA_MODEL = 64
+ MAKE_ARGS += LP64=1
diff --git a/debian/patches/hotspot-sparc-fix.diff b/debian/patches/hotspot-sparc-fix.diff
new file mode 100644
index 0000000..bcee9d0
--- /dev/null
+++ b/debian/patches/hotspot-sparc-fix.diff
@@ -0,0 +1,21 @@
+# unused patch
+
+--- openjdk/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp.orig 2009-10-14 17:13:15.000000000 +0000
++++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp 2009-11-02 13:15:17.000000000 +0000
+@@ -27,6 +27,7 @@
+
+ static bool detect_niagara() {
+ char cpu[128];
++ char *buf = cpu;
+ bool rv = false;
+
+ FILE* fp = fopen("/proc/cpuinfo", "r");
+@@ -35,7 +36,7 @@
+ }
+
+ while (!feof(fp)) {
+- if (fscanf(fp, "cpu\t\t: %100[^\n]", &cpu) == 1) {
++ if (fscanf(fp, "cpu\t\t: %100[^\n]", buf) == 1) {
+ if (strstr(cpu, "Niagara") != NULL) {
+ rv = true;
+ }
diff --git a/debian/patches/hotspot-warn-no-errformat.diff b/debian/patches/hotspot-warn-no-errformat.diff
new file mode 100644
index 0000000..28c4c0d
--- /dev/null
+++ b/debian/patches/hotspot-warn-no-errformat.diff
@@ -0,0 +1,24 @@
+# unused patch
+
+--- openjdk/hotspot/make/solaris/makefiles/gcc.make~ 2009-10-02 23:16:39.000000000 +0200
++++ openjdk/hotspot/make/solaris/makefiles/gcc.make 2009-10-22 07:05:58.000000000 +0200
+@@ -109,7 +109,7 @@
+
+
+ # Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
++WARNINGS_ARE_ERRORS = -Werror -Wno-error=format
+ # Enable these warnings. See 'info gcc' about details on these options
+ ADDITIONAL_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare
+ CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ADDITIONAL_WARNINGS)
+--- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2009-10-22 06:58:44.000000000 +0200
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2009-10-22 07:06:00.000000000 +0200
+@@ -98,7 +98,7 @@
+ endif
+
+ # Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
++WARNINGS_ARE_ERRORS = -Werror -Wno-error=format
+
+ # Except for a few acceptable ones
+ # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
diff --git a/debian/patches/icc_loading_with_symlink.diff b/debian/patches/icc_loading_with_symlink.diff
new file mode 100644
index 0000000..7193221
--- /dev/null
+++ b/debian/patches/icc_loading_with_symlink.diff
@@ -0,0 +1,37 @@
+Description: Allow loading of ICC profiles when jre/lib/cmm is a
+ symlink by disabling call to isChildOf(f, dir) in getStandardProfileFile
+ and getProfileFile methods.
+ .
+ isChildOf method try to ensures f.getCanonicalPath start with
+ dir.getCanonicalPath but, on openjdk-6, dir.getCanonicalPath
+ will resolve to realpath and so won't match.
+ .
+ It should fix "Cannot open file sRGB.pf" errors.
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2012-05-18
+Bug-Debian: http://bugs.debian.org/641530
+Forwarded: not-yet
+
+Index: openjdk/jdk/src/share/classes/java/awt/color/ICC_Profile.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/awt/color/ICC_Profile.java.orig
++++ openjdk/jdk/src/share/classes/java/awt/color/ICC_Profile.java
+@@ -1821,9 +1821,6 @@
+ dir = st.nextToken();
+ fullPath = dir + File.separatorChar + fileName;
+ f = new File(fullPath);
+- if (!isChildOf(f, dir)) {
+- f = null;
+- }
+ }
+ }
+
+@@ -1860,7 +1857,7 @@
+ File.separatorChar + "lib" + File.separatorChar + "cmm";
+ String fullPath = dir + File.separatorChar + fileName;
+ File f = new File(fullPath);
+- return (f.isFile() && isChildOf(f, dir)) ? f : null;
++ return (f.isFile()) ? f : null;
+ }
+
+ /**
diff --git a/debian/patches/icedtea-4953367.patch b/debian/patches/icedtea-4953367.patch
new file mode 100644
index 0000000..0a45929
--- /dev/null
+++ b/debian/patches/icedtea-4953367.patch
@@ -0,0 +1,21 @@
+http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4953367
+
+--- openjdk/jdk/src/solaris/native/java/lang/java_props_md.c~ 2012-07-25 19:24:09.000000000 +0200
++++ openjdk/jdk/src/solaris/native/java/lang/java_props_md.c 2012-08-29 17:15:33.184491738 +0200
+@@ -560,6 +560,7 @@
+ sprops.path_separator = ":";
+ sprops.line_separator = "\n";
+
++#ifndef __linux__
+ #if !defined(_ALLBSD_SOURCE)
+ /* Append CDE message and resource search path to NLSPATH and
+ * XFILESEARCHPATH, in order to pick localized message for
+@@ -568,7 +569,7 @@
+ setPathEnvironment("NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat");
+ setPathEnvironment("XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt");
+ #endif
+-
++#endif
+
+ #ifdef MACOSX
+ setProxyProperties(&sprops);
diff --git a/debian/patches/icedtea-override-redirect-compiz.patch b/debian/patches/icedtea-override-redirect-compiz.patch
new file mode 100644
index 0000000..d42af92
--- /dev/null
+++ b/debian/patches/icedtea-override-redirect-compiz.patch
@@ -0,0 +1,12 @@
+Index: openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
+===================================================================
+--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
+@@ -1143,6 +1143,7 @@
+ boolean isOverrideRedirect() {
+ return XWM.getWMID() == XWM.OPENLOOK_WM ||
+ (XWM.getWMID() == XWM.METACITY_WM ? true : false) ||
++ XWM.getWMID() == XWM.COMPIZ_WM ||
+ target.getName().equals("###overrideRedirect###") ||
+ Window.Type.POPUP.equals(getWindowType());
+ }
diff --git a/debian/patches/icedtea-patch.diff b/debian/patches/icedtea-patch.diff
new file mode 100644
index 0000000..8f41bbd
--- /dev/null
+++ b/debian/patches/icedtea-patch.diff
@@ -0,0 +1,77 @@
+Description: Handle EXTRA_* flags into icedtea
+ - Use -J-Xbootclasspath for javac of PulseAudio
+ - Append $EXTRA_CFLAGS_IT to $IT_CFLAGS (use for PulseAudio native build)
+ - Append $EXTRA_LDFLAGS_IT to PulseAudio native link
+ - Send all EXTRA_* flags to jamvm and cacao
+ - Remove `-icedtea' from the release identifier
+ - Rename hotspot source and debian patches for zerovm build
+Author: Damien Raude-Morvan <drazzib@debian.org>, Matthias Klose <doko@ubuntu.com>
+
+--- Makefile.am.orig
++++ Makefile.am
+@@ -133,7 +133,7 @@
+ IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION)
+
+ # Flags
+-IT_CFLAGS=$(CFLAGS) $(ARCHFLAG)
++IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) $(EXTRA_CFLAGS_IT)
+
+ # Conditional defintions
+
+@@ -1477,9 +1477,6 @@
+ echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \
+ >>openjdk/jdk/make/common/shared/Defs.gmk ;
+ endif
+- if test x"$(PROJECT_NAME)" != "xjdk7" && test x"$(PROJECT_NAME)" != "xicedtea"; then \
+- proj_suffix="-$(PROJECT_NAME)"; \
+- fi ; \
+ if test x"$(VERSION_SUFFIX)" != "x"; then \
+ ver_suffix="-$(VERSION_SUFFIX)"; \
+ fi ; \
+@@ -1945,7 +1942,7 @@
+ -I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $<
+
+ $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so: $(PULSE_JAVA_NATIVE_OBJECTS)
+- $(CC) $(LDFLAGS) -shared $(PULSE_JAVA_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \
++ $(CC) $(LDFLAGS) $(EXTRA_LDFLAGS_IT) -shared $(PULSE_JAVA_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \
+ -o $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so
+
+ endif
+@@ -2013,7 +2010,8 @@
+ if BUILD_JAMVM
+ cd jamvm/jamvm && \
+ ./autogen.sh --with-java-runtime-library=openjdk7 \
+- --prefix=$(abs_top_builddir)/jamvm/install ; \
++ --prefix=$(abs_top_builddir)/jamvm/install \
++ CFLAGS='$(EXTRA_CFLAGS_JAMVM)' LDFLAGS='$(EXTRA_LDFLAGS_JAMVM)' CPPFLAGS='$(EXTRA_CPPFLAGS_JAMVM)' CXXFLAGS='$(EXTRA_CXXFLAGS_JAMVM)'; \
+ $(MAKE) ; \
+ $(MAKE) install
+ mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+@@ -2082,7 +2080,8 @@
+ --with-java-runtime-library=openjdk7 \
+ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
+ --with-java-runtime-library-classes=$(RUNTIME) \
+- --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \
++ --enable-jre-layout $(CACAO_CONFIGURE_ARGS) \
++ CFLAGS='$(EXTRA_CFLAGS_CACAO)' LDFLAGS='$(EXTRA_LDFLAGS_CACAO)' CPPFLAGS='$(EXTRA_CPPFLAGS_CACAO)' CXXFLAGS='$(EXTRA_CXXFLAGS_CACAO)'; \
+ $(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install
+ ln -sf server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client
+ touch $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
+@@ -2158,7 +2157,7 @@
+ '--with-javac=% '--with-javac=% \
+ '--with-rmic=% '--with-additional-vms=% \
+ '--disable-bootstrap% '--enable-bootstrap% , \
+- $(CONFIGURE_ARGS)) \
++ $(subst hotspot-default.tar,hotspot-zero.tar,$(CONFIGURE_ARGS))) \
+ $(foreach i, openjdk hotspot corba jaxp jaxws jdk langtools, \
+ $(if $(findstring --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, --with-$(i)-src-zip=$(abs_top_builddir)/$(i).tar.gz))
+
+@@ -2168,7 +2167,7 @@
+ BUILD_JAXWS=false ALT_JAXWS_DIST=$(BUILD_OUTPUT_DIR)/jaxws/dist \
+ BUILD_CORBA=false ALT_CORBA_DIST=$(BUILD_OUTPUT_DIR)/corba/dist \
+ BUILD_JDK=false \
+- DISTRIBUTION_PATCHES='$(foreach p,$(DISTRIBUTION_PATCHES),$(if $(findstring cacao,$(p)),,$(if $(findstring jamvm,$(p)),,$(p))))'
++ DISTRIBUTION_PATCHES='$(foreach p,$(subst -default,-zero,$(DISTRIBUTION_PATCHES)),$(if $(findstring cacao,$(p)),,$(if $(findstring jamvm,$(p)),,$(p))))'
+
+ stamps/add-zero.stamp: stamps/icedtea.stamp
+ mkdir -p stamps
diff --git a/debian/patches/icedtea-pretend-memory.diff b/debian/patches/icedtea-pretend-memory.diff
new file mode 100644
index 0000000..9b6bbf0
--- /dev/null
+++ b/debian/patches/icedtea-pretend-memory.diff
@@ -0,0 +1,22 @@
+--- openjdk/jdk/make/common/shared/Platform.gmk
++++ openjdk/jdk/make/common/shared/Platform.gmk
+@@ -230,7 +230,7 @@
+ # Suffix for file bundles used in previous release
+ BUNDLE_FILE_SUFFIX=.tar.gz
+ # How much RAM does this machine have:
+- MB_OF_MEMORY := $(shell free -m | fgrep Mem: | awk '{print $$2;}' )
++ MB_OF_MEMORY := $(shell m=`free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2`; if [ "$$m" -lt 384 ]; then echo 384; else echo $$m; fi)
+ endif
+
+ ifeq ($(SYSTEM_UNAME), Darwin)
+--- openjdk/corba/make/common/shared/Platform.gmk
++++ openjdk/corba/make/common/shared/Platform.gmk
+@@ -237,7 +237,7 @@
+ endif
+ endif
+ # How much RAM does this machine have:
+- MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2)
++ MB_OF_MEMORY := $(shell m=`free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2`; if [ "$$m" -lt 384 ]; then echo 384; else echo $$m; fi)
+ endif
+
+ ifeq ($(SYSTEM_UNAME), FreeBSD)
diff --git a/debian/patches/java-access-bridge-security.patch b/debian/patches/java-access-bridge-security.patch
new file mode 100644
index 0000000..fe6c9ac
--- /dev/null
+++ b/debian/patches/java-access-bridge-security.patch
@@ -0,0 +1,15 @@
+# patch only used for builds with java-access-bridge support
+
+--- openjdk/jdk/src/share/lib/security/java.security
++++ openjdk/jdk/src/share/lib/security/java.security
+@@ -147,7 +147,9 @@
+ com.sun.org.apache.xml.internal.res.,\
+ com.sun.org.apache.xml.internal.serializer.utils.,\
+ com.sun.org.apache.xml.internal.utils.,\
+- com.sun.org.glassfish.
++ com.sun.org.glassfish.,\
++ org.GNOME.Accessibility.,\
++ org.GNOME.Bonobo.
+
+ #
+ # List of comma-separated packages that start with or equal this string
diff --git a/debian/patches/jdk-freetypeScaler-crash.diff b/debian/patches/jdk-freetypeScaler-crash.diff
new file mode 100644
index 0000000..413ab91
--- /dev/null
+++ b/debian/patches/jdk-freetypeScaler-crash.diff
@@ -0,0 +1,141 @@
+Description:
+
+ Fixing the bad JNI code in the font manager code. Two issues:
+
+ o The JNIEnv is unique to the thread. It cannot be saved by one thread and
+ reused by another. Use GetEnv instead.
+
+ o The 'font2D' jobject needs to be converted into a global reference because
+ its lifetime exceeds the lifetime of a native method call.
+
+Evaluation:
+
+Appropriately register/free everything with the garbage collector.
+
+Fix:
+
+# HG changeset patch
+# User martin
+# Date 1224202830 25200
+# Node ID 3c9d6001d8a90698a3540a2a483717f26a98db78
+# Parent 68730f05449cd4f39ce1cb82adc6c4e57f87554f
+Crash in freetypeScaler.c due to insufficient GC protection
+Summary: NewGlobalRef/DeleteGlobalRef as needed.
+Reviewed-by:
+Contributed-by: yamauchi@google.com
+
+--- openjdk/jdk/make/sun/font/mapfile-vers.openjdk.orig 2009-05-21 13:48:03.000000000 +0000
++++ openjdk/jdk/make/sun/font/mapfile-vers.openjdk 2009-05-26 19:53:17.000000000 +0000
+@@ -29,6 +29,7 @@
+
+ SUNWprivate_1.1 {
+ global:
++ JNI_OnLoad;
+ getSunFontIDs;
+ newLayoutTableCache;
+ freeLayoutTableCache;
+--- openjdk/jdk/src/share/native/sun/font/freetypeScaler.c.orig 2009-05-21 13:48:03.000000000 +0000
++++ openjdk/jdk/src/share/native/sun/font/freetypeScaler.c 2009-05-26 19:53:17.000000000 +0000
+@@ -48,16 +48,6 @@
+ #define ROUND(x) ((int) (x+0.5))
+
+ typedef struct {
+- /* Important note:
+- JNI forbids sharing same env between different threads.
+- We are safe, because pointer is overwritten every time we get into
+- JNI call (see setupFTContext).
+-
+- Pointer is used by font data reading callbacks
+- such as ReadTTFontFileFunc.
+-
+- NB: We may consider switching to JNI_GetEnv. */
+- JNIEnv* env;
+ FT_Library library;
+ FT_Face face;
+ jobject font2D;
+@@ -90,6 +80,13 @@
+ void z_error(char *s) {}
+ #endif
+
++static JavaVM* jvm = NULL;
++
++JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
++ jvm = vm;
++ return JNI_VERSION_1_2;
++}
++
+ /**************** Error handling utilities *****************/
+
+ static jmethodID invalidateScalerMID;
+@@ -108,6 +105,10 @@
+ FT_Done_Face(scalerInfo->face);
+ FT_Done_FreeType(scalerInfo->library);
+
++ if (scalerInfo->font2D != NULL) {
++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D);
++ }
++
+ if (scalerInfo->directBuffer != NULL) {
+ (*env)->DeleteGlobalRef(env, scalerInfo->directBuffer);
+ }
+@@ -131,10 +132,9 @@
+
+ #define FILEDATACACHESIZE 1024
+
+-/* NB: is it ever called? */
+ static void CloseTTFontFileFunc(FT_Stream stream) {
++ JNIEnv* env = (JNIEnv*) JNU_GetEnv(jvm, JNI_VERSION_1_2);
+ FTScalerInfo *scalerInfo = (FTScalerInfo *) stream->pathname.pointer;
+- JNIEnv* env = scalerInfo->env;
+ jclass tmpClass = (*env)->FindClass(env, "sun/font/TrueTypeFont");
+ jfieldID platNameField =
+ (*env)->GetFieldID(env, tmpClass, "platName", "Ljava/lang/String;");
+@@ -150,8 +150,8 @@
+ unsigned char* destBuffer,
+ unsigned long numBytes)
+ {
++ JNIEnv* env = (JNIEnv*) JNU_GetEnv(jvm, JNI_VERSION_1_2);
+ FTScalerInfo *scalerInfo = (FTScalerInfo *) stream->pathname.pointer;
+- JNIEnv* env = scalerInfo->env;
+ jobject bBuffer;
+ int bread = 0;
+
+@@ -245,8 +245,7 @@
+ if (scalerInfo == NULL)
+ return 0;
+
+- scalerInfo->env = env;
+- scalerInfo->font2D = font2D;
++ scalerInfo->font2D = (*env)->NewGlobalRef(env, font2D);
+ scalerInfo->fontDataOffset = 0;
+ scalerInfo->fontDataLength = 0;
+ scalerInfo->fileSize = filesize;
+@@ -263,6 +262,7 @@
+ */
+ error = FT_Init_FreeType(&scalerInfo->library);
+ if (error) {
++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D);
+ free(scalerInfo);
+ return 0;
+ }
+@@ -331,6 +331,7 @@
+ }
+ if (scalerInfo->fontData != NULL)
+ free(scalerInfo->fontData);
++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D);
+ free(scalerInfo);
+ return 0;
+ }
+@@ -391,8 +392,10 @@
+ FTScalerContext *context) {
+ int errCode = 0;
+
+- scalerInfo->env = env;
+- scalerInfo->font2D = font2D;
++ if (scalerInfo->font2D != NULL) {
++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D);
++ }
++ scalerInfo->font2D = (*env)->NewGlobalRef(env, font2D);
+
+ if (context != NULL) {
+ FT_Set_Transform(scalerInfo->face, &context->transform, NULL);
diff --git a/debian/patches/jdk-pulseaudio.diff b/debian/patches/jdk-pulseaudio.diff
new file mode 100644
index 0000000..077c472
--- /dev/null
+++ b/debian/patches/jdk-pulseaudio.diff
@@ -0,0 +1,25 @@
+--- openjdk/jdk/src/share/lib/sound.properties~ 2009-09-26 16:30:26.000000000 +0200
++++ openjdk/jdk/src/share/lib/sound.properties 2009-09-26 16:36:26.000000000 +0200
+@@ -38,12 +38,14 @@
+ # javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1
+ #
+
+-# javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
+-# javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
+-# javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
+-# javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++# OpenJDK on Ubuntu is configured to use PulseAudio by default
++javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
+
+-javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
+-javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
+-javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
+-javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider
++# PulseAudio not running? Please give feedback on LP: #407299.
++#javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
++#javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
++#javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
++#javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider
diff --git a/debian/patches/jni_md_h_JNIEXPORT_visibility.patch b/debian/patches/jni_md_h_JNIEXPORT_visibility.patch
new file mode 100644
index 0000000..63454d2
--- /dev/null
+++ b/debian/patches/jni_md_h_JNIEXPORT_visibility.patch
@@ -0,0 +1,25 @@
+Description: JNIEXPORT definition does not work with -fvisibility=hidden
+ Since GCC 4, GCC supports symbol visibility. If compiler option
+ -fvisibility=hidden, then all symbols are hidden by default and export
+ symbols should be marked with __attribute__ ((visibility
+ ("default"))).
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Author: Tommi Vainikainen <tvainika@debian.org>
+Bug-Debian: http://bugs.debian.org/670896
+Bug-GCC: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30999
+Last-Update: 2012-06-14
+Forwarded: no
+--- openjdk/jdk/src/solaris/javavm/export/jni_md.h.orig
++++ openjdk/jdk/src/solaris/javavm/export/jni_md.h
+@@ -26,7 +26,11 @@
+ #ifndef _JAVASOFT_JNI_MD_H_
+ #define _JAVASOFT_JNI_MD_H_
+
++#if defined(__GNUC__) && __GNUC__ > 3
++#define JNIEXPORT __attribute__ ((visibility("default")))
++#else
+ #define JNIEXPORT
++#endif
+ #define JNIIMPORT
+ #define JNICALL
+
diff --git a/debian/patches/kfreebsd-support-corba.diff b/debian/patches/kfreebsd-support-corba.diff
new file mode 100644
index 0000000..6e8f297
--- /dev/null
+++ b/debian/patches/kfreebsd-support-corba.diff
@@ -0,0 +1,18 @@
+Description: Initial GNU/kFreeBSD support for openjdk-7 (Corba part)
+ - Alter build system to consider GNU/kFreeBSD like linux
+ since this port is libc based.
+ openjdk/corba/make/common/shared/Platform.gmk
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2011-06-28
+Forwarded: no
+--- openjdk/corba/make/common/shared/Platform.gmk.orig
++++ openjdk/corba/make/common/shared/Platform.gmk
+@@ -147,7 +147,7 @@
+ endif
+
+ # Platform settings specific to Linux
+-ifeq ($(SYSTEM_UNAME), Linux)
++ifneq (,$(filter Linux GNU/kFreeBSD, $(SYSTEM_UNAME)))
+ PLATFORM = linux
+ OS_NAME = linux
+ OS_VERSION := $(shell uname -r)
diff --git a/debian/patches/kfreebsd-support-hotspot.diff b/debian/patches/kfreebsd-support-hotspot.diff
new file mode 100644
index 0000000..d6ca10c
--- /dev/null
+++ b/debian/patches/kfreebsd-support-hotspot.diff
@@ -0,0 +1,856 @@
+Description: Initial GNU/kFreeBSD support for openjdk-7 (Hotspot part)
+ - Alter build system to consider GNU/kFreeBSD like linux
+ since this port is libc based.
+ Also treat i386 arch has i686 (uname -m return i386 on BSD*)
+ openjdk/hotspot/make/defs.make
+ - Use LOCAL_PEERCRED (from kFreeBSD kernel) instead of
+ SO_PEERCRED and alter related structs.
+ openjdk/hotspot/src/os/linux/vm/attachListener_linux.cpp
+ - Use sysctl call instead of sysinfo.
+ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+ - Change access to CPU register
+ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+ openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
+ openjdk/hotspot/agent/src/os/linux/libproc.h
+ openjdk/hotspot/agent/src/os/linux/ps_core.c
+ (from bsd-port)
+ - Fix ptrace usage under freebsd kernel
+ openjdk/hotspot/agent/src/os/linux/ps_proc.c
+ Should not be keep like this :
+ - Undefined UINTPTR_MAX
+ openjdk/hotspot/src/share/vm/memory/allocation.hpp
+ openjdk/hotspot/src/share/vm/oops/generateOopMap.cpp
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2012-03-05
+Forwarded: no
+--- openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c.orig
++++ openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
+@@ -316,7 +316,7 @@
+
+ #ifdef i386
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg
+-
++#ifdef __linux__
+ regs[REG_INDEX(GS)] = (uintptr_t) gregs.xgs;
+ regs[REG_INDEX(FS)] = (uintptr_t) gregs.xfs;
+ regs[REG_INDEX(ES)] = (uintptr_t) gregs.xes;
+@@ -332,7 +332,23 @@
+ regs[REG_INDEX(PC)] = (uintptr_t) gregs.eip;
+ regs[REG_INDEX(CS)] = (uintptr_t) gregs.xcs;
+ regs[REG_INDEX(SS)] = (uintptr_t) gregs.xss;
+-
++#elif defined(__FreeBSD_kernel__)
++ regs[REG_INDEX(GS)] = (uintptr_t) gregs.r_gs;
++ regs[REG_INDEX(FS)] = (uintptr_t) gregs.r_fs;
++ regs[REG_INDEX(ES)] = (uintptr_t) gregs.r_es;
++ regs[REG_INDEX(DS)] = (uintptr_t) gregs.r_ds;
++ regs[REG_INDEX(EDI)] = (uintptr_t) gregs.r_edi;
++ regs[REG_INDEX(ESI)] = (uintptr_t) gregs.r_esi;
++ regs[REG_INDEX(FP)] = (uintptr_t) gregs.r_ebp;
++ regs[REG_INDEX(SP)] = (uintptr_t) gregs.r_isp;
++ regs[REG_INDEX(EBX)] = (uintptr_t) gregs.r_ebx;
++ regs[REG_INDEX(EDX)] = (uintptr_t) gregs.r_edx;
++ regs[REG_INDEX(ECX)] = (uintptr_t) gregs.r_ecx;
++ regs[REG_INDEX(EAX)] = (uintptr_t) gregs.r_eax;
++ regs[REG_INDEX(PC)] = (uintptr_t) gregs.r_eip;
++ regs[REG_INDEX(CS)] = (uintptr_t) gregs.r_cs;
++ regs[REG_INDEX(SS)] = (uintptr_t) gregs.r_ss;
++#endif
+ #endif /* i386 */
+
+ #if ia64
+@@ -344,7 +360,7 @@
+
+ #ifdef amd64
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_##reg
+-
++#ifdef __linux__
+ regs[REG_INDEX(R15)] = gregs.r15;
+ regs[REG_INDEX(R14)] = gregs.r14;
+ regs[REG_INDEX(R13)] = gregs.r13;
+@@ -370,7 +386,27 @@
+ regs[REG_INDEX(ES)] = gregs.es;
+ regs[REG_INDEX(FS)] = gregs.fs;
+ regs[REG_INDEX(GS)] = gregs.gs;
+-
++#elif defined(__FreeBSD_kernel__)
++ regs[REG_INDEX(R15)] = gregs.r_r15;
++ regs[REG_INDEX(R14)] = gregs.r_r14;
++ regs[REG_INDEX(R13)] = gregs.r_r13;
++ regs[REG_INDEX(R12)] = gregs.r_r12;
++ regs[REG_INDEX(RBP)] = gregs.r_rbp;
++ regs[REG_INDEX(RBX)] = gregs.r_rbx;
++ regs[REG_INDEX(R11)] = gregs.r_r11;
++ regs[REG_INDEX(R10)] = gregs.r_r10;
++ regs[REG_INDEX(R9)] = gregs.r_r9;
++ regs[REG_INDEX(R8)] = gregs.r_r8;
++ regs[REG_INDEX(RAX)] = gregs.r_rax;
++ regs[REG_INDEX(RCX)] = gregs.r_rcx;
++ regs[REG_INDEX(RDX)] = gregs.r_rdx;
++ regs[REG_INDEX(RSI)] = gregs.r_rsi;
++ regs[REG_INDEX(RDI)] = gregs.r_rdi;
++ regs[REG_INDEX(RIP)] = gregs.r_rip;
++ regs[REG_INDEX(CS)] = gregs.r_cs;
++ regs[REG_INDEX(RSP)] = gregs.r_rsp;
++ regs[REG_INDEX(SS)] = gregs.r_ss;
++#endif
+ #endif /* amd64 */
+
+ #if defined(sparc) || defined(sparcv9)
+--- openjdk/hotspot/agent/src/os/linux/libproc.h.orig
++++ openjdk/hotspot/agent/src/os/linux/libproc.h
+@@ -27,6 +27,10 @@
+
+ #include <unistd.h>
+ #include <stdint.h>
++#if defined(__FreeBSD_kernel__)
++#include <sys/types.h>
++#include <machine/reg.h>
++#endif
+ #include "proc_service.h"
+
+ #if defined(sparc) || defined(sparcv9)
+@@ -112,6 +116,10 @@
+ #define user_regs_struct pt_regs
+ #endif
+
++#if defined(__FreeBSD_kernel__)
++#define user_regs_struct reg
++#endif
++
+ // This C bool type must be int for compatibility with Linux calls and
+ // it would be a mistake to equivalence it to C++ bool on many platforms
+
+--- openjdk/hotspot/agent/src/os/linux/ps_core.c.orig
++++ openjdk/hotspot/agent/src/os/linux/ps_core.c
+@@ -539,11 +539,16 @@
+ return false;
+
+ // copy regs
++#if defined(__FreeBSD_kernel__)
++ memcpy(&newthr->regs, &prstat->pr_reg, sizeof(struct user_regs_struct));
++#else
+ memcpy(&newthr->regs, prstat->pr_reg, sizeof(struct user_regs_struct));
++#endif
+
+ if (is_debug()) {
+ print_debug("integer regset\n");
+ #ifdef i386
++#ifdef __linux__
+ // print the regset
+ print_debug("\teax = 0x%x\n", newthr->regs.eax);
+ print_debug("\tebx = 0x%x\n", newthr->regs.ebx);
+@@ -554,9 +559,21 @@
+ print_debug("\tesi = 0x%x\n", newthr->regs.esi);
+ print_debug("\tedi = 0x%x\n", newthr->regs.edi);
+ print_debug("\teip = 0x%x\n", newthr->regs.eip);
++#elif defined(__FreeBSD_kernel__)
++ print_debug("\teax = 0x%x\n", newthr->regs.r_eax);
++ print_debug("\tebx = 0x%x\n", newthr->regs.r_ebx);
++ print_debug("\tecx = 0x%x\n", newthr->regs.r_ecx);
++ print_debug("\tedx = 0x%x\n", newthr->regs.r_edx);
++ print_debug("\tesp = 0x%x\n", newthr->regs.r_esp);
++ print_debug("\tebp = 0x%x\n", newthr->regs.r_ebp);
++ print_debug("\tesi = 0x%x\n", newthr->regs.r_esi);
++ print_debug("\tedi = 0x%x\n", newthr->regs.r_edi);
++ print_debug("\teip = 0x%x\n", newthr->regs.r_eip);
++#endif
+ #endif
+
+ #if defined(amd64) || defined(x86_64)
++#ifdef __linux__
+ // print the regset
+ print_debug("\tr15 = 0x%lx\n", newthr->regs.r15);
+ print_debug("\tr14 = 0x%lx\n", newthr->regs.r14);
+@@ -585,6 +602,27 @@
+ print_debug("\tes = 0x%lx\n", newthr->regs.es);
+ print_debug("\tfs = 0x%lx\n", newthr->regs.fs);
+ print_debug("\tgs = 0x%lx\n", newthr->regs.gs);
++#elif defined(__FreeBSD_kernel__)
++ print_debug("\tr15 = 0x%lx\n", newthr->regs.r_r15);
++ print_debug("\tr14 = 0x%lx\n", newthr->regs.r_r14);
++ print_debug("\tr13 = 0x%lx\n", newthr->regs.r_r13);
++ print_debug("\tr12 = 0x%lx\n", newthr->regs.r_r12);
++ print_debug("\trbp = 0x%lx\n", newthr->regs.r_rbp);
++ print_debug("\trbx = 0x%lx\n", newthr->regs.r_rbx);
++ print_debug("\tr11 = 0x%lx\n", newthr->regs.r_r11);
++ print_debug("\tr10 = 0x%lx\n", newthr->regs.r_r10);
++ print_debug("\tr9 = 0x%lx\n", newthr->regs.r_r9);
++ print_debug("\tr8 = 0x%lx\n", newthr->regs.r_r8);
++ print_debug("\trax = 0x%lx\n", newthr->regs.r_rax);
++ print_debug("\trcx = 0x%lx\n", newthr->regs.r_rcx);
++ print_debug("\trdx = 0x%lx\n", newthr->regs.r_rdx);
++ print_debug("\trsi = 0x%lx\n", newthr->regs.r_rsi);
++ print_debug("\trdi = 0x%lx\n", newthr->regs.r_rdi);
++ print_debug("\trip = 0x%lx\n", newthr->regs.r_rip);
++ print_debug("\tcs = 0x%lx\n", newthr->regs.r_cs);
++ print_debug("\trsp = 0x%lx\n", newthr->regs.r_rsp);
++ print_debug("\tss = 0x%lx\n", newthr->regs.r_ss);
++#endif
+ #endif
+ }
+
+--- openjdk/hotspot/agent/src/os/linux/ps_proc.c.orig
++++ openjdk/hotspot/agent/src/os/linux/ps_proc.c
+@@ -37,6 +37,18 @@
+ #define __WALL 0x40000000 // Copied from /usr/include/linux/wait.h
+ #endif
+
++#ifndef PTRACE_PEEKDATA
++#define PTRACE_PEEKDATA PT_READ_D
++#endif
++
++#ifndef PTRACE_ATTACH
++#define PTRACE_ATTACH PT_ATTACH
++#endif
++
++#ifndef PTRACE_DETACH
++#define PTRACE_DETACH PT_DETACH
++#endif
++
+ // This file has the libproc implementation specific to live process
+ // For core files, refer to ps_core.c
+
+@@ -54,7 +66,11 @@
+ // before calling process_read_data.
+
+ static bool process_read_data(struct ps_prochandle* ph, uintptr_t addr, char *buf, size_t size) {
++#if defined(__FreeBSD_kernel__)
++ int rslt;
++#else
+ long rslt;
++#endif
+ size_t i, words;
+ uintptr_t end_addr = addr + size;
+ uintptr_t aligned_addr = align(addr, sizeof(long));
+@@ -62,36 +78,62 @@
+ if (aligned_addr != addr) {
+ char *ptr = (char *)&rslt;
+ errno = 0;
++#if defined(__FreeBSD_kernel__)
++ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, (caddr_t) aligned_addr, 0);
++#else
+ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0);
++#endif
+ if (errno) {
+ print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr);
+ return false;
+ }
+ for (; aligned_addr != addr; aligned_addr++, ptr++);
++#if defined(__FreeBSD_kernel__)
++ for (; ((intptr_t)aligned_addr % sizeof(int)) && aligned_addr < end_addr;
++#else
+ for (; ((intptr_t)aligned_addr % sizeof(long)) && aligned_addr < end_addr;
++#endif
+ aligned_addr++)
+ *(buf++) = *(ptr++);
+ }
+
++#if defined(__FreeBSD_kernel__)
++ words = (end_addr - aligned_addr) / sizeof(int);
++#else
+ words = (end_addr - aligned_addr) / sizeof(long);
++#endif
+
+ // assert((intptr_t)aligned_addr % sizeof(long) == 0);
+ for (i = 0; i < words; i++) {
+ errno = 0;
++#if defined(__FreeBSD_kernel__)
++ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, (caddr_t) aligned_addr, 0);
++#else
+ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0);
++#endif
+ if (errno) {
+ print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr);
+ return false;
+ }
++#if defined(__FreeBSD_kernel__)
++ *(int *)buf = rslt;
++ buf += sizeof(int);
++ aligned_addr += sizeof(int);
++#else
+ *(long *)buf = rslt;
+ buf += sizeof(long);
+ aligned_addr += sizeof(long);
++#endif
+ }
+
+ if (aligned_addr != end_addr) {
+ char *ptr = (char *)&rslt;
+ errno = 0;
++#if defined(__FreeBSD_kernel__)
++ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, (caddr_t) aligned_addr, 0);
++#else
+ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0);
++#endif
+ if (errno) {
+ print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr);
+ return false;
+@@ -130,7 +172,11 @@
+ #endif
+
+ #ifdef PTRACE_GETREGS_REQ
++#if defined(__FreeBSD_kernel__)
++ if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, (caddr_t) user, 0) < 0) {
++#else
+ if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, user, NULL) < 0) {
++#endif
+ print_debug("ptrace(PTRACE_GETREGS, ...) failed for lwp %d\n", pid);
+ return false;
+ }
+@@ -144,7 +190,11 @@
+
+ // attach to a process/thread specified by "pid"
+ static bool ptrace_attach(pid_t pid) {
++#if defined(__FreeBSD_kernel__)
++ if (ptrace(PTRACE_ATTACH, pid, NULL, 0) < 0) {
++#else
+ if (ptrace(PTRACE_ATTACH, pid, NULL, NULL) < 0) {
++#endif
+ print_debug("ptrace(PTRACE_ATTACH, ..) failed for %d\n", pid);
+ return false;
+ } else {
+@@ -271,7 +321,11 @@
+
+ // detach a given pid
+ static bool ptrace_detach(pid_t pid) {
++#if defined(__FreeBSD_kernel__)
++ if (pid && ptrace(PTRACE_DETACH, pid, NULL, 0) < 0) {
++#else
+ if (pid && ptrace(PTRACE_DETACH, pid, NULL, NULL) < 0) {
++#endif
+ print_debug("ptrace(PTRACE_DETACH, ..) failed for %d\n", pid);
+ return false;
+ } else {
+--- openjdk/hotspot/make/defs.make.orig
++++ openjdk/hotspot/make/defs.make
+@@ -132,6 +132,10 @@
+ OSNAME=linux
+ endif
+
++ifeq ($(OS), GNU/kFreeBSD)
++ OSNAME=linux
++endif
++
+ # Determinations of default make arguments and platform specific settings
+ MAKE_ARGS=
+
+--- openjdk/hotspot/make/linux/Makefile.orig
++++ openjdk/hotspot/make/linux/Makefile
+@@ -234,6 +234,9 @@
+ SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
+ OS_VERSION := $(shell uname -r)
+ EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
++ifeq ($(shell uname -s), GNU/kFreeBSD)
++EMPTY_IF_NOT_SUPPORTED = supported
++endif
+
+ check_os_version:
+ ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),)
+--- openjdk/hotspot/make/linux/makefiles/defs.make.orig
++++ openjdk/hotspot/make/linux/makefiles/defs.make
+@@ -91,7 +91,7 @@
+ endif
+
+ # i686
+-ifeq ($(ARCH), i686)
++ifneq (,$(filter i686 i386, $(ARCH)))
+ ARCH_DATA_MODEL = 32
+ PLATFORM = linux-i586
+ VM_PLATFORM = linux_i486
+--- openjdk/hotspot/src/os/linux/vm/attachListener_linux.cpp.orig
++++ openjdk/hotspot/src/os/linux/vm/attachListener_linux.cpp
+@@ -39,6 +39,10 @@
+ #define UNIX_PATH_MAX sizeof(((struct sockaddr_un *)0)->sun_path)
+ #endif
+
++#if defined(__FreeBSD_kernel__)
++#include <sys/ucred.h>
++#endif
++
+ // The attach mechanism on Linux uses a UNIX domain socket. An attach listener
+ // thread is created at startup or is created on-demand via a signal from
+ // the client tool. The attach listener creates a socket and binds it to a file
+@@ -337,9 +341,15 @@
+
+ // get the credentials of the peer and check the effective uid/guid
+ // - check with jeff on this.
++#if defined(LOCAL_PEERCRED) /* GNU/kFreeBSD */
++ struct xucred cred_info;
++ socklen_t optlen = sizeof(cred_info);
++ if (::getsockopt(s, SOL_SOCKET, LOCAL_PEERCRED, (void*)&cred_info, &optlen) == -1) {
++#else
+ struct ucred cred_info;
+ socklen_t optlen = sizeof(cred_info);
+ if (::getsockopt(s, SOL_SOCKET, SO_PEERCRED, (void*)&cred_info, &optlen) == -1) {
++#endif
+ int res;
+ RESTARTABLE(::close(s), res);
+ continue;
+@@ -347,10 +357,14 @@
+ uid_t euid = geteuid();
+ gid_t egid = getegid();
+
++#if defined(LOCAL_PEERCRED) /* GNU/kFreeBSD */
++ if (cred_info.cr_uid != euid || cred_info.cr_gid != egid) {
++#else
+ if (cred_info.uid != euid || cred_info.gid != egid) {
+- int res;
++#endif
++ int res;
+ RESTARTABLE(::close(s), res);
+- continue;
++ continue;
+ }
+
+ // peer credential look okay so we read the request
+--- openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp.orig
++++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp
+@@ -169,7 +169,9 @@
+ "WINCH", SIGWINCH, /* Window size change (4.3 BSD, Sun). */
+ "POLL", SIGPOLL, /* Pollable event occurred (System V). */
+ "IO", SIGIO, /* I/O now possible (4.2 BSD). */
++#ifdef SIGPWR
+ "PWR", SIGPWR, /* Power failure restart (System V). */
++#endif
+ #ifdef SIGSYS
+ "SYS", SIGSYS /* Bad system call. Only on some Linuxen! */
+ #endif
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp.orig
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -115,8 +115,13 @@
+ # include <semaphore.h>
+ # include <fcntl.h>
+ # include <string.h>
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++# include <sys/param.h>
++# include <sys/sysctl.h>
++#else
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
++#endif
+ # include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+@@ -127,6 +132,10 @@
+
+ #define MAX_PATH (2 * K)
+
++#ifndef ETIME
++#define ETIME ETIMEDOUT
++#endif
++
+ // for timer info max values which include all bits
+ #define ALL_64_BITS CONST64(0xFFFFFFFFFFFFFFFF)
+ #define SEC_IN_NANOSECS 1000000000LL
+@@ -208,11 +217,22 @@
+ }
+
+ julong os::Linux::available_memory() {
++#ifndef __FreeBSD_kernel__
+ // values in struct sysinfo are "unsigned long"
+ struct sysinfo si;
+ sysinfo(&si);
+
+ return (julong)si.freeram * si.mem_unit;
++#else
++ int mib[2] = {CTL_HW, HW_USERMEM}, mem;
++ size_t len;
++ len = sizeof(mem);
++ if (sysctl(mib, 2, &mem, &len, NULL, 0) == 0) {
++ return (julong) mem;
++ } else {
++ return 0;
++ }
++#endif
+ }
+
+ julong os::physical_memory() {
+@@ -2161,18 +2181,22 @@
+ st->print("Memory:");
+ st->print(" %dk page", os::vm_page_size()>>10);
+
++#ifndef __FreeBSD_kernel__
+ // values in struct sysinfo are "unsigned long"
+ struct sysinfo si;
+ sysinfo(&si);
++#endif
+
+ st->print(", physical " UINT64_FORMAT "k",
+ os::physical_memory() >> 10);
+ st->print("(" UINT64_FORMAT "k free)",
+ os::available_memory() >> 10);
++#ifndef __FreeBSD_kernel__
+ st->print(", swap " UINT64_FORMAT "k",
+ ((jlong)si.totalswap * si.mem_unit) >> 10);
+ st->print("(" UINT64_FORMAT "k free)",
+ ((jlong)si.freeswap * si.mem_unit) >> 10);
++#endif
+ st->cr();
+ }
+
+@@ -5389,6 +5413,7 @@
+ int os::fork_and_exec(char* cmd) {
+ const char * argv[4] = {"sh", "-c", cmd, NULL};
+
++#ifdef __linux__
+ // fork() in LinuxThreads/NPTL is not async-safe. It needs to run
+ // pthread_atfork handlers and reset pthread library. All we need is a
+ // separate process to execve. Make a direct syscall to fork process.
+@@ -5396,6 +5421,9 @@
+ // the best...
+ pid_t pid = NOT_IA64(syscall(__NR_fork);)
+ IA64_ONLY(fork();)
++#else
++ pid_t pid = fork();
++#endif
+
+ if (pid < 0) {
+ // fork failed
+@@ -5404,6 +5432,7 @@
+ } else if (pid == 0) {
+ // child process
+
++#ifdef __linux__
+ // execve() in LinuxThreads will call pthread_kill_other_threads_np()
+ // first to kill every thread on the thread list. Because this list is
+ // not reset by fork() (see notes above), execve() will instead kill
+@@ -5413,6 +5442,9 @@
+ // above.
+ NOT_IA64(syscall(__NR_execve, "/bin/sh", argv, environ);)
+ IA64_ONLY(execve("/bin/sh", (char* const*)argv, environ);)
++#else
++ execve("/bin/sh", (char* const*)argv, environ);
++#endif
+
+ // execve failed
+ _exit(-1);
+--- openjdk/hotspot/src/os/posix/launcher/java_md.c.orig
++++ openjdk/hotspot/src/os/posix/launcher/java_md.c
+@@ -41,7 +41,7 @@
+ #include "version_comp.h"
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <pthread.h>
+ #else
+ #include <thread.h>
+@@ -89,7 +89,7 @@
+ * A collection of useful strings. One should think of these as #define
+ * entries, but actual strings can be more efficient (with many compilers).
+ */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static const char *system_dir = "/usr/java";
+ static const char *user_dir = "/java";
+ #else /* Solaris */
+@@ -426,7 +426,7 @@
+ runpath = getenv("LD_LIBRARY_PATH");
+ #endif /* __sun */
+
+-#ifdef __linux
++#if defined(__linux__) || defined(__GLIBC__)
+ /*
+ * On linux, if a binary is running as sgid or suid, glibc sets
+ * LD_LIBRARY_PATH to the empty string for security purposes. (In
+@@ -792,7 +792,7 @@
+ jboolean
+ GetApplicationHome(char *buf, jint bufsize)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ char *execname = GetExecname();
+ if (execname) {
+ strncpy(buf, execname, bufsize-1);
+@@ -961,7 +961,7 @@
+ }
+ }
+ }
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__GLIBC__)
+ {
+ const char* self = "/proc/self/exe";
+ char buf[PATH_MAX+1];
+@@ -1821,7 +1821,7 @@
+ int
+ ContinueInNewThread(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
+ int rslt;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ pthread_t tid;
+ pthread_attr_t attr;
+ pthread_attr_init(&attr);
+--- openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp.orig
++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+@@ -81,6 +81,7 @@
+ # include <ucontext.h>
+ # include <fpu_control.h>
+
++#ifdef __linux__
+ #ifdef AMD64
+ #define REG_SP REG_RSP
+ #define REG_PC REG_RIP
+@@ -94,6 +95,54 @@
+ #define SPELL_REG_SP "esp"
+ #define SPELL_REG_FP "ebp"
+ #endif // AMD64
++#endif
++
++#if defined(__FreeBSD_kernel__)
++#define context_trapno uc_mcontext.mc_trapno
++#ifdef AMD64
++#define SPELL_REG_SP "rsp"
++#define SPELL_REG_FP "rbp"
++#define context_sp uc_mcontext.mc_rsp
++#define context_pc uc_mcontext.mc_rip
++#define context_fp uc_mcontext.mc_rbp
++#define context_rip uc_mcontext.mc_rip
++#define context_rsp uc_mcontext.mc_rsp
++#define context_rbp uc_mcontext.mc_rbp
++#define context_flags uc_mcontext.mc_flags
++#define context_err uc_mcontext.mc_err
++#define context_rax uc_mcontext.mc_rax
++#define context_rbx uc_mcontext.mc_rbx
++#define context_rcx uc_mcontext.mc_rcx
++#define context_rdx uc_mcontext.mc_rdx
++#define context_rsi uc_mcontext.mc_rsi
++#define context_rdi uc_mcontext.mc_rdi
++#define context_r8 uc_mcontext.mc_r8
++#define context_r9 uc_mcontext.mc_r9
++#define context_r10 uc_mcontext.mc_r10
++#define context_r11 uc_mcontext.mc_r11
++#define context_r12 uc_mcontext.mc_r12
++#define context_r13 uc_mcontext.mc_r13
++#define context_r14 uc_mcontext.mc_r14
++#define context_r15 uc_mcontext.mc_r15
++#else
++#define SPELL_REG_SP "esp"
++#define SPELL_REG_FP "ebp"
++#define context_sp uc_mcontext.mc_esp
++#define context_pc uc_mcontext.mc_eip
++#define context_fp uc_mcontext.mc_ebp
++#define context_eip uc_mcontext.mc_eip
++#define context_esp uc_mcontext.mc_esp
++#define context_eax uc_mcontext.mc_eax
++#define context_ebx uc_mcontext.mc_ebx
++#define context_ecx uc_mcontext.mc_ecx
++#define context_edx uc_mcontext.mc_edx
++#define context_ebp uc_mcontext.mc_ebp
++#define context_esi uc_mcontext.mc_esi
++#define context_edi uc_mcontext.mc_edi
++#define context_eflags uc_mcontext.mc_eflags
++#define context_trapno uc_mcontext.mc_trapno
++#endif // AMD64
++#endif
+
+ address os::current_stack_pointer() {
+ #ifdef SPARC_WORKS
+@@ -119,15 +168,27 @@
+ }
+
+ address os::Linux::ucontext_get_pc(ucontext_t * uc) {
++#if defined(__FreeBSD_kernel__)
++ return (address)uc->context_pc;
++#else
+ return (address)uc->uc_mcontext.gregs[REG_PC];
++#endif
+ }
+
+ intptr_t* os::Linux::ucontext_get_sp(ucontext_t * uc) {
++#if defined(__FreeBSD_kernel__)
++ return (intptr_t*)uc->context_sp;
++#else
+ return (intptr_t*)uc->uc_mcontext.gregs[REG_SP];
++#endif
+ }
+
+ intptr_t* os::Linux::ucontext_get_fp(ucontext_t * uc) {
++#if defined(__FreeBSD_kernel__)
++ return (intptr_t*)uc->context_fp;
++#else
+ return (intptr_t*)uc->uc_mcontext.gregs[REG_FP];
++#endif
+ }
+
+ // For Forte Analyzer AsyncGetCallTrace profiling support - thread
+@@ -279,12 +340,20 @@
+ pc = (address) os::Linux::ucontext_get_pc(uc);
+
+ if (pc == (address) Fetch32PFI) {
++#if defined(__FreeBSD_kernel__)
++ uc->context_pc = intptr_t(Fetch32Resume) ;
++#else
+ uc->uc_mcontext.gregs[REG_PC] = intptr_t(Fetch32Resume) ;
++#endif
+ return 1 ;
+ }
+ #ifdef AMD64
+ if (pc == (address) FetchNPFI) {
++#if defined(__FreeBSD_kernel__)
++ uc->context_pc = intptr_t (FetchNResume) ;
++#else
+ uc->uc_mcontext.gregs[REG_PC] = intptr_t (FetchNResume) ;
++#endif
+ return 1 ;
+ }
+ #endif // AMD64
+@@ -430,7 +499,11 @@
+ // Furthermore, a false-positive should be harmless.
+ if (UnguardOnExecutionViolation > 0 &&
+ (sig == SIGSEGV || sig == SIGBUS) &&
++#if defined(__FreeBSD_kernel__)
++ uc->context_trapno == trap_page_fault) {
++#else
+ uc->uc_mcontext.gregs[REG_TRAPNO] == trap_page_fault) {
++#endif
+ int page_size = os::vm_page_size();
+ address addr = (address) info->si_addr;
+ address pc = os::Linux::ucontext_get_pc(uc);
+@@ -500,7 +573,11 @@
+ // save all thread context in case we need to restore it
+ if (thread != NULL) thread->set_saved_exception_pc(pc);
+
++#if defined(__FreeBSD_kernel__)
++ uc->context_pc = (intptr_t)stub;
++#else
+ uc->uc_mcontext.gregs[REG_PC] = (greg_t)stub;
++#endif
+ return true;
+ }
+
+@@ -752,6 +829,7 @@
+
+ ucontext_t *uc = (ucontext_t*)context;
+ st->print_cr("Registers:");
++#ifdef __linux__
+ #ifdef AMD64
+ st->print( "RAX=" INTPTR_FORMAT, uc->uc_mcontext.gregs[REG_RAX]);
+ st->print(", RBX=" INTPTR_FORMAT, uc->uc_mcontext.gregs[REG_RBX]);
+@@ -794,6 +872,48 @@
+ st->print(", EFLAGS=" INTPTR_FORMAT, uc->uc_mcontext.gregs[REG_EFL]);
+ st->print(", CR2=" INTPTR_FORMAT, uc->uc_mcontext.cr2);
+ #endif // AMD64
++#elif defined(__FreeBSD_kernel__)
++#ifdef AMD64
++ st->print( "RAX=" INTPTR_FORMAT, uc->context_rax);
++ st->print(", RBX=" INTPTR_FORMAT, uc->context_rbx);
++ st->print(", RCX=" INTPTR_FORMAT, uc->context_rcx);
++ st->print(", RDX=" INTPTR_FORMAT, uc->context_rdx);
++ st->cr();
++ st->print( "RSP=" INTPTR_FORMAT, uc->context_rsp);
++ st->print(", RBP=" INTPTR_FORMAT, uc->context_rbp);
++ st->print(", RSI=" INTPTR_FORMAT, uc->context_rsi);
++ st->print(", RDI=" INTPTR_FORMAT, uc->context_rdi);
++ st->cr();
++ st->print( "R8 =" INTPTR_FORMAT, uc->context_r8);
++ st->print(", R9 =" INTPTR_FORMAT, uc->context_r9);
++ st->print(", R10=" INTPTR_FORMAT, uc->context_r10);
++ st->print(", R11=" INTPTR_FORMAT, uc->context_r11);
++ st->cr();
++ st->print( "R12=" INTPTR_FORMAT, uc->context_r12);
++ st->print(", R13=" INTPTR_FORMAT, uc->context_r13);
++ st->print(", R14=" INTPTR_FORMAT, uc->context_r14);
++ st->print(", R15=" INTPTR_FORMAT, uc->context_r15);
++ st->cr();
++ st->print( "RIP=" INTPTR_FORMAT, uc->context_rip);
++ st->print(", EFLAGS=" INTPTR_FORMAT, uc->context_flags);
++ st->print(", ERR=" INTPTR_FORMAT, uc->context_err);
++ st->cr();
++ st->print(" TRAPNO=" INTPTR_FORMAT, uc->context_trapno);
++#else
++ st->print( "EAX=" INTPTR_FORMAT, uc->context_eax);
++ st->print(", EBX=" INTPTR_FORMAT, uc->context_ebx);
++ st->print(", ECX=" INTPTR_FORMAT, uc->context_ecx);
++ st->print(", EDX=" INTPTR_FORMAT, uc->context_edx);
++ st->cr();
++ st->print( "ESP=" INTPTR_FORMAT, uc->context_esp);
++ st->print(", EBP=" INTPTR_FORMAT, uc->context_ebp);
++ st->print(", ESI=" INTPTR_FORMAT, uc->context_esi);
++ st->print(", EDI=" INTPTR_FORMAT, uc->context_edi);
++ st->cr();
++ st->print( "EIP=" INTPTR_FORMAT, uc->context_eip);
++ st->print(", EFLAGS=" INTPTR_FORMAT, uc->context_eflags);
++#endif // AMD64
++#endif
+ st->cr();
+ st->cr();
+
+@@ -824,6 +944,7 @@
+
+ // this is only for the "general purpose" registers
+
++#ifdef __linux__
+ #ifdef AMD64
+ st->print("RAX="); print_location(st, uc->uc_mcontext.gregs[REG_RAX]);
+ st->print("RBX="); print_location(st, uc->uc_mcontext.gregs[REG_RBX]);
+@@ -851,6 +972,35 @@
+ st->print("ESI="); print_location(st, uc->uc_mcontext.gregs[REG_ESI]);
+ st->print("EDI="); print_location(st, uc->uc_mcontext.gregs[REG_EDI]);
+ #endif // AMD64
++#elif defined(__FreeBSD_kernel__)
++#ifdef AMD64
++ st->print("RAX="); print_location(st, uc->context_rax);
++ st->print("RBX="); print_location(st, uc->context_rbx);
++ st->print("RCX="); print_location(st, uc->context_rcx);
++ st->print("RDX="); print_location(st, uc->context_rdx);
++ st->print("RSP="); print_location(st, uc->context_rsp);
++ st->print("RBP="); print_location(st, uc->context_rbp);
++ st->print("RSI="); print_location(st, uc->context_rsi);
++ st->print("RDI="); print_location(st, uc->context_rdi);
++ st->print("R8 ="); print_location(st, uc->context_r8);
++ st->print("R9 ="); print_location(st, uc->context_r9);
++ st->print("R10="); print_location(st, uc->context_r10);
++ st->print("R11="); print_location(st, uc->context_r11);
++ st->print("R12="); print_location(st, uc->context_r12);
++ st->print("R13="); print_location(st, uc->context_r13);
++ st->print("R14="); print_location(st, uc->context_r14);
++ st->print("R15="); print_location(st, uc->context_r15);
++#else
++ st->print("EAX="); print_location(st, uc->context_eax);
++ st->print("EBX="); print_location(st, uc->context_ebx);
++ st->print("ECX="); print_location(st, uc->context_ecx);
++ st->print("EDX="); print_location(st, uc->context_edx);
++ st->print("ESP="); print_location(st, uc->context_esp);
++ st->print("EBP="); print_location(st, uc->context_ebp);
++ st->print("ESI="); print_location(st, uc->context_esi);
++ st->print("EDI="); print_location(st, uc->context_edi);
++#endif // AMD64
++#endif
+
+ st->cr();
+ }
+--- openjdk/hotspot/src/share/vm/memory/allocation.hpp.orig
++++ openjdk/hotspot/src/share/vm/memory/allocation.hpp
+@@ -218,9 +218,9 @@
+ void signal_out_of_memory(size_t request, const char* whence) const;
+
+ void check_for_overflow(size_t request, const char* whence) const {
+- if (UINTPTR_MAX - request < (uintptr_t)_hwm) {
+- signal_out_of_memory(request, whence);
+- }
++// if (UINTPTR_MAX - request < (uintptr_t)_hwm) {
++// signal_out_of_memory(request, whence);
++// }
+ }
+
+ public:
+--- openjdk/hotspot/src/share/vm/oops/generateOopMap.cpp.orig
++++ openjdk/hotspot/src/share/vm/oops/generateOopMap.cpp
+@@ -970,11 +970,11 @@
+ // The product of bbNo and _state_len can get large if there are lots of
+ // basic blocks and stack/locals/monitors. Need to check to make sure
+ // we don't overflow the capacity of a pointer.
+- if ((unsigned)bbNo > UINTPTR_MAX / sizeof(CellTypeState) / _state_len) {
+- report_error("The amount of memory required to analyze this method "
+- "exceeds addressable range");
+- return;
+- }
++// if ((unsigned)bbNo > UINTPTR_MAX / sizeof(CellTypeState) / _state_len) {
++// report_error("The amount of memory required to analyze this method "
++// "exceeds addressable range");
++// return;
++// }
+
+ CellTypeState *basicBlockState =
+ NEW_RESOURCE_ARRAY(CellTypeState, bbNo * _state_len);
diff --git a/debian/patches/kfreebsd-support-jamvm.diff b/debian/patches/kfreebsd-support-jamvm.diff
new file mode 100644
index 0000000..ce8de7e
--- /dev/null
+++ b/debian/patches/kfreebsd-support-jamvm.diff
@@ -0,0 +1,35 @@
+Description:
+ - Add iddef TIOCINQ = FIONREAD
+ jamvm/src/classlib/openjdk/jvm.c
+ - Update configure for kfreebsd-amd64
+ jamvm/jamvm/configure.ac
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2011-08-05
+Forwarded: no
+Index: jamvm/jamvm/configure.ac
+===================================================================
+--- jamvm/jamvm/configure.ac.orig
++++ jamvm/jamvm/configure.ac
+@@ -38,6 +38,7 @@
+ i386-*-freebsd*) host_os=bsd libdl_needed=no ;;
+ i386-*-solaris*) host_cpu=x86 host_os=solaris ;;
+ x86_64-*-linux*) host_os=linux ;;
++x86_64-*-kfreebsd*) host_os=linux ;;
+ hppa*-*-linux*) host_cpu=parisc host_os=linux ;;
+ mips*-*-linux*) host_cpu=mips host_os=linux ;;
+ x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;;
+Index: jamvm/jamvm/src/classlib/openjdk/jvm.c
+===================================================================
+--- jamvm/jamvm/src/classlib/openjdk/jvm.c.orig
++++ jamvm/jamvm/src/classlib/openjdk/jvm.c
+@@ -63,6 +63,10 @@
+ #define have_monotonic_clock FALSE
+ #endif
+
++#ifndef TIOCINQ
++#define TIOCINQ FIONREAD
++#endif
++
+ static Class *cloneable_class, *constant_pool_class;
+ static Class *exception_class, *runtime_excp_class;
+
diff --git a/debian/patches/kfreebsd-support-jdk.diff b/debian/patches/kfreebsd-support-jdk.diff
new file mode 100644
index 0000000..da10aa8
--- /dev/null
+++ b/debian/patches/kfreebsd-support-jdk.diff
@@ -0,0 +1,2139 @@
+Description: Initial GNU/kFreeBSD support for openjdk-7 (JDK part)
+ - Alter build system to consider GNU/kFreeBSD like linux
+ since this port is libc based.
+ openjdk/jdk/make/common/shared/Platform.gmk
+ - ENODATA is undefined :
+ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java
+ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java
+ - sendfile implementation :
+ openjdk/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c
+ (from bsd-port)
+ - BSD network stack usage :
+ openjdk/jdk/src/solaris/native/java/net/*
+ (from bsd-port)
+ - Don't build sctp protocol
+ openjdk/jdk/make/com/sun/nio/Makefile
+ - Don't build jsoundalsa
+ openjdk/jdk/make/javax/sound/Makefile
+ - Disable epoll feature and so LinuxWatchService
+ openjdk/jdk/make/java/nio/Makefile
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2011-09-14
+Forwarded: no
+--- openjdk/jdk/make/com/sun/nio/Makefile.orig
++++ openjdk/jdk/make/com/sun/nio/Makefile
+@@ -30,11 +30,11 @@
+ BUILDDIR = ../../..
+ include $(BUILDDIR)/common/Defs.gmk
+
+-SUBDIRS = sctp
+-include $(BUILDDIR)/common/Subdirs.gmk
++#SUBDIRS = sctp
++#include $(BUILDDIR)/common/Subdirs.gmk
+
+ all build clean clobber::
+- $(SUBDIRS-loop)
++# $(SUBDIRS-loop)
+
+ clean clobber::
+- $(RM) -r $(CLASSDESTDIR)/com/sun/nio
++# $(RM) -r $(CLASSDESTDIR)/com/sun/nio
+--- openjdk/jdk/make/common/shared/Defs-versions.gmk.orig
++++ openjdk/jdk/make/common/shared/Defs-versions.gmk
+@@ -148,7 +148,9 @@
+ REQUIRED_OS_VERSION = 2.6
+ REQUIRED_OS_VARIANT_NAME = Fedora
+ REQUIRED_OS_VARIANT_VERSION = 9
+- REQUIRED_ALSA_VERSION = 0.9.1
++ifneq ($(SYSTEM_UNAME),GNU/kFreeBSD)
++ REQUIRED_ALSA_VERSION = 0.9.1
++endif
+ REQUIRED_COMPILER_NAME = GCC4
+ REQUIRED_COMPILER_VERSION = GCC4
+ REQUIRED_GCC_VER = 2.95
+--- openjdk/jdk/make/common/shared/Platform.gmk.orig
++++ openjdk/jdk/make/common/shared/Platform.gmk
+@@ -152,7 +152,7 @@
+ endif
+
+ # Platform settings specific to Linux
+-ifeq ($(SYSTEM_UNAME), Linux)
++ifneq (,$(filter Linux GNU/kFreeBSD, $(SYSTEM_UNAME)))
+ PLATFORM = linux
+ # Arch and OS name/version
+ ifdef CROSS_COMPILE_ARCH
+--- openjdk/jdk/make/common/shared/Sanity-Settings.gmk.orig
++++ openjdk/jdk/make/common/shared/Sanity-Settings.gmk
+@@ -186,8 +186,10 @@
+ endif
+ ifeq ($(PLATFORM),linux)
+ ifdef REQUIRED_ALSA_VERSION
++ ifneq ($(SYSTEM_UNAME),GNU/kFreeBSD)
+ ALL_SETTINGS+=$(call addRequiredSetting,ALSA_VERSION)
+ endif
++ endif
+ endif
+ ALL_SETTINGS+=$(call addRequiredVersionSetting,OS_VERSION)
+ ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_NAME)
+--- openjdk/jdk/make/common/shared/Sanity.gmk.orig
++++ openjdk/jdk/make/common/shared/Sanity.gmk
+@@ -114,12 +114,14 @@
+ elif [ -f /etc/lsb-release ] ; then \
+ $(EGREP) DISTRIB_RELEASE /etc/lsb-release | $(SED) -e 's@.*DISTRIB_RELEASE=\(.*\)@\1@'; \
+ fi)
++ifneq ($(SYSTEM_UNAME),GNU/kFreeBSD)
+ ALSA_INCLUDE=/usr/include/alsa/version.h
+ ALSA_LIBRARY=/usr/lib/libasound.so
+ _ALSA_VERSION := $(shell $(EGREP) SND_LIB_VERSION_STR $(ALSA_INCLUDE) | \
+ $(SED) -e 's@.*"\(.*\)".*@\1@' )
+ ALSA_VERSION := $(call GetVersion,$(_ALSA_VERSION))
+ endif
++endif
+
+ ifeq ($(PLATFORM), windows)
+ # Windows 2000 is 5.0, Windows XP is 5.1, Windows 2003 is 5.2
+--- openjdk/jdk/make/java/nio/Makefile.orig
++++ openjdk/jdk/make/java/nio/Makefile
+@@ -94,6 +94,70 @@
+
+ else
+
++ifeq ($(SYSTEM_UNAME),GNU/kFreeBSD)
++
++FILES_java += \
++ sun/nio/ch/AbstractPollSelectorImpl.java \
++ sun/nio/ch/DevPollArrayWrapper.java \
++ sun/nio/ch/DevPollSelectorImpl.java \
++ sun/nio/ch/DevPollSelectorProvider.java \
++ sun/nio/ch/InheritedChannel.java \
++ sun/nio/ch/LinuxAsynchronousChannelProvider.java \
++ sun/nio/ch/PollSelectorProvider.java \
++ sun/nio/ch/PollSelectorImpl.java \
++ sun/nio/ch/Port.java \
++ sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
++ sun/nio/ch/SolarisAsynchronousChannelProvider.java \
++ sun/nio/ch/SolarisEventPort.java \
++ sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
++ sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
++ \
++ sun/nio/fs/GnomeFileTypeDetector.java \
++ sun/nio/fs/LinuxDosFileAttributeView.java \
++ sun/nio/fs/LinuxFileStore.java \
++ sun/nio/fs/LinuxFileSystem.java \
++ sun/nio/fs/LinuxFileSystemProvider.java \
++ sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
++ sun/nio/fs/LinuxNativeDispatcher.java \
++ sun/nio/fs/PollingWatchService.java \
++ sun/nio/fs/SolarisNativeDispatcher.java \
++ sun/nio/fs/SolarisWatchService.java \
++ sun/nio/fs/UnixChannelFactory.java \
++ sun/nio/fs/UnixCopyFile.java \
++ sun/nio/fs/UnixDirectoryStream.java \
++ sun/nio/fs/UnixException.java \
++ sun/nio/fs/UnixFileAttributeViews.java \
++ sun/nio/fs/UnixFileAttributes.java \
++ sun/nio/fs/UnixFileKey.java \
++ sun/nio/fs/UnixFileModeAttribute.java \
++ sun/nio/fs/UnixFileStore.java \
++ sun/nio/fs/UnixFileStoreAttributes.java \
++ sun/nio/fs/UnixFileSystem.java \
++ sun/nio/fs/UnixFileSystemProvider.java \
++ sun/nio/fs/UnixMountEntry.java \
++ sun/nio/fs/UnixNativeDispatcher.java \
++ sun/nio/fs/UnixPath.java \
++ sun/nio/fs/UnixSecureDirectoryStream.java \
++ sun/nio/fs/UnixUriUtils.java \
++ sun/nio/fs/UnixUserPrincipals.java
++
++FILES_export += \
++ sun/nio/ch/DevPollArrayWrapper.java \
++ sun/nio/ch/InheritedChannel.java \
++ sun/nio/ch/NativeThread.java \
++ sun/nio/ch/SolarisEventPort.java \
++ sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
++ sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
++ \
++ sun/nio/fs/GnomeFileTypeDetector.java \
++ sun/nio/fs/LinuxNativeDispatcher.java \
++ sun/nio/fs/SolarisNativeDispatcher.java \
++ sun/nio/fs/SolarisWatchService.java \
++ sun/nio/fs/UnixCopyFile.java \
++ sun/nio/fs/UnixNativeDispatcher.java
++
++else
++
+ FILES_java += \
+ sun/nio/ch/AbstractPollSelectorImpl.java \
+ sun/nio/ch/DevPollArrayWrapper.java \
+@@ -164,10 +228,12 @@
+ sun/nio/fs/UnixCopyFile.java \
+ sun/nio/fs/UnixNativeDispatcher.java
+
++endif # kFreeBSD
++
+ FILES_gen += \
+ sun/nio/fs/UnixConstants.java
+
+-endif
++endif # else
+
+ ifeq ($(PLATFORM), solaris)
+
+@@ -213,6 +279,22 @@
+
+ ifeq ($(PLATFORM), linux)
+
++ifeq ($(SYSTEM_UNAME),GNU/kFreeBSD)
++
++FILES_c += \
++ InheritedChannel.c \
++ NativeThread.c \
++ PollArrayWrapper.c \
++ UnixAsynchronousServerSocketChannelImpl.c \
++ UnixAsynchronousSocketChannelImpl.c \
++ \
++ GnomeFileTypeDetector.c \
++ LinuxNativeDispatcher.c \
++ UnixCopyFile.c \
++ UnixNativeDispatcher.c
++
++else
++
+ FILES_c += \
+ EPoll.c \
+ EPollArrayWrapper.c \
+@@ -229,6 +311,8 @@
+ UnixCopyFile.c \
+ UnixNativeDispatcher.c
+
++endif # kFreeBSD
++
+ ifndef USE_SYSTEM_GIO
+ FILES_c += \
+ gio_fp.c
+--- openjdk/jdk/make/javax/sound/Makefile.orig
++++ openjdk/jdk/make/javax/sound/Makefile
+@@ -99,10 +99,12 @@
+ endif # PLATFORM win32
+
+ ifeq ($(PLATFORM), linux)
++ifneq ($(SYSTEM_UNAME),GNU/kFreeBSD)
+ # ALSA handles directaudio, ports, and MIDI
+ SUBDIRS += jsoundalsa
+ EXTRA_SOUND_JNI_LIBS += jsoundalsa
+ #MXSPP_ADD = $(PLATFORM)-$(ARCH)/
++endif # kFreeBSD
+ endif # PLATFORM linux
+
+ ifeq ($(PLATFORM), solaris)
+--- openjdk/jdk/src/share/classes/com/sun/servicetag/Installer.java.orig
++++ openjdk/jdk/src/share/classes/com/sun/servicetag/Installer.java
+@@ -549,7 +549,7 @@
+ Set<String> archs = new HashSet<String>();
+
+ String os = System.getProperty("os.name");
+- if (os.equals("SunOS") || os.equals("Linux")) {
++ if (os.equals("SunOS") || os.equals("Linux") || os.equals("GNU/kFreeBSD")) {
+ // Traverse the directories under <JRE>/lib.
+ // If <JRE>/lib/<arch>/libjava.so exists, add <arch>
+ // to the product defined ID
+--- openjdk/jdk/src/share/classes/com/sun/servicetag/Registry.java.orig
++++ openjdk/jdk/src/share/classes/com/sun/servicetag/Registry.java
+@@ -84,7 +84,7 @@
+ String os = System.getProperty("os.name");
+ if (os.equals("SunOS")) {
+ stclient = new File(STCLIENT_SOLARIS);
+- } else if (os.equals("Linux")) {
++ } else if (os.equals("Linux") || os.equals("GNU/kFreeBSD")) {
+ stclient = new File(STCLIENT_LINUX);
+ } else if (os.startsWith("Windows")) {
+ stclient = getWindowsStClientFile();
+--- openjdk/jdk/src/share/classes/com/sun/servicetag/SystemEnvironment.java.orig
++++ openjdk/jdk/src/share/classes/com/sun/servicetag/SystemEnvironment.java
+@@ -61,7 +61,7 @@
+ String os = System.getProperty("os.name");
+ if (os.equals("SunOS")) {
+ sysEnv = new SolarisSystemEnvironment();
+- } else if (os.equals("Linux")) {
++ } else if (os.equals("Linux") || os.equals("GNU/kFreeBSD")) {
+ sysEnv = new LinuxSystemEnvironment();
+ } else if (os.startsWith("Windows")) {
+ sysEnv = new WindowsSystemEnvironment();
+--- openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java.orig
++++ openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
+@@ -172,7 +172,7 @@
+ } else {
+ String osName = System.getProperty("os.name");
+ headless = defaultHeadless =
+- Boolean.valueOf(("Linux".equals(osName) || "SunOS".equals(osName)) &&
++ Boolean.valueOf(("Linux".equals(osName) || "SunOS".equals(osName) || "GNU/kFreeBSD".equals(osName)) &&
+ (System.getenv("DISPLAY") == null));
+ }
+ } else if (nm.equals("true")) {
+--- openjdk/jdk/src/share/classes/sun/font/FontUtilities.java.orig
++++ openjdk/jdk/src/share/classes/sun/font/FontUtilities.java
+@@ -74,7 +74,7 @@
+ String osName = System.getProperty("os.name", "unknownOS");
+ isSolaris = osName.startsWith("SunOS");
+
+- isLinux = osName.startsWith("Linux");
++ isLinux = osName.startsWith("Linux") || osName.equals("GNU/kFreeBSD");
+
+ String t2kStr = System.getProperty("sun.java2d.font.scaler");
+ if (t2kStr != null) {
+--- openjdk/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.orig
++++ openjdk/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java
+@@ -1279,7 +1279,7 @@
+ }
+ String osName = AccessController.doPrivileged(
+ new GetPropertyAction("os.name"));
+- if ("SunOS".equals(osName) || "Linux".equals(osName)) {
++ if ("SunOS".equals(osName) || "Linux".equals(osName) || "GNU/kFreeBSD".equals(osName)) {
+ charset("x-COMPOUND_TEXT", "COMPOUND_TEXT",
+ new String[] {
+ "COMPOUND_TEXT", // JDK historical
+--- openjdk/jdk/src/share/classes/sun/print/PSPrinterJob.java.orig
++++ openjdk/jdk/src/share/classes/sun/print/PSPrinterJob.java
+@@ -1534,7 +1534,7 @@
+ pFlags |= NOSHEET;
+ ncomps+=1;
+ }
+- if (System.getProperty("os.name").equals("Linux")) {
++ if (System.getProperty("os.name").equals("Linux") || System.getProperty("os.name").equals("GNU/kFreeBSD")) {
+ execCmd = new String[ncomps];
+ execCmd[n++] = "/usr/bin/lpr";
+ if ((pFlags & PRINTER) != 0) {
+--- openjdk/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java.orig
++++ openjdk/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java
+@@ -48,6 +48,7 @@
+ public Boolean run() {
+ String osname = System.getProperty("os.name");
+ if (osname.startsWith("SunOS") ||
++ osname.startsWith("GNU/kFreeBSD") ||
+ osname.startsWith("Linux")) {
+ return new Boolean(System.getProperty
+ (USE_NATIVE_PROP));
+--- openjdk/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java.orig
++++ openjdk/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
+@@ -403,6 +403,7 @@
+ long uid = 0;
+
+ if (osname.startsWith("SunOS") ||
++ osname.startsWith("GNU/kFreeBSD") ||
+ (osname.startsWith("Linux"))) {
+ try {
+ Class<?> c = Class.forName
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h.orig
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
+@@ -61,7 +61,7 @@
+ #define log1p jlog1p
+ #define expm1 jexpm1
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #define __ieee754_sqrt __j__ieee754_sqrt
+ #define __ieee754_acos __j__ieee754_acos
+ #define __ieee754_log __j__ieee754_log
+--- openjdk/jdk/src/share/native/sun/security/ec/impl/ecc_impl.h.orig
++++ openjdk/jdk/src/share/native/sun/security/ec/impl/ecc_impl.h
+@@ -49,7 +49,7 @@
+ /*
+ * Multi-platform definitions
+ */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #define B_FALSE FALSE
+ #define B_TRUE TRUE
+ typedef unsigned char uint8_t;
+--- openjdk/jdk/src/solaris/bin/ergo_i586.c.orig
++++ openjdk/jdk/src/solaris/bin/ergo_i586.c
+@@ -106,7 +106,7 @@
+
+ #endif /* __solaris__ */
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+
+ /*
+ * A utility method for asking the CPU about itself.
+--- openjdk/jdk/src/solaris/bin/java_md.c.orig
++++ openjdk/jdk/src/solaris/bin/java_md.c
+@@ -37,7 +37,7 @@
+ #include "manifest_info.h"
+ #include "version_comp.h"
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <pthread.h>
+ #else
+ #include <thread.h>
+@@ -81,7 +81,7 @@
+ * A collection of useful strings. One should think of these as #define
+ * entries, but actual strings can be more efficient (with many compilers).
+ */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static const char *system_dir = "/usr/java";
+ static const char *user_dir = "/java";
+ #else /* Solaris */
+@@ -1049,7 +1049,7 @@
+ }
+ }
+ }
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__GLIBC__)
+ {
+ const char* self = "/proc/self/exe";
+ char buf[PATH_MAX+1];
+@@ -1435,7 +1435,7 @@
+ int
+ ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
+ int rslt;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ pthread_t tid;
+ pthread_attr_t attr;
+ pthread_attr_init(&attr);
+@@ -1480,7 +1480,7 @@
+
+ void SetJavaLauncherPlatformProps() {
+ /* Linux only */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ const char *substr = "-Dsun.java.launcher.pid=";
+ char *pid_prop_str = (char *)JLI_MemAlloc(JLI_StrLen(substr) + MAX_PID_STR_SZ + 1);
+ sprintf(pid_prop_str, "%s%d", substr, getpid());
+--- openjdk/jdk/src/solaris/bin/jexec.c.orig
++++ openjdk/jdk/src/solaris/bin/jexec.c
+@@ -76,7 +76,7 @@
+ #include <string.h>
+ #include <limits.h>
+ #include <errno.h>
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ # include <sys/types.h>
+ # include <sys/stat.h>
+ # include <fcntl.h>
+@@ -89,7 +89,7 @@
+ static const char * BAD_EXEC_MSG = "jexec failed";
+ static const char * CRAZY_EXEC_MSG = "missing args";
+ static const char * MISSING_JAVA_MSG = "can't locate java";
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static const char * BAD_PATHNAME_MSG = "invalid path";
+ static const char * BAD_FILE_MSG = "invalid file";
+ static const char * BAD_MAGIC_MSG = "invalid file (bad magic number)";
+@@ -98,7 +98,7 @@
+
+ /* Define a constant that represents the number of directories to pop off the
+ * current location to find the java binary */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static const int RELATIVE_DEPTH = 2;
+ #else /* Solaris */
+ static const int RELATIVE_DEPTH = 3;
+@@ -111,7 +111,7 @@
+ static const char * JAR_FLAG = "-jar";
+
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* largest possible size for a local file header */
+ static const size_t CHUNK_SIZE = 65535;
+
+@@ -123,7 +123,7 @@
+ int main(int argc, const char * argv[]);
+ void errorExit(int error, const char * message);
+ int getJavaPath(const char * path, char * buf, int depth);
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ const char * isJar(const char * path);
+ #endif
+
+@@ -171,7 +171,7 @@
+ nargv = (const char **) malloc((argc + 2) * (sizeof (const char *)));
+ nargv[nargc++] = java;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* The "-jar" flag is already in the original args list on Solaris,
+ * so it only needs to be added on Linux. */
+ nargv[nargc++] = JAR_FLAG;
+@@ -181,7 +181,7 @@
+ const char * jarfile = argv[argi++];
+ const char * message = NULL;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* On Linux we also need to make sure argv[1] is really a JAR
+ * file (this will also resolve any symlinks, which helps). */
+ char jarPath[PATH_MAX + 1];
+@@ -290,7 +290,7 @@
+ }
+
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /*
+ * Check if the given file is a JAR file.
+ *
+--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java
+@@ -74,7 +74,7 @@
+ * Currently uses hardcoded values
+ */
+ private int getDefaultDimension() {
+- if (System.getProperty("os.name").equals("Linux")) {
++ if (System.getProperty("os.name").equals("Linux") || System.getProperty("os.name").equals("GNU/kFreeBSD")) {
+ return DEFAULT_WIDTH_LINUX;
+ } else {
+ return DEFAULT_WIDTH_SOLARIS;
+--- openjdk/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java
+@@ -294,7 +294,7 @@
+
+ super.setOsNameAndVersion();
+
+- if (!osName.equals("Linux")) {
++ if (!(osName.equals("Linux") || osName.equals("GNU/kFreeBSD"))) {
+ return;
+ }
+ try {
+--- openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java
+@@ -48,7 +48,7 @@
+ .doPrivileged(new GetPropertyAction("os.name"));
+ if (osname.equals("SunOS"))
+ return new SolarisAsynchronousChannelProvider();
+- if (osname.equals("Linux"))
++ if (osname.equals("Linux") || osname.equals("GNU/kFreeBSD"))
+ return new LinuxAsynchronousChannelProvider();
+ throw new InternalError("platform not recognized");
+ }
+--- openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java
+@@ -66,7 +66,7 @@
+ .doPrivileged(new GetPropertyAction("os.name"));
+ if (osname.equals("SunOS"))
+ return createProvider("sun.nio.fs.SolarisFileSystemProvider");
+- if (osname.equals("Linux"))
++ if (osname.equals("Linux") || osname.equals("GNU/kFreeBSD"))
+ return createProvider("sun.nio.fs.LinuxFileSystemProvider");
+ throw new AssertionError("Platform not recognized");
+ }
+--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java
+@@ -238,9 +238,6 @@
+ }
+ throw new UnixException("Value of " + DOS_XATTR_NAME + " attribute is invalid");
+ } catch (UnixException x) {
+- // default value when attribute does not exist
+- if (x.errno() == ENODATA)
+- return 0;
+ throw x;
+ } finally {
+ buffer.release();
+--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java
+@@ -101,9 +101,7 @@
+ LinuxNativeDispatcher.fgetxattr(fd, "user.java".getBytes(), 0L, 0);
+ return true;
+ } catch (UnixException e) {
+- // attribute does not exist
+- if (e.errno() == UnixConstants.ENODATA)
+- return true;
++ return false;
+ } finally {
+ UnixNativeDispatcher.close(fd);
+ }
+--- openjdk/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
+@@ -119,7 +119,7 @@
+ }
+
+ static boolean isBSD() {
+- return osname.equals("Linux");
++ return osname.equals("Linux") || osname.equals("GNU/kFreeBSD");
+ }
+
+ static final int UNINITIALIZED = -1;
+--- openjdk/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c.orig
++++ openjdk/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c
+@@ -35,7 +35,9 @@
+ #include <sys/swap.h>
+ #include <sys/resource.h>
+ #include <sys/times.h>
++#if defined(__linux__)
+ #include <sys/sysinfo.h>
++#endif
+ #include <ctype.h>
+ #include <dirent.h>
+ #include <errno.h>
+@@ -124,7 +126,7 @@
+ free(strtab);
+ return available ? ((jlong)avail * page_size) :
+ ((jlong)total * page_size);
+-#else /* __linux__ */
++#elif defined(__linux__)
+ int ret;
+ FILE *fp;
+ jlong total = 0, avail = 0;
+@@ -138,6 +140,13 @@
+ avail = (jlong)si.freeswap * si.mem_unit;
+
+ return available ? avail : total;
++#else /* __BSD__ */
++ /*
++ * XXXBSD: there's no way available to get swap info in
++ * FreeBSD. Usage of libkvm is not an option here
++ */
++ // throw_internal_error(env, "Unimplemented in FreeBSD");
++ return (0);
+ #endif
+ }
+
+--- openjdk/jdk/src/solaris/native/java/io/io_util_md.c.orig
++++ openjdk/jdk/src/solaris/native/java/io/io_util_md.c
+@@ -36,7 +36,7 @@
+ WITH_PLATFORM_STRING(env, path, ps) {
+ FD fd;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* Remove trailing slashes, since the kernel won't */
+ char *p = (char *)ps + strlen(ps) - 1;
+ while ((p > ps) && (*p == '/'))
+--- openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c.orig
++++ openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c
+@@ -93,7 +93,7 @@
+ #define START_CHILD_USE_CLONE 0 /* clone() currently disabled; see above. */
+
+ #ifndef START_CHILD_USE_CLONE
+- #ifdef __linux__
++ #if defined(__linux__) || defined(__GLIBC__)
+ #define START_CHILD_USE_CLONE 1
+ #else
+ #define START_CHILD_USE_CLONE 0
+@@ -102,7 +102,7 @@
+
+ /* By default, use vfork() on Linux. */
+ #ifndef START_CHILD_USE_VFORK
+- #ifdef __linux__
++ #if defined(__linux__) || defined(__GLIBC__)
+ #define START_CHILD_USE_VFORK 1
+ #else
+ #define START_CHILD_USE_VFORK 0
+--- openjdk/jdk/src/solaris/native/java/lang/java_props_md.c.orig
++++ openjdk/jdk/src/solaris/native/java/lang/java_props_md.c
+@@ -23,7 +23,7 @@
+ * questions.
+ */
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <stdio.h>
+ #include <ctype.h>
+ #endif
+@@ -45,7 +45,7 @@
+ #include "locale_str.h"
+ #include "java_props.h"
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #ifndef CODESET
+ #define CODESET _NL_CTYPE_CODESET_NAME
+ #endif
+@@ -133,7 +133,7 @@
+ /* Query the locale set for the category */
+ lc = setlocale(cat, NULL);
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__GLIBC__)
+ if (lc == NULL) {
+ return 0;
+ }
+@@ -273,7 +273,7 @@
+ * in order to use optimizations. */
+ *std_encoding = (*p != '\0') ? p : "ISO8859-1";
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /*
+ * Remap the encoding string to a different value for japanese
+ * locales on linux so that customized converters are used instead
+@@ -442,7 +442,7 @@
+ sprops.display_variant = sprops.variant;
+ sprops.sun_jnu_encoding = sprops.encoding;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+ sprops.unicode_encoding = "UnicodeLittle";
+ #else
+--- openjdk/jdk/src/solaris/native/java/lang/locale_str.h.orig
++++ openjdk/jdk/src/solaris/native/java/lang/locale_str.h
+@@ -48,7 +48,7 @@
+ "gl", "gl_ES",
+ "he", "iw_IL",
+ "hr", "hr_HR",
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ "hs", "en_US", // used on Linux, not clear what it stands for
+ #endif
+ "hu", "hu_HU",
+@@ -78,14 +78,14 @@
+ "sv", "sv_SE",
+ "th", "th_TH",
+ "tr", "tr_TR",
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ "ua", "en_US", // used on Linux, not clear what it stands for
+ #endif
+ "uk", "uk_UA",
+ "vi", "vi_VN",
+ "wa", "wa_BE",
+ "zh", "zh_CN",
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ "bokmal", "nb_NO",
+ "bokm\xE5l", "nb_NO",
+ "catalan", "ca_ES",
+@@ -146,13 +146,13 @@
+ "POSIX", "en",
+ "cz", "cs",
+ "he", "iw",
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ "hs", "en", // used on Linux, not clear what it stands for
+ #endif
+ "id", "in",
+ "sh", "sr", // sh is deprecated
+ "su", "fi",
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ "ua", "en", // used on Linux, not clear what it stands for
+ "catalan", "ca",
+ "croatian", "hr",
+@@ -195,7 +195,7 @@
+ * Linux/Solaris script string to Java script name mapping table.
+ */
+ static char *script_names[] = {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ "cyrillic", "Cyrl",
+ "devanagari", "Deva",
+ "iqtelif", "Latn",
+@@ -208,7 +208,7 @@
+ * Linux/Solaris country string to ISO3166 string mapping table.
+ */
+ static char *country_names[] = {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ "RN", "US", // used on Linux, not clear what it stands for
+ #endif
+ "YU", "CS", // YU has been removed from ISO 3166
+--- openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
+@@ -64,7 +64,7 @@
+ /* Something went wrong, maybe networking is not setup? */
+ strcpy(hostname, "localhost");
+ } else {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* On Linux gethostname() says "host.domain.sun.com". On
+ * Solaris gethostname() says "host", so extra work is needed.
+ */
+@@ -390,7 +390,7 @@
+ n = sendto(fd, sendbuf, plen, 0, (struct sockaddr *)him,
+ sizeof(struct sockaddr));
+ if (n < 0 && errno != EINPROGRESS ) {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ if (errno != EINVAL)
+ /*
+ * On some Linuxes, when bound to the loopback interface, sendto
+@@ -547,7 +547,7 @@
+ case ENETUNREACH: /* Network Unreachable */
+ case EAFNOSUPPORT: /* Address Family not supported */
+ case EADDRNOTAVAIL: /* address is not available on the remote machine */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ case EINVAL:
+ /*
+ * On some Linuxes, when bound to the loopback interface, connect
+--- openjdk/jdk/src/solaris/native/java/net/Inet6AddressImpl.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
+@@ -70,7 +70,7 @@
+ } else {
+ // ensure null-terminated
+ hostname[NI_MAXHOST] = '\0';
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* On Linux gethostname() says "host.domain.sun.com". On
+ * Solaris gethostname() says "host", so extra work is needed.
+ */
+@@ -508,7 +508,7 @@
+ plen = sizeof(struct icmp6_hdr) + sizeof(tv);
+ n = sendto(fd, sendbuf, plen, 0, (struct sockaddr*) him, sizeof(struct sockaddr_in6));
+ if (n < 0 && errno != EINPROGRESS) {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ if (errno != EINVAL)
+ /*
+ * On some Linuxes, when bound to the loopback interface, sendto
+@@ -675,7 +675,7 @@
+ case ENETUNREACH: /* Network Unreachable */
+ case EAFNOSUPPORT: /* Address Family not supported */
+ case EADDRNOTAVAIL: /* address is not available on the remote machine */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ case EINVAL:
+ /*
+ * On some Linuxes, when bound to the loopback interface, connect
+--- openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c
+@@ -53,6 +53,17 @@
+ #define _PATH_PROCNET_IFINET6 "/proc/net/if_inet6"
+ #endif
+
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++#include <sys/param.h>
++#include <sys/ioctl.h>
++#include <sys/sockio.h>
++#include <net/ethernet.h>
++#include <net/if_var.h>
++#include <net/if_dl.h>
++#include <netinet/in_var.h>
++#include <ifaddrs.h>
++#endif
++
+ #include "jvm.h"
+ #include "jni_util.h"
+ #include "net_util.h"
+@@ -1152,7 +1163,11 @@
+ return -1;
+ }
+
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ return if2.ifr_index;
++#else
+ return if2.ifr_ifindex;
++#endif
+ }
+
+ /**
+@@ -1647,4 +1662,302 @@
+
+ #endif
+
++/** BSD **/
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++/* Open socket for further ioct calls, try v4 socket first and
++ * if it falls return v6 socket
++ */
++
++#ifdef AF_INET6
++static int openSocketWithFallback(JNIEnv *env, const char *ifname){
++ int sock;
++ struct ifreq if2;
++
++ if ((sock = JVM_Socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
++ if (errno == EPROTONOSUPPORT){
++ if ( (sock = JVM_Socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
++ NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException", "IPV6 Socket creation failed");
++ return -1;
++ }
++ }
++ else{ // errno is not NOSUPPORT
++ NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException", "IPV4 Socket creation failed");
++ return -1;
++ }
++ }
++
++ return sock;
++}
++
++#else
++static int openSocketWithFallback(JNIEnv *env, const char *ifname){
++ return openSocket(env,AF_INET);
++}
++#endif
++
++/*
++ * Enumerates and returns all IPv4 interfaces
++ */
++static netif *enumIPv4Interfaces(JNIEnv *env, int sock, netif *ifs) {
++ struct ifaddrs *ifa, *origifa;
++
++ if (getifaddrs(&origifa) != 0) {
++ NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException",
++ "getifaddrs() function failed");
++ return ifs;
++ }
++
++ for (ifa = origifa; ifa != NULL; ifa = ifa->ifa_next) {
++
++ /*
++ * Skip non-AF_INET entries.
++ */
++ if (ifa->ifa_addr == NULL || ifa->ifa_addr->sa_family != AF_INET)
++ continue;
++
++ /*
++ * Add to the list.
++ */
++ ifs = addif(env, sock, ifa->ifa_name, ifs, ifa->ifa_addr, AF_INET, 0);
++
++ /*
++ * If an exception occurred then free the list.
++ */
++ if ((*env)->ExceptionOccurred(env)) {
++ freeifaddrs(origifa);
++ freeif(ifs);
++ return NULL;
++ }
++ }
++
++ /*
++ * Free socket and buffer
++ */
++ freeifaddrs(origifa);
++ return ifs;
++}
++
++
++/*
++ * Enumerates and returns all IPv6 interfaces on Linux
++ */
++
++#ifdef AF_INET6
++/*
++ * Determines the prefix on BSD for IPv6 interfaces.
++ */
++static
++int prefix(void *val, int size) {
++ u_char *name = (u_char *)val;
++ int byte, bit, plen = 0;
++
++ for (byte = 0; byte < size; byte++, plen += 8)
++ if (name[byte] != 0xff)
++ break;
++ if (byte == size)
++ return (plen);
++ for (bit = 7; bit != 0; bit--, plen++)
++ if (!(name[byte] & (1 << bit)))
++ break;
++ for (; bit != 0; bit--)
++ if (name[byte] & (1 << bit))
++ return (0);
++ byte++;
++ for (; byte < size; byte++)
++ if (name[byte])
++ return (0);
++ return (plen);
++}
++
++/*
++ * Enumerates and returns all IPv6 interfaces on BSD
++ */
++static netif *enumIPv6Interfaces(JNIEnv *env, int sock, netif *ifs) {
++ struct ifaddrs *ifa, *origifa;
++ struct sockaddr_in6 *sin6;
++ struct in6_ifreq ifr6;
++
++ if (getifaddrs(&origifa) != 0) {
++ NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException",
++ "getifaddrs() function failed");
++ return ifs;
++ }
++
++ for (ifa = origifa; ifa != NULL; ifa = ifa->ifa_next) {
++
++ /*
++ * Skip non-AF_INET6 entries.
++ */
++ if (ifa->ifa_addr == NULL || ifa->ifa_addr->sa_family != AF_INET6)
++ continue;
++
++ memset(&ifr6, 0, sizeof(ifr6));
++ strcpy(ifr6.ifr_name, ifa->ifa_name);
++ memcpy(&ifr6.ifr_addr, ifa->ifa_addr, MIN(sizeof(ifr6.ifr_addr), ifa->ifa_addr->sa_len));
++
++ if (ioctl(sock, SIOCGIFNETMASK_IN6, (caddr_t)&ifr6) < 0) {
++ NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException",
++ "ioctl SIOCGIFNETMASK_IN6 failed");
++ freeifaddrs(origifa);
++ freeif(ifs);
++ return NULL;
++ }
++
++ /* Add to the list. */
++ sin6 = (struct sockaddr_in6 *)&ifr6.ifr_addr;
++ ifs = addif(env, sock, ifa->ifa_name, ifs, ifa->ifa_addr, AF_INET6,
++ prefix(&sin6->sin6_addr, sizeof(struct in6_addr)));
++
++ /* If an exception occurred then free the list. */
++ if ((*env)->ExceptionOccurred(env)) {
++ freeifaddrs(origifa);
++ freeif(ifs);
++ return NULL;
++ }
++ }
++
++ /*
++ * Free socket and ifaddrs buffer
++ */
++ freeifaddrs(origifa);
++ return ifs;
++}
++#endif
++
++static int getIndex(int sock, const char *name){
++ /*
++ * Try to get the interface index
++ * (Not supported on Solaris 2.6 or 7)
++ */
++ struct ifreq if2;
++ strcpy(if2.ifr_name, name);
++
++ if (ioctl(sock, SIOCGIFINDEX, (char *)&if2) < 0) {
++ return -1;
++ }
++
++ return if2.ifr_index;
++}
++
++/**
++ * Returns the IPv4 broadcast address of a named interface, if it exists.
++ * Returns 0 if it doesn't have one.
++ */
++static struct sockaddr *getBroadcast(JNIEnv *env, int sock, const char *ifname, struct sockaddr *brdcast_store) {
++ struct sockaddr *ret = NULL;
++ struct ifreq if2;
++
++ memset((char *) &if2, 0, sizeof(if2));
++ strcpy(if2.ifr_name, ifname);
++
++ /* Let's make sure the interface does have a broadcast address */
++ if (ioctl(sock, SIOCGIFFLAGS, (char *)&if2) < 0) {
++ NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "IOCTL SIOCGIFFLAGS failed");
++ return ret;
++ }
++
++ if (if2.ifr_flags & IFF_BROADCAST) {
++ /* It does, let's retrieve it*/
++ if (ioctl(sock, SIOCGIFBRDADDR, (char *)&if2) < 0) {
++ NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "IOCTL SIOCGIFBRDADDR failed");
++ return ret;
++ }
++
++ ret = brdcast_store;
++ memcpy(ret, &if2.ifr_broadaddr, sizeof(struct sockaddr));
++ }
++
++ return ret;
++}
++
++/**
++ * Returns the IPv4 subnet prefix length (aka subnet mask) for the named
++ * interface, if it has one, otherwise return -1.
++ */
++static short getSubnet(JNIEnv *env, int sock, const char *ifname) {
++ unsigned int mask;
++ short ret;
++ struct ifreq if2;
++
++ memset((char *) &if2, 0, sizeof(if2));
++ strcpy(if2.ifr_name, ifname);
++
++ if (ioctl(sock, SIOCGIFNETMASK, (char *)&if2) < 0) {
++ NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "IOCTL SIOCGIFNETMASK failed");
++ return -1;
++ }
++
++ mask = ntohl(((struct sockaddr_in*)&(if2.ifr_addr))->sin_addr.s_addr);
++ ret = 0;
++ while (mask) {
++ mask <<= 1;
++ ret++;
++ }
++
++ return ret;
++}
++
++/**
++ * Get the Hardware address (usually MAC address) for the named interface.
++ * return puts the data in buf, and returns the length, in byte, of the
++ * MAC address. Returns -1 if there is no hardware address on that interface.
++ */
++static int getMacAddress(JNIEnv *env, int sock, const char* ifname, const struct in_addr* addr, unsigned char *buf) {
++ struct ifaddrs *ifa0, *ifa;
++ struct sockaddr *saddr;
++ int i;
++
++ /* Grab the interface list */
++ if (!getifaddrs(&ifa0)) {
++ /* Cycle through the interfaces */
++ for (i = 0, ifa = ifa0; ifa != NULL; ifa = ifa->ifa_next, i++) {
++ saddr = ifa->ifa_addr;
++ /* Link layer contains the MAC address */
++ if (saddr->sa_family == AF_LINK && !strcmp(ifname, ifa->ifa_name)) {
++ struct sockaddr_dl *sadl = (struct sockaddr_dl *) saddr;
++ /* Check the address is the correct length */
++ if (sadl->sdl_alen == ETHER_ADDR_LEN) {
++ memcpy(buf, (sadl->sdl_data + sadl->sdl_nlen), ETHER_ADDR_LEN);
++ freeifaddrs(ifa0);
++ return ETHER_ADDR_LEN;
++ }
++ }
++ }
++ freeifaddrs(ifa0);
++ }
++
++ return -1;
++}
++
++static int getMTU(JNIEnv *env, int sock, const char *ifname) {
++ struct ifreq if2;
++
++ memset((char *) &if2, 0, sizeof(if2));
++ strcpy(if2.ifr_name, ifname);
++
++ if (ioctl(sock, SIOCGIFMTU, (char *)&if2) < 0) {
++ NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "IOCTL SIOCGIFMTU failed");
++ return -1;
++ }
++
++ return if2.ifr_mtu;
++}
++
++static int getFlags(int sock, const char *ifname) {
++ struct ifreq if2;
++ int ret = -1;
++
++ memset((char *) &if2, 0, sizeof(if2));
++ strcpy(if2.ifr_name, ifname);
++
++ if (ioctl(sock, SIOCGIFFLAGS, (char *)&if2) < 0){
++ return -1;
++ }
++
++ return if2.ifr_flags;
++}
++
++#endif
++
++
+
+--- openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
+@@ -33,7 +33,7 @@
+ #ifdef __solaris__
+ #include <fcntl.h>
+ #endif
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <unistd.h>
+ #include <sys/sysctl.h>
+ #include <sys/utsname.h>
+@@ -331,7 +331,7 @@
+ /* The fdObj'fd */
+ jint fd;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ SOCKADDR addr;
+ int len;
+ #endif
+@@ -341,26 +341,37 @@
+ }
+ fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
+
++#if defined(__linux__) || defined(__GLIBC__)
+ #ifdef __linux__
+ if (isOldKernel) {
+ int t = 1;
+ setsockopt(fd, SOL_SOCKET, SO_BSDCOMPAT, (char*) &t, sizeof(int));
+ } else {
++#endif
+ memset(&addr, 0, sizeof(addr));
+ #ifdef AF_INET6
+ if (ipv6_available()) {
+ struct sockaddr_in6 *him6 = (struct sockaddr_in6 *)&addr;
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ him6->sin6_family = AF_INET6;
++#else
+ him6->sin6_family = AF_UNSPEC;
++#endif
+ len = sizeof(struct sockaddr_in6);
+ } else
+ #endif
+ {
+ struct sockaddr_in *him4 = (struct sockaddr_in*)&addr;
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ him4->sin_family = AF_INET;
++#else
+ him4->sin_family = AF_UNSPEC;
++#endif
+ len = sizeof(struct sockaddr_in);
+ }
+ JVM_Connect(fd, (struct sockaddr *)&addr, len);
+
++#ifdef __linux__
+ // After disconnecting a UDP socket, Linux kernel will set
+ // local port to zero if the port number comes from implicit
+ // bind. Successive send/recv on the same socket will fail.
+@@ -383,6 +394,7 @@
+ NET_Bind(fd, (struct sockaddr *)&addr, len);
+ }
+ }
++#endif
+ #else
+ JVM_Connect(fd, 0, 0);
+ #endif
+--- openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
+@@ -32,7 +32,7 @@
+ #endif
+ #include <netinet/tcp.h> /* Defines TCP_NODELAY, needed for 2.6 */
+ #include <netinet/in.h>
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <netinet/ip.h>
+ #endif
+ #include <netdb.h>
+@@ -41,7 +41,7 @@
+ #ifdef __solaris__
+ #include <fcntl.h>
+ #endif
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <unistd.h>
+ #include <sys/sysctl.h>
+ #endif
+@@ -463,7 +463,7 @@
+ /* report the appropriate exception */
+ if (connect_rv < 0) {
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /*
+ * Linux/GNU distribution setup /etc/hosts so that
+ * InetAddress.getLocalHost gets back the loopback address
+--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c
+@@ -46,6 +46,11 @@
+ #include <net/route.h>
+ #include <sys/utsname.h>
+
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#endif
++
+ #ifndef IPV6_FLOWINFO_SEND
+ #define IPV6_FLOWINFO_SEND 33
+ #endif
+--- openjdk/jdk/src/solaris/native/java/net/net_util_md.h.orig
++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.h
+@@ -37,7 +37,7 @@
+ #endif
+
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ extern int NET_Timeout(int s, long timeout);
+ extern int NET_Read(int s, void* buf, size_t len);
+ extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
+@@ -147,7 +147,7 @@
+ /************************************************************************
+ * Utilities
+ */
+-#ifdef __linux__
++#if defined(__linux__)
+ extern int kernelIsV22();
+ extern int kernelIsV24();
+ #endif
+--- openjdk/jdk/src/solaris/native/java/nio/MappedByteBuffer.c.orig
++++ openjdk/jdk/src/solaris/native/java/nio/MappedByteBuffer.c
+@@ -40,7 +40,7 @@
+ int result = 0;
+ int i = 0;
+ void *a = (void *) jlong_to_ptr(address);
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ unsigned char *vec = (unsigned char *)malloc(numPages * sizeof(char));
+ #else
+ char *vec = (char *)malloc(numPages * sizeof(char));
+--- openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c.orig
++++ openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c
+@@ -49,7 +49,7 @@
+ #define fileclose fclose
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+
+ static const char *ETC_TIMEZONE_FILE = "/etc/timezone";
+ static const char *ZONEINFO_DIR = "/usr/share/zoneinfo";
+@@ -122,7 +122,7 @@
+ return NULL;
+ }
+
+-#if defined(__linux__) || (defined(__solaris__) && (defined(_POSIX_PTHREAD_SEMANTICS) || \
++#if defined(__linux__) || defined(__GLIBC__) || (defined(__solaris__) && (defined(_POSIX_PTHREAD_SEMANTICS) || \
+ defined(_LP64)))
+ while (readdir_r(dirp, entry, &dp) == 0 && dp != NULL) {
+ #else
+@@ -211,7 +211,7 @@
+ return tz;
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+
+ /*
+ * Performs Linux specific mapping and returns a zone ID
+@@ -624,7 +624,7 @@
+
+ tz = getenv("TZ");
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ if (tz == NULL) {
+ #else
+ #ifdef __solaris__
+@@ -650,7 +650,7 @@
+ #endif
+
+ if (tz != NULL) {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /*
+ * Ignore "posix/" prefix.
+ */
+--- openjdk/jdk/src/solaris/native/sun/awt/VDrawingArea.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/VDrawingArea.c
+@@ -33,7 +33,7 @@
+ #include <stdio.h>
+ #include <malloc.h>
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* XXX: Shouldn't be necessary. */
+ #include "awt_p.h"
+ #endif /* __linux__ */
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_Font.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_Font.c
+@@ -334,7 +334,7 @@
+ if (strcmp(style, "regular") == 0) {
+ altstyle = "roman";
+ }
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ if (!strcmp(family, "lucidasans")) {
+ family = "lucida";
+ }
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
+@@ -122,7 +122,7 @@
+ */
+
+ #define MAXFRAMEBUFFERS 16
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ typedef struct {
+ int screen_number;
+ short x_org;
+@@ -427,7 +427,7 @@
+ {
+ xrenderLibHandle = dlopen("libXrender.so.1", RTLD_LAZY | RTLD_GLOBAL);
+
+-#ifndef __linux__ /* SOLARIS */
++#if ! defined(__linux__) && ! defined(__GLIBC__) /* SOLARIS */
+ if (xrenderLibHandle == NULL) {
+ xrenderLibHandle = dlopen("/usr/sfw/lib/libXrender.so.1",
+ RTLD_LAZY | RTLD_GLOBAL);
+@@ -640,7 +640,7 @@
+ #endif /* HEADLESS */
+
+ #ifndef HEADLESS
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static void xinerama_init_linux()
+ {
+ void* libHandle = 0;
+@@ -688,7 +688,7 @@
+ }
+ }
+ #endif
+-#ifndef __linux__ /* Solaris */
++#if ! defined(__linux__) && ! defined(__GLIBC__) /* Solaris */
+ static void xinerama_init_solaris()
+ {
+ void* libHandle = 0;
+@@ -749,7 +749,7 @@
+ }
+
+ DTRACE_PRINTLN("Xinerama extension is available");
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ xinerama_init_linux();
+ #else /* Solaris */
+ xinerama_init_solaris();
+@@ -1628,7 +1628,7 @@
+ {
+ jobject point = NULL;
+ #ifndef HEADLESS /* return NULL in HEADLESS, Linux */
+-#ifndef __linux__
++#if ! defined(__linux__) && ! defined(__GLIBC__)
+ int x,y;
+
+ AWT_LOCK();
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_InputMethod.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_InputMethod.c
+@@ -67,7 +67,7 @@
+ XIMPreeditDrawCallbackStruct *);
+ static void PreeditCaretCallback(XIC, XPointer,
+ XIMPreeditCaretCallbackStruct *);
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static void StatusStartCallback(XIC, XPointer, XPointer);
+ static void StatusDoneCallback(XIC, XPointer, XPointer);
+ static void StatusDrawCallback(XIC, XPointer,
+@@ -81,7 +81,7 @@
+ #define PreeditDoneIndex 1
+ #define PreeditDrawIndex 2
+ #define PreeditCaretIndex 3
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #define StatusStartIndex 4
+ #define StatusDoneIndex 5
+ #define StatusDrawIndex 6
+@@ -99,14 +99,14 @@
+ (XIMProc)PreeditDoneCallback,
+ (XIMProc)PreeditDrawCallback,
+ (XIMProc)PreeditCaretCallback,
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ (XIMProc)StatusStartCallback,
+ (XIMProc)StatusDoneCallback,
+ (XIMProc)StatusDrawCallback,
+ #endif
+ };
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #define MAX_STATUS_LEN 100
+ typedef struct {
+ Window w; /*status window id */
+@@ -146,7 +146,7 @@
+ #endif /* XAWT */
+ jobject x11inputmethod; /* global ref to X11InputMethod instance */
+ /* associated with the XIC */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ StatusWindow *statusWindow; /* our own status window */
+ #else
+ #ifndef XAWT
+@@ -425,7 +425,7 @@
+ static void
+ freeX11InputMethodData(JNIEnv *env, X11InputMethodData *pX11IMData)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ if (pX11IMData->statusWindow != NULL){
+ StatusWindow *sw = pX11IMData->statusWindow;
+ XFreeGC(awt_display, sw->lightGC);
+@@ -531,7 +531,7 @@
+ pX11IMData = getX11InputMethodData(env, currentX11InputMethodInstance);
+
+ if (pX11IMData == NULL) {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ return False;
+ #else
+ return result;
+@@ -539,7 +539,7 @@
+ }
+
+ if ((ic = pX11IMData->current_ic) == (XIC)0){
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ return False;
+ #else
+ return result;
+@@ -648,7 +648,7 @@
+ return result;
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static StatusWindow *createStatusWindow(
+ #ifdef XAWT
+ Window parent) {
+@@ -1050,7 +1050,7 @@
+ return FALSE ;
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ on_the_spot_styles |= XIMStatusNothing;
+
+ /*kinput does not support XIMPreeditCallbacks and XIMStatusArea
+@@ -1134,7 +1134,7 @@
+ NULL);
+ if (preedit == (XVaNestedList)NULL)
+ goto err;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /*always try XIMStatusCallbacks for active client...*/
+ {
+ status = (XVaNestedList)XVaCreateNestedList(0,
+@@ -1343,7 +1343,7 @@
+
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static void
+ StatusStartCallback(XIC ic, XPointer client_data, XPointer call_data)
+ {
+@@ -1517,14 +1517,14 @@
+ /* Use IMInstantiate call back only on Linux, as there is a bug in Solaris
+ (4768335)
+ */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ registered = XRegisterIMInstantiateCallback(dpy, NULL, NULL,
+ NULL, (XIDProc)OpenXIMCallback, NULL);
+ if (!registered) {
+ /* directly call openXIM callback */
+ #endif
+ OpenXIMCallback(dpy, NULL, NULL);
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ }
+ #endif
+
+@@ -1588,7 +1588,7 @@
+ #endif /* XAWT */
+ globalRef = (*env)->NewGlobalRef(env, this);
+ pX11IMData->x11inputmethod = globalRef;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ pX11IMData->statusWindow = NULL;
+ #else /* __linux__ */
+ #ifndef XAWT
+@@ -1741,14 +1741,14 @@
+ setXICFocus(pX11IMData->current_ic, req);
+ currentX11InputMethodInstance = pX11IMData->x11inputmethod;
+ currentFocusWindow = w;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ if (active && pX11IMData->statusWindow && pX11IMData->statusWindow->on)
+ onoffStatusWindow(pX11IMData, w, True);
+ #endif
+ } else {
+ currentX11InputMethodInstance = NULL;
+ currentFocusWindow = 0;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ onoffStatusWindow(pX11IMData, 0, False);
+ if (pX11IMData->current_ic != NULL)
+ #endif
+@@ -1765,7 +1765,7 @@
+ Java_sun_awt_X11InputMethod_turnoffStatusWindow(JNIEnv *env,
+ jobject this)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ X11InputMethodData *pX11IMData;
+ StatusWindow *statusWindow;
+
+@@ -1862,7 +1862,7 @@
+ X11InputMethodData *pX11IMData;
+ XVaNestedList status;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /*do nothing for linux? */
+ #else
+ AWT_LOCK();
+@@ -1968,7 +1968,7 @@
+ JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow
+ (JNIEnv *env, jobject this, jlong window)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ AWT_LOCK();
+ adjustStatusWindow(window);
+ AWT_UNLOCK();
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_MToolkit.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_MToolkit.c
+@@ -63,7 +63,7 @@
+ extern JavaVM *jvm;
+
+ #ifndef HEADLESS
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ extern void statusWindowEventHandler(XEvent event);
+ #endif
+ #endif /* !HEADLESS */
+@@ -1642,7 +1642,7 @@
+ */
+ Widget widget=XtWindowToWidget(awt_display, xev.xany.window);
+ eventNumber++;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ statusWindowEventHandler(xev);
+ #endif
+ xembed_eventHandler(&xev);
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c
+@@ -45,7 +45,7 @@
+ #include "wsutils.h"
+ #include "list.h"
+ #include "multiVis.h"
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <sys/socket.h>
+ #endif
+
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_util.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_util.c
+@@ -605,7 +605,7 @@
+
+ return answer;
+ }
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+
+
+ #define MAXARGS 10
+@@ -676,7 +676,7 @@
+ return w;
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ static XRectangle geometryRect;
+ XVaNestedList awt_util_getXICStatusAreaList(Widget w)
+ {
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_util.h.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_util.h
+@@ -195,7 +195,7 @@
+
+
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ typedef struct _XmImRefRec {
+ Cardinal num_refs; /* Number of referencing widgets. */
+ Cardinal max_refs; /* Maximum length of refs array. */
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c
+@@ -35,7 +35,7 @@
+ #include <X11/Xlib.h>
+ #include <X11/Xatom.h>
+ #include <Xm/MwmUtil.h>
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <execinfo.h>
+ #endif
+ #include <stdio.h>
+@@ -835,7 +835,7 @@
+ AWT_UNLOCK();
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ void
+ print_stack (void)
+ {
+--- openjdk/jdk/src/solaris/native/sun/awt/extutil.h.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/extutil.h
+@@ -58,7 +58,7 @@
+ */
+ /* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+
+ #ifndef _EXTUTIL_H_
+ #define _EXTUTIL_H_
+--- openjdk/jdk/src/solaris/native/sun/awt/fontpath.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/fontpath.c
+@@ -23,7 +23,7 @@
+ * questions.
+ */
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <string.h>
+ #endif /* __linux__ */
+ #include <stdio.h>
+@@ -50,7 +50,7 @@
+ #define AWT_UNLOCK()
+ #endif /* !HEADLESS */
+
+-#if defined(__linux__) && !defined(MAP_FAILED)
++#if !defined(MAP_FAILED)
+ #define MAP_FAILED ((caddr_t)-1)
+ #endif
+
+@@ -64,7 +64,7 @@
+
+ #define MAXFDIRS 512 /* Max number of directories that contain fonts */
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__GLIBC__)
+ /*
+ * This can be set in the makefile to "/usr/X11" if so desired.
+ */
+@@ -365,7 +365,7 @@
+
+ #endif /* !HEADLESS */
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* from awt_LoadLibrary.c */
+ JNIEXPORT jboolean JNICALL AWTIsHeadless();
+ #endif
+@@ -490,7 +490,7 @@
+ */
+ fcdirs = getFontConfigLocations();
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ knowndirs = fullLinuxFontPath;
+ #else /* IF SOLARIS */
+ knowndirs = fullSolarisFontPath;
+@@ -502,7 +502,7 @@
+ * be initialised.
+ */
+ #ifndef HEADLESS
+-#ifdef __linux__ /* There's no headless build on linux ... */
++#if defined(__linux__) || defined(__GLIBC__) /* There's no headless build on linux ... */
+ if (!AWTIsHeadless()) { /* .. so need to call a function to check */
+ #endif
+ /* Using the X11 font path to locate font files is now a fallback
+@@ -517,7 +517,7 @@
+ x11dirs = getX11FontPath();
+ }
+ AWT_UNLOCK();
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ }
+ #endif
+ #endif /* !HEADLESS */
+--- openjdk/jdk/src/solaris/native/sun/awt/multi_font.c.orig
++++ openjdk/jdk/src/solaris/native/sun/awt/multi_font.c
+@@ -348,7 +348,7 @@
+ return JNI_TRUE;
+ }
+ #ifndef XAWT
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ XmString
+ unicodeXmStringCreate(char* text, char* tag, int len) {
+ XmString ret_val;
+@@ -433,7 +433,7 @@
+ char *offsetStringData;
+
+ offsetStringData = stringData + (4 * sizeof(char));
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ len = buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3];
+ /* Motif XmStringCreate() API requests "text must be a NULL-terminated
+ string" and its implementation uses "strlen()" to calculate the length
+--- openjdk/jdk/src/solaris/native/sun/java2d/j2d_md.h.orig
++++ openjdk/jdk/src/solaris/native/sun/java2d/j2d_md.h
+@@ -30,7 +30,7 @@
+ /*
+ * Linux version of <sys/types.h> does not define intptr_t
+ */
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <stdint.h>
+ #endif /* __linux__ */
+
+--- openjdk/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c.orig
++++ openjdk/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c
+@@ -804,7 +804,7 @@
+ static int initialized;
+ static int usevis = JNI_TRUE;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ # define ULTRA_CHIP "sparc64"
+ #else
+ # define ULTRA_CHIP "sun4u"
+--- openjdk/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c.orig
++++ openjdk/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c
+@@ -33,7 +33,7 @@
+ #include <strings.h>
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <string.h>
+ #endif
+
+--- openjdk/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c.orig
++++ openjdk/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c
+@@ -29,7 +29,7 @@
+ #include "jlong.h"
+ #include "sun_net_spi_DefaultProxySelector.h"
+ #include <stdio.h>
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <string.h>
+ #else
+ #include <strings.h>
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c
+@@ -35,7 +35,7 @@
+ #include <string.h>
+ #include <errno.h>
+
+-#if __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <netinet/in.h>
+ #endif
+
+@@ -86,7 +86,7 @@
+ rv = connect(fd, 0, 0);
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ {
+ int len;
+ SOCKADDR sa;
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/DatagramDispatcher.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/DatagramDispatcher.c
+@@ -73,7 +73,7 @@
+ m.msg_accrightslen = 0;
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ m.msg_control = NULL;
+ m.msg_controllen = 0;
+ #endif
+@@ -121,7 +121,7 @@
+ m.msg_accrightslen = 0;
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ m.msg_control = NULL;
+ m.msg_controllen = 0;
+ #endif
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c
+@@ -37,6 +37,12 @@
+
+ #if defined(__linux__) || defined(__solaris__)
+ #include <sys/sendfile.h>
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <sys/uio.h>
++#define lseek64 lseek
++#define mmap64 mmap
+ #endif
+
+ static jfieldID chan_fd; /* jobject 'fd' in sun.io.FileChannelImpl */
+@@ -192,6 +198,31 @@
+ return IOS_THROWN;
+ }
+ return result;
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ off_t numBytes;
++ int result;
++
++ numBytes = count;
++
++ result = sendfile(srcFD, dstFD, position, count, NULL, &numBytes, 0);
++
++ if (numBytes > 0)
++ return numBytes;
++
++ if (result == -1) {
++ if (errno == EAGAIN)
++ return IOS_UNAVAILABLE;
++ if (errno == EOPNOTSUPP || errno == ENOTSOCK || errno == ENOTCONN)
++ return IOS_UNSUPPORTED_CASE;
++ if ((errno == EINVAL) && ((ssize_t)count >= 0))
++ return IOS_UNSUPPORTED_CASE;
++ if (errno == EINTR)
++ return IOS_INTERRUPTED;
++ JNU_ThrowIOExceptionWithLastError(env, "Transfer failed");
++ return IOS_THROWN;
++ }
++
++ return result;
+ #else
+ return IOS_UNSUPPORTED_CASE;
+ #endif
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
+@@ -33,7 +33,7 @@
+ #include "nio_util.h"
+
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <pthread.h>
+ #include <sys/signal.h>
+
+@@ -51,7 +51,7 @@
+ JNIEXPORT void JNICALL
+ Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+
+ /* Install the null handler for INTERRUPT_SIGNAL. This might overwrite the
+ * handler previously installed by java/net/linux_close.c, but that's okay
+@@ -74,7 +74,7 @@
+ JNIEXPORT jlong JNICALL
+ Java_sun_nio_ch_NativeThread_current(JNIEnv *env, jclass cl)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ return (long)pthread_self();
+ #else
+ return -1;
+@@ -84,7 +84,7 @@
+ JNIEXPORT void JNICALL
+ Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL))
+ JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed");
+ #endif
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/Net.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/Net.c
+@@ -86,7 +86,7 @@
+ #endif /* __solaris__ */
+
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+
+ #ifndef IP_BLOCK_SOURCE
+
+@@ -213,7 +213,7 @@
+ return -1;
+ }
+ }
+-#if defined(__linux__) && defined(AF_INET6)
++#if ( defined(__linux__) || defined(__GLIBC__) ) && defined(AF_INET6)
+ /* By default, Linux uses the route default */
+ if (domain == AF_INET6 && type == SOCK_DGRAM) {
+ int arg = 1;
+@@ -475,7 +475,7 @@
+ optval = (void*)&mreq6;
+ optlen = sizeof(mreq6);
+ } else {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ /* Include-mode filtering broken on Linux at least to 2.6.24 */
+ return IOS_UNAVAILABLE;
+ #else
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/Sctp.h.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/Sctp.h
+@@ -67,7 +67,7 @@
+
+
+
+-#else /* __linux__ */
++#elif __linux__
+ #include <stdint.h>
+ #include <linux/types.h>
+ #include <sys/socket.h>
+@@ -320,8 +320,28 @@
+ typedef int sctp_peeloff_func(int sock, sctp_assoc_t id);
+
+
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++
++#include <stdint.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <bsd/sys/cdefs.h>
++#include <netinet/sctp.h>
++#include <netinet/sctp_peeloff.h>
++#include <netinet/sctp_uio.h>
++#include "jni.h"
++
+ #endif /* __linux__ */
+
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++#define nio_sctp_getladdrs sctp_getladdrs
++#define nio_sctp_freeladdrs sctp_freeladdrs
++#define nio_sctp_getpaddrs sctp_getpaddrs
++#define nio_sctp_freepaddrs sctp_freepaddrs
++#define nio_sctp_bindx sctp_bindx
++#define nio_sctp_peeloff sctp_peeloff
++#else
++
+ sctp_getladdrs_func* nio_sctp_getladdrs;
+ sctp_freeladdrs_func* nio_sctp_freeladdrs;
+ sctp_getpaddrs_func* nio_sctp_getpaddrs;
+@@ -329,6 +349,8 @@
+ sctp_bindx_func* nio_sctp_bindx;
+ sctp_peeloff_func* nio_sctp_peeloff;
+
++#endif
++
+ jboolean loadSocketExtensionFuncs(JNIEnv* env);
+
+ #endif /* !SUN_NIO_CH_SCTP_H */
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/SctpChannelImpl.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/SctpChannelImpl.c
+@@ -337,7 +337,7 @@
+ break;
+ case SCTP_ADDR_MADE_PRIM :
+ event = sun_nio_ch_SctpPeerAddrChange_SCTP_ADDR_MADE_PRIM;
+-#ifdef __linux__ /* Solaris currently doesn't support SCTP_ADDR_CONFIRMED */
++#if defined(__linux__) || defined(__GLIBC__) /* Solaris currently doesn't support SCTP_ADDR_CONFIRMED */
+ break;
+ case SCTP_ADDR_CONFIRMED :
+ event = sun_nio_ch_SctpPeerAddrChange_SCTP_ADDR_CONFIRMED;
+@@ -450,7 +450,7 @@
+ } else if (errno == EINTR) {
+ return IOS_INTERRUPTED;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ } else if (errno == ENOTCONN) {
+ /* ENOTCONN when EOF reached */
+ rv = 0;
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/SctpNet.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/SctpNet.c
+@@ -58,6 +58,7 @@
+ */
+ jboolean loadSocketExtensionFuncs
+ (JNIEnv* env) {
++#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
+ if (dlopen(nativeSctpLib, RTLD_GLOBAL | RTLD_LAZY) == NULL) {
+ JNU_ThrowByName(env, "java/lang/UnsupportedOperationException",
+ dlerror());
+@@ -105,6 +106,7 @@
+ dlerror());
+ return JNI_FALSE;
+ }
++#endif /* __FreeBSD__ */
+
+ funcsLoaded = JNI_TRUE;
+ return JNI_TRUE;
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c
+@@ -28,7 +28,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+
+-#if __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <netinet/in.h>
+ #endif
+
+--- openjdk/jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c
+@@ -31,7 +31,7 @@
+ #include <string.h>
+ #include <poll.h>
+
+-#if __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <netinet/in.h>
+ #endif
+
+--- openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c
+@@ -35,7 +35,7 @@
+ #include <strings.h>
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <string.h>
+ #endif
+
+--- openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
+@@ -26,7 +26,7 @@
+ /**
+ * fstatat in glibc requires _ATFILE_SOURCE to be defined.
+ */
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__GLIBC__)
+ #define _ATFILE_SOURCE
+ #endif
+
+@@ -51,7 +51,7 @@
+ #include <sys/mkdev.h>
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <string.h>
+ #include <mntent.h>
+ #endif
+--- openjdk/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c.orig
++++ openjdk/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c
+@@ -106,7 +106,9 @@
+ DEF(ENOSYS);
+ DEF(ELOOP);
+ DEF(EROFS);
++#if defined(ENODATA)
+ DEF(ENODATA);
++#endif
+ DEF(ERANGE);
+
+ // flags used with openat/unlinkat/etc.
+--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c.orig
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+@@ -27,7 +27,7 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <execinfo.h>
+ #endif
+
+@@ -785,7 +785,7 @@
+ return ret;
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ void print_stack(void)
+ {
+ void *array[10];
+--- openjdk/jdk/src/solaris/transport/socket/socket_md.c.orig
++++ openjdk/jdk/src/solaris/transport/socket/socket_md.c
+@@ -36,7 +36,7 @@
+ #ifdef __solaris__
+ #include <thread.h>
+ #endif
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <pthread.h>
+ #include <sys/poll.h>
+ #endif
+@@ -283,7 +283,7 @@
+
+ #endif
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ int
+ dbgsysTlsAlloc() {
+ pthread_key_t key;
diff --git a/debian/patches/kfreebsd-sync-issues.diff b/debian/patches/kfreebsd-sync-issues.diff
new file mode 100644
index 0000000..5e83e21
--- /dev/null
+++ b/debian/patches/kfreebsd-sync-issues.diff
@@ -0,0 +1,102 @@
+Description: Hack for GNU/kFreeBSD platform: add some sleep during build.
+ We add some <sleep/> call in jaxp/jaxws/langtool ANT build.xml to get
+ a build of those JAR archives with *all* classes.
+ Without this hack, JAR contains only part of expected classes and so
+ we have many random/unexpected build failures.
+ TODO: I suspect some issue with jar tool and/or jar Ant task which might
+ not handle correctly timestamp on UFS filesystem ?!
+ <http://ant.apache.org/manual/Tasks/jar.html>
+ TODO: We should drop this patch and found a proper fix.
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2011-08-02
+Forwarded: no
+Index: openjdk/jaxp/build.xml
+===================================================================
+--- openjdk/jaxp/build.xml.orig
++++ openjdk/jaxp/build.xml
+@@ -108,7 +108,13 @@
+ depends="init, -init-src-dirs, -dist-classes-jar-uptodate"
+ unless="dist.classes.jar.uptodate">
+ <delete file="${dist.classes.jar}"/>
++
++<sleep seconds="70"/>
++
+ <jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
++
++<sleep seconds="70"/>
++
+ </target>
+
+ <target name="-build-setup"
+@@ -136,6 +142,9 @@
+ <compilerarg line="${javac.version.opt} ${javac.lint.opts} ${javac.no.jdk.warnings}"/>
+ <src refid="src.dir.id"/>
+ </javac>
++
++<sleep seconds="70"/>
++
+ </target>
+
+ <!-- Test. (FIXME: Need to know how to run tests.) -->
+Index: openjdk/jaxws/build.xml
+===================================================================
+--- openjdk/jaxws/build.xml.orig
++++ openjdk/jaxws/build.xml
+@@ -108,7 +108,13 @@
+ depends="init, -init-src-dirs, -dist-classes-jar-uptodate"
+ unless="dist.classes.jar.uptodate">
+ <delete file="${dist.classes.jar}"/>
++
++<sleep seconds="70"/>
++
+ <jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
++
++<sleep seconds="70"/>
++
+ </target>
+
+ <target name="-build-setup"
+@@ -136,6 +142,9 @@
+ <compilerarg line="${javac.version.opt} ${javac.lint.opts} ${javac.no.jdk.warnings}"/>
+ <src refid="src.dir.id"/>
+ </javac>
++
++<sleep seconds="70"/>
++
+ </target>
+
+ <!-- Test. (FIXME: Need to know how to run tests.) -->
+Index: openjdk/langtools/make/build.xml
+===================================================================
+--- openjdk/langtools/make/build.xml.orig
++++ openjdk/langtools/make/build.xml
+@@ -234,6 +234,9 @@
+ <include name="*"/>
+ </chmod>
+ <mkdir dir="${dist.lib.dir}"/>
++
++<sleep seconds="70"/>
++
+ <jar file="${dist.lib.dir}/classes.jar" basedir="${build.classes.dir}"/>
+ <zip file="${dist.lib.dir}/src.zip" basedir="${src.classes.dir}"/>
+ </target>
+@@ -731,6 +734,9 @@
+ <attribute name="jarclasspath" default=""/>
+ <sequential>
+ <mkdir dir="@{lib.dir}"/>
++
++<sleep seconds="70"/>
++
+ <jar destfile="@{lib.dir}/@{name}.jar"
+ basedir="@{classes.dir}"
+ includes="@{includes}">
+@@ -858,6 +864,9 @@
+ destdir="${build.toolclasses.dir}/"
+ classpath="${ant.core.lib}"
+ includeantruntime="false"/>
++
++<sleep seconds="70"/>
++
+ <taskdef name="pcompile"
+ classname="CompilePropertiesTask"
+ classpath="${build.toolclasses.dir}/"/>
diff --git a/debian/patches/ld-symbolic-functions.diff b/debian/patches/ld-symbolic-functions.diff
new file mode 100644
index 0000000..19c02f0
--- /dev/null
+++ b/debian/patches/ld-symbolic-functions.diff
@@ -0,0 +1,33 @@
+--- openjdk/hotspot/agent/src/os/linux/Makefile.orig 2008-07-26 23:40:27.434474148 +0200
++++ openjdk/hotspot/agent/src/os/linux/Makefile 2008-07-26 23:42:08.776002862 +0200
+@@ -62,7 +62,7 @@
+
+ $(LIBSA): $(OBJS) mapfile
+ if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
+- $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
++ $(GCC) -shared -Wl,-Bsymbolic-functions $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
+
+ test.o: test.c
+ $(GCC) -c -o test.o -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) test.c
+--- openjdk/hotspot/make/linux/makefiles/gcc.make.orig 2008-07-26 23:40:27.464474601 +0200
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-07-26 23:42:08.776002862 +0200
+@@ -150,6 +150,7 @@
+
+ # Enable linker optimization
+ LFLAGS += -Xlinker -O1
++LFLAGS += -Wl,-Bsymbolic-functions
+
+ # If this is a --hash-style=gnu system, use --hash-style=both
+ # The gnu .hash section won't work on some Linux systems like SuSE 10.
+
+--- openjdk/jdk/make/common/Defs-linux.gmk.orig 2008-07-26 23:40:27.444474299 +0200
++++ openjdk/jdk/make/common/Defs-linux.gmk 2008-07-26 23:42:08.776002862 +0200
+@@ -215,7 +215,7 @@
+
+ EXTRA_LIBS += -lc
+
+-LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs
++LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs -Wl,-Bsymbolic-functions
+ LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
+
+ #
diff --git a/debian/patches/libpcsclite-dlopen.diff b/debian/patches/libpcsclite-dlopen.diff
new file mode 100644
index 0000000..e9cb61b
--- /dev/null
+++ b/debian/patches/libpcsclite-dlopen.diff
@@ -0,0 +1,36 @@
+--- openjdk/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java.orig 2012-07-25 19:24:09.000000000 +0200
++++ openjdk/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java 2012-08-29 19:00:39.460633566 +0200
+@@ -48,6 +48,7 @@
+
+ private final static String PROP_NAME = "sun.security.smartcardio.library";
+
++ private final static String LIB0 = "libpcsclite.so.1";
+ private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so";
+ private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
+ private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
+@@ -104,22 +105,9 @@
+ if (lib.length() != 0) {
+ return lib;
+ }
+- lib = expand(LIB1);
+- if (new File(lib).isFile()) {
+- // if LIB1 exists, use that
+- return lib;
+- }
+- lib = expand(LIB2);
+- if (new File(lib).isFile()) {
+- // if LIB2 exists, use that
+- return lib;
+- }
+- lib = PCSC_FRAMEWORK;
+- if (new File(lib).isFile()) {
+- // if PCSC.framework exists, use that
+- return lib;
+- }
+- throw new IOException("No PC/SC library found on this system");
++ // let dlopen do the work
++ lib = LIB0;
++ return lib;
+ }
+
+ private static native void initialize(String libraryName);
diff --git a/debian/patches/no-pch-build.diff b/debian/patches/no-pch-build.diff
new file mode 100644
index 0000000..0e1de32
--- /dev/null
+++ b/debian/patches/no-pch-build.diff
@@ -0,0 +1,110 @@
+--- openjdk/hotspot/src/share/vm/oops/arrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/arrayKlassKlass.cpp 2013-04-15 13:57:24.992929086 +0200
+@@ -30,6 +30,7 @@
+ #include "runtime/handles.inline.hpp"
+ #ifndef SERIALGC
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "memory/cardTableRS.hpp"
+--- openjdk/hotspot/src/share/vm/oops/constantPoolKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/constantPoolKlass.cpp 2013-04-15 14:02:52.143087149 +0200
+@@ -49,6 +49,7 @@
+ #endif
+ #ifndef SERIALGC
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "memory/cardTableRS.hpp"
+--- openjdk/hotspot/src/share/vm/oops/cpCacheKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/cpCacheKlass.cpp 2013-04-15 14:04:45.219838633 +0200
+@@ -35,6 +35,7 @@
+ #include "runtime/handles.inline.hpp"
+ #ifndef SERIALGC
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "memory/cardTableRS.hpp"
+--- openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp 2013-04-15 14:07:55.861109867 +0200
+@@ -70,6 +70,7 @@
+ #include "gc_implementation/g1/g1RemSet.inline.hpp"
+ #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "oops/oop.pcgc.inline.hpp"
+--- openjdk/hotspot/src/share/vm/oops/instanceKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/instanceKlassKlass.cpp 2013-04-15 14:08:53.541485528 +0200
+@@ -44,6 +44,7 @@
+ #include "runtime/fieldDescriptor.hpp"
+ #ifndef SERIALGC
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "memory/cardTableRS.hpp"
+--- openjdk/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp 2013-04-15 14:10:11.162003798 +0200
+@@ -42,6 +42,7 @@
+ #include "gc_implementation/g1/g1RemSet.inline.hpp"
+ #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "oops/oop.pcgc.inline.hpp"
+--- openjdk/hotspot/src/share/vm/oops/instanceRefKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/instanceRefKlass.cpp 2013-04-15 14:11:11.726403390 +0200
+@@ -39,6 +39,7 @@
+ #include "gc_implementation/g1/g1RemSet.inline.hpp"
+ #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "oops/oop.pcgc.inline.hpp"
+--- openjdk/hotspot/src/share/vm/oops/klassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/klassKlass.cpp 2013-04-15 14:13:01.999133769 +0200
+@@ -42,6 +42,7 @@
+ #include "runtime/handles.inline.hpp"
+ #ifndef SERIALGC
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "memory/cardTableRS.hpp"
+--- openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp 2013-04-15 14:16:10.616389484 +0200
+@@ -47,6 +47,7 @@
+ #include "gc_implementation/g1/g1RemSet.inline.hpp"
+ #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psCompactionManager.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+--- openjdk/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp 2013-04-15 14:17:01.800729154 +0200
+@@ -33,6 +33,7 @@
+ #include "oops/oop.inline2.hpp"
+ #ifndef SERIALGC
+ #include "gc_implementation/parNew/parOopClosures.inline.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
+ #include "memory/cardTableRS.hpp"
+--- openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp~ 2013-03-04 22:51:00.000000000 +0100
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp 2013-04-15 14:20:24.782079605 +0200
+@@ -28,6 +28,7 @@
+ #include "gc_implementation/parallelScavenge/cardTableExtension.hpp"
+ #include "gc_implementation/parallelScavenge/gcTaskManager.hpp"
+ #include "gc_implementation/parallelScavenge/psMarkSweep.hpp"
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
+ #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
diff --git a/debian/patches/nonreparenting-wm.diff b/debian/patches/nonreparenting-wm.diff
new file mode 100644
index 0000000..86fbd4f
--- /dev/null
+++ b/debian/patches/nonreparenting-wm.diff
@@ -0,0 +1,58 @@
+--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java.orig
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java
+@@ -103,7 +103,8 @@
+ COMPIZ_WM = 12,
+ LG3D_WM = 13,
+ CWM_WM = 14,
+- MUTTER_WM = 15;
++ MUTTER_WM = 15,
++ OTHER_NONREPARENTING_WM = 16;
+ public String toString() {
+ switch (WMID) {
+ case NO_WM:
+@@ -583,7 +584,7 @@
+ // TODO: according to wikipedia, compiz is now reparenting. This should
+ // probably be updated.
+ static boolean isNonReparentingWM() {
+- return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM);
++ return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM);
+ }
+
+ /*
+@@ -771,9 +772,17 @@
+ * supports WIN or _NET wm spec.
+ */
+ else if (l_net_protocol.active()) {
+- awt_wmgr = XWM.OTHER_WM;
++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) {
++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM;
++ } else {
++ awt_wmgr = XWM.OTHER_WM;
++ }
+ } else if (win.active()) {
+- awt_wmgr = XWM.OTHER_WM;
++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) {
++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM;
++ } else {
++ awt_wmgr = XWM.OTHER_WM;
++ }
+ }
+ /*
+ * Check for legacy WMs.
+@@ -784,6 +793,8 @@
+ awt_wmgr = XWM.MOTIF_WM;
+ } else if (isOpenLook()) {
+ awt_wmgr = XWM.OPENLOOK_WM;
++ } else if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) {
++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM;
+ } else {
+ awt_wmgr = XWM.OTHER_WM;
+ }
+@@ -1298,6 +1309,7 @@
+ res = new Insets(28, 6, 6, 6);
+ break;
+ case NO_WM:
++ case OTHER_NONREPARENTING_WM:
+ case LG3D_WM:
+ res = zeroInsets;
+ break;
diff --git a/debian/patches/openjdk-ubuntu-branding.patch b/debian/patches/openjdk-ubuntu-branding.patch
new file mode 100644
index 0000000..5e78f52
--- /dev/null
+++ b/debian/patches/openjdk-ubuntu-branding.patch
@@ -0,0 +1,11 @@
+--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp~ 2011-04-20 16:44:21.352657106 +0200
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2011-04-20 16:45:33.702762924 +0200
+@@ -59,7 +59,7 @@
+ #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp"
+ #endif
+
+-#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla"
++#define DEFAULT_VENDOR_URL_BUG "https://bugs.launchpad.net/ubuntu/+source/openjdk-7/"
+ #define DEFAULT_JAVA_LAUNCHER "generic"
+
+ char** Arguments::_jvm_flags_array = NULL;
diff --git a/debian/patches/pkcs11-secmod-debug.diff b/debian/patches/pkcs11-secmod-debug.diff
new file mode 100644
index 0000000..100662f
--- /dev/null
+++ b/debian/patches/pkcs11-secmod-debug.diff
@@ -0,0 +1,13 @@
+# unused patch
+
+--- openjdk/jdk/src/share/native/sun/security/pkcs11/j2secmod.h~ 2010-02-17 04:14:45.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/security/pkcs11/j2secmod.h 2010-04-12 15:00:23.903585870 +0200
+@@ -27,7 +27,7 @@
+
+ #include "sun_security_pkcs11_Secmod.h"
+
+-// #define SECMOD_DEBUG
++#define SECMOD_DEBUG
+
+ #include "j2secmod_md.h"
+
diff --git a/debian/patches/s390_hotspot_fix.diff b/debian/patches/s390_hotspot_fix.diff
new file mode 100644
index 0000000..01af2b0
--- /dev/null
+++ b/debian/patches/s390_hotspot_fix.diff
@@ -0,0 +1,51 @@
+Description: Fix FTBFS on s390.
+ <URL:https://buildd.debian.org/status/fetch.php?pkg=openjdk-7&arch=s390&ver=7~b147-2.0~pre2-1&stamp=1312512238>
+ .
+ hotspot/src/share/vm/compiler/methodLiveness.cpp: In constructor 'MethodLiveness::BasicBlock::BasicBlock(MethodLiveness*, int, int)':
+ hotspot/src/share/vm/compiler/methodLiveness.cpp:585:22: error: call of overloaded 'BitMap(size_t*, int)' is ambiguous
+ hotspot/src/share/vm/compiler/methodLiveness.cpp:585:22: note: candidates are:
+ hotspot/src/share/vm/utilities/bitMap.hpp:124:3: note: BitMap::BitMap(BitMap::idx_t, bool) <near match>
+ hotspot/src/share/vm/utilities/bitMap.hpp:124:3: note: no known conversion for argument 1 from 'size_t* {aka long unsigned int*}' to 'BitMap::idx_t {aka long unsigned int}'
+ hotspot/src/share/vm/utilities/bitMap.hpp:119:3: note: BitMap::BitMap(BitMap::bm_word_t*, BitMap::idx_t) <near match>
+ hotspot/src/share/vm/utilities/bitMap.hpp:119:3: note: no known conversion for argument 1 from 'size_t* {aka long unsigned int*}' to 'BitMap::bm_word_t* {aka unsigned int*}'
+ .
+ It was initially a direct patch of patches/use-idx_t.patch.
+ It's now maintained in its own patch file since icedtea upstream as merged
+ patches into its mercurial repository.
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2011-09-28
+Forwarded: ???
+Index: openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp.orig
++++ openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp
+@@ -572,15 +572,15 @@
+
+
+ MethodLiveness::BasicBlock::BasicBlock(MethodLiveness *analyzer, int start, int limit) :
+- _gen((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
++ _gen((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ analyzer->bit_map_size_bits()),
+- _kill((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
++ _kill((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ analyzer->bit_map_size_bits()),
+- _entry((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
++ _entry((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ analyzer->bit_map_size_bits()),
+- _normal_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
++ _normal_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ analyzer->bit_map_size_bits()),
+- _exception_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
++ _exception_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ analyzer->bit_map_size_bits()),
+ _last_bci(-1) {
+ _analyzer = analyzer;
+@@ -998,7 +998,7 @@
+ }
+
+ MethodLivenessResult MethodLiveness::BasicBlock::get_liveness_at(ciMethod* method, int bci) {
+- MethodLivenessResult answer(NEW_RESOURCE_ARRAY(size_t, _analyzer->bit_map_size_words()),
++ MethodLivenessResult answer(NEW_RESOURCE_ARRAY(uintptr_t, _analyzer->bit_map_size_words()),
+ _analyzer->bit_map_size_bits());
+ answer.set_is_valid();
+
diff --git a/debian/patches/set-exec-name.diff b/debian/patches/set-exec-name.diff
new file mode 100644
index 0000000..5c4d954
--- /dev/null
+++ b/debian/patches/set-exec-name.diff
@@ -0,0 +1,47 @@
+--- openjdk/jdk/src/solaris/bin/java_md.c.orig
++++ openjdk/jdk/src/solaris/bin/java_md.c
+@@ -688,8 +688,19 @@
+ char buf[PATH_MAX+1];
+ int len = readlink(self, buf, PATH_MAX);
+ if (len >= 0) {
++ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL};
++ const char **prefix;
++ size_t prefix_len = 0;
+ buf[len] = '\0'; /* readlink doesn't nul terminate */
+- exec_path = JLI_StringDup(buf);
++ for (prefix = prefixes; *prefix; prefix++) {
++ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix);
++ if (!strncmp(*prefix, buf, prefix_len)) {
++ prefix_len--;
++ break;
++ }
++ prefix_len = 0;
++ }
++ exec_path = JLI_StringDup(buf + prefix_len);
+ }
+ }
+ #else /* !__solaris__ && !__linux */
+--- openjdk/hotspot/src/os/posix/launcher/java_md.c.orig
++++ openjdk/hotspot/src/os/posix/launcher/java_md.c
+@@ -967,8 +967,19 @@
+ char buf[PATH_MAX+1];
+ int len = readlink(self, buf, PATH_MAX);
+ if (len >= 0) {
+- buf[len] = '\0'; /* readlink doesn't nul terminate */
+- exec_path = JLI_StringDup(buf);
++ buf[len] = '\0'; /* readlink doesn't nul terminate */
++ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL};
++ const char **prefix;
++ size_t prefix_len = 0;
++ for (prefix = prefixes; *prefix; prefix++) {
++ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix);
++ if (!strncmp(*prefix, buf, prefix_len)) {
++ prefix_len--;
++ break;
++ }
++ prefix_len = 0;
++ }
++ exec_path = JLI_StringDup(buf + prefix_len);
+ }
+ }
+ #else /* !__sun && !__linux */
diff --git a/debian/patches/shebang.diff b/debian/patches/shebang.diff
new file mode 100644
index 0000000..5767953
--- /dev/null
+++ b/debian/patches/shebang.diff
@@ -0,0 +1,7 @@
+--- openjdk/jdk/src/share/sample/scripting/scriptpad/src/scripts/memory.sh.orig 2010-08-27 20:01:53.000000000 +0200
++++ openjdk/jdk/src/share/sample/scripting/scriptpad/src/scripts/memory.sh 2010-09-07 05:23:10.337191651 +0200
+@@ -1,3 +1,4 @@
++#!/bin/sh
+ #
+ # Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ #
diff --git a/debian/patches/sparc-inline.diff b/debian/patches/sparc-inline.diff
new file mode 100644
index 0000000..e67366b
--- /dev/null
+++ b/debian/patches/sparc-inline.diff
@@ -0,0 +1,128 @@
+# unused patch
+
+--- openjdk/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp.old 2009-10-02 23:16:39.000000000 +0200
++++ openjdk/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp 2010-01-11 16:02:21.152335133 +0100
+@@ -45,6 +45,7 @@
+
+ // inlines for SPARC assembler -- dmu 5/97
+
++#if 0
+ inline void Assembler::check_delay() {
+ # ifdef CHECK_DELAY
+ guarantee( delay_state != at_delay_slot, "must say delayed() when filling delay slot");
+@@ -56,6 +57,7 @@
+ check_delay();
+ AbstractAssembler::emit_long(x);
+ }
++#endif
+
+ inline void Assembler::emit_data(int x, relocInfo::relocType rtype) {
+ relocate(rtype);
+@@ -69,7 +71,9 @@
+
+
+ inline void Assembler::add(Register s1, Register s2, Register d ) { emit_long( op(arith_op) | rd(d) | op3(add_op3) | rs1(s1) | rs2(s2) ); }
++#if 0
+ inline void Assembler::add(Register s1, int simm13a, Register d, relocInfo::relocType rtype ) { emit_data( op(arith_op) | rd(d) | op3(add_op3) | rs1(s1) | immed(true) | simm(simm13a, 13), rtype ); }
++#endif
+ inline void Assembler::add(Register s1, int simm13a, Register d, RelocationHolder const& rspec ) { emit_data( op(arith_op) | rd(d) | op3(add_op3) | rs1(s1) | immed(true) | simm(simm13a, 13), rspec ); }
+
+ inline void Assembler::bpr( RCondition c, bool a, Predict p, Register s1, address d, relocInfo::relocType rt ) { v9_only(); emit_data( op(branch_op) | annul(a) | cond(c) | op2(bpr_op2) | wdisp16(intptr_t(d), intptr_t(pc())) | predict(p) | rs1(s1), rt); has_delay_slot(); }
+@@ -157,10 +161,12 @@
+ if (a.has_index()) { assert(offset == 0, ""); ld( a.base(), a.index(), d); }
+ else { ld( a.base(), a.disp() + offset, d); }
+ }
++#if 0
+ inline void Assembler::ldsb(const Address& a, Register d, int offset) {
+ if (a.has_index()) { assert(offset == 0, ""); ldsb(a.base(), a.index(), d); }
+ else { ldsb(a.base(), a.disp() + offset, d); }
+ }
++#endif
+ inline void Assembler::ldsh(const Address& a, Register d, int offset) {
+ if (a.has_index()) { assert(offset == 0, ""); ldsh(a.base(), a.index(), d); }
+ else { ldsh(a.base(), a.disp() + offset, d); }
+@@ -237,7 +243,9 @@
+ // p 226
+
+ inline void Assembler::stb( Register d, Register s1, Register s2) { emit_long( op(ldst_op) | rd(d) | op3(stb_op3) | rs1(s1) | rs2(s2) ); }
++#if 0
+ inline void Assembler::stb( Register d, Register s1, int simm13a) { emit_data( op(ldst_op) | rd(d) | op3(stb_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
++#endif
+ inline void Assembler::sth( Register d, Register s1, Register s2) { emit_long( op(ldst_op) | rd(d) | op3(sth_op3) | rs1(s1) | rs2(s2) ); }
+ inline void Assembler::sth( Register d, Register s1, int simm13a) { emit_data( op(ldst_op) | rd(d) | op3(sth_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
+ inline void Assembler::stw( Register d, Register s1, Register s2) { emit_long( op(ldst_op) | rd(d) | op3(stw_op3) | rs1(s1) | rs2(s2) ); }
+@@ -249,7 +257,9 @@
+ inline void Assembler::std( Register d, Register s1, Register s2) { v9_dep(); assert(d->is_even(), "not even"); emit_long( op(ldst_op) | rd(d) | op3(std_op3) | rs1(s1) | rs2(s2) ); }
+ inline void Assembler::std( Register d, Register s1, int simm13a) { v9_dep(); assert(d->is_even(), "not even"); emit_data( op(ldst_op) | rd(d) | op3(std_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
+
++#if 0
+ inline void Assembler::st( Register d, Register s1, Register s2) { stw(d, s1, s2); }
++#endif
+ inline void Assembler::st( Register d, Register s1, int simm13a) { stw(d, s1, simm13a); }
+
+ #ifdef ASSERT
+--- openjdk/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp.old 2009-10-02 23:16:39.000000000 +0200
++++ openjdk/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp 2010-01-11 16:02:10.644835375 +0100
+@@ -1105,12 +1105,21 @@
+ AbstractAssembler::flush();
+ }
+
+- inline void emit_long(int); // shadows AbstractAssembler::emit_long
++ inline void emit_long(int x) {
++ check_delay();
++ AbstractAssembler::emit_long(x);
++ }
+ inline void emit_data(int x) { emit_long(x); }
+ inline void emit_data(int, RelocationHolder const&);
+ inline void emit_data(int, relocInfo::relocType rtype);
+ // helper for above fcns
+- inline void check_delay();
++ inline void check_delay() {
++# ifdef CHECK_DELAY
++ guarantee( delay_state != at_delay_slot, "must say delayed() when filling delay slot");
++ delay_state = no_delay;
++# endif
++ }
++
+
+
+ public:
+@@ -1119,7 +1128,7 @@
+ // pp 135 (addc was addx in v8)
+
+ inline void add(Register s1, Register s2, Register d );
+- inline void add(Register s1, int simm13a, Register d, relocInfo::relocType rtype = relocInfo::none);
++ inline void add(Register s1, int simm13a, Register d, relocInfo::relocType rtype = relocInfo::none) { emit_data( op(arith_op) | rd(d) | op3(add_op3) | rs1(s1) | immed(true) | simm(simm13a, 13), rtype ); }
+ inline void add(Register s1, int simm13a, Register d, RelocationHolder const& rspec);
+ inline void add(Register s1, RegisterOrConstant s2, Register d, int offset = 0);
+ inline void add(const Address& a, Register d, int offset = 0) { add( a.base(), a.disp() + offset, d, a.rspec(offset)); }
+@@ -1331,7 +1340,10 @@
+ inline void ld( Register s1, ByteSize simm13a, Register d);
+ #endif
+
+- inline void ldsb(const Address& a, Register d, int offset = 0);
++ inline void ldsb(const Address& a, Register d, int offset = 0) {
++ if (a.has_index()) { assert(offset == 0, ""); ldsb(a.base(), a.index(), d); }
++ else { ldsb(a.base(), a.disp() + offset, d); }
++ }
+ inline void ldsh(const Address& a, Register d, int offset = 0);
+ inline void ldsw(const Address& a, Register d, int offset = 0);
+ inline void ldub(const Address& a, Register d, int offset = 0);
+@@ -1552,7 +1564,7 @@
+ // p 226
+
+ inline void stb( Register d, Register s1, Register s2 );
+- inline void stb( Register d, Register s1, int simm13a);
++ inline void stb( Register d, Register s1, int simm13a) { emit_data( op(ldst_op) | rd(d) | op3(stb_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
+ inline void sth( Register d, Register s1, Register s2 );
+ inline void sth( Register d, Register s1, int simm13a);
+ inline void stw( Register d, Register s1, Register s2 );
+@@ -1561,7 +1573,7 @@
+ inline void st( Register d, Register s1, int simm13a);
+ inline void stx( Register d, Register s1, Register s2 );
+ inline void stx( Register d, Register s1, int simm13a);
+- inline void std( Register d, Register s1, Register s2 );
++ inline void std( Register d, Register s1, Register s2 ) { stw(d, s1, s2); }
+ inline void std( Register d, Register s1, int simm13a);
+
+ #ifdef ASSERT
diff --git a/debian/patches/sparc-stubgenerator.diff b/debian/patches/sparc-stubgenerator.diff
new file mode 100644
index 0000000..fe11a0d
--- /dev/null
+++ b/debian/patches/sparc-stubgenerator.diff
@@ -0,0 +1,44 @@
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Description: Fix FTBFS on sparc on stubGenerator_sparc.cpp by using explicit class typedef.
+
+--- openjdk/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp.orig 2012-02-15 08:26:53.000000000 +0000
++++ openjdk/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp 2012-02-26 10:26:11.000000000 +0000
+@@ -1126,7 +1126,7 @@
+ Label& L_loop, bool use_prefetch, bool use_bis);
+
+ void disjoint_copy_core(Register from, Register to, Register count, int log2_elem_size,
+- int iter_size, CopyLoopFunc copy_loop_func) {
++ int iter_size, StubGenerator::CopyLoopFunc copy_loop_func) {
+ Label L_copy;
+
+ assert(log2_elem_size <= 3, "the following code should be changed");
+@@ -1277,7 +1277,8 @@
+ __ inc(from, 8);
+ __ sllx(O3, left_shift, O3);
+
+- disjoint_copy_core(from, to, count, log2_elem_size, 16, copy_16_bytes_shift_loop);
++ StubGenerator::CopyLoopFunc aFunction = &StubGenerator::copy_16_bytes_shift_loop;
++ disjoint_copy_core(from, to, count, log2_elem_size, 16, aFunction);
+
+ __ inccc(count, count_dec>>1 ); // + 8 bytes
+ __ brx(Assembler::negative, true, Assembler::pn, L_copy_last_bytes);
+@@ -2156,7 +2157,8 @@
+ __ dec(count, 4); // The cmp at the beginning guaranty count >= 4
+ __ sllx(O3, 32, O3);
+
+- disjoint_copy_core(from, to, count, 2, 16, copy_16_bytes_loop);
++ StubGenerator::CopyLoopFunc aFunction = &StubGenerator::copy_16_bytes_loop;
++ disjoint_copy_core(from, to, count, 2, 16, aFunction);
+
+ __ br(Assembler::always, false, Assembler::pt, L_copy_4_bytes);
+ __ delayed()->inc(count, 4); // restore 'count'
+@@ -2437,7 +2439,8 @@
+ // count >= 0 (original count - 8)
+ __ mov(from, from64);
+
+- disjoint_copy_core(from64, to64, count, 3, 64, copy_64_bytes_loop);
++ StubGenerator::CopyLoopFunc aFunction = &StubGenerator::copy_64_bytes_loop;
++ disjoint_copy_core(from64, to64, count, 3, 64, aFunction);
+
+ // Restore O4(offset0), O5(offset8)
+ __ sub(from64, from, offset0);
diff --git a/debian/patches/sparc-trapsfix.patch b/debian/patches/sparc-trapsfix.patch
new file mode 100644
index 0000000..1bc8f67
--- /dev/null
+++ b/debian/patches/sparc-trapsfix.patch
@@ -0,0 +1,18 @@
+http://article.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/9316
+
+--- openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp~ 2011-07-12 16:00:43.000000000 +0200
++++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2011-07-13 15:36:49.000000000 +0200
+@@ -33,11 +33,8 @@
+ * There is no traps.h in asm-sparc64/
+ */
+
+-#if defined(__sparc__) && defined(__arch64__)
+-# include <asm-sparc/traps.h>
+-#else
+-# include <asm/traps.h>
+-#endif
++// always found in asm/
++#include <asm/traps.h>
+
+ void MacroAssembler::read_ccr_trap(Register ccr_save) {
+ // No implementation
diff --git a/debian/patches/stack-direction.diff b/debian/patches/stack-direction.diff
new file mode 100644
index 0000000..04deba3
--- /dev/null
+++ b/debian/patches/stack-direction.diff
@@ -0,0 +1,217 @@
+# unused patch (work in progress for PARISC support)
+
+--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp.old 2010-01-06 16:30:02.000000000 +0100
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2010-01-06 23:14:47.000000000 +0100
+@@ -144,8 +144,13 @@
+ address addr = (address) info->si_addr;
+
+ // check if fault address is within thread stack
++#ifdef __hppa__
++ if (addr > thread->stack_base() &&
++ addr <= thread->stack_base() + thread->stack_size()) {
++#else
+ if (addr < thread->stack_base() &&
+ addr >= thread->stack_base() - thread->stack_size()) {
++#endif
+ // stack overflow
+ if (thread->in_stack_yellow_zone(addr)) {
+ thread->disable_stack_yellow_zone();
+@@ -294,7 +299,11 @@
+ if (res != 0) {
+ fatal1("pthread_attr_getstack failed with errno = %d", res);
+ }
++#ifdef __hppa__
++ address stack_top = stack_bottom - stack_bytes;
++#else
+ address stack_top = stack_bottom + stack_bytes;
++#endif
+
+ // The block of memory returned by pthread_attr_getstack() includes
+ // guard pages where present. We need to trim these off.
+@@ -321,7 +330,11 @@
+ stack_bottom += (total_pages - guard_pages) / 2 * page_bytes;
+ #endif // IA64
+
++#ifdef __hppa__
++ stack_bottom -= guard_bytes;
++#else
+ stack_bottom += guard_bytes;
++#endif
+
+ pthread_attr_destroy(&attr);
+
+@@ -329,19 +342,36 @@
+ // by pthread_attr_getstack is the maximum size it could possibly
+ // be given what currently mapped. This can be huge, so we cap it.
+ if (os::Linux::is_initial_thread()) {
++#ifdef __hppa__
++ stack_bytes = stack_bottom - stack_top;
++#else
+ stack_bytes = stack_top - stack_bottom;
++#endif
+
+ if (stack_bytes > JavaThread::stack_size_at_create())
+ stack_bytes = JavaThread::stack_size_at_create();
+
++#ifdef __hppa__
++ stack_bottom = stack_top + stack_bytes;
++#else
+ stack_bottom = stack_top - stack_bytes;
++#endif
+ }
+
++#ifdef __hppa__
++ assert(os::current_stack_pointer() <= stack_bottom, "should do");
++ assert(os::current_stack_pointer() > stack_top, "should do");
++#else
+ assert(os::current_stack_pointer() >= stack_bottom, "should do");
+ assert(os::current_stack_pointer() < stack_top, "should do");
++#endif
+
+ *bottom = stack_bottom;
++#ifdef __hppa__
++ *size = stack_bottom - stack_top;
++#else
+ *size = stack_top - stack_bottom;
++#endif
+ }
+
+ address os::current_stack_base() {
+--- openjdk/hotspot/src/share/vm/runtime/thread.cpp.old 2009-10-02 23:16:39.000000000 +0200
++++ openjdk/hotspot/src/share/vm/runtime/thread.cpp 2010-01-06 23:31:24.000000000 +0100
+@@ -713,8 +713,13 @@
+ else if (is_ConcurrentGC_thread()) st->print("ConcurrentGCThread");
+ else st->print("Thread");
+
++#ifdef __hppa__
+ st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]",
+ _stack_base - _stack_size, _stack_base);
++#else
++ st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]",
++ _stack_base + _stack_size, _stack_base);
++#endif
+
+ if (osthread()) {
+ st->print(" [id=%d]", osthread()->thread_id());
+@@ -792,7 +797,11 @@
+ bool Thread::is_in_stack(address adr) const {
+ assert(Thread::current() == this, "is_in_stack can only be called from current thread");
+ address end = os::current_stack_pointer();
++#ifdef __hppa__
++ if (stack_base() <= adr && adr <= end) return true;
++#else
+ if (stack_base() >= adr && adr >= end) return true;
++#endif
+
+ return false;
+ }
+@@ -804,7 +813,11 @@
+ // should be revisited, and they should be removed if possible.
+
+ bool Thread::is_lock_owned(address adr) const {
++#ifdef __hppa__
++ return (_stack_base <= adr && adr <= (_stack_base + _stack_size));
++#else
+ return (_stack_base >= adr && adr >= (_stack_base - _stack_size));
++#endif
+ }
+
+ bool Thread::set_as_starting_thread() {
+@@ -2108,7 +2121,11 @@
+
+ void JavaThread::create_stack_guard_pages() {
+ if (! os::uses_stack_guard_pages() || _stack_guard_state != stack_guard_unused) return;
++#ifdef __hppa__
++ address low_addr = stack_base();
++#else
+ address low_addr = stack_base() - stack_size();
++#endif
+ size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size();
+
+ int allocate = os::allocate_stack_guard_pages();
+@@ -2131,7 +2148,11 @@
+
+ void JavaThread::remove_stack_guard_pages() {
+ if (_stack_guard_state == stack_guard_unused) return;
++#ifdef __hppa__
++ address low_addr = stack_base();
++#else
+ address low_addr = stack_base() - stack_size();
++#endif
+ size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size();
+
+ if (os::allocate_stack_guard_pages()) {
+@@ -2156,10 +2177,17 @@
+
+ // The base notation is from the stacks point of view, growing downward.
+ // We need to adjust it to work correctly with guard_memory()
++#ifdef __hppa__
++ address base = stack_yellow_zone_base() + stack_yellow_zone_size();
++
++ guarantee(base > stack_base(),"Error calculating stack yellow zone");
++ guarantee(base > os::current_stack_pointer(),"Error calculating stack yellow zone");
++#else
+ address base = stack_yellow_zone_base() - stack_yellow_zone_size();
+
+ guarantee(base < stack_base(),"Error calculating stack yellow zone");
+ guarantee(base < os::current_stack_pointer(),"Error calculating stack yellow zone");
++#endif
+
+ if (os::guard_memory((char *) base, stack_yellow_zone_size())) {
+ _stack_guard_state = stack_guard_enabled;
+@@ -2178,7 +2206,11 @@
+
+ // The base notation is from the stacks point of view, growing downward.
+ // We need to adjust it to work correctly with guard_memory()
++#ifdef __hppa__
++ address base = stack_yellow_zone_base() + stack_yellow_zone_size();
++#else
+ address base = stack_yellow_zone_base() - stack_yellow_zone_size();
++#endif
+
+ if (os::unguard_memory((char *)base, stack_yellow_zone_size())) {
+ _stack_guard_state = stack_guard_yellow_disabled;
+@@ -2192,10 +2224,17 @@
+ // The base notation is from the stacks point of view, growing downward.
+ // We need to adjust it to work correctly with guard_memory()
+ assert(_stack_guard_state != stack_guard_unused, "must be using guard pages.");
++#ifdef __hppa__
++ address base = stack_red_zone_base() + stack_red_zone_size();
++
++ guarantee(base > stack_base(),"Error calculating stack red zone");
++ guarantee(base > os::current_stack_pointer(),"Error calculating stack red zone");
++#else
+ address base = stack_red_zone_base() - stack_red_zone_size();
+
+ guarantee(base < stack_base(),"Error calculating stack red zone");
+ guarantee(base < os::current_stack_pointer(),"Error calculating stack red zone");
++#endif
+
+ if(!os::guard_memory((char *) base, stack_red_zone_size())) {
+ warning("Attempt to guard stack red zone failed.");
+@@ -2206,7 +2245,11 @@
+ // The base notation is from the stacks point of view, growing downward.
+ // We need to adjust it to work correctly with guard_memory()
+ assert(_stack_guard_state != stack_guard_unused, "must be using guard pages.");
++#ifdef __hppa__
++ address base = stack_red_zone_base() + stack_red_zone_size();
++#else
+ address base = stack_red_zone_base() - stack_red_zone_size();
++#endif
+ if (!os::unguard_memory((char *)base, stack_red_zone_size())) {
+ warning("Attempt to unguard stack red zone failed.");
+ }
+@@ -2451,8 +2494,13 @@
+ if (osthread()) {
+ st->print(", id=%d", osthread()->thread_id());
+ }
++#ifdef __hppa__
++ st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")",
++ _stack_base + _stack_size, _stack_base);
++#else
+ st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")",
+ _stack_base - _stack_size, _stack_base);
++#endif
+ st->print("]");
+ return;
+ }
diff --git a/debian/patches/text-relocations.diff b/debian/patches/text-relocations.diff
new file mode 100644
index 0000000..b4c5a60
--- /dev/null
+++ b/debian/patches/text-relocations.diff
@@ -0,0 +1,11 @@
+--- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2012-12-01 18:49:19.202356557 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2012-12-01 18:50:41.430358414 +0100
+@@ -84,7 +84,7 @@
+ # Compiler flags
+
+ # position-independent code
+-ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),)
++ifneq ($(filter alpha m68k mips mipsel parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),)
+ PICFLAG = -fPIC
+ else
+ PICFLAG = -fpic
diff --git a/debian/patches/zero-fpu-control-is-noop.diff b/debian/patches/zero-fpu-control-is-noop.diff
new file mode 100644
index 0000000..706a7e0
--- /dev/null
+++ b/debian/patches/zero-fpu-control-is-noop.diff
@@ -0,0 +1,27 @@
+Description: ZeroVM fix under IA32. Actual code in
+ openjdk/hotspot/src/os/linux/vm/os_linux.cpp#safe_cond_timedwait
+ call get_fpu_control_word and set_fpu_control_word under
+ any IA32 arch.
+ In os_linux_zero.cpp, this methods throw errors with ShouldNotCallThis.
+ Just replace it with just NO-OP.
+ TODO: Maybe just add ifndef ZERO in os_linux.cpp
+Author: Damien Raude-Morvan <drazzib@debian.org>
+Last-Update: 2011-08-02
+Forwarded: http://mail.openjdk.java.net/pipermail/zero-dev/2011-August/000398.html
+--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp.orig
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
+@@ -265,11 +265,12 @@
+ }
+
+ int os::Linux::get_fpu_control_word() {
+- ShouldNotCallThis();
++ // Nothing to do
++ return 0;
+ }
+
+ void os::Linux::set_fpu_control_word(int fpu) {
+- ShouldNotCallThis();
++ // Nothing to do
+ }
+
+ bool os::is_allocatable(size_t bytes) {
diff --git a/debian/patches/zero-missing-headers.diff b/debian/patches/zero-missing-headers.diff
new file mode 100644
index 0000000..7e9b219
--- /dev/null
+++ b/debian/patches/zero-missing-headers.diff
@@ -0,0 +1,25 @@
+Description: at least in 7b143, building without the precompiled headers doesn't work.
+ patch attached.
+Forwarded: http://mail.openjdk.java.net/pipermail/zero-dev/2011-July/000385.html
+
+--- openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp.orig
++++ openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp
+@@ -26,6 +26,8 @@
+ #ifndef CPU_ZERO_VM_ENTRY_ZERO_HPP
+ #define CPU_ZERO_VM_ENTRY_ZERO_HPP
+
++#include "interpreter/cppInterpreter.hpp"
++
+ class ZeroEntry {
+ public:
+ ZeroEntry() {
+--- openjdk/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp.orig
++++ openjdk/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp
+@@ -25,6 +25,7 @@
+
+ #include "precompiled.hpp"
+ #include "assembler_zero.inline.hpp"
++#include "entry_zero.hpp"
+ #include "memory/resourceArea.hpp"
+ #include "nativeInst_zero.hpp"
+ #include "oops/oop.inline.hpp"
diff --git a/debian/patches/zero-opt.diff b/debian/patches/zero-opt.diff
new file mode 100644
index 0000000..0ceb65d
--- /dev/null
+++ b/debian/patches/zero-opt.diff
@@ -0,0 +1,15 @@
+--- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2013-04-15 13:44:59.703968963 +0200
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2013-04-15 16:22:04.124240511 +0200
+@@ -170,7 +170,11 @@
+ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
+
+ # The flags to use for an Optimized g++ build
+-OPT_CFLAGS += -O3
++ifeq ($(ZERO_BUILD), true)
++ OPT_CFLAGS += -O2 -finline-functions
++else
++ OPT_CFLAGS += -O3
++endif
+
+ # Hotspot uses very unstrict aliasing turn this optimization off
+ OPT_CFLAGS += -fno-strict-aliasing
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..f41d93b
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,2007 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+unexport LANG LC_ALL
+
+SHELL = /bin/bash
+
+vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1)))
+
+DPKG_VARS := $(shell dpkg-architecture)
+DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE)
+DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH)
+DEB_HOST_ARCH_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH_CPU)
+DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)
+
+PATH := $(CURDIR)/bin:$(PATH)
+export PATH
+
+CHANGELOG_VARS := $(shell dpkg-parsechangelog | sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p')
+PKGSOURCE := $(call vafilt,$(CHANGELOG_VARS),Source)
+PKGVERSION := $(call vafilt,$(CHANGELOG_VARS),Version)
+
+distribution := $(shell lsb_release --id --short)
+distrel := $(shell lsb_release --codename --short)
+ifeq ($(distrel),n/a)
+ distrel := sid
+endif
+
+multiarch_dir = /$(DEB_HOST_MULTIARCH)
+ifneq (,$(DEB_HOST_MULTIARCH))
+ ifneq (,$(filter $(distrel),natty oneiric))
+ DEB_HOST_MULTIARCH =
+ multiarch_dir =
+ endif
+endif
+
+hotspot_archs = amd64 i386 lpia sparc sparc64 kfreebsd-amd64 kfreebsd-i386
+# requires llvm; llvm in jaunty is recent enough, but in universe
+ifeq (,$(filter $(distrel),lenny jaunty intrepid hardy))
+ shark_archs = amd64 i386 lpia kfreebsd-amd64 kfreebsd-i386
+ # Shark build but just crash
+ shark_archs =
+endif
+
+ifneq (,$(filter $(distrel),hardy intrepid jaunty karmic lucid maverick natty oneiric precise lenny etch squeeze wheezy))
+ is_default = no
+else
+ is_default = yes
+endif
+
+VENDOR = openjdk
+Vendor = OpenJDK
+TOP = usr/lib/jvm
+origin = openjdk
+basename = openjdk-$(shortver)
+ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
+ priority = $(if $(filter yes, $(is_default)),1071,1051)
+ vm_name = Hotspot JIT
+else ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs)))
+ priority = $(if $(filter yes, $(is_default)),1065,1045)
+ vm_name = Hotspot Shark
+else
+ priority = $(if $(filter yes, $(is_default)),1063,1043)
+ vm_name = Hotspot Zero
+endif
+p_lib_arch = all
+jvmver = 1.7.0
+shortver = 7
+ifneq (,$(DEB_HOST_MULTIARCH))
+ jdirname = java-$(shortver)-$(origin)-$(DEB_HOST_ARCH)
+ jdiralias = java-$(jvmver)-$(origin)-$(DEB_HOST_ARCH)
+ basedir = $(TOP)/$(jdirname)
+ commonbasedir = $(TOP)/java-$(shortver)-$(origin)-common
+ etcdir = etc/java-$(shortver)-$(origin)
+else
+ jdirname = java-$(shortver)-$(origin)
+ jdiralias = java-$(jvmver)-$(origin)
+ basedir = $(TOP)/$(jdirname)
+ commonbasedir = $(TOP)/java-$(shortver)-$(origin)
+ etcdir = etc/$(jdirname)
+endif
+security = $(etcdir)/security
+jreimg = openjdk.build/j2re-image
+sdkimg = openjdk.build/j2sdk-image
+
+# Support parallel=<n> in DEB_BUILD_OPTIONS (see #209008)
+COMMA=,
+SPACE = $(EMPTY) $(EMPTY)
+ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+ NJOBS = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+ HOTSPOT_BUILD_JOBS = $(NJOBS)
+ ALT_PARALLEL_COMPILE_JOBS = $(NJOBS)
+ export HOTSPOT_BUILD_JOBS
+ export ALT_PARALLEL_COMPILE_JOBS
+endif
+
+# make the build log comparable
+#export HOTSPOT_BUILD_JOBS = 1
+#export ALT_PARALLEL_COMPILE_JOBS = 1
+
+# Extracting debug symbols done by dh_strip
+export ALT_OBJCOPY=fake
+export ALT_STRIP_POLICY=no_strip
+
+with_check = $(if $(findstring nocheck, $(DEB_BUILD_OPTIONS)),,yes)
+ifneq (,$(filter $(DEB_HOST_ARCH), armel powerpc))
+with_check = disabled for this upload
+endif
+with_docs = $(if $(findstring nodocs, $(DEB_BUILD_OPTIONS)),,yes)
+ifneq (,$(findstring cacao shark, $(PKGSOURCE)))
+ with_docs = disabled for cacao and shark
+endif
+
+with_wgy_zenhai = $(if $(filter $(distrel),lenny),,yes)
+
+arch_map := alpha=alpha arm=arm armel=arm armhf=arm amd64=amd64 hppa=parisc i386=i586 lpia=i586 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc powerpcspe=ppc ppc64=ppc64 sparc=sparc sparc64=sparc64 sh4=sh s390=s390 s390x=s390x ia64=ia64 m68k=m68k
+archdir_map := alpha=alpha arm=arm armel=arm armhf=arm amd64=amd64 hppa=parisc i386=i386 lpia=i386 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc powerpcspe=ppc ppc64=ppc64 sparc=sparc sparc64=sparcv9 sh4=sh s390=s390 s390x=s390x ia64=ia64 m68k=m68k
+
+jvmarch := $(strip $(patsubst $(DEB_HOST_ARCH_CPU)=%, %, \
+ $(filter $(DEB_HOST_ARCH_CPU)=%, $(arch_map))))
+archdir := $(strip $(patsubst $(DEB_HOST_ARCH_CPU)=%, %, \
+ $(filter $(DEB_HOST_ARCH_CPU)=%, $(archdir_map))))
+
+default_vm = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),hotspot,zero)
+hotspot_version = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),default,zero)
+
+any_archs = amd64 armel armhf i386 ia64 lpia powerpc powerpcspe ppc64 m68k sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64
+stage1_gcj_archs = amd64 armel armhf hppa i386 ia64 lpia powerpc powerpcspe ppc64 m68k mips mipsel sh4 sparc sparc64 s390 s390x x32 kfreebsd-i386 kfreebsd-amd64
+stage1_openjdk_archs = alpha
+stage1_cacao_archs =
+ifneq (,$(filter nobootstrap, $(DEB_BUILD_OPTIONS)))
+ stage1_openjdk_archs := $(stage1_openjdk_archs) $(stage1_gcj_archs)
+ stage1_gcj_archs :=
+else ifneq (,$(filter $(distrel),hardy jaunty))
+ stage1_openjdk_archs := $(filter-out armel, $(stage1_openjdk_archs) $(stage1_gcj_archs))
+ stage1_gcj_archs := armel
+else ifneq (,$(filter $(distrel),lenny))
+ stage1_gcj_archs := $(filter-out ia64, $(stage1_gcj_archs))
+ stage1_openjdk_archs := $(stage1_openjdk_archs) ia64
+endif
+
+ifeq (,$(filter $(distrel),lenny intrepid hardy))
+ cacao_archs = alpha amd64 armel armhf i386 lpia powerpc m68k mips mipsel s390
+ # TODO kfreebsd porting for cacao vm
+endif
+cacao_archs =
+ifneq (,$(filter $(distrel),wheezy sid precise quantal))
+ transitional_cacao_pkg = yes
+endif
+
+ifeq (,$(filter $(distrel),squeeze lenny maverick lucid karmic hardy))
+ jamvm_archs = amd64 armel armhf i386 lpia mips mipsel powerpc kfreebsd-i386 kfreebsd-amd64
+endif
+ifeq (,$(filter $(distrel),wheezy sid squeeze lenny maverick natty maverick lucid karmic hardy))
+ jamvm_defaults =
+endif
+
+# requires patched llvm-2.6
+ifeq (,$(filter $(distrel),lenny jaunty intrepid hardy))
+ altshark_archs = powerpc ppc64
+ # Shark build but just crash
+ altshark_archs =
+endif
+altzero_archs = $(filter-out sparc sparc64, $(hotspot_archs)) $(altshark_archs)
+ifneq (,$(filter $(distrel),lenny hardy intrepid))
+ altzero_archs =
+ altshark_archs =
+endif
+
+ifeq (,$(filter noaltcacao, $(DEB_BUILD_OPTIONS)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(cacao_archs)))
+ alternate_vms += cacao
+ endif
+endif
+ifeq (,$(filter noaltzero, $(DEB_BUILD_OPTIONS))$(filter noaltshark, $(DEB_BUILD_OPTIONS)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(altzero_archs)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs) $(altshark_archs)))
+ alternate_vms += shark
+ zero_dir = shark
+ else
+ alternate_vms += zero
+ zero_dir = zero
+ endif
+ endif
+endif
+ifeq (,$(filter noaltjamvm, $(DEB_BUILD_OPTIONS)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(jamvm_archs)))
+ alternate_vms += jamvm
+ endif
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), $(stage1_gcj_archs)))
+ STAGE1_JAVA = gcj
+ STAGE1_HOME = /usr/lib/jvm/java-gcj
+ ifneq (,$(filter $(DEB_HOST_ARCH), m68k s390))
+ STAGE1_HOME = /usr/lib/jvm/java-1.5.0-gcj-4.6
+ endif
+ ifneq (,$(filter $(DEB_HOST_ARCH), ia64))
+ STAGE1_HOME = /usr/lib/jvm/java-1.5.0-gcj-4.7
+ endif
+else ifneq (,$(filter $(DEB_HOST_ARCH), $(stage1_openjdk_archs)))
+ STAGE1_JAVA = openjdk
+ STAGE1_HOME = $(firstword $(wildcard /usr/lib/jvm/java-6-openjdk-$(DEB_HOST_ARCH) /usr/lib/jvm/java-6-openjdk))
+ STAGE1_HOME = $(firstword $(wildcard /usr/lib/jvm/java-7-openjdk-$(DEB_HOST_ARCH) /usr/lib/jvm/java-7-openjdk))
+else ifneq (,$(filter $(DEB_HOST_ARCH), $(stage1_cacao_archs)))
+ STAGE1_JAVA = cacao
+ STAGE1_HOME = /usr/lib/jvm/java-6-cacao
+else
+ $(error unknown bootstrap method for architecture $(DEB_HOST_ARCH))
+endif
+
+OPENJDK_VERSION = b130
+OPENJDK_SRC_ZIP = openjdk-7-ea-src-$(OPENJDK_VERSION)-25_mar_2010-dfsg.tar.gz
+# the version of the build dependency for non-bootstrap builds; only adjust if
+# the package is installable on all these architectures.
+req_openjdk_bd_ver = 6b18
+req_openjdk_ver = 7~b130~pre0
+
+# for Hotspot: hotspot/make/linux/makefiles/vm.make
+# Don't overwrite Hotspot opt level :
+# -O3 is already default option for hotspot
+dpkg_buildflags_hs = DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2"
+dpkg_buildflags_hs += dpkg-buildflags
+export EXTRA_CPPFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CPPFLAGS)
+export EXTRA_CFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CFLAGS) $(shell $(dpkg_buildflags_hs) --get CPPFLAGS)
+export EXTRA_CXXFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CXXFLAGS)
+export EXTRA_LDFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get LDFLAGS)
+
+# for JDK: jdk/make/common/Defs.gmk
+# Don't overwrite JDK opt level :
+# 1) with forced -03, it cause wrong Math.* computations, see #679292 and #678228
+# 2) JDK already use it's own OPTIMIZATION_LEVEL variable for each module
+dpkg_buildflags_jdk = DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2"
+dpkg_buildflags_jdk += dpkg-buildflags
+export EXTRA_CPPFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CPPFLAGS)
+export EXTRA_CFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CFLAGS) $(shell $(dpkg_buildflags_jdk) --get CPPFLAGS)
+export EXTRA_CXXFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CXXFLAGS)
+export EXTRA_LDFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get LDFLAGS)
+
+#for Icedtea: Makefile.am
+dpkg_buildflags_it += dpkg-buildflags
+export EXTRA_CPPFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CPPFLAGS)
+export EXTRA_CFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CFLAGS)
+export EXTRA_CXXFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CXXFLAGS)
+export EXTRA_LDFLAGS_IT := $(shell $(dpkg_buildflags_it) --get LDFLAGS)
+
+#for JamVM: Makefile.am
+ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+dpkg_buildflags_jamvm += DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2"
+dpkg_buildflags_jamvm += DEB_CFLAGS_MAINT_APPEND="-O3" DEB_CXXFLAGS_MAINT_APPEND="-O3"
+endif
+dpkg_buildflags_jamvm += dpkg-buildflags
+export EXTRA_CPPFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get CPPFLAGS)
+export EXTRA_CFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get CFLAGS)
+export EXTRA_CXXFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get CXXFLAGS)
+export EXTRA_LDFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get LDFLAGS)
+
+#for CACAO: Makefile.am
+ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+dpkg_buildflags_cacao += DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2"
+dpkg_buildflags_cacao += DEB_CFLAGS_MAINT_APPEND="-O3" DEB_CXXFLAGS_MAINT_APPEND="-O3"
+endif
+dpkg_buildflags_cacao += dpkg-buildflags
+export EXTRA_CPPFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get CPPFLAGS)
+export EXTRA_CFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get CFLAGS)
+export EXTRA_CXXFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get CXXFLAGS)
+export EXTRA_LDFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get LDFLAGS)
+
+# This section should be in sync with "bd_gcc" definition
+ifneq (,$(filter $(distrel),hardy))
+ ifneq (,$(filter $(DEB_HOST_ARCH), i386 lpia))
+ export CC = gcc-4.1
+ export CXX = g++-4.1
+ GCJ_SUFFIX = -4.2
+ endif
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 powerpc sparc))
+ export CC = gcc-4.2
+ export CXX = g++-4.2
+ endif
+else ifneq (,$(filter $(distrel),lenny intrepid jaunty))
+ export CC = gcc-4.3
+ export CXX = g++-4.3
+ GCJ_SUFFIX = -4.3
+else ifneq (,$(filter $(distrel),squeeze karmic lucid maverick))
+ export CC = gcc-4.4
+ export CXX = g++-4.4
+ GCJ_SUFFIX = -4.4
+else ifneq (,$(filter $(distrel),natty))
+ export CC = gcc-4.5
+ export CXX = g++-4.5
+ GCJ_SUFFIX = -4.5
+else ifneq (,$(filter $(distrel),wheezy sid))
+ export CC = gcc-4.7
+ export CXX = g++-4.7
+ GCJ_SUFFIX = -4.7
+ ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel))
+ export CC = gcc-4.4
+ export CXX = g++-4.4
+ endif
+ ifneq (,$(filter $(DEB_HOST_ARCH), m68k s390))
+ GCJ_SUFFIX = -4.6
+ endif
+else ifneq (,$(filter $(distrel),oneiric precise))
+ export CC = gcc-4.6
+ export CXX = g++-4.6
+ GCJ_SUFFIX = -4.6
+else
+ export CC = gcc-4.7
+ export CXX = g++-4.7
+ GCJ_SUFFIX = -4.7
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf))
+ifeq ($(distribution),Ubuntu)
+ ifneq (,$(filter $(distrel),jaunty))
+ OPT_CFLAGS/cppInterpreter_arm.o = -O2 -falign-functions=32 -falign-loops=8 -g0
+ else
+ OPT_CFLAGS/cppInterpreter_arm.o = -march=armv6 -mtune=cortex-a8 -O2 -falign-functions=64 -falign-loops=8 -g0
+ endif
+else
+ OPT_CFLAGS/cppInterpreter_arm.o = -O2 -falign-functions=32 -falign-loops=8 -g0
+endif
+export OPT_CFLAGS/cppInterpreter_arm.o
+endif
+
+ifeq (,$(filter $(distrel),lenny intrepid hardy))
+ with_pulse = yes
+endif
+
+ifneq (,$(filter $(distrel),lenny jaunty intrepid hardy))
+ with_bridge =
+else ifneq (,$(filter $(distrel),squeeze karmic lucid maverick natty oneiric))
+ with_bridge = bridge
+ with_jni_bridge = yes
+else
+ with_bridge = atk
+endif
+
+ifeq (,$(filter $(distrel),lenny karmic jaunty intrepid hardy))
+ with_nss = yes
+endif
+
+with_tzdata = yes
+
+ifneq (,$(filter $(distrel),lenny squeeze natty maverick lucid karmic jaunty intrepid hardy))
+ lcms_version = 1
+else
+ lcms_version = 2
+endif
+
+on_buildd := $(shell [ -f /CurrentlyBuilding -o "$$LOGNAME" = buildd ] && echo yes)
+
+ifeq ($(distribution),Debian)
+ with_wm = $(notdir $(firstword $(wildcard /usr/bin/metacity /usr/bin/twm)))
+ ifneq (,$(findstring twm, $(with_wm)))
+ with_wm_args = -f $(CURDIR)/bin/jtreg.tmwrc
+ endif
+ bd_wm = metacity | twm, dbus-x11 | twm,
+ bd_wm = twm | metacity, twm | dbus-x11,
+else
+ with_wm = $(notdir $(firstword $(wildcard /usr/bin/metacity /usr/bin/twm)))
+ with_wm_args =
+ ifneq (,$(findstring twm, $(with_wm)))
+ with_wm_args = -f $(CURDIR)/bin/jtreg.tmwrc
+ endif
+ bd_wm = metacity | twm,
+ ifeq (,$(filter $(distrel),etch))
+ bd_wm += dbus-x11,
+ endif
+endif
+ifeq ($(with_wm),metacity)
+ with_wm_prefix = dbus-launch --exit-with-session
+endif
+
+#ifeq (,$(filter $(distrel),lenny jaunty intrepid hardy))
+# with_systemtap = yes
+#endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), sparc64))
+ USE_PRECOMPILED_HEADER = 0
+ export USE_PRECOMPILED_HEADER
+endif
+
+DISTRIBUTION_PATCHES += \
+ debian/patches/ld-symbolic-functions.diff \
+ debian/patches/shebang.diff \
+ debian/patches/jdk-freetypeScaler-crash.diff \
+ debian/patches/icedtea-pretend-memory.diff \
+ debian/patches/default-jvm-cfg.diff \
+ debian/patches/nonreparenting-wm.diff \
+ debian/patches/accessible-toolkit.patch \
+ debian/patches/fix_extra_flags-$(hotspot_version).diff
+
+ifeq ($(with_bridge),atk)
+ DISTRIBUTION_PATCHES += \
+ debian/patches/atk-wrapper-security.patch
+else ifneq (,$(with_bridge))
+ DISTRIBUTION_PATCHES += \
+ debian/patches/java-access-bridge-security.patch
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), s390 s390x))
+ DISTRIBUTION_PATCHES += \
+ debian/patches/hotspot-s390.diff \
+ debian/patches/s390_hotspot_fix.diff
+endif
+
+DISTRIBUTION_PATCHES += \
+ debian/patches/icedtea-override-redirect-compiz.patch \
+ debian/patches/icedtea-4953367.patch \
+ debian/patches/fontconfig-wqy-microhei.patch \
+ debian/patches/hotspot-no-werror-$(hotspot_version).diff \
+ debian/patches/icc_loading_with_symlink.diff \
+ debian/patches/hotspot-sparc-arch.diff \
+ debian/patches/sparc-trapsfix.patch \
+ debian/patches/sparc-stubgenerator.diff \
+ debian/patches/zero-fpu-control-is-noop.diff \
+ debian/patches/hotspot-no-march-i586.diff \
+ debian/patches/zero-missing-headers.diff \
+ debian/patches/enumipv6-fix.patch \
+ debian/patches/libpcsclite-dlopen.diff \
+ debian/patches/jni_md_h_JNIEXPORT_visibility.patch \
+ debian/patches/7130140-MouseEvent-systemout.diff \
+ debian/patches/FreetypeFontScaler_getFontMetricsNative.diff \
+ debian/patches/text-relocations.diff \
+ debian/patches/dnd-files.patch \
+ debian/patches/no-pch-build.diff \
+ debian/patches/zero-opt.diff \
+
+# FIXME CACAO update needed
+#ifeq ($(DEB_HOST_ARCH),armel)
+# ifeq ($(distrel),quantal)
+# DISTRIBUTION_PATCHES += debian/patches/cacao-armv4.diff
+# else ifeq ($(distribution),Debian)
+# DISTRIBUTION_PATCHES += debian/patches/cacao-armv4.diff
+# endif
+#endif
+
+# FIXME needs an update:
+# $(if $(with_wgy_zenhai),,debian/patches/fontconfig-arphic-uming.diff) \
+
+ifeq (,$(filter $(distrel),lenny squeeze oneiric natty maverick lucid jaunty intrepid hardy))
+ DISTRIBUTION_PATCHES += \
+ debian/patches/fontconfig-korean-nanum.diff \
+ debian/patches/fontconfig-japanese.diff
+endif
+
+# debian/patches/sparc-inline.diff \
+# debian/patches/pkcs11-secmod-debug.diff \
+
+ DISTRIBUTION_PATCHES += \
+ debian/patches/hotspot-libpath-$(hotspot_version).diff
+
+# debian/patches/hotspot-warn-no-errformat.diff \
+
+ifeq ($(distribution),Ubuntu)
+ DISTRIBUTION_PATCHES += \
+ debian/patches/openjdk-ubuntu-branding.patch
+endif
+
+ifeq ($(with_pulse),yes)
+ # only in karmic and later the default
+ ifeq (,$(filter $(distrel), lenny squeeze sid jaunty intrepid hardy))
+ DISTRIBUTION_PATCHES += \
+ debian/patches/jdk-pulseaudio.diff
+ endif
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha))
+ DISTRIBUTION_BOOT_PATCHES += \
+ debian/patches/alpha-float-const.diff
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), kfreebsd-amd64 kfreebsd-i386))
+ DISTRIBUTION_PATCHES += \
+ debian/patches/kfreebsd-support-jdk.diff \
+ debian/patches/kfreebsd-support-hotspot.diff \
+ debian/patches/kfreebsd-support-corba.diff \
+ debian/patches/kfreebsd-sync-issues.diff
+
+ ifeq (,$(filter noaltjamvm, $(DEB_BUILD_OPTIONS)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(jamvm_archs)))
+ DISTRIBUTION_PATCHES += debian/patches/kfreebsd-support-jamvm.diff
+ endif
+ endif
+endif
+
+export DISTRIBUTION_PATCHES DISTRIBUTION_BOOT_PATCHES
+
+ifeq ($(STAGE1_JAVA),gcj)
+ CONFIGURE_ARGS = \
+ --with-jdk-home=$(STAGE1_HOME) \
+ --with-ecj-jar=$(STAGE1_HOME)/lib/ecj.jar \
+ --with-javac=$(STAGE1_HOME)/bin/javac \
+ --with-java=$(STAGE1_HOME)/bin/java \
+ --with-javah=$(STAGE1_HOME)/bin/javah \
+ --with-rmic=$(STAGE1_HOME)/bin/rmic
+ ifeq (,$(filter ia64, $(DEB_HOST_ARCH)))
+ CONFIGURE_ARGS += \
+ --with-jar=/usr/bin/fastjar
+ endif
+ build_target = #icedtea-against-icedtea
+else ifeq ($(STAGE1_JAVA),openjdk)
+ CONFIGURE_ARGS = \
+ --with-jdk-home=$(STAGE1_HOME) --disable-bootstrap
+ build_target = #icedtea-against-icedtea
+else ifeq ($(STAGE1_JAVA),cacao)
+ CONFIGURE_ARGS = \
+ --with-jdk-home=$(STAGE1_HOME)
+ build_target = #icedtea-against-icedtea
+endif
+
+# GNU/kFreeBSD don't support epoll syscall so don't try to check of it.
+ifneq (,$(filter $(DEB_HOST_ARCH), kfreebsd-amd64 kfreebsd-i386))
+ CONFIGURE_ARGS += --disable-compile-against-syscalls
+endif
+
+CONFIGURE_ARGS += --with-pkgversion="$(PKGVERSION)"
+
+# there are problems --with-alt-jar=/usr/bin/fastjar,
+# see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=217
+# only use it for zero ports except powerpc (which we assume as
+# fast enough to build.
+ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) ia64 powerpc powerpcspe ppc64))
+ CONFIGURE_ARGS += --with-alt-jar=/usr/bin/fastjar
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), hppa))
+ CONFIGURE_ARGS += \
+ --without-rhino
+else
+ ifneq (,$(strip $(foreach i, hardy intrepid jaunty,$(findstring $(i),$(PKGVERSION)))))
+ CONFIGURE_ARGS += \
+ --with-rhino=/usr/share/java/js-1.7R2.jar
+ else
+ CONFIGURE_ARGS += \
+ --with-rhino=/usr/share/java/js.jar
+ endif
+endif
+
+CONFIGURE_ARGS += \
+ --disable-downloading \
+ --with-openjdk-src-zip=$(CURDIR)/openjdk.tar.gz \
+ --with-hotspot-src-zip=$(CURDIR)/hotspot-$(hotspot_version).tar.gz \
+ --with-corba-src-zip=$(CURDIR)/corba.tar.gz \
+ --with-jaxp-src-zip=$(CURDIR)/jaxp.tar.gz \
+ --with-jaxws-src-zip=$(CURDIR)/jaxws.tar.gz \
+ --with-jdk-src-zip=$(CURDIR)/jdk-dfsg.tar.gz \
+ --with-langtools-src-zip=$(CURDIR)/langtools-dfsg.tar.gz
+
+ifneq (,$(filter $(DEB_HOST_ARCH), $(cacao_archs)))
+ CONFIGURE_ARGS += \
+ --with-cacao-src-zip=$(CURDIR)/cacao-a567bcb7f589.tar.gz
+ #--with-cacao-src-zip=$(firstword $(wildcard $(CURDIR)/cacao-*.tar.* /usr/src/cacao-*.tar.*))
+ ifneq (,$(filter $(DEB_HOST_ARCH), armel))
+ # TODO: test build done without --enable-softfloat
+ EXTRA_BUILD_ENV += CACAO_CONFIGURE_ARGS='--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)'
+ else
+ EXTRA_BUILD_ENV += CACAO_CONFIGURE_ARGS='--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)'
+ endif
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), $(jamvm_archs)))
+ CONFIGURE_ARGS += \
+ --with-jamvm-src-zip=$(firstword $(wildcard $(CURDIR)/jamvm-*.tar.* /usr/src/jamvm-*.tar.*))
+endif
+
+ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
+ CONFIGURE_ARGS += --enable-zero
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs)))
+ CONFIGURE_ARGS += --enable-shark
+ endif
+endif
+
+EXTRA_BUILD_ENV += LIBFFI_LIBS=-lffi_pic
+
+# assume we don't build binary indep packages on these architectures
+ifeq ($(with_docs),yes)
+ ifeq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia))
+ CONFIGURE_ARGS += --disable-docs
+ endif
+else
+ CONFIGURE_ARGS += --disable-docs
+endif
+
+ifneq (,$(NJOBS))
+ CONFIGURE_ARGS += --with-parallel-jobs=$(NJOBS)
+endif
+
+ifeq ($(with_pulse),yes)
+ CONFIGURE_ARGS += --enable-pulse-java
+endif
+
+ifneq ($(lcms_version),2)
+ CONFIGURE_ARGS += --disable-system-lcms
+endif
+
+ifeq ($(with_nss),yes)
+ CONFIGURE_ARGS += --enable-nss
+else ifeq ($(with_nss),no)
+ CONFIGURE_ARGS += --disable-nss
+endif
+
+ifeq ($(with_systemtap),yes)
+ CONFIGURE_ARGS += --enable-systemtap --with-abs-install-dir=/$(basedir)
+endif
+
+ifneq (,$(alternate_vms))
+ CONFIGURE_ARGS += --with-additional-vms=$(subst $(SPACE),$(COMMA),$(alternate_vms))
+endif
+
+CONFIGURE_ARGS += --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
+
+# (most) jre and jdk tools handled by the alternatives system.
+# dups in heimdal-clients, krb5-user: kinit, klist, ktab, no alternatives
+# use javaws from icedtea-netx
+all_jre_tools = $(filter-out javaws, $(notdir $(wildcard build/$(jreimg)/bin/*)))
+jre_tools = $(filter policytool, $(all_jre_tools))
+jre_hl_tools := $(filter-out $(jre_tools), $(all_jre_tools))
+
+corba_tools = orbd servertool tnameserv
+jre_hl_tools_alt= $(filter-out $(corba_tools), $(jre_hl_tools)) $(corba_tools)
+jre_tools_alt = $(filter-out kinit klist ktab, $(jre_tools))
+
+all_jdk_tools = $(filter-out javaws, $(notdir $(wildcard build/$(sdkimg)/bin/*)))
+jdk_tools = $(filter-out $(all_jre_tools), $(all_jdk_tools))
+jdk_tools_alt = $(filter-out apt java-rmi.cgi, $(jdk_tools))
+
+ifeq ($(distribution),Ubuntu)
+ pkg_compress = lzma
+else
+ pkg_compress = bzip2
+endif
+pkg_compress =
+
+# build dependencies
+bd_autotools = autoconf, automake, autotools-dev,
+# This section should be in sync with "GCJ_SUFFIX" definition
+bd_bootstrap =
+ifneq (,$(stage1_gcj_archs))
+ bd_bootstrap += \
+ ecj-gcj [$(strip $(foreach a,$(stage1_gcj_archs), $(a)))],
+ stage1_gcj46_archs = m68k s390
+ stage1_gcj_default_archs = $(filter-out $(stage1_gcj46_archs), $(stage1_gcj_archs))
+ ifeq (,$(filter $(distrel),lenny jaunty intrepid hardy))
+ bd_bootstrap += \
+ gcj-jdk [$(strip $(foreach a,$(stage1_gcj_default_archs), $(a)))], \
+ gcj-4.6-jdk [$(strip $(foreach a,$(stage1_gcj46_archs), $(a)))], \
+ gcj-4.7-jdk [ia64],
+ else
+ bd_bootstrap += \
+ gcj (>= 4:4.2.1) [$(strip $(foreach a,$(stage1_gcj_archs), $(a)))], \
+ java-gcj-compat-dev (>= 1.0.76-2ubuntu3) [$(strip $(foreach a,$(stage1_gcj_archs), $(a)))],
+ endif
+endif
+ifneq (,$(stage1_openjdk_archs))
+# bd_bootstrap += \
+# openjdk-6-jdk (>= $(req_openjdk_bd_ver)) [$(strip $(foreach a,$(stage1_openjdk_archs), $(a)))],
+ bd_bootstrap += \
+ openjdk-7-jdk (>= $(req_openjdk_bd_ver)) [$(strip $(foreach a,$(stage1_openjdk_archs), $(a)))],
+endif
+ifneq (,$(stage1_cacao_archs))
+ bd_bootstrap += \
+ cacao-oj6-jdk [$(strip $(foreach a,$(stage1_cacao_archs), $(a)))],
+endif
+
+# This section should be in sync with "CC/CXX" definition
+ifneq (,$(filter $(distrel),hardy))
+ bd_gcc = g++-4.2 [amd64 powerpc sparc], g++-4.1 [i386 lpia],
+else ifneq (,$(filter $(distrel),lenny intrepid jaunty))
+ bd_gcc = g++-4.3,
+else ifneq (,$(filter $(distrel),squeeze karmic lucid maverick))
+ bd_gcc = g++-4.4 (>= 4.4.1),
+else ifneq (,$(filter $(distrel),natty))
+ bd_gcc = g++-4.5,
+else ifneq (,$(filter $(distrel), oneiric precise))
+ bd_gcc = g++-4.6,
+else ifneq (,$(filter $(distrel), sid wheezy))
+ bd_gcc = g++-4.7, g++-4.4 [mips mipsel],
+else
+ bd_gcc = g++-4.7,
+endif
+bd_syslibs = zlib1g-dev, libattr1-dev,
+ifneq (,$(filter $(distrel),lenny squeeze oneiric natty maverick lucid karmic jaunty intrepid hardy))
+ bd_syslibs += libpng12-dev, libjpeg62-dev,
+else
+ bd_syslibs += libpng-dev, libjpeg8-dev,
+endif
+bd_syslibs += \
+ libgif-dev$(if $(filter $(distrel),etch), | libungif4-dev),
+bd_openjdk = \
+ libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, \
+ $(if $(filter $(distrel), etch hardy),libcupsys2-dev,libcups2-dev), \
+ libasound2-dev, liblcms$(lcms_version)-dev, libfreetype6-dev (>= 2.2.1), libgtk2.0-dev, \
+ libxinerama-dev, xsltproc, librhino-java (>= 1.7R3~),
+ifeq (,$(filter $(distrel),lenny squeeze quantal precise oneiric natty maverick lucid karmic jaunty intrepid hardy gutsy feisty edgy dapper))
+ rhino_source := $(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W librhino-java)
+endif
+
+pkg_ffidev = $(if $(filter $(distribution),Ubuntu),$(if $(filter $(distrel),hardy),libffi4-dev,libffi-dev),libffi-dev)
+
+bd_zero = \
+ $(pkg_ffidev) [$(foreach a,$(hotspot_archs),!$(a))],
+bd_zero = \
+ $(pkg_ffidev),
+
+ifneq (,$(shark_archs))
+ bd_zero = $(pkg_ffidev),
+ ifneq (,$(filter $(distrel),lucid))
+ bd_shark = llvm-dev (>= 2.7) [$(foreach a,$(shark_archs) $(altshark_archs),$(a))],
+ bd_shark += oprofile [$(foreach a,$(shark_archs) $(altshark_archs),$(a))],
+ else ifneq (,$(filter $(distrel),karmic))
+ bd_shark = llvm-dev (>= 2.6) [$(foreach a,$(shark_archs) $(altshark_archs),$(a))],
+ else
+ ifneq (,$(filter $(distrel),squeeze maverick natty))
+ llvm_suffix = -2.7
+ else ifneq (,$(filter $(distrel),oneirc precise))
+ llvm_suffix = -2.9
+ else
+ llvm_suffix = -3.0
+ endif
+ bd_shark = llvm$(llvm_suffix)-dev [$(foreach a,$(shark_archs) $(altshark_archs),$(a))],
+ ifneq (,$(filter $(DEB_HOST_ARCH),$(shark_archs) $(altshark_archs)))
+ CONFIGURE_ARGS += --with-llvm-config=llvm-config$(llvm_suffix)
+ endif
+ endif
+endif
+
+ifneq (,$(cacao_archs))
+ # cacao included in the openjdk tarball
+ bd_cacao = libtool,
+endif
+
+ifneq (,$(filter $(distrel),lucid))
+ bd_ant = ant, ant1.8-optional,
+else
+ bd_ant = ant, ant-optional,
+endif
+
+bd_fastjar = fastjar (>= 2:0.96-0ubuntu2),
+ifneq (,$(filter $(distrel),lenny))
+ bd_fastjar = fastjar (>= 2:0.95-4),
+endif
+bd_compress = $(pkg_compress),
+bd_xvfb = xvfb, xauth, xfonts-base, libgl1-mesa-dri, $(bd_wm) x11-xkb-utils,
+bd_mauve = mauve,
+ifneq (,$(filter $(distrel),lenny))
+ bd_xvfb += xkb-data, xserver-xorg-core,
+endif
+ifeq ($(with_pulse),yes)
+ bd_pulsejava = libpulse-dev (>= 0.9.12),
+endif
+ifeq ($(with_nss),yes)
+ ifneq (,$(filter $(distrel),lenny squeeze natty maverick lucid karmic hardy))
+ bd_nss = libnss3-dev (>= 3.12.3),
+ else ifneq (,$(filter $(distrel),wheezy sid))
+ bd_nss = libnss3-dev (>= 2:3.13.4),
+ else
+ bd_nss = libnss3-dev (>= 3.12.9+ckbi-1.82-0ubuntu4),
+ endif
+endif
+ifeq ($(with_systemtap),yes)
+ bd_systemtap = systemtap-sdt-dev,
+endif
+
+ifneq (,$(jamvm_archs))
+ bd_jamvm = libtool,
+endif
+
+dlopen_hl_depends = \
+ $(if $(filter $(distrel), etch),libcupsys2,libcups2), \
+ liblcms$(if $(filter 1,$(lcms_version)),1,2-2), \
+ $(if $(findstring jpeg8, $(bd_syslibs)),libjpeg8,libjpeg62)
+ifneq ($(with_nss),no)
+ ifneq (,$(filter $(distrel),lenny squeeze natty maverick lucid karmic hardy))
+ dlopen_hl_depends += , libnss3-1d (>= 3.12.3)
+ else ifneq (,$(filter $(distrel), wheezy sid))
+ dlopen_hl_depends += , libnss3 (>= 2:3.13.4)
+ else
+ dlopen_hl_depends += , libnss3-1d (>= 3.12.9+ckbi-1.82-0ubuntu4)
+ endif
+endif
+dlopen_hl_depends += , libpcsclite1
+dlopen_hl_recommends =
+dlopen_jre_depends = \
+ libgtk2.0-0, libxrandr2, libxinerama1, libgl1-mesa-glx | libgl1
+dlopen_jre_recommends =
+# these are not yet ready for multiarch
+ifneq (,$(DEB_HOST_MULTIARCH))
+ dlopen_jre_recommends += , libgnome2-0, libgnomevfs2-0, libgconf2-4
+else
+ dlopen_jre_depends += , libgnome2-0, libgnomevfs2-0, libgconf2-4
+endif
+
+plugin_name = IcedTeaPlugin.so
+browser_plugin_dirs = mozilla
+
+# .desktop files need to be multiarch installable
+java_launcher = /$(basedir)/bin/java
+java_launcher = /usr/bin/java
+ifeq ($(distribution),Ubuntu)
+ ifeq (,$(filter $(distrel),karmic jaunty intrepid hardy))
+ java_launcher = cautious-launcher %f /$(basedir)/bin/java
+ java_launcher = cautious-launcher %f /usr/bin/java
+ endif
+endif
+
+ifneq (,$(filter $(distrel),etch))
+ core_fonts = ttf-dejavu
+else ifneq (,$(filter $(distrel),lenny hardy intrepid jaunty karmic))
+ core_fonts = ttf-dejavu-core
+else
+ core_fonts = ttf-dejavu-extra
+endif
+ifneq (,$(filter $(distrel),lenny squeeze oneiric natty maverick lucid jaunty intrepid hardy))
+ cjk_fonts = ttf-baekmuk | ttf-unfonts | ttf-unfonts-core,
+ cjk_fonts += ttf-sazanami-gothic | ttf-kochi-gothic,
+ cjk_fonts += ttf-sazanami-mincho | ttf-kochi-mincho,
+else
+ cfk_fonts = fonts-nanum,
+ cjk_fonts += fonts-ipafont-gothic, fonts-ipafont-mincho,
+ # FIXME: find out why this b-d is needed, the fontconfig compiler fails without it
+ bd_openjdk += fonts-ipafont-mincho,
+endif
+cjk_fonts += $(if $(with_wgy_zenhai),ttf-wqy-microhei | ttf-wqy-zenhei,ttf-arphic-uming),
+ifneq (,$(filter $(distrel),lenny squeeze wheezy sid experimental))
+ cjk_fonts += ttf-indic-fonts,
+else
+ cjk_fonts += ttf-indic-fonts-core, ttf-telugu-fonts, ttf-oriya-fonts,
+ cjk_fonts += ttf-kannada-fonts, ttf-bengali-fonts,
+endif
+
+p_jre = $(basename)-jre
+p_jrehl = $(basename)-jre-headless
+p_jrec = icedtea-$(shortver)-jre-cacao
+p_jrej = icedtea-$(shortver)-jre-jamvm
+p_jrez = $(basename)-jre-zero
+p_lib = $(basename)-jre-lib
+p_jdk = $(basename)-jdk
+p_demo = $(basename)-demo
+p_src = $(basename)-source
+p_doc = $(basename)-doc
+p_dbg = $(basename)-dbg
+
+d = debian/tmp
+d_jre = debian/$(p_jre)
+d_jrehl = debian/$(p_jrehl)
+d_jrec = debian/$(p_jrec)
+d_jrej = debian/$(p_jrej)
+d_jrez = debian/$(p_jrez)
+d_lib = debian/$(p_lib)
+d_jdk = debian/$(p_jdk)
+d_demo = debian/$(p_demo)
+d_src = debian/$(p_src)
+d_doc = debian/$(p_doc)
+d_dbg = debian/$(p_dbg)
+
+control_vars = \
+ '-Vvm:Name=$(vm_name)' \
+ '-Vbase:Version=$(req_openjdk_ver)' \
+ '-Vdlopenhl:Depends=$(dlopen_hl_depends)' \
+ '-Vdlopenhl:Recommends=$(dlopen_hl_recommends)' \
+ '-Vdlopenjre:Depends=$(dlopen_jre_depends)' \
+ '-Vdlopenjre:Recommends=$(dlopen_jre_recommends)' \
+ '-Vpkg:pulseaudio=$(pkg_pulseaudio)' \
+ '-Vxulrunner:Depends=$(xulrunner_depends)' \
+
+ifeq ($(pkg_compress),lzma)
+ bd_options = -- -Zlzma
+ control_vars += '-Vdpkg:Depends=dpkg (>= 1.14.12ubuntu3)'
+else ifeq ($(pkg_compress),bzip2)
+ bd_options = -- -Zbzip2
+ control_vars += '-Vdpkg:Depends=dpkg (>= 1.10.24)'
+endif
+
+ifneq (,$(DEB_HOST_MULTIARCH))
+ control_vars += \
+ '-Vmultiarch:Depends=multiarch-support' \
+ '-Vmultiarch:Conflicts=icedtea-netx (<< 1.1.1-2~)'
+endif
+
+ifneq (,$(filter-out $(hotspot_archs), $(cacao_archs)))
+ control_vars += '-Vcacao:Recommends=$(p_jrec) (= $${binary:Version})'
+endif
+ifneq (,$(filter-out $(hotspot_archs), $(jamvm_archs)))
+ ifneq (,$(filter $(DEB_HOST_ARCH),$(jamvm_defaults)))
+ control_vars += '-Vjredefault:Depends=$(p_jrej) (= $${binary:Version})'
+ else
+ control_vars += '-Vjamvm:Recommends=$(p_jrej) (= $${binary:Version})'
+ endif
+endif
+
+ifeq ($(with_bridge),atk)
+ control_vars += '-Vdep:bridge=libatk-wrapper-java-jni (>= 0.30.4-0ubuntu2)'
+else ifeq ($(with_bridge),yes)
+ ifneq (,$(DEB_HOST_MULTIARCH))
+ control_vars += '-Vdep:bridge=libaccess-bridge-java-jni (>= 1.26.2-6)'
+ else ifeq ($(with_jni_bridge),yes)
+ control_vars += '-Vdep:bridge=libaccess-bridge-java-jni'
+ else
+ control_vars += '-Vdep:bridge=libaccess-bridge-java'
+ endif
+endif
+
+ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs)))
+ control_vars += '-Vdefaultvm:Provides=$(p_jre)-zero, $(p_jre)-shark'
+ else
+ control_vars += '-Vdefaultvm:Provides=$(p_jre)-zero'
+ endif
+endif
+ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs) $(altshark_archs)))
+ control_vars += '-Vzerovm:Provides=$(p_jre)-shark'
+endif
+
+ifneq (,$(filter $(distrel),lenny jaunty intrepid hardy))
+ control_vars += '-Vjvm:Provides=java-virtual-machine'
+endif
+
+ifeq (,$(filter $(distrel), lenny))
+ pkg_certs = ca-certificates-java
+endif
+control_vars += '-Vcacert:Depends=$(pkg_certs)'
+
+ifeq ($(with_tzdata),yes)
+ pkg_tzdata = tzdata-java
+ ifneq (,$(filter $(distrel), precise))
+ pkg_tzdata += (>= 2012e-0ubuntu0.12.04.1)
+ endif
+endif
+control_vars += '-Vtzdata:Depends=$(pkg_tzdata)'
+
+pkg_jcommon = java-common (>= 0.28)
+control_vars += '-Vjcommon:Depends=$(pkg_jcommon)'
+
+ifneq (,$(rhino_source))
+ control_vars += "-Vrhino:Source=$(rhino_source)"
+endif
+
+debian/control: debian/control.in debian/rules
+ @cp -p debian/control debian/control.old
+ sed \
+ -e 's/@basename@/$(basename)/g' \
+ -e 's/@bd_autotools@/$(bd_autotools)/g' \
+ -e 's/@bd_bootstrap@/$(bd_bootstrap)/g' \
+ -e 's/@bd_openjdk@/$(bd_openjdk)/g' \
+ -e 's/@bd_zero@/$(bd_zero)/g' \
+ -e 's/@bd_gcc@/$(bd_gcc)/g' \
+ -e 's/@bd_syslibs@/$(bd_syslibs)/g' \
+ -e 's/@bd_fastjar@/$(bd_fastjar)/g' \
+ -e 's/@bd_mauve@/$(bd_mauve)/g' \
+ -e 's/@bd_xvfb@/$(bd_xvfb)/g' \
+ -e 's/@bd_compress@/$(pkg_compress)/g' \
+ -e 's/@bd_cacao@/$(bd_cacao)/g' \
+ -e 's/@bd_jamvm@/$(bd_jamvm)/g' \
+ -e 's/@bd_pulsejava@/$(bd_pulsejava)/g' \
+ -e 's/@bd_nss@/$(bd_nss)/g' \
+ -e 's/@bd_systemtap@/$(bd_systemtap)/g' \
+ -e 's/@bd_shark@/$(bd_shark)/g' \
+ -e 's/@bd_ant@/$(bd_ant)/g' \
+ -e 's/@core_fonts@/$(core_fonts)/g' \
+ -e 's/@cjk_fonts@/$(cjk_fonts)/g' \
+ -e 's/@any_archs@/$(any_archs)/g' \
+ -e 's/@cacao_archs@/$(cacao_archs)/g' \
+ -e 's/@jamvm_archs@/$(jamvm_archs)/g' \
+ -e 's/@hotspot_archs@/$(hotspot_archs)/g' \
+ -e 's/@altzero_archs@/$(altzero_archs)/g' \
+ -e 's/@lib_arch@/$(p_lib_arch)/g' \
+ debian/control.in \
+ $(if $(cacao_archs), debian/control.cacao-jre) \
+ $(if $(transitional_cacao_pkg), debian/control.cacao-trans) \
+ $(if $(jamvm_archs), debian/control.jamvm-jre) \
+ $(if $(altzero_archs), debian/control.zero-jre) \
+ $(if $(DEB_HOST_MULTIARCH),,| grep -v '^Multi-Arch') \
+ $(if $(rhino_source),,| grep -v '^Built-Using') \
+ > debian/control
+ @if cmp -s debian/control debian/control.old; then \
+ rm -f debian/control.old; \
+ else \
+ diff -u debian/control.old debian/control | wdiff -d -; \
+ echo "debian/control did change, please restart the build"; \
+ rm -f debian/control.old; \
+ exit 1; \
+ fi
+
+packaging-files:
+ for f in debian/*.in; do \
+ case "$$f" in debian/control.in) continue; esac; \
+ f2=$$(echo $$f | sed 's/JB/$(basename)/;s/\.in$$//'); \
+ sed -e 's/@JRE@/$(p_jre)/g' \
+ -e 's/@JDK@/$(p_jdk)/g' \
+ -e 's/@vendor@/$(Vendor)/g' \
+ -e 's/@RELEASE@/$(shortver)/g' \
+ -e 's/@basename@/$(basename)/g' \
+ -e 's,@TOP@,$(TOP),g' \
+ -e 's,@basedir@,$(basedir),g' \
+ -e 's,@etcdir@,$(etcdir),g' \
+ -e 's,@jdiralias@,$(jdiralias),g' \
+ -e 's,@jdirname@,$(jdirname),g' \
+ -e 's/@srcname@/$(srcname)/g' \
+ -e 's/@jvmarch@/$(jvmarch)/g' \
+ -e 's/@archdir@/$(archdir)/g' \
+ -e 's/@tag@/$(tag)/g' \
+ -e 's/@priority@/$(priority)/g' \
+ -e 's/@mantag@/$(mantag)/g' \
+ -e 's/@multiarch@/$(DEB_HOST_MULTIARCH)/g' \
+ -e 's/@jre_hl_tools@/$(jre_hl_tools_alt)/g' \
+ -e 's/@jre_tools@/$(jre_tools_alt)/g' \
+ -e 's/@jdk_tools@/$(jdk_tools_alt)/g' \
+ -e 's/@corba_tools@/$(corba_tools)/g' \
+ -e 's,@j2se_lib@,$(j2se_lib),g' \
+ -e 's,@j2se_share@,$(j2se_share),g' \
+ -e 's,@java_launcher@,$(java_launcher),g' \
+ -e 's,@with_tzdata@,$(with_tzdata),g' \
+ -e 's/@cjk_fonts@/$(cjk_fonts)/g' \
+ $$f > $$f2; \
+ done
+ifneq (,$(filter $(DEB_HOST_ARCH), i386 lpia))
+# not yet in OpenJDK
+# cat debian/$(p_jre)-i586.menu >> $(d_jre).menu
+ rm -f debian/$(p_jre)-i586.menu
+endif
+
+icedtea-configure: stamps/icedtea-configure
+stamps/icedtea-configure:
+ -cat /etc/hosts
+
+ mkdir -p bin
+ifeq (,$(filter $(DEB_HOST_ARCH), alpha amd64 hppa ppc64 s390x sparc64))
+ ( \
+ echo '#! /bin/sh'; \
+ echo 'if [ -x /usr/bin/linux32 ]; then'; \
+ echo ' exec /usr/bin/linux32 /bin/uname "$$@"'; \
+ echo 'else'; \
+ echo ' exec /bin/uname "$$@"'; \
+ echo 'fi'; \
+ ) > bin/uname
+ chmod +x bin/uname
+ echo "UNAME checks"
+ uname -a
+endif
+ /bin/uname -a
+ lsb_release -a
+
+ mkdir -p stamps
+ mkdir -p build
+ chmod +x configure
+ cd build && $(EXTRA_BUILD_ENV) ../configure $(CONFIGURE_ARGS)
+
+ touch $@
+
+unpack: stamps/unpack
+stamps/unpack: stamps/icedtea-configure
+# $(MAKE) -C build extract
+ifeq ($(STAGE1_JAVA),gcj)
+# $(MAKE) -C build stamps/extract-ecj.stamp
+endif
+ touch $@
+
+dist-openjdk: $(OPENJDK_SRC_ZIP)
+ @echo "downloading openjdk source from hg to create zipfile: $(OPENJDK_SRC_ZIP)"
+ $(MAKE) -C build $@
+
+patch: stamps/patch
+stamps/patch: stamps/unpack
+ifeq ($(STAGE1_JAVA),gcj)
+# $(MAKE) -C build patch-boot
+endif
+# $(MAKE) -C build patch
+ touch $@
+
+ifeq ($(with_check),yes)
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha ia64 mips mipsel powerpc powerpcspe ppc64 s390 sh4))
+ with_mauve_check = $(default_vm)
+ endif
+ ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha armel armhf ia64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sh4))
+ with_jtreg_check = $(default_vm)
+ endif
+
+ ifneq (,$(filter cacao, $(alternate_vms)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc powerpcspe sparc))
+ # only activate after testing; problems on s390
+ with_mauve_check += cacao
+ endif
+ ifneq (,$(filter $(DEB_HOST_ARCH), alpha amd64 armel armhf i386 lpia mips mipsel powerpc powerpcspe s390))
+ # only activate after testing; hangs several tests.
+ with_jtreg_check += cacao
+ endif
+ endif
+
+ ifneq (,$(filter jamvm, $(alternate_vms)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 ))
+ # only activate after testing
+ with_mauve_check += jamvm
+ endif
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia))
+ # only activate after testing; hangs several tests.
+ with_jtreg_check += jamvm
+ endif
+ endif
+
+ ifneq (,$(filter shark, $(alternate_vms)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc))
+ # only activate after testing
+ with_mauve_check += $(if $(filter $(DEB_HOST_ARCH),$(altshark_archs)),shark,zero)
+ endif
+ # shark hangs on ppc64
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc))
+ # only activate after testing; hangs several tests.
+ with_jtreg_check += $(if $(filter $(DEB_HOST_ARCH),$(altshark_archs)),shark,zero)
+ endif
+ endif
+
+ ifneq (,$(filter zero, $(alternate_vms)))
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia))
+ # only activate after testing
+ with_mauve_check += zero
+ endif
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia))
+ # only activate after testing; hangs several tests.
+ with_jtreg_check += zero
+ endif
+ endif
+
+ with_mauve_check =
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 mips mipsel powerpc powerpcspe ppc64 s390))
+ JTREG_OPTIONS = -timeout:3
+endif
+ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf))
+ JTREG_OPTIONS += -Xmx256M -vmoption:-Xmx256M
+endif
+
+build_stamps = stamps/build
+build_stamps += stamps/mauve-check-default stamps/jtreg-check-default
+#build_stamps += $(if $(filter cacao, $(alternate_vms)),stamps/mauve-check-cacao stamps/jtreg-check-cacao)
+build_stamps += $(if $(filter jamvm, $(alternate_vms)),stamps/mauve-check-jamvm stamps/jtreg-check-jamvm)
+ifeq (,$(filter $(distrel),lenny hardy))
+ build_stamps += $(if $(filter zero, $(alternate_vms)),stamps/mauve-check-zero stamps/jtreg-check-zero)
+ ifneq (,$(filter shark, $(alternate_vms)))
+ ifneq (,$(filter $(DEB_HOST_ARCH),$(altshark_archs)))
+ build_stamps += stamps/mauve-check-shark stamps/jtreg-check-shark
+ else
+ build_stamps += stamps/mauve-check-zero stamps/jtreg-check-zero
+ endif
+ endif
+endif
+
+pre-build:
+#ifneq (,$(filter $(DEB_HOST_ARCH),armel))
+# @echo explicitely fail the build for $(DEB_HOST_ARCH), ARM assembler interpreter not yet ported
+# false
+#endif
+
+build-arch: build
+build-indep: build
+build: pre-build $(build_stamps)
+ if [ -f buildwatch.pid ]; then \
+ pid=$$(cat buildwatch.pid); \
+ kill -1 $$pid || :; sleep 1; kill -9 $$pid || :; \
+ fi
+ rm -f buildwatch.pid
+
+stamps/build: stamps/patch
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha arm armel armhf hppa ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc))
+ sh -c 'sh debian/buildwatch.sh $(CURDIR)/build &'
+endif
+ if $(EXTRA_BUILD_ENV) $(MAKE) -C build $(build_target) $(EXTRA_MAKE_FLAGS); then \
+ : ; \
+ else \
+ if [ -f buildwatch.pid ]; then \
+ pid=$$(cat buildwatch.pid); \
+ kill -1 $$pid || :; sleep 1; kill -9 $$pid || :; \
+ fi; \
+ false; \
+ fi
+ touch $@
+
+stamps/xvfb-check:
+ mkdir -p bin
+ ( \
+ echo '#!/bin/sh'; \
+ echo '$(with_wm_prefix) $(with_wm) $(with_wm_args) &'; \
+ echo 'pid=$$!'; \
+ echo 'sleep 3'; \
+ echo '"$$@"'; \
+ echo 'kill -9 $$pid'; \
+ ) > bin/my-jtreg-run
+ chmod 755 bin/my-jtreg-run
+ifeq (,$(wildcard /usr/bin/$(with_wm)))
+ echo 'xvfb-run -a -e xvfb-run.log -s "-extension GLX" "$$@"' > bin/my-xvfb-run
+else
+ echo 'xvfb-run -a -e xvfb-run.log -s "-extension GLX" my-jtreg-run "$$@"' > bin/my-xvfb-run
+ ifeq ($(with_wm),twm)
+ grep -v '^include-menu-defs' /etc/X11/twm/system.twmrc-menu > bin/jtreg.tmwrc
+ echo RandomPlacement >> bin/jtreg.tmwrc
+ endif
+endif
+ if ! /bin/sh bin/my-xvfb-run true ; then \
+ echo "error running $$(cat bin/my-xvfb-run)"; \
+ cat xvfb-run.log; \
+ sed -i 's/ -s *"[^"]*"//' bin/my-xvfb-run; \
+ if ! /bin/sh bin/my-xvfb-run true ; then \
+ echo "error running $$(cat bin/my-xvfb-run)"; \
+ cat xvfb-run.log; \
+ rm -f bin/my-xvfb-run; \
+ fi; \
+ fi
+ if [ -f bin/my-xvfb-run ]; then \
+ echo "using $$(cat bin/my-xvfb-run)"; \
+ fi
+ touch $@
+
+stamps/mauve-check-default: stamps/build stamps/xvfb-check
+ $(MAKE) -f debian/rules mauve-run-check VMNAME=$(default_vm) VMARGS=
+ touch $@
+
+stamps/mauve-check-cacao: stamps/xvfb-check
+ $(MAKE) -f debian/rules mauve-run-check VMNAME=cacao VMARGS='-vmarg -cacao'
+ touch $@
+
+stamps/mauve-check-jamvm: stamps/xvfb-check
+ $(MAKE) -f debian/rules mauve-run-check VMNAME=jamvm VMARGS='-vmarg -jamvm'
+ touch $@
+
+stamps/mauve-check-shark: stamps/xvfb-check
+ $(MAKE) -f debian/rules mauve-run-check VMNAME=shark VMARGS='-vmarg -shark'
+ touch $@
+
+stamps/mauve-check-zero: stamps/xvfb-check
+ $(MAKE) -f debian/rules mauve-run-check VMNAME=zero VMARGS='-vmarg -zero'
+ touch $@
+
+stamps/mauve-build: stamps/build
+ rm -rf build/mauve
+ mkdir -p build/mauve
+ifeq ($(with_mauve_check),yes)
+ tar -x -C build -f /usr/src/mauve.tar.gz
+ cd build/mauve \
+ && aclocal \
+ && automake \
+ && autoconf \
+ && PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH \
+ ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
+ PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH $(MAKE) -C build/mauve
+endif
+ touch $@
+
+stamps/mauve-check: stamps/build stamps/mauve-build stamps/xvfb-check
+
+mauve-run-check:
+ rm -rf build/mauve build/mauve-$(VMNAME)
+ifneq (,$(filter $(VMNAME), $(with_mauve_check)))
+ tar -x -C build -f /usr/src/mauve.tar.gz
+ mv build/mauve build/mauve-$(VMNAME)
+ cd build/mauve-$(VMNAME) \
+ && aclocal \
+ && automake \
+ && autoconf \
+ && PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH ./configure \
+ --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
+ PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH $(MAKE) -C build/mauve-$(VMNAME)
+
+ if [ -f bin/my-xvfb-run ]; then \
+ cd build/mauve-$(VMNAME) && \
+ JAVA_HOME=$(CURDIR)/build/$(sdkimg) \
+ PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH \
+ time /bin/sh $(CURDIR)/bin/my-xvfb-run java Harness \
+ -vm $(CURDIR)/build/$(sdkimg)/bin/java \
+ $(VMARGS) \
+ -file $(CURDIR)/debian/mauve_tests \
+ -timeout 30000 2>&1 \
+ | tee mauve_output-$(VMNAME); \
+ else \
+ echo "mauve testsuite not run for this build (xvfb failures)" \
+ > build/mauve-$(VMNAME)/mauve_output-$(VMNAME); \
+ cat xvfb-run.log >> build/mauve-$(VMNAME)/mauve_output-$(VMNAME); \
+ fi
+ @sleep 5
+else
+ mkdir -p build/mauve-$(VMNAME)
+ echo "mauve testsuite not run for this build" \
+ > build/mauve-$(VMNAME)/mauve_output-$(VMNAME)
+endif
+
+jtreg_processes = ps x -ww -o pid,ppid,args \
+ | awk '$$2 == 1 && $$3 ~ /^$(subst /,\/,/scratch)/' \
+ | sed 's,$(CURDIR)/build/$(sdkimg),<sdkimg>,g;s,$(CURDIR),<pwd>,g'
+jtreg_pids = ps x --no-headers -ww -o pid,ppid,args \
+ | awk '$$2 == 1 && $$3 ~ /^$(subst /,\/,$(CURDIR)/build/$(sdkimg))/ {print $$1}'
+
+stamps/jtreg-check-default: stamps/build stamps/xvfb-check
+ $(MAKE) -f debian/rules jtreg-run-check VMNAME=$(default_vm) VMARGS= \
+ $(if $(filter $(default_vm),hotspot),TEST_SUITES='hotspot langtools jdk',TEST_SUITES='hotspot langtools')
+ touch $@
+
+stamps/jtreg-check-cacao: stamps/build stamps/xvfb-check
+ $(MAKE) -f debian/rules jtreg-run-check VMNAME=cacao VMARGS='-vmoption:-cacao' \
+ TEST_SUITES='hotspot langtools'
+ touch $@
+
+stamps/jtreg-check-jamvm: stamps/build stamps/xvfb-check
+ ICEDTEA_JTREG_OTHERVM=-othervm \
+ $(MAKE) -f debian/rules jtreg-run-check VMNAME=jamvm VMARGS='-vmoption:-jamvm' \
+ TEST_SUITES='hotspot langtools'
+ touch $@
+
+stamps/jtreg-check-shark: stamps/build stamps/xvfb-check
+ $(MAKE) -f debian/rules jtreg-run-check VMNAME=shark VMARGS='-vmoption:-shark' \
+ TEST_SUITES='hotspot langtools'
+ touch $@
+
+stamps/jtreg-check-zero: stamps/build stamps/xvfb-check
+ $(MAKE) -f debian/rules jtreg-run-check VMNAME=zero VMARGS='-vmoption:-zero' \
+ TEST_SUITES='langtools hotspot'
+ touch $@
+
+jtreg-run-check:
+ifneq (,$(filter $(VMNAME), $(with_jtreg_check)))
+ if [ ! -f build/$(sdkimg)/jre/lib/security/java.security.install ]; then \
+ fgrep -v 'sun.security.pkcs11' build/$(sdkimg)/jre/lib/security/java.security \
+ > build/$(sdkimg)/jre/lib/security/java.security.test; \
+ mv build/$(sdkimg)/jre/lib/security/java.security \
+ build/$(sdkimg)/jre/lib/security/java.security.install; \
+ mv build/$(sdkimg)/jre/lib/security/java.security.test \
+ build/$(sdkimg)/jre/lib/security/java.security; \
+ fi
+
+ @echo "BEGIN jtreg"
+ if [ -f bin/my-xvfb-run ]; then \
+ time /bin/sh bin/my-xvfb-run $(MAKE) -C build -k jtregcheck \
+ $(if $(TEST_SUITES),TEST_SUITES="$(TEST_SUITES)") \
+ ICEDTEA_JTREG_OPTIONS='$(VMARGS) $(JTREG_OPTIONS)' \
+ 2>&1 | tee jtreg_output-$(VMNAME); \
+ else \
+ echo "jtreg harness not run for this build" > jtreg_output-$(VMNAME); \
+ cat xvfb-run.log >> jtreg_output-$(VMNAME); \
+ fi
+ @echo "END jtreg"
+
+ if [ -f build/$(sdkimg)/jre/lib/security/java.security.install ]; then \
+ mv build/$(sdkimg)/jre/lib/security/java.security.install \
+ build/$(sdkimg)/jre/lib/security/java.security; \
+ fi
+
+# for i in check-hotspot.log check-jdk.log check-langtools.log jtreg-summary.log; do \
+# if [ -f build/test/$$i ]; then \
+ mv build/test/$$i build/test/$${i%*.log}-$(VMNAME).log; \
+# else \
+# mkdir -p build/test; \
+# cp jtreg_output-$(VMNAME) build/test/$${i%*.log}-$(VMNAME).log; \
+# fi; \
+# done
+
+ for i in check-hotspot.log check-jdk.log check-langtools.log jtreg-summary.log; do \
+ if [ -f build/test/$$i ]; then \
+ mv build/test/$$i build/test/$${i%*.log}-$(VMNAME).log; \
+ else \
+ mkdir -p build/test; \
+ fi; \
+ done
+
+ @echo "BEGIN jtreg-summary-$(VMNAME)"
+ -cat build/test/jtreg-summary-$(VMNAME).log
+ @echo "END jtreg-summary-$(VMNAME)"
+
+ : # kill testsuite processes still hanging
+ @pids=$$($(jtreg_pids)); \
+ if [ -n "$$pids" ]; then \
+ echo "killing processes..."; \
+ $(jtreg_processes); \
+ kill -1 $$pids; \
+ sleep 2; \
+ pids=$$($(jtreg_pids)); \
+ if [ -n "$$pids" ]; then \
+ echo "trying harder..."; \
+ $(jtreg_processes); \
+ kill -9 $$pids; \
+ sleep 2; \
+ fi; \
+ else \
+ echo "nothing to cleanup"; \
+ fi; \
+ pids=$$($(jtreg_pids)); \
+ if [ -n "$$pids" ]; then \
+ echo "leftover processes..."; \
+ $(jtreg_processes); \
+ fi
+
+ -for i in hotspot langtools jdk; do \
+ for t in $$(egrep '^(FAILED|Error)' build/test/check-$$i-$(VMNAME).log | sed 's/.* \(.*\)\.[^.][^.]*$$/\1/'); do \
+ echo test/$$i/JTwork/$$t.jtr; \
+ done; \
+ done > build/test/failed_tests-$(VMNAME).list; \
+ tar -C build -c -z -f build/test/failed_tests-$(VMNAME).tar.gz -T build/test/failed_tests-$(VMNAME).list
+else
+ echo "jtreg harness not run for this build" > jtreg_output-$(VMNAME)
+endif
+
+clean: debian-clean
+ dh_testdir
+ dh_testroot
+ rm -rf stamps build build-*
+ rm -rf autom4te.cache
+ rm -rf bin
+ rm -f jtreg_output* xvfb-run.log
+ rm -f buildwatch.pid
+
+ dh_clean
+
+debian-clean:
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ for f in debian/*.in; do \
+ f2=$$(echo $$f | sed 's/JB/$(basename)/;s/\.in$$//'); \
+ case "$$f2" in debian/control) continue; esac; \
+ rm -f $$f2; \
+ done
+ rm -f debian/*.install debian/*.links debian/*.debhelper.log
+
+lib_ext_dirs = common $(sort $(foreach arch,$(arch_map),$(firstword $(subst =,$(SPACE),$(arch)))))
+ifeq ($(distribution),Ubuntu)
+ lib_ext_dirs := $(filter-out arm hppa m68k mips% powerpcspe s390% sh%, $(lib_ext_dirs))
+else
+ lib_ext_dirs := $(filter-out arm hppa lpia, $(lib_ext_dirs))
+endif
+
+install: packaging-files
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ rm -f debian/*.install debian/*.links
+ dh_installdirs
+
+ : # install into temporary location
+ mkdir -p $(d)/$(basedir)
+ cp -a build/$(sdkimg)/* $(d)/$(basedir)/
+ cp -a build/$(jreimg)/man $(d)/$(basedir)/jre/
+ chmod -R u+w $(d)
+
+ : # use javaws from icedtea-netx
+ find $(d) -name 'javaws*' | xargs -r rm -f
+
+ : # install default jvm config file
+ cp debian/jvm.cfg-default $(d)/$(basedir)/jre/lib/$(archdir)/
+
+ : # add extra symlinks for header files
+ ln -sf linux/jni_md.h $(d)/$(basedir)/include/jni_md.h
+ ln -sf linux/jawt_md.h $(d)/$(basedir)/include/jawt_md.h
+
+ifeq ($(with_tzdata),yes)
+ : # use the timezone files from tzdata-java
+ rm -rf $(d)/$(basedir)/jre/lib/zi
+endif
+
+ : # compress manpages
+ find $(d)/$(basedir)/man $(d)/$(basedir)/jre/man -type f ! -type l \
+ | xargs gzip -9v -n
+
+ : # replace common files in jdk and jre by symlinks
+ @cd $(d)/$(basedir); \
+ for i in `find jre -type f`; do \
+ i2=$${i#jre/*}; \
+ if [ -f $$i2 ]; then \
+ if cmp -s $$i $$i2; then \
+ : ; \
+ else \
+ echo "XXX: differing files"; \
+ md5sum $$i $$i2; \
+ fi; \
+ else \
+ continue; \
+ fi; \
+ d=$$(echo ./$$i2 | sed -r 's,[^/]+/,../,g;s,/[^/]+$$,,;s,\.\.$$,,'); \
+ echo " symlink $$i2 -> $$d$$i"; \
+ ln -sf $$d$$i $$i2; \
+ done
+
+ mkdir -p $(d)/$(etcdir)/security
+ mkdir -p $(d)/$(etcdir)/management
+ mkdir -p $(d)/$(etcdir)/images/cursors
+
+ : # rename templates (comments only) to config files,
+ : # and move to /$(etcdir)
+ for i in \
+ management/jmxremote.password \
+ management/snmp.acl; \
+ do \
+ mv $(d)/$(basedir)/jre/lib/$$i.template $(d)/$(etcdir)/$$i; \
+ done
+
+ifeq ($(with_bridge),atk)
+ cp -p debian/accessibility-atk.properties \
+ $(d)/$(basedir)/jre/lib/accessibility.properties
+else
+ cp -p debian/accessibility.properties $(d)/$(basedir)/jre/lib/
+endif
+ cp -p debian/swing.properties $(d)/$(basedir)/jre/lib/
+
+ifneq (,$(pkg_certs))
+ rm -f $(d)/$(basedir)/jre/lib/security/cacerts
+endif
+
+ grep -v '^nssLibraryDirectory' $(d)/$(basedir)/jre/lib/security/nss.cfg \
+ > $(d)/$(basedir)/jre/lib/security/nss.cfg.new
+ mv -f $(d)/$(basedir)/jre/lib/security/nss.cfg.new \
+ $(d)/$(basedir)/jre/lib/security/nss.cfg
+
+ : # move config files to $(etcdir) and symlink them.
+ for i in \
+ accessibility.properties \
+ calendars.properties \
+ content-types.properties \
+ images/cursors/cursors.properties \
+ logging.properties \
+ sound.properties \
+ flavormap.properties \
+ net.properties \
+ psfontj2d.properties \
+ psfont.properties.ja \
+ swing.properties \
+ tz.properties \
+ management/jmxremote.access \
+ management/management.properties \
+ security/java.policy \
+ security/java.security \
+ $$([ -f $(d)/$(basedir)/jre/lib/security/nss.cfg ] && echo security/nss.cfg) \
+ $(if $(findstring ca-cert,$(pkg_certs)),,security/cacerts); \
+ do \
+ mv $(d)/$(basedir)/jre/lib/$$i $(d)/$(etcdir)/$$i; \
+ done
+ mv $(d)/$(basedir)/jre/lib/$(archdir)/jvm.cfg \
+ $(d)/$(etcdir)/
+ifneq (,$(filter $(DEB_HOST_ARCH),$(jamvm_defaults)))
+ grep '^[# ]' $(d)/$(etcdir)/jvm.cfg \
+ > $(d)/$(etcdir)/jvm.cfg.new
+ grep 'jamvm' $(d)/$(etcdir)/jvm.cfg \
+ >> $(d)/$(etcdir)/jvm.cfg.new
+ egrep -v '^[# ]|jamvm' $(d)/$(etcdir)/jvm.cfg \
+ >> $(d)/$(etcdir)/jvm.cfg.new
+ mv $(d)/$(etcdir)/jvm.cfg.new $(d)/$(etcdir)/jvm.cfg
+endif
+ printf -- '-avian KNOWN\n' >> $(d)/$(etcdir)/jvm.cfg
+
+ mv $(d)/$(basedir)/jre/lib/fontconfig.Ubuntu.properties.src \
+ $(d)/$(etcdir)/fontconfig.properties
+
+ : # remove files which we do not want to distribute
+ rm -f $(d)/$(basedir)/jre/lib/fontconfig*.properties.src
+ rm -f $(d)/$(basedir)/jre/lib/fontconfig*.bfc
+ rm -f $(d)/$(basedir)/jre/lib/$(archdir)/*/classes.jsa
+
+ : # remove empty directories
+ rmdir $(d)/$(basedir)/jre/lib/management
+ rmdir $(d)/$(basedir)/jre/lib/applet
+ rmdir $(d)/$(basedir)/jre/lib/security
+
+ : # TODO: why do we provide a custom font.properties.ja?
+ : # cp -p debian/font.properties.ja $(d_jbin)/$(etcdir)/.
+# cp debian/font.properties.wgy_zenhai \
+# $(d)/$(etcdir)/font.properties.ja
+
+
+ : # now move things to the packages. it is so ****** to create
+ : # .install files first. dh_movefiles did do the job perfectly
+
+ : # $(p_jrehl).install / $(p_jre).install
+ ( \
+ echo 'etc'; \
+ echo '$(basedir)/jre/lib/jexec'; \
+ echo '$(basedir)/jre/lib/rt.jar'; \
+ echo '$(basedir)/jre/man/ja'; \
+ echo '$(basedir)/man/ja'; \
+ echo '$(basedir)/bin/java-rmi.cgi'; \
+ ) > debian/$(p_jrehl).install
+ifneq (,$(DEB_HOST_MULTIARCH))
+ ( \
+ echo '$(basedir)/jre/lib/meta-index'; \
+ echo '$(basedir)/jre/lib/ext/meta-index'; \
+ ) >> debian/$(p_jrehl).install
+endif
+ $(RM) debian/$(p_jre).install
+
+ cd $(CURDIR)/$(d); \
+ for i in $(basedir)/jre/{bin,man/man1,man/ja_JP.UTF-8/man1}/*; do \
+ case "$$i" in \
+ */policytool*) echo $$i >> ../$(p_jre).install;; \
+ *) echo $$i >> ../$(p_jrehl).install; \
+ esac; \
+ done
+
+ cd $(CURDIR)/$(d); \
+ for i in $(basedir)/{bin,man/man1,man/ja_JP.UTF-8/man1}/*; do \
+ [ -h $$i ] || continue; \
+ case "$$i" in \
+ */policytool*) echo $$i >> ../$(p_jre).install;; \
+ *) echo $$i >> ../$(p_jrehl).install; \
+ esac; \
+ done; \
+
+ cd $(CURDIR)/$(d); \
+ for i in $(basedir)/jre/lib/$(archdir)/*; do \
+ case "$$i" in \
+ */libsplashscreen.so|*/libjsoundalsa.so|$(if $(with_pulse),*/libpulse-java.so|)*/xawt) echo $$i >> ../$(p_jre).install;; \
+ */cacao) echo $$i >> ../$(p_jrec).install;; \
+ */jamvm) echo $$i >> ../$(p_jrej).install;; \
+ */zero|*/shark) echo $$i >> ../$(p_jrez).install;; \
+ *) echo $$i >> ../$(p_jrehl).install; \
+ esac; \
+ done
+
+ : # $(p_lib).install
+ ( \
+ echo '$(basedir)/jre/ASSEMBLY_EXCEPTION $(commonbasedir)/jre/'; \
+ echo '$(basedir)/jre/THIRD_PARTY_README $(commonbasedir)/jre/'; \
+ cd $(d); \
+ for i in $(basedir)/jre/lib/*; do \
+ case "$$i" in \
+ */$(archdir)|*/jexec|*/rt.jar|*/security$(if $(DEB_HOST_MULTIARCH),|*/meta-index)) \
+ continue; \
+ esac; \
+ echo $$i $(commonbasedir)/jre/lib/; \
+ done; \
+ ) > debian/$(p_lib).install
+
+ : # $(p_jdk).install
+ ( \
+ echo '$(basedir)/include'; \
+ echo '$(basedir)/lib'; \
+ echo '$(basedir)/LICENSE'; \
+ echo '$(basedir)/ASSEMBLY_EXCEPTION'; \
+ echo '$(basedir)/THIRD_PARTY_README'; \
+ cd $(d); \
+ for i in $(basedir)/{bin,man/man1,man/ja_JP.UTF-8/man1}/*; do \
+ [ -h $$i -o "$$i" = $(basedir)/bin/java-rmi.cgi ] && continue; \
+ echo $$i; \
+ done; \
+ ) > debian/$(p_jdk).install
+
+ : # $(p_src).install
+ ( \
+ echo '$(basedir)/src.zip $(commonbasedir)/'; \
+ ) > debian/$(p_src).install
+
+ : # move demos and samples, create symlinks for $(p_demo)
+ mkdir -p $(d)/usr/share/doc/$(p_jrehl)/demo
+ for i in $(d)/$(basedir)/demo/*; do \
+ b=$$(basename $$i); \
+ case "$$i" in \
+ */jvmti) \
+ echo $(basedir)/demo/$$b usr/share/doc/$(p_jrehl)/demo/$$b >> $(d_demo).links;; \
+ *) \
+ mv $$i $(d)/usr/share/doc/$(p_jrehl)/demo/$$b; \
+ echo usr/share/doc/$(p_jrehl)/demo/$$b $(basedir)/demo/$$b >> $(d_demo).links;; \
+ esac; \
+ done
+ mv $(d)/$(basedir)/sample $(d)/usr/share/doc/$(p_jrehl)/examples
+ echo usr/share/doc/$(p_jrehl)/examples $(basedir)/sample >> $(d_demo).links
+ echo usr/share/doc/$(p_jre) usr/share/doc/$(p_demo) >> $(d_demo).links
+
+ : # $(p_demo).install
+ ( \
+ echo '$(basedir)/demo'; \
+ echo 'usr/share/doc/$(p_jrehl)/examples'; \
+ echo 'usr/share/doc/$(p_jrehl)/demo'; \
+ ) > debian/$(p_demo).install
+
+ dh_install --sourcedir=debian/tmp --fail-missing -XLICENSE -Xrelease
+
+ifneq (,$(DEB_HOST_MULTIARCH))
+ rm -f $(d_lib)/$(commonbasedir)/jre/lib/ext/meta-index
+endif
+
+ : # give all permissions to cross-VM extension directory
+ sed -i \
+ -e '/permission java\.security\.AllPermission;/,/};/c\' \
+ -e ' permission java.security.AllPermission;\' \
+ -e '};\' \
+ -e '\' \
+ $(if $(DEB_HOST_MULTIARCH),$(foreach i, $(lib_ext_dirs), \
+ -e 'grant codeBase "file:/$(TOP)/java-$(shortver)-$(origin)-$(i)/jre/lib/ext/*" {\' \
+ -e ' permission java.security.AllPermission;\' \
+ -e '};\')) \
+ -e '\' \
+ -e '// Comment this out if you want to give all permissions to the\' \
+ -e '// Debian Java repository too:\' \
+ -e '//grant codeBase "file:/usr/share/java/repository/-" {\' \
+ -e '// permission java.security.AllPermission;\' \
+ -e '//};\' \
+ -e '' \
+ $(d_jrehl)/$(security)/java.policy
+# 'make Emacs Makefile mode happy
+
+ dh_installdirs -p$(p_jrehl) \
+ usr/share/doc/$(p_jrehl) \
+ usr/share/binfmts
+
+ dh_installdirs -p$(p_jre) \
+ usr/share/applications \
+ usr/share/application-registry \
+ usr/share/mime-info \
+ usr/share/pixmaps
+
+ : # add GNOME stuff
+ cp -p debian/$(basename)-policytool.desktop \
+ $(d_jre)/usr/share/applications/
+ cp -p debian/$(basename)-java.desktop \
+ $(d_jre)/usr/share/applications/
+
+ for i in archive; do \
+ cp debian/$(basename)-$$i.applications \
+ $(d_jre)/usr/share/application-registry/; \
+ cp debian/$(basename)-$$i.keys $(d_jre)/usr/share/mime-info/; \
+ cp debian/$(basename)-$$i.mime $(d_jre)/usr/share/mime-info/; \
+ done
+
+ cp -p debian/sun_java.xpm \
+ $(d_jre)/usr/share/pixmaps/$(basename).xpm
+
+ mkdir -p $(d_demo)/usr/share/pixmaps
+ cp -p debian/sun_java_app.xpm \
+ $(d_demo)/usr/share/pixmaps/$(basename)-app.xpm
+
+ : # install icons
+ for i in 16 24 32 48; do \
+ install -D -m 644 -p build/openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon$${i}.png \
+ $(d_jre)/usr/share/icons/hicolor/$${i}x$${i}/apps/$(basename).png; \
+ done
+
+ : # create docdir symlinks for $(p_jrehl)
+ ( \
+ echo usr/share/doc/$(p_jrehl) $(basedir)/docs; \
+ ) > $(d_jrehl).links
+ifneq (,$(DEB_HOST_MULTIARCH))
+ echo '/$(basedir) /usr/lib/jvm/$(jdirname)' >> $(d_jrehl).links
+endif
+
+ : # create docdir symlinks for $(p_jre)
+ ( \
+ echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_jre); \
+ ) > $(d_jre).links
+
+ifneq (,$(filter shark zero, $(alternate_vms)))
+ : # create docdir symlinks for $(p_jrez)
+ ( \
+ echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_jrez); \
+ ) > $(d_jrez).links
+endif
+
+ : # create docdir symlinks for $(p_src)
+ ( \
+ echo usr/share/doc/$(p_jre) usr/share/doc/$(p_src); \
+ ) > $(d_src).links
+
+ : # create docdir symlinks for $(p_jdk)
+ ( \
+ echo usr/share/doc/$(p_jre) usr/share/doc/$(p_jdk); \
+ ) > $(d_jdk).links
+# doesn't work, no package dependency
+ifneq (,$(DEB_HOST_MULTIARCH))
+ echo '$(commonbasedir)/src.zip $(basedir)/src.zip' >> $(d_jdk).links
+endif
+
+ : # create docdir symlinks for $(p_lib)
+ ( \
+ echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_lib); \
+ ) > $(d_lib).links
+
+ : # create docdir symlinks for $(p_dbg)
+ ( \
+ echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_dbg); \
+ ) > $(d_dbg).links
+
+ifeq ($(with_bridge),atk)
+ : # create links for the atk wrapper
+ echo "usr/share/java/java-atk-wrapper.jar $(basedir)/jre/lib/ext/java-atk-wrapper.jar" \
+ >> $(d_jre).links
+ echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/jre/lib/ext/libatk-wrapper.so" \
+ >> $(d_jre).links
+else ifeq ($(with_bridge),yes)
+ : # create links for the gnome accessibility bridge
+ echo "usr/share/java/gnome-java-bridge.jar $(basedir)/jre/lib/ext/gnome-java-bridge.jar" \
+ >> $(d_jre).links
+ ifeq ($(with_jni_bridge),yes)
+ echo "usr/lib$(multiarch_dir)/jni/libjava-access-bridge-jni.so $(basedir)/jre/lib/ext/libjava-access-bridge-jni.so" \
+ >> $(d_jre).links
+ endif
+endif
+
+ifeq ($(with_tzdata),yes)
+ echo usr/share/javazi $(basedir)/jre/lib/zi \
+ >> $(if $(DEB_HOST_MULTIARCH),$(d_jrehl),$(d_lib)).links
+endif
+
+ : # create links for the config files
+ find $(d_jrehl)/$(etcdir) -type f ! -name jvm.cfg \
+ -printf "$(etcdir)/%P $(basedir)/jre/lib/%P\n" >> $(d_jrehl).links
+ifneq (,$(DEB_HOST_MULTIARCH))
+ mv $(d_jrehl)/$(etcdir)/jvm.cfg \
+ $(d_jrehl)/$(etcdir)/jvm-$(DEB_HOST_ARCH).cfg
+ ( \
+ echo "$(etcdir)/jvm-$(DEB_HOST_ARCH).cfg $(basedir)/jre/lib/$(archdir)/jvm.cfg"; \
+ ) >> $(d_jrehl).links
+else
+ ( \
+ echo "$(etcdir)/jvm.cfg $(basedir)/jre/lib/$(archdir)/jvm.cfg"; \
+ ) >> $(d_jrehl).links
+endif
+ifneq (,$(pkg_certs))
+ echo "etc/ssl/certs/java/cacerts $(basedir)/jre/lib/security/cacerts" \
+ >> $(d_jrehl).links
+endif
+
+ @echo JRE_HL_TOOLS: $(jre_hl_tools_alt) jexec
+ @echo JRE_TOOLS: $(jre_tools_alt)
+ @echo JDK_TOOLS: $(jdk_tools_alt)
+ ( \
+ echo 'name=$(jdirname)'; \
+ echo 'alias=$(jdiralias)'; \
+ echo 'priority=$(priority)'; \
+ echo 'section=main'; \
+ echo ''; \
+ for i in $(jre_hl_tools_alt); do \
+ echo "hl $$i /$(basedir)/jre/bin/$$i"; \
+ done; \
+ echo "hl jexec /$(basedir)/jre/lib/jexec"; \
+ for i in $(jre_tools_alt); do \
+ echo "jre $$i /$(basedir)/jre/bin/$$i"; \
+ done; \
+ for i in $(jdk_tools_alt); do \
+ echo "jdk $$i /$(basedir)/bin/$$i"; \
+ done; \
+ for d in $(browser_plugin_dirs); do \
+ echo "plugin $$d-javaplugin.so /$(basedir)/jre/lib/$(archdir)/$(plugin_name)"; \
+ done; \
+ ) > $(d_jrehl)/$(TOP)/.$(jdiralias).jinfo
+
+ ( \
+ echo 'package $(basename)'; \
+ echo 'interpreter /usr/bin/jexec'; \
+ echo 'magic PK\x03\x04'; \
+ ) > $(d_jrehl)/$(basedir)/jre/lib/jar.binfmt
+
+ : # another jvm symlink
+ ln -sf $(jdirname) $(d_jrehl)/usr/lib/jvm/$(jdiralias)
+
+ifeq ($(with_systemtap),yes)
+ : # systemtap support
+ mkdir -p $(d_jrehl)/usr/share/systemtap/tapset
+ cp -p build/tapset/hotspot.stp $(d_jrehl)/usr/share/systemtap/tapset/
+endif
+
+ : # Install stuff to generate font config and timezone files.
+ mkdir -p $(d_lib)/$(commonbasedir)/jre/lib
+ cp -p build/openjdk.build/btjars/compilefontconfig.jar \
+ $(d_lib)/$(commonbasedir)/jre/lib/
+ cp -p build/openjdk.build/btjars/javazic.jar \
+ $(d_lib)/$(commonbasedir)/jre/lib/
+
+ifneq (,$(DEB_HOST_MULTIARCH))
+ : # create symlinks for the files in $(p_lib)
+ find $(d_lib)/$(commonbasedir) \
+ ! -name zi ! -name meta-index \( -name cmm -prune -o -type f \) \
+ -printf "$(commonbasedir)/%P $(basedir)/%P\n" >> $(d_jrehl).links
+ ifeq ($(with_tzdata),yes)
+ echo usr/share/javazi $(basedir)/jre/lib/zi \
+ >> $(d_jrehl).links
+ endif
+endif
+
+ : # install lintian overrides
+ for FILE in debian/*.overrides; do \
+ PKG=`basename $$FILE .overrides`; \
+ install -D -m644 $$FILE debian/$$PKG/usr/share/lintian/overrides/$$PKG; \
+ done
+
+nodocs = $(if $(findstring nodocs, $(DEB_BUILD_OPTIONS)),-N$(p_doc))
+nojrec = $(if $(filter cacao, $(alternate_vms)),,-N$(p_jrec))
+nojrej = $(if $(filter jamvm, $(alternate_vms)),,-N$(p_jrej))
+nojrez = $(if $(filter shark zero, $(alternate_vms)),,-N$(p_jrez))
+
+ifeq ($(transitional_cacao_pkg),yes)
+ nojrec =
+endif
+
+# Build architecture independant packages
+binary-indep: build install
+ dh_testdir
+ dh_testroot
+ifeq ($(with_docs),yes)
+ dh_installchangelogs -p$(p_doc)
+ dh_installdocs -p$(p_doc)
+ mkdir -p $(d_doc)/usr/share/doc/$(p_jrehl)
+ for i in build/openjdk.build/docs/*; do \
+ [ -e $$i ] || continue; \
+ b=$$(basename $$i); \
+ cp -a $$i $(d_doc)/usr/share/doc/$(p_jrehl)/; \
+ ln -sf ../$(p_jrehl)/$$b $(d_doc)/usr/share/doc/$(p_doc)/$$b; \
+ done
+endif
+# FIXME: desktop and menu files not ready for multiarch. #658321
+ifeq (,$(DEB_HOST_MULTIARCH))
+ dh_installmenu -i $(nodocs)
+endif
+ -dh_icons -i $(nodocs) || dh_iconcache -i $(nodocs)
+# dh_installdebconf -i $(nodocs)
+ dh_link -i $(nodocs)
+ dh_compress -i $(nodocs) -Xexamples -Xdemos -Xpackage-list
+ dh_fixperms -i $(nodocs)
+ dh_installdeb -i $(nodocs)
+ dh_gencontrol -i $(nodocs) -- $(control_vars)
+ dh_md5sums -i $(nodocs)
+ dh_builddeb -i $(nodocs) $(bd_options)
+
+absarchdir = $(CURDIR)/$(d_jrehl)/$(basedir)/jre/lib/$(archdir)
+shlibdeps_ld_path =$(absarchdir):$(absarchdir)/client:$(absarchdir)/server:$(absarchdir)/native_threads$(if $(xulrunner_depends),:$(shell pkg-config --libs-only-L libxul | sed 's/^-L//;s/-devel//;s,/lib *$$,,'))
+
+# pass vm name as first argument
+define install_test_results
+ mkdir -p $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)
+ -cp build/mauve-$(1)/mauve_output-$(1) \
+ $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/mauve_output-$(1).log
+ -cp jtreg_output-$(1) \
+ $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/jtreg_output-$(1).log
+ -cp build/test/jtreg-summary-$(1).log build/test/check-*-$(1).log \
+ $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/
+ -cp build/test/failed_tests-$(1).tar.gz \
+ $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/failed_tests-$(1).tar.gz
+endef
+
+# Build architecture dependant packages
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs -p$(p_jrehl)
+ dh_installdocs -p$(p_jrehl) \
+ debian/JAVA_HOME \
+ debian/README.alternatives \
+ debian/README.Debian
+ for i in AUTHORS NEWS README; do \
+ cp -p $$i $(d_jrehl)/usr/share/doc/$(p_jrehl)/$$i.IcedTea; \
+ done
+ $(call install_test_results,$(default_vm))
+
+ifneq (,$(filter cacao, $(alternate_vms)))
+ dh_installchangelogs -p$(p_jrec)
+ dh_installdocs -p$(p_jrec)
+ $(call install_test_results,cacao)
+endif
+ifeq ($(transitional_cacao_pkg),yes)
+ dh_installchangelogs -p$(p_jrec)
+ dh_installdocs -p$(p_jrec)
+endif
+ifneq (,$(filter jamvm, $(alternate_vms)))
+ dh_installchangelogs -p$(p_jrej)
+ dh_installdocs -p$(p_jrej)
+ $(call install_test_results,jamvm)
+endif
+ifneq (,$(filter zero, $(alternate_vms)))
+ $(call install_test_results,zero)
+endif
+ dh_desktop -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+# FIXME: desktop and menu files not ready for multiarch. #658321
+ifeq (,$(DEB_HOST_MULTIARCH))
+ dh_installmenu -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+endif
+ -dh_icons -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) \
+ || dh_iconcache -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+# dh_installdebconf -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+ dh_link -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+ dh_strip -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) \
+ -Xlibjvm.so --dbg-package=$(p_dbg)
+ifeq (,$(findstring nostrip, $(DEB_BUILD_OPTIONS)))
+ set -e; \
+ for i in {$(d_jrehl),$(d_jrec),$(d_jrez)}/$(basedir)/jre/lib/$(archdir)/*/libjvm.so; do \
+ id=$$(echo $$i | sed -r 's,debian/[^/]+,$(d_dbg)/usr/lib/debug,'); \
+ [ -f $$i ] || continue; \
+ echo strip $$i; \
+ mkdir -p $$(dirname $$id); \
+ objcopy --only-keep-debug $$i $$id; \
+ chmod 644 $$id; \
+ strip --remove-section=.comment --remove-section=.note \
+ --strip-debug $$i; \
+ objcopy --add-gnu-debuglink $$id $$i; \
+ done
+endif
+
+ dh_compress -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) -Xexamples -Xdemos -Xpackage-list
+ dh_fixperms -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+ dh_makeshlibs -p$(p_jrehl) -p$(p_jre)
+ dh_shlibdeps -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) -L $(p_jrehl) \
+ -l$(shlibdeps_ld_path) \
+ --
+ dh_installdeb -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+ dh_gencontrol -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) \
+ -- $(control_vars)
+ dh_md5sums -s $(nodemo) $(nojrec) $(nojrej) $(nojrez)
+ dh_builddeb -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) #$(bd_options)
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary install packaging-files
diff --git a/debian/sharedmimeinfo b/debian/sharedmimeinfo
new file mode 100644
index 0000000..78604fd
--- /dev/null
+++ b/debian/sharedmimeinfo
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+ <mime-type type="application/java-archive">
+ <comment>Java Archive</comment>
+ <glob pattern="*.jar"/>
+ </mime-type>
+
+ <mime-type type="application/x-java-jnlp-file">
+ <comment>Java Web Start application</comment>
+ <glob pattern="*.jnlp"/>
+ </mime-type>
+</mime-info>
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..d3827e7
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+1.0
diff --git a/debian/sun_java.xpm b/debian/sun_java.xpm
new file mode 100644
index 0000000..00db1b6
--- /dev/null
+++ b/debian/sun_java.xpm
@@ -0,0 +1,194 @@
+/* XPM */
+static char *sun_java[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 156 2",
+" c #34479E",
+". c #4152A3",
+"X c #4153A2",
+"o c #4153A3",
+"O c #4D5EA8",
+"+ c #4D5EA9",
+"@ c #4E5EA9",
+"# c #5A69AD",
+"$ c #5A69AE",
+"% c #5A69AF",
+"& c #5A6AAD",
+"* c #6675B3",
+"= c #6775B2",
+"- c #6775B3",
+"; c #6776B3",
+": c #6775B5",
+"> c #6776B4",
+", c #7480B7",
+"< c #7380B8",
+"1 c #7381B8",
+"2 c #7380BA",
+"3 c #7481B8",
+"4 c #D12124",
+"5 c #D42F31",
+"6 c #D73D3E",
+"7 c #D94A4A",
+"8 c #D94A4B",
+"9 c #DA4A4A",
+"0 c #DA4B4B",
+"q c #DC5957",
+"w c #DC5858",
+"e c #DD5859",
+"r c #DD5959",
+"t c #DF6664",
+"y c #E06664",
+"u c #E27471",
+"i c #E27570",
+"p c #E27472",
+"a c #E37472",
+"s c #E27574",
+"d c #E37474",
+"f c #E5827E",
+"g c #E5837F",
+"h c #818BBD",
+"j c #818CBC",
+"k c #808CBE",
+"l c #818DC0",
+"z c #8D97C2",
+"x c #8D97C3",
+"c c #8D97C5",
+"v c #8E98C5",
+"b c #99A2C7",
+"n c #99A3C7",
+"m c #99A2C8",
+"M c #99A3C8",
+"N c #99A2CA",
+"B c #99A2CB",
+"V c #A6AECD",
+"C c #A5AED2",
+"Z c #A6AED0",
+"A c #B3B9D3",
+"S c #B2B9D4",
+"D c #B3B9D5",
+"F c #B2B9D6",
+"G c #B3BAD5",
+"H c #BFC4D6",
+"J c #BFC5D7",
+"K c #BFC5D8",
+"L c #BFC5D9",
+"P c #BFC5DA",
+"I c #BFC5DB",
+"U c #BFC5DC",
+"Y c #BFC5DD",
+"T c #E58381",
+"R c #E68380",
+"E c #E88F89",
+"W c #E88F8B",
+"Q c #E8908A",
+"! c #EB9D99",
+"~ c #EB9D9A",
+"^ c #EB9D9D",
+"/ c #EDABA2",
+"( c #EEABA6",
+") c #EDACA6",
+"_ c #F0B9B1",
+"` c #F1B9B1",
+"' c #F0B9B6",
+"] c #F3C7BD",
+"[ c #CCD0DA",
+"{ c #CCD1DA",
+"} c #CDD0DA",
+"| c #CCD0DC",
+" . c #CCD0DD",
+".. c #CCD1DD",
+"X. c #CCD0DE",
+"o. c #CCD1DE",
+"O. c #CCD1DF",
+"+. c #D8DBDF",
+"@. c #CCD0E0",
+"#. c #D8DCE1",
+"$. c #D9DCE1",
+"%. c #D9DCE3",
+"&. c #D9DCE4",
+"*. c #D9DCE5",
+"=. c #D9DCE6",
+"-. c #D9DCE7",
+";. c #D9DCE8",
+":. c #F6D5CB",
+">. c #F6D5CD",
+",. c #F6D5D3",
+"<. c #F9E3D7",
+"1. c #F9E3DA",
+"2. c #F9E3DB",
+"3. c #E6E7E7",
+"4. c #E5E7E9",
+"5. c #E5E7EC",
+"6. c #E5E8E8",
+"7. c #E6E8E9",
+"8. c #E6E8EA",
+"9. c #E6E8EB",
+"0. c #E5E8EC",
+"q. c #E6E8EC",
+"w. c #F9E3E1",
+"e. c #F2F3EC",
+"r. c #FCF0E1",
+"t. c #FCF0E3",
+"y. c #FCF1E5",
+"u. c #FCF0E7",
+"i. c #FCF1E6",
+"p. c #FCF1E7",
+"a. c #FCF1E8",
+"s. c #FFFEED",
+"d. c #FFFEEE",
+"f. c #FFFEEF",
+"g. c #F2F3F0",
+"h. c #F2F3F1",
+"j. c #F2F3F2",
+"k. c #F2F3F4",
+"l. c #FFFEF0",
+"z. c #FFFEF1",
+"x. c #FFFEF2",
+"c. c #FFFEF3",
+"v. c #FFFFF3",
+"b. c #FFFFF4",
+"n. c #FFFFF5",
+"m. c #FFFFF6",
+"M. c #FFFFF7",
+"N. c #FFFFF8",
+"B. c #FFFFF9",
+"V. c #FFFFFA",
+"C. c #FFFFFB",
+"Z. c #FFFFFC",
+"A. c #FFFFFD",
+"S. c #FFFFFE",
+"D. c gray100",
+"F. c None",
+/* pixels */
+"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.w.~ F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.r F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.' q F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.M.q u F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.F.F.M.M.! 4 1.F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.F.M.M.f 4 E M.M.F.w.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.M.i.t 4 i x.1.g u ,.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.M.>.7 4 f r.f 5 ! C.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.1.5 4 / r.7 5 >.M.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.M.q 4 E d.i 4 >.M.F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.M.4 5 d.d.4 6 x.x.F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.7 7 d.d.4 4 :.M.F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.M./ 4 <.x.q 4 7 i.F.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.M.u t x.] 4 4 ) M.F.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.u.7 _ x.E 4 ! M.M.F.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.h.@.4.M.i.u i._ 5 i.M.F.-.N : c @.M.F.F.F.F.F.",
+"F.F.F.F.F.F.k.B O h P x.x.M.x.i.a :.x.M.9.L @.L O c M.F.F.F.F.",
+"F.F.F.F.F.F.> X c n b n n n n h = & X v M.M.M.8. M.F.F.F.F.",
+"F.F.F.F.F.F.F.+...N n n n N N n J ..4.M.M.M.x.M.M. M.F.F.F.F.",
+"F.F.F.F.F.F.F.M.+.O ..x.d.x.d.x.x.3.L 8.M.M.M.x. . X M.F.F.F.F.",
+"F.F.F.F.F.F.F.M.F X = = = = O 8.M.M.h.& S M.F.F.F.F.",
+"F.F.F.F.F.F.F.M.M...z = = = = = j V %.x.F.M.9.% S M.F.F.F.F.F.",
+"F.F.F.F.F.F.F.M.M.4.n d.d.d.d.x.d.x.M.M.M.S X l 5.F.M.F.F.F.F.F.",
+"F.F.F.F.F.F.M.M.x.= O = = = = o = -.-.S h.M.F.M.F.F.F.F.F.F.",
+"F.F.F.F.F.M.-.{ { %., , A x.M.M.M.M.M.F.F.F.F.F.F.F.",
+"F.F.F.F.F O , J e.x.d.d.{ { { +.x.x.x.M.M.M.M.M.=.Y F.F.F.F.F.F.",
+"F.F.F.F. O z H %.d.x.x.d.d.d.d.x.x.x.x...K N O C C.F.F.F.F.F.",
+"F.F.F.F.N O # = = = = = O O L C.F.F.F.F.F.F.",
+"F.F.F.F.M.M.%.V > & O = N =.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.M.M.M.M.x.x.M.M.M.M.M.M.M.M.M.F.F.F.F.F.F.F.F.F.F.",
+"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F."
+};
diff --git a/debian/sun_java_app.xpm b/debian/sun_java_app.xpm
new file mode 100644
index 0000000..7a0f941
--- /dev/null
+++ b/debian/sun_java_app.xpm
@@ -0,0 +1,199 @@
+/* XPM */
+static char * dukejre_xpm[] = {
+"32 32 164 2",
+" c None",
+". c #000000",
+"+ c #2D2D2D",
+"@ c #363636",
+"# c #313131",
+"$ c #3E3E3E",
+"% c #3D3D3D",
+"& c #2B2B2B",
+"* c #444444",
+"= c #494949",
+"- c #373737",
+"; c #1C1C1C",
+"> c #545454",
+", c #434343",
+"' c #272727",
+") c #0B0B0B",
+"! c #414141",
+"~ c #5C5C5C",
+"{ c #4F4F4F",
+"] c #141414",
+"^ c #3A3A3A",
+"/ c #585858",
+"( c #403A3A",
+"_ c #32201F",
+": c #090202",
+"< c #4F4E4E",
+"[ c #833D3E",
+"} c #BE3432",
+"| c #D63736",
+"1 c #79201F",
+"2 c #040101",
+"3 c #251313",
+"4 c #212121",
+"5 c #9A5857",
+"6 c #EBB9B9",
+"7 c #E03A38",
+"8 c #CA3430",
+"9 c #862221",
+"0 c #251211",
+"a c #774C35",
+"b c #CC5213",
+"c c #A25151",
+"d c #B23D3C",
+"e c #AC2B29",
+"f c #8F2422",
+"g c #691A19",
+"h c #321D1E",
+"i c #7E3D20",
+"j c #D55A0D",
+"k c #8E3F10",
+"l c #250F0F",
+"m c #5D1615",
+"n c #631817",
+"o c #661918",
+"p c #501313",
+"q c #200909",
+"r c #3D3A39",
+"s c #6D341B",
+"t c #AE4F14",
+"u c #CC5515",
+"v c #44403F",
+"w c #381414",
+"x c #310C0C",
+"y c #220908",
+"z c #1F0B0B",
+"A c #413939",
+"B c #525252",
+"C c #9B6343",
+"D c #D96319",
+"E c #D3A88C",
+"F c #D7D7D7",
+"G c #868383",
+"H c #797777",
+"I c #898989",
+"J c #A3A3A3",
+"K c #DBDBDB",
+"L c #E27626",
+"M c #DE6F21",
+"N c #E9E8E7",
+"O c #EDEDED",
+"P c #F8F8F8",
+"Q c #FFFFFF",
+"R c #EC7A20",
+"S c #E27728",
+"T c #ED7C21",
+"U c #E5E1DE",
+"V c #EEEEEE",
+"W c #F6F6F6",
+"X c #FDFDFD",
+"Y c #B76D3E",
+"Z c #E5711D",
+"` c #F0851E",
+" . c #ED7D24",
+".. c #F18B1D",
+"+. c #C75810",
+"@. c #CC5616",
+"#. c #E36F1D",
+"$. c #F2911A",
+"%. c #FBFBFB",
+"&. c #F9F6F2",
+"*. c #F9AA14",
+"=. c #F08A1D",
+"-. c #D35E13",
+";. c #E16D1C",
+">. c #F49B18",
+",. c #B9B9B9",
+"'. c #FAFAFA",
+"). c #F49818",
+"!. c #E3701D",
+"~. c #A1480F",
+"{. c #E06B1C",
+"]. c #FCFCFC",
+"^. c #E26D1C",
+"/. c #0F0F0F",
+"(. c #DE691B",
+"_. c #F6A016",
+":. c #E97E1C",
+"<. c #F7A117",
+"[. c #EB7A20",
+"}. c #E4701D",
+"|. c #837B77",
+"1. c #A0938A",
+"2. c #717171",
+"3. c #959595",
+"4. c #E1A27A",
+"5. c #DB844B",
+"6. c #D6671F",
+"7. c #D56318",
+"8. c #D6671B",
+"9. c #DB6616",
+"0. c #DE6614",
+"a. c #D96B1C",
+"b. c #D66A21",
+"c. c #D7996D",
+"d. c #C0BFBF",
+"e. c #393939",
+"f. c #686868",
+"g. c #8F8F8F",
+"h. c #D3D3D3",
+"i. c #D1D1D1",
+"j. c #CFCFCF",
+"k. c #DCDCDC",
+"l. c #D8D8D8",
+"m. c #C0C0C0",
+"n. c #C3C3C3",
+"o. c #333333",
+"p. c #696969",
+"q. c #606060",
+"r. c #E6E6E6",
+"s. c #A0A0A0",
+"t. c #8A8A8A",
+"u. c #5F5F5F",
+"v. c #8C8C8C",
+"w. c #B6B6B6",
+"x. c #BDBDBD",
+"y. c #262626",
+"z. c #7C7C7C",
+"A. c #C2C2C2",
+"B. c #C1C1C1",
+"C. c #B5B5B5",
+"D. c #6E6E6E",
+"E. c #868686",
+"F. c #ABABAB",
+"G. c #292929",
+" ",
+" . . ",
+" . . . . ",
+" . . . . ",
+" + . . . . . . ",
+" @ # . . . . . . . ",
+" $ % & . . . . . . ",
+" * = - ; . . . . . ",
+" * > , ' ) . . . . . . ",
+" ! ~ { # ] . . . . ",
+" ^ / / ( _ : . . . ",
+" # < [ } | 1 2 . ",
+" 3 4 5 6 7 8 9 0 a b . ",
+" 3 3 c d e f g h i j . ",
+" k l m n o p q r s j . ",
+" t u v w x y z A B C j . ",
+" $ . D E F G H I J K j L . ",
+" $ . M j N O P Q Q Q j R j ",
+" $ $ . S T j U V W X j T T j Y ",
+" $ . . Z ` T j j j j j ...T j +. ",
+" . . @.#.$.%.%.%.%.%.%.&.*.=.j -. ",
+" . . @.;.>.%.%.,.. '.%.%.*.).!.j ~. ",
+" . . @.{.*.%.%.%.. ].].%.*.*.^.j j ",
+" /.. j (.*.%.'.%.. '.%.%.*._.^.j j ",
+" . . . j :.%.'.%.%.'.'.%.<.[.}.j |. ",
+" . . # . . j j j T T T T T T T j 1.2. ",
+" . ^ 3.O 4.5.6.7.8.9.0.a.b.c.d.e.f. ",
+" ] . g.O h.i.j.j.h.h.h.k.l.m.n.o.p. ",
+" q.O O r.s.t.$ $ $ u.v.3.w.x.y.u. ",
+" z.A.B.C.D.$ $ $ $ u.E.F.& u. ",
+" # F.F.D.$ $ $ $ ' G.e.u. ",
+" $ $ $ $ $ $ $ "};
diff --git a/debian/swing.properties b/debian/swing.properties
new file mode 100644
index 0000000..0f55df0
--- /dev/null
+++ b/debian/swing.properties
@@ -0,0 +1,2 @@
+# uncomment to set the default look and feel to GTK
+#swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
diff --git a/debian/update-hgrev.sh b/debian/update-hgrev.sh
new file mode 100644
index 0000000..7bd056e
--- /dev/null
+++ b/debian/update-hgrev.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+tarballs=(corba.tar.gz hotspot.tar.gz jaxp.tar.gz jaxws.tar.gz jdk-dfsg.tar.gz langtools-dfsg.tar.gz openjdk.tar.gz)
+varhgchange=(CORBA_CHANGESET HOTSPOT_CHANGESET JAXP_CHANGESET JAXWS_CHANGESET JDK_CHANGESET LANGTOOLS_CHANGESET OPENJDK_CHANGESET)
+tarballdir=.
+
+makefile1=Makefile.am
+
+function update_var() {
+ varname=$1
+ newsum=$2
+
+ echo "$varname: ${newsum}"
+ if [ -f $makefile1 ]; then
+ sed -i "s/\(^$varname\)\(..*$\)/\1 = ${newsum}/" $makefile1
+ fi
+}
+
+function actual_tar_rev() {
+ tar=$1
+
+ revision=$(tar tf $tar | head -1 | sed 's,/.*,,' | sed 's,.*-,,')
+}
+
+# For all modules
+for (( i = 0 ; i < ${#varhgchange[@]} ; i++ )); do
+ actual_tar_rev $tarballdir/${tarballs[$i]}
+ update_var ${varhgchange[$i]} $revision
+done \ No newline at end of file
diff --git a/debian/update-shasum.sh b/debian/update-shasum.sh
new file mode 100644
index 0000000..e1ba2fc
--- /dev/null
+++ b/debian/update-shasum.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+tarballs=(jdk-dfsg.tar.gz langtools-dfsg.tar.gz)
+varshasum=(JDK_SHA256SUM LANGTOOLS_SHA256SUM)
+tarballdir=.
+
+makefile1=Makefile.am
+
+function update_var() {
+ varname=$1
+ newsum=$2
+
+ echo "$varname: ${newsum}"
+ if [ -f $makefile1 ]; then
+ sed -i "s/\(^$varname\)\(..*$\)/\1 = ${newsum}/" $makefile1
+ fi
+}
+
+# For all modules
+for (( i = 0 ; i < ${#tarballs[@]} ; i++ )); do
+ newsum=$(sha256sum $tarballdir/${tarballs[$i]} | cut -f 1 -d ' ')
+ update_var ${varshasum[$i]} $newsum
+done
+
+# Use downloaded cacao source tarball
+#newsum=$(sha256sum $tarballdir/cacao-*.tar.* | cut -f 1 -d ' ')
+#update_var "CACAO_SHA256SUM" $newsum