summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorRobin Cook2011-12-07 17:51:36 -0600
committerRobin Cook2011-12-07 17:51:36 -0600
commit34991b7d2ef532ea5f6c3868ea0c7abd687f6929 (patch)
tree4a6070de05eb9e8011120d3bb2a9f74d80b6f717 /java
parentbfebc77766a64f0cb11fb948a9c30c2aa9a3c0a9 (diff)
icedtea6: New Spell, OpenJDK build using autotools
Diffstat (limited to 'java')
-rwxr-xr-xjava/icedtea6/BUILD12
-rwxr-xr-xjava/icedtea6/CONFIGURE11
-rwxr-xr-xjava/icedtea6/CONFLICTS6
-rwxr-xr-xjava/icedtea6/DEPENDS44
-rwxr-xr-xjava/icedtea6/DETAILS69
-rwxr-xr-xjava/icedtea6/FINAL5
-rwxr-xr-xjava/icedtea6/INSTALL10
-rwxr-xr-xjava/icedtea6/PREPARE3
-rwxr-xr-xjava/icedtea6/PRE_BUILD29
-rwxr-xr-xjava/icedtea6/PROVIDES5
-rw-r--r--java/icedtea6/backport-xsltproc-replacement-1.10.4-01.patch230
-rw-r--r--java/icedtea6/icedtea.gpgbin0 -> 2867 bytes
-rw-r--r--java/icedtea6/icedtea6-1.10.4-fixed_paths.patch147
-rw-r--r--java/icedtea6/icedtea6-1.10.4-generate_cacerts-1.patch397
-rw-r--r--java/icedtea6/icedtea6-bin-core-1.10.4-amd64.tar.bz2.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/icedtea6-bin-core-1.10.4-x86.tar.bz2.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/icedtea6-hg-fixed_paths.patch133
-rw-r--r--java/icedtea6/icedtea6-hg-generate_cacerts-1.patch331
-rw-r--r--java/icedtea6/java.sh6
-rw-r--r--java/icedtea6/jaxp144_01.zip.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/jaxp144_03.zip.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/jdk6-jaf-b20.zip.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/jdk6-jaxws-b20.zip.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/jdk6-jaxws2_1_6-2011_06_13.zip.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/openjdk-6-src-b22-28_feb_2011.tar.gz.sigbin0 -> 543 bytes
-rw-r--r--java/icedtea6/openjdk-6-src-b24-14_nov_2011.tar.gz.sigbin0 -> 543 bytes
26 files changed, 1438 insertions, 0 deletions
diff --git a/java/icedtea6/BUILD b/java/icedtea6/BUILD
new file mode 100755
index 0000000000..6d5a5e1d03
--- /dev/null
+++ b/java/icedtea6/BUILD
@@ -0,0 +1,12 @@
+export PATH_HOLD="${PATH}" &&
+export JAVA_HOME="$BUILD_DIRECTORY/icedtea6-bin-1.10.4" &&
+export CLASSPATH=".:/usr/share/java" &&
+export PATH="${PATH}:${JAVA_HOME}/bin" &&
+
+OPTS="$ICEDTEA6_DOCS $ICEDTEA6_OPT $ICEDTEA6_PARA $OPTS" &&
+OPTS="--with-tzdata-dir=/usr/share/zoneinfo $OPTS" &&
+OPTS="--with-jdk-home=$BUILD_DIRECTORY/icedtea6-bin-1.10.4 $OPTS" &&
+
+unset JAVA_HOME &&
+
+default_build
diff --git a/java/icedtea6/CONFIGURE b/java/icedtea6/CONFIGURE
new file mode 100755
index 0000000000..25110cc041
--- /dev/null
+++ b/java/icedtea6/CONFIGURE
@@ -0,0 +1,11 @@
+config_query_option ICEDTEA6_DOCS "Generate Documentation?" y \
+ "--enable-docs" \
+ "--disable-docs" &&
+
+config_query_option ICEDTEA6_OPT "Enable build optimizations?" y \
+ "--enable-optimizations" \
+ "--disable-optimizations" &&
+
+config_query_option ICEDTEA6_PARA "Use parallel build?" n \
+ "--with-parallel-jobs" \
+ "--without-parallel-jobs"
diff --git a/java/icedtea6/CONFLICTS b/java/icedtea6/CONFLICTS
new file mode 100755
index 0000000000..0e66666302
--- /dev/null
+++ b/java/icedtea6/CONFLICTS
@@ -0,0 +1,6 @@
+conflicts j2sdk &&
+conflicts j2sdk-bin &&
+conflicts jre1.5-bin &&
+conflicts jre6-bin &&
+conflicts jdk1.5-bin &&
+conflicts jdk6-bin
diff --git a/java/icedtea6/DEPENDS b/java/icedtea6/DEPENDS
new file mode 100755
index 0000000000..fe599332bf
--- /dev/null
+++ b/java/icedtea6/DEPENDS
@@ -0,0 +1,44 @@
+depends gcc "--with-gcj=/usr/bin/gcj --with-ecj-jar=/usr/share/java/ecj.jar" &&
+depends -sub CXX gcc &&
+depends -sub JAVA gcc &&
+depends -sub JAVAHOME gcc &&
+depends lsb-release &&
+depends pkgconfig &&
+depends zip &&
+depends unzip &&
+depends libxslt &&
+depends ant "--with-ant-home=/opt/ant" &&
+depends cups &&
+depends JPEG &&
+depends libpng &&
+depends alsa-lib &&
+depends xproto &&
+depends libx11 &&
+depends libxt &&
+depends libxp &&
+depends libxinerama &&
+depends freetype2 &&
+depends gtk+2 &&
+depends ca-certificates "--enable-cacerts" &&
+
+optional_depends rhino \
+ "--with-rhino=/usr/lib/java/other/lib/js.jar" \
+ "--without-rhino" \
+ "Add javascript support?" &&
+
+optional_depends pulseaudio \
+ "--enable-pulse-java" \
+ "--disable-pulse-java" \
+ "Enable pulse-java - an audio mixer spi that uses PulseAudio?" &&
+
+optional_depends libxrender \
+ "--enable-xrender" \
+ "--disable-xrender" \
+ "Enable inclusion of xrender pipeline?" &&
+
+optional_depends nss \
+ "--enable-nss" \
+ "--disable-nss" \
+ "Enable inclusion of NSS security provider?" &&
+
+optional_depends fastjar "" "" "Use fashjar instead of slow jar?"
diff --git a/java/icedtea6/DETAILS b/java/icedtea6/DETAILS
new file mode 100755
index 0000000000..18a68c327a
--- /dev/null
+++ b/java/icedtea6/DETAILS
@@ -0,0 +1,69 @@
+ SPELL=icedtea6
+if [ "$ICEDTEA6_BRANCH" == "scm" ]; then
+ if [ "$ICEDTEA6_AUTOUPDATE" == "y" ]; then
+ VERSION=$(date +%Y%m%d)
+ else
+ VERSION=hg
+ fi
+ SOURCE=$SPELL-hg.tar.bz2
+ SOURCE3=openjdk-6-src-b24-14_nov_2011.tar.gz
+ SOURCE5=jaxp144_03.zip
+ SOURCE6=jdk6-jaxws2_1_6-2011_06_13.zip
+FORCE_DOWNLOAD[1]=on
+ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-hg
+ SOURCE_URL[0]=hg_http://icedtea.classpath.org/hg/$SPELL:$SPELL-hg
+ SOURCE3_URL[0]=http://download.java.net/openjdk/jdk6/promoted/b24/$SOURCE3
+ SOURCE_IGNORE=volatile
+ PATCHLEVEL=1
+else
+ VERSION=1.10.4
+ SOURCE=$SPELL-$VERSION.tar.gz
+ SOURCE2=$SOURCE.sig
+ SOURCE3=openjdk-6-src-b22-28_feb_2011.tar.gz
+ SOURCE5=jaxp144_01.zip
+ SOURCE6=jdk6-jaxws-b20.zip
+ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE_GPG="icedtea.gpg:${SOURCE2}:UPSTREAM_KEY"
+ SOURCE2_IGNORE=signature
+ SOURCE_URL[0]=http://icedtea.classpath.org/download/source/$SOURCE
+ SOURCE2_URL[0]=http://icedtea.classpath.org/download/source/$SOURCE2
+ SOURCE3_URL[0]=http://download.java.net/openjdk/jdk6/promoted/b22/$SOURCE3
+fi
+ SOURCE4=jdk6-jaf-b20.zip
+case "${SMGL_COMPAT_ARCHS[0]}" in
+ ia32|32)
+ SOURCE7=icedtea6-bin-core-1.10.4-x86.tar.bz2
+ ;;
+ x86-64|64)
+ if [[ "${SMGL_COMPAT_ARCHS[@]/32/}" == "${SMGL_COMPAT_ARCHS[@]}" ]]; then
+ SOURCE7=icedtea6-bin-core-1.10.4-amd64.tar.bz2
+ else
+ SOURCE7=icedtea6-bin-core-1.10.4-x86.tar.bz2
+ fi
+ ;;
+esac
+ SOURCE3_GPG="gurus.gpg:${SOURCE3}.sig"
+ SOURCE4_GPG="gurus.gpg:${SOURCE4}.sig"
+ SOURCE5_GPG="gurus.gpg:${SOURCE5}.sig"
+ SOURCE6_GPG="gurus.gpg:${SOURCE6}.sig"
+ SOURCE7_GPG="gurus.gpg:${SOURCE7}.sig"
+ SOURCE4_URL[0]=http://icedtea.classpath.org/download/drops/$SOURCE4
+ SOURCE5_URL[0]=http://icedtea.classpath.org/download/drops/$SOURCE5
+ SOURCE6_URL[0]=http://icedtea.classpath.org/download/drops/$SOURCE6
+ SOURCE7_URL[0]=http://distfiles.gentoo.org/distfiles/$SOURCE7
+ LICENSE[0]=GPL
+ KEYWORDS="JAVA"
+ WEB_SITE=http://icedtea.classpath.org/wiki/Main_Page
+ ENTERED=20111023
+ SHORT='Harness to build OpenJDK with Free Software build tools'
+cat << EOF
+The IcedTea project provides a harness to build the source code from
+http://openjdk.java.net using Free Software build tools and adds a number of key
+features to the upstream OpenJDK codebase:
+
+A Free 64-bit plugin with LiveConnect and Java Web Start support
+(see IcedTea-Web).
+Support for additional platforms via a pure interpreted mode in HotSpot (Zero)
+or the alternative CACAO virtual machine. Experimental JIT support for Zero is
+also available via Shark.
+EOF
diff --git a/java/icedtea6/FINAL b/java/icedtea6/FINAL
new file mode 100755
index 0000000000..1b4e0f138e
--- /dev/null
+++ b/java/icedtea6/FINAL
@@ -0,0 +1,5 @@
+default_final &&
+rm -rf $BUILD_DIRECTORY/doc &&
+rm -rf $BUILD_DIRECTORY/icedtea6-bin-1.10.4 &&
+export PATH="$PATH_HOLD"
+
diff --git a/java/icedtea6/INSTALL b/java/icedtea6/INSTALL
new file mode 100755
index 0000000000..50fc51e54c
--- /dev/null
+++ b/java/icedtea6/INSTALL
@@ -0,0 +1,10 @@
+cp -R openjdk.build/j2sdk-image ${INSTALL_ROOT}/usr/lib/icedtea6-${VERSION} &&
+chown -R root:root ${INSTALL_ROOT}/usr/lib/icedtea6-${VERSION} &&
+mkdir -p ${INSTALL_ROOT}/etc/profile.d/ &&
+install -m 0644 $SCRIPT_DIRECTORY/java.sh ${INSTALL_ROOT}/etc/profile.d/ &&
+cd ${INSTALL_ROOT}/usr/lib &&
+ln -sfn icedtea6-${VERSION}/ j2sdk &&
+ln -sfn icedtea6-${VERSION}/ java6 &&
+cd $SOURCE_DIRCETORY
+
+
diff --git a/java/icedtea6/PREPARE b/java/icedtea6/PREPARE
new file mode 100755
index 0000000000..83f15d326f
--- /dev/null
+++ b/java/icedtea6/PREPARE
@@ -0,0 +1,3 @@
+. ${GRIMOIRE}/FUNCTIONS &&
+prepare_select_branch stable scm
+
diff --git a/java/icedtea6/PRE_BUILD b/java/icedtea6/PRE_BUILD
new file mode 100755
index 0000000000..609977f6c1
--- /dev/null
+++ b/java/icedtea6/PRE_BUILD
@@ -0,0 +1,29 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+mkdir drops &&
+verify_file 3 &&
+cp $SOURCE_CACHE/$SOURCE3 ./ &&
+verify_file 4 &&
+cp $SOURCE_CACHE/$SOURCE4 ./drops &&
+verify_file 5 &&
+cp $SOURCE_CACHE/$SOURCE5 ./drops &&
+verify_file 6 &&
+cp $SOURCE_CACHE/$SOURCE6 ./drops &&
+
+
+if [ "$ICEDTEA6_BRANCH" == "scm" ]; then
+ patch -p1 < $SCRIPT_DIRECTORY/icedtea6-hg-generate_cacerts-1.patch &&
+ patch -p1 < $SCRIPT_DIRECTORY/icedtea6-hg-fixed_paths.patch
+else
+ patch -p1 < $SCRIPT_DIRECTORY/backport-xsltproc-replacement-1.10.4-01.patch &&
+ patch -p1 < $SCRIPT_DIRECTORY/icedtea6-1.10.4-generate_cacerts-1.patch &&
+ patch -p1 < $SCRIPT_DIRECTORY/icedtea6-1.10.4-fixed_paths.patch
+fi &&
+
+
+cd $BUILD_DIRECTORY &&
+verify_file 7 &&
+tar xjf $SOURCE_CACHE/$SOURCE7 &&
+cd $SOURCE_DIRECTORY &&
+
+./autogen.sh
diff --git a/java/icedtea6/PROVIDES b/java/icedtea6/PROVIDES
new file mode 100755
index 0000000000..0f1a7a4e4b
--- /dev/null
+++ b/java/icedtea6/PROVIDES
@@ -0,0 +1,5 @@
+JAVA
+JAVA6
+JDK5
+JDK
+
diff --git a/java/icedtea6/backport-xsltproc-replacement-1.10.4-01.patch b/java/icedtea6/backport-xsltproc-replacement-1.10.4-01.patch
new file mode 100644
index 0000000000..16bf436a57
--- /dev/null
+++ b/java/icedtea6/backport-xsltproc-replacement-1.10.4-01.patch
@@ -0,0 +1,230 @@
+diff -urN icedtea6-1.10.4/acinclude.m4 icedtea6-mod/acinclude.m4
+--- icedtea6-1.10.4/acinclude.m4 2011-07-11 16:43:43.361068652 -0500
++++ icedtea6-mod/acinclude.m4 2011-10-27 19:22:33.939728683 -0500
+@@ -630,101 +630,6 @@
+ AC_SUBST(ALT_JAR_CMD)
+ ])
+
+-AC_DEFUN([IT_FIND_XALAN2_JAR],
+-[
+- AC_MSG_CHECKING([for a xalan2 jar])
+- AC_ARG_WITH([xalan2-jar],
+- [AS_HELP_STRING(--with-xalan2-jar,specify location of the xalan2 jar)],
+- [
+- if test -f "${withval}" ; then
+- XALAN2_JAR="${withval}"
+- fi
+- ],
+- [
+- XALAN2_JAR=
+- ])
+- if test -z "${XALAN2_JAR}"; then
+- if test -e "/usr/share/java/xalan-j2.jar"; then
+- XALAN2_JAR=/usr/share/java/xalan-j2.jar
+- elif test -e "/usr/share/java/xalan2.jar"; then
+- XALAN2_JAR=/usr/share/java/xalan2.jar
+- elif test -e "/usr/share/xalan/lib/xalan.jar"; then
+- XALAN2_JAR=/usr/share/xalan/lib/xalan.jar
+- else
+- AC_MSG_RESULT(no)
+- fi
+- fi
+- if test -z "${XALAN2_JAR}"; then
+- AC_MSG_ERROR("A xalan2 jar was not found.")
+- fi
+- AC_MSG_RESULT(${XALAN2_JAR})
+- AC_SUBST(XALAN2_JAR)
+-])
+-
+-AC_DEFUN([IT_FIND_XALAN2_SERIALIZER_JAR],
+-[
+- AC_MSG_CHECKING([for a xalan2 serializer jar])
+- AC_ARG_WITH([xalan2-serializer-jar],
+- [AS_HELP_STRING(--with-xalan2-serializer-jar,specify location of the xalan2-serializer jar)],
+- [
+- if test -f "${withval}" ; then
+- XALAN2_SERIALIZER_JAR="${withval}"
+- fi
+- ],
+- [
+- XALAN2_SERIALIZER_JAR=
+- ])
+- if test -z "${XALAN2_SERIALIZER_JAR}"; then
+- if test -e "/usr/share/java/xalan-j2-serializer.jar"; then
+- XALAN2_SERIALIZER_JAR=/usr/share/java/xalan-j2-serializer.jar
+- elif test -e "/usr/share/xalan-serializer/lib/serializer.jar"; then
+- XALAN2_SERIALIZER_JAR=/usr/share/xalan-serializer/lib/serializer.jar
+- elif test -e "/usr/share/java/serializer.jar"; then
+- XALAN2_SERIALIZER_JAR=/usr/share/java/serializer.jar
+- else
+- AC_MSG_RESULT(no)
+- fi
+- fi
+- if test -z "${XALAN2_SERIALIZER_JAR}"; then
+- AC_MSG_ERROR("A xalan2-serializer jar was not found.")
+- fi
+- AC_MSG_RESULT(${XALAN2_SERIALIZER_JAR})
+- AC_SUBST(XALAN2_SERIALIZER_JAR)
+-])
+-
+-AC_DEFUN([IT_FIND_XERCES2_JAR],
+-[
+- AC_MSG_CHECKING([for a xerces2 jar])
+- AC_ARG_WITH([xerces2-jar],
+- [AS_HELP_STRING(--with-xerces2-jar,specify location of the xerces2 jar)],
+- [
+- if test -f "${withval}" ; then
+- XERCES2_JAR="${withval}"
+- fi
+- ],
+- [
+- XERCES2_JAR=
+- ])
+- if test -z "${XERCES2_JAR}"; then
+- if test -e "/usr/share/java/xerces-j2.jar"; then
+- XERCES2_JAR=/usr/share/java/xerces-j2.jar
+- elif test -e "/usr/share/java/xerces2.jar"; then
+- XERCES2_JAR=/usr/share/java/xerces2.jar
+- elif test -e "/usr/share/xerces-2/lib/xercesImpl.jar"; then
+- XERCES2_JAR=/usr/share/xerces-2/lib/xercesImpl.jar
+- elif test -e "/usr/share/java/xercesImpl.jar"; then
+- XERCES2_JAR=/usr/share/java/xercesImpl.jar
+- else
+- AC_MSG_RESULT(no)
+- fi
+- fi
+- if test -z "${XERCES2_JAR}"; then
+- AC_MSG_ERROR("A xerces2 jar was not found.")
+- fi
+- AC_MSG_RESULT(${XERCES2_JAR})
+- AC_SUBST(XERCES2_JAR)
+-])
+-
+ AC_DEFUN([IT_FIND_RHINO_JAR],
+ [
+ AC_MSG_CHECKING([whether to include Javascript support via Rhino])
+diff -urN icedtea6-1.10.4/configure.ac icedtea6-mod/configure.ac
+--- icedtea6-1.10.4/configure.ac 2011-10-13 12:39:16.561204799 -0500
++++ icedtea6-mod/configure.ac 2011-10-27 19:24:20.455728608 -0500
+@@ -156,9 +156,7 @@
+ IT_FIND_NATIVE2ASCII
+ if test "x$enable_bootstrap" = "xyes"; then
+ IT_FIND_ECJ_JAR
+- IT_FIND_XALAN2_JAR
+- IT_FIND_XALAN2_SERIALIZER_JAR
+- IT_FIND_XERCES2_JAR
++ IT_FIND_TOOL([XSLTPROC], [xsltproc])
+ fi
+ AC_CONFIG_FILES([javac], [chmod +x javac])
+ AC_CONFIG_FILES([javap], [chmod +x javap])
+diff -urN icedtea6-1.10.4/Makefile.am icedtea6-mod/Makefile.am
+--- icedtea6-1.10.4/Makefile.am 2011-10-13 11:27:35.063986484 -0500
++++ icedtea6-mod/Makefile.am 2011-10-27 19:20:27.399728763 -0500
+@@ -40,7 +40,6 @@
+ ICEDTEA_CLS_DIR = $(BUILD_OUTPUT_DIR)/classes
+ ICEDTEA_CLS_DIR_ECJ = $(ECJ_BUILD_OUTPUT_DIR)/classes
+ BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0
+-ENDORSED_DIR = $(BOOT_DIR)/lib/endorsed
+ ECJ_BOOT_DIR = $(abs_top_builddir)/bootstrap/ecj
+ ICEDTEA_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea
+ JAMVM_IMPORT_PATH = $(abs_top_builddir)/jamvm/install/hotspot
+@@ -436,7 +435,9 @@
+ patches/ecj/jaxp-dependency.patch \
+ patches/ecj/bootver.patch \
+ patches/ecj/getannotation-cast.patch \
+- patches/ecj/override.patch
++ patches/ecj/override.patch \
++ patches/ecj/xsltproc.patch
++
+
+ if DTDTYPE_QNAME
+ ICEDTEA_ECJ_PATCHES += \
+@@ -491,8 +492,6 @@
+ ALT_BOOTDIR="$(BOOT_DIR)" \
+ BUILD_ARCH_DIR="$(BUILD_ARCH_DIR)" \
+ ICEDTEA_CLS_DIR="$(ICEDTEA_CLS_DIR)" \
+- ICEDTEA_ENDORSED_DIR="$(ENDORSED_DIR)" \
+- ENDORSED="-Djava.endorsed.dirs=$(ENDORSED_DIR)" \
+ CLASSPATH="" \
+ LD_LIBRARY_PATH="" \
+ ZERO_BUILD="$(ICEDTEA_ZERO_BUILD)" \
+@@ -580,7 +579,8 @@
+ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \
+ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" \
+ DISABLE_NIMBUS="true" \
+- NO_DOCS="true"
++ NO_DOCS="true" \
++ XSLT="$(XSLTPROC)"
+
+ # Source files
+ # FIXME (distclean): Add generated file list
+@@ -1271,11 +1271,6 @@
+ ln -sf $(NATIVE2ASCII) $(ECJ_BOOT_DIR)/bin/native2ascii
+ ln -sf $(abs_top_builddir)/javac $(ECJ_BOOT_DIR)/bin/javac
+ ln -sf $(abs_top_builddir)/javap $(ECJ_BOOT_DIR)/bin/javap
+- mkdir -p $(ECJ_BOOT_DIR)/lib/endorsed && \
+- ln -sf $(XALAN2_JAR) $(ECJ_BOOT_DIR)/lib/endorsed/xalan-j2.jar && \
+- ln -sf $(XALAN2_SERIALIZER_JAR) \
+- $(ECJ_BOOT_DIR)/lib/endorsed/xalan-j2-serializer.jar && \
+- ln -sf $(XERCES2_JAR) $(ECJ_BOOT_DIR)/lib/endorsed/xerces-j2.jar
+ mkdir -p $(ECJ_BOOT_DIR)/jre/lib && \
+ cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ECJ_BOOT_DIR)/jre/lib/rt.jar && \
+ ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \
+diff -urN icedtea6-1.10.4/patches/ecj/xsltproc.patch icedtea6-mod/patches/ecj/xsltproc.patch
+--- icedtea6-1.10.4/patches/ecj/xsltproc.patch 1969-12-31 18:00:00.000000000 -0600
++++ icedtea6-mod/patches/ecj/xsltproc.patch 2011-10-27 19:28:04.711728486 -0500
+@@ -0,0 +1,54 @@
++diff -r 591c7dc0b2ee make/linux/makefiles/jvmti.make
++--- openjdk-ecj.orig/hotspot/make/linux/makefiles/jvmti.make Thu May 19 13:27:44 2011 +0200
+++++ openjdk-ecj/hotspot/make/linux/makefiles/jvmti.make Wed May 25 20:01:25 2011 +0100
++@@ -59,8 +59,6 @@
++
++ JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
++
++-XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) $(ENDORSED) -classpath $(JvmtiOutDir) jvmtiGen
++-
++ .PHONY: all jvmtidocs clean cleanall
++
++ # #########################################################################
++@@ -77,34 +75,34 @@
++
++ $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
++ @echo Generating $@
++- $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
+++ $(XSLT) -o $(JvmtiOutDir)/jvmtiEnter.cpp --stringparam interface jvmti $(JvmtiSrcDir)/jvmtiEnter.xsl $(JvmtiSrcDir)/jvmti.xml
++
++ $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
++ @echo Generating $@
++- $(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp
+++ $(XSLT) -o $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml
++
++ $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
++ @echo Generating $@
++- $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
+++ $(XSLT) -o $(JvmtiOutDir)/jvmtiEnterTrace.cpp --stringparam interface jvmti --stringparam trace Trace $(JvmtiSrcDir)/jvmtiEnter.xsl $(JvmtiSrcDir)/jvmti.xml
++
++ $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
++ @echo Generating $@
++- $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
+++ $(XSLT) -o $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmti.xml
++ $(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
++
++ $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
++ @echo Generating $@
++- $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
+++ $(XSLT) -o $(JvmtiOutDir)/jvmtiEnv.hpp $(JvmtiSrcDir)/jvmtiHpp.xsl $(JvmtiSrcDir)/jvmti.xml
++
++ $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
++ @echo Generating $@
++- $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
+++ $(XSLT) -o $(JvmtiOutDir)/jvmti.h $(JvmtiSrcDir)/jvmtiH.xsl $(JvmtiSrcDir)/jvmti.xml
++
++ jvmtidocs: $(JvmtiOutDir)/jvmti.html
++
++ $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
++ @echo Generating $@
++- $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
+++ $(XSLT) -o $(JvmtiOutDir)/jvmti.html $(JvmtiSrcDir)/jvmti.xsl $(JvmtiSrcDir)/jvmti.xml
++
++ # #########################################################################
++
diff --git a/java/icedtea6/icedtea.gpg b/java/icedtea6/icedtea.gpg
new file mode 100644
index 0000000000..c757d9d787
--- /dev/null
+++ b/java/icedtea6/icedtea.gpg
Binary files differ
diff --git a/java/icedtea6/icedtea6-1.10.4-fixed_paths.patch b/java/icedtea6/icedtea6-1.10.4-fixed_paths.patch
new file mode 100644
index 0000000000..e6984e833d
--- /dev/null
+++ b/java/icedtea6/icedtea6-1.10.4-fixed_paths.patch
@@ -0,0 +1,147 @@
+diff -urN icedtea6-1.10.4/Makefile.am icedtea6-1.10.4-mod/Makefile.am
+--- icedtea6-1.10.4/Makefile.am 2011-10-13 11:27:35.063986484 -0500
++++ icedtea6-1.10.4-mod/Makefile.am 2011-12-06 21:57:16.152407873 -0600
+@@ -314,6 +314,7 @@
+ patches/numa_on_early_glibc.patch \
+ patches/jtreg-international-fonts.patch \
+ patches/openjdk/6967436-6976265-6967434-pisces.patch \
++ patches/openjdk6-b22-smgl-paths.patch \
+ patches/f14-fonts.patch \
+ patches/jtreg-T6638712-fix.patch \
+ patches/jtreg-T6650759m-fix.patch \
+diff -urN icedtea6-1.10.4/patches/hotspot/original/too-many-args.patch icedtea6-1.10.4-mod/patches/hotspot/original/too-many-args.patch
+--- icedtea6-1.10.4/patches/hotspot/original/too-many-args.patch 2011-05-25 11:34:31.779471406 -0500
++++ icedtea6-1.10.4-mod/patches/hotspot/original/too-many-args.patch 2011-12-06 21:58:17.813407168 -0600
+@@ -1,8 +1,8 @@
+ --- openjdk/hotspot/make/linux/makefiles/sa.make.orig 2010-06-21 23:12:13.000000000 +0200
+ +++ openjdk/hotspot/make/linux/makefiles/sa.make 2010-06-28 01:11:27.022322578 +0200
+ @@ -45,6 +45,9 @@
+- AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
+- AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
++ AGENT_FILES1 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
++ AGENT_FILES2 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
+
+ +AGENT_FILES1_LIST := $(TOPDIR)/../agent1.classes.list
+ +AGENT_FILES2_LIST := $(TOPDIR)/../agent2.classes.list
+diff -urN icedtea6-1.10.4/patches/openjdk6-b22-smgl-paths.patch icedtea6-1.10.4-mod/patches/openjdk6-b22-smgl-paths.patch
+--- icedtea6-1.10.4/patches/openjdk6-b22-smgl-paths.patch 1969-12-31 18:00:00.000000000 -0600
++++ icedtea6-1.10.4-mod/patches/openjdk6-b22-smgl-paths.patch 2011-12-06 21:57:16.153407886 -0600
+@@ -0,0 +1,118 @@
++diff -urN openjdk/corba/make/common/shared/Defs-utils.gmk openjdk-mod/corba/make/common/shared/Defs-utils.gmk
++--- openjdk/corba/make/common/shared/Defs-utils.gmk 2011-02-28 10:02:15.000000000 -0600
+++++ openjdk-mod/corba/make/common/shared/Defs-utils.gmk 2011-12-06 21:26:52.565428298 -0600
++@@ -85,15 +85,15 @@
++ DIFF = $(UTILS_USR_BIN_PATH)diff
++ DIRNAME = $(UTILS_USR_BIN_PATH)dirname
++ ECHO = $(UTILS_COMMAND_PATH)echo
++-EGREP = $(UTILS_COMMAND_PATH)egrep
+++EGREP = $(UTILS_USR_BIN_PATH)egrep
++ EXPR = $(UTILS_USR_BIN_PATH)expr
++ FILE = $(UTILS_USR_BIN_PATH)file
++ FIND = $(UTILS_USR_BIN_PATH)find
++ FMT = $(UTILS_COMMAND_PATH)fmt
++ GDB = $(UTILS_USR_BIN_PATH)gdb
++-GREP = $(UTILS_COMMAND_PATH)grep
+++GREP = $(UTILS_USR_BIN_PATH)grep
++ GUNZIP = $(UTILS_COMMAND_PATH)gunzip
++-HEAD = $(UTILS_USR_BIN_PATH)head
+++HEAD = $(UTILS_COMMAND_PATH)head
++ ID = $(UTILS_COMMAND_PATH)id
++ ISAINFO = $(UTILS_COMMAND_PATH)isainfo
++ KSH = $(UTILS_COMMAND_PATH)ksh
++@@ -122,9 +122,9 @@
++ SHOWREV = $(UTILS_USR_BIN_PATH)showrev
++ SORT = $(UTILS_COMMAND_PATH)sort
++ STRIP = $(UTILS_CCS_BIN_PATH)strip
++-TAIL = $(UTILS_USR_BIN_PATH)tail
+++TAIL = $(UTILS_COMMAND_PATH)tail
++ TAR = $(UTILS_COMMAND_PATH)tar
++-TEST = $(UTILS_USR_BIN_PATH)test
+++TEST = $(UTILS_COMMAND_PATH)test
++ TOUCH = $(UTILS_COMMAND_PATH)touch
++ TR = $(UTILS_USR_BIN_PATH)tr
++ TRUE = $(UTILS_COMMAND_PATH)true
++@@ -132,7 +132,7 @@
++ UNIQ = $(UTILS_USR_BIN_PATH)uniq
++ UNZIP = $(UTILS_USR_BIN_PATH)unzip
++ UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx
++-WC = $(UTILS_USR_BIN_PATH)wc
+++WC = $(UTILS_COMMAND_PATH)wc
++ WHICH = $(UTILS_USR_BIN_PATH)which
++ YACC = $(UTILS_CCS_BIN_PATH)yacc
++ ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
++@@ -176,7 +176,7 @@
++ # others have it in /usr/bin.
++ SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \
++ $(wildcard $(UTILS_USR_BIN_PATH)sort))
++- NAWK = $(USRBIN_PATH)gawk
+++ NAWK = $(UNIXCOMMAND_PATH)gawk
++ # Intrinsic unix command, with backslash-escaped character interpretation
++ ECHO = /bin/echo -e
++ # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
++diff -urN openjdk/hotspot/make/linux/makefiles/sa.make openjdk-mod/hotspot/make/linux/makefiles/sa.make
++--- openjdk/hotspot/make/linux/makefiles/sa.make 2011-02-28 10:03:13.000000000 -0600
+++++ openjdk-mod/hotspot/make/linux/makefiles/sa.make 2011-12-06 21:26:52.565428298 -0600
++@@ -45,8 +45,8 @@
++
++ # gnumake 3.78.1 does not accept the *s that
++ # are in AGENT_FILES1 and AGENT_FILES2, so use the shell to expand them
++-AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
++-AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
+++AGENT_FILES1 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
+++AGENT_FILES2 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
++
++ SA_CLASSDIR = $(GENERATED)/saclasses
++
++diff -urN openjdk/jdk/make/common/shared/Defs-utils.gmk openjdk-mod/jdk/make/common/shared/Defs-utils.gmk
++--- openjdk/jdk/make/common/shared/Defs-utils.gmk 2011-02-28 10:06:10.000000000 -0600
+++++ openjdk-mod/jdk/make/common/shared/Defs-utils.gmk 2011-12-06 21:26:52.565428298 -0600
++@@ -98,15 +98,15 @@
++ DIFF = $(UTILS_USR_BIN_PATH)diff
++ DIRNAME = $(UTILS_USR_BIN_PATH)dirname
++ ECHO = $(UTILS_COMMAND_PATH)echo
++-EGREP = $(UTILS_COMMAND_PATH)egrep
+++EGREP = $(UTILS_USR_BIN_PATH)egrep
++ EXPR = $(UTILS_USR_BIN_PATH)expr
++ FILE = $(UTILS_USR_BIN_PATH)file
++ FIND = $(UTILS_USR_BIN_PATH)find
++ FMT = $(UTILS_COMMAND_PATH)fmt
++ GDB = $(UTILS_USR_BIN_PATH)gdb
++-GREP = $(UTILS_COMMAND_PATH)grep
+++GREP = $(UTILS_USR_BIN_PATH)grep
++ GUNZIP = $(UTILS_COMMAND_PATH)gunzip
++-HEAD = $(UTILS_USR_BIN_PATH)head
+++HEAD = $(UTILS_COMMAND_PATH)head
++ ID = $(UTILS_COMMAND_PATH)id
++ ISAINFO = $(UTILS_COMMAND_PATH)isainfo
++ KSH = $(UTILS_COMMAND_PATH)ksh
++@@ -134,9 +134,9 @@
++ SHOWREV = $(UTILS_USR_BIN_PATH)showrev
++ SORT = $(UTILS_COMMAND_PATH)sort
++ STRIP = $(UTILS_CCS_BIN_PATH)strip
++-TAIL = $(UTILS_USR_BIN_PATH)tail
+++TAIL = $(UTILS_COMMAND_PATH)tail
++ TAR = $(UTILS_COMMAND_PATH)tar
++-TEST = $(UTILS_USR_BIN_PATH)test
+++TEST = $(UTILS_COMMAND_PATH)test
++ TOUCH = $(UTILS_COMMAND_PATH)touch
++ TR = $(UTILS_USR_BIN_PATH)tr
++ TRUE = $(UTILS_COMMAND_PATH)true
++@@ -144,7 +144,7 @@
++ UNIQ = $(UTILS_USR_BIN_PATH)uniq
++ UNZIP = $(UTILS_USR_BIN_PATH)unzip
++ UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx
++-WC = $(UTILS_USR_BIN_PATH)wc
+++WC = $(UTILS_COMMAND_PATH)wc
++ WHICH = $(UTILS_USR_BIN_PATH)which
++ YACC = $(UTILS_CCS_BIN_PATH)yacc
++ ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
++@@ -178,7 +178,7 @@
++ BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \
++ $(wildcard $(UTILS_USR_BIN_PATH)basename))
++
++- NAWK = $(USRBIN_PATH)gawk
+++ NAWK = $(UNIXCOMMAND_PATH)gawk
++ # Intrinsic unix command, with backslash-escaped character interpretation
++ ECHO = /bin/echo -e
++ # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
diff --git a/java/icedtea6/icedtea6-1.10.4-generate_cacerts-1.patch b/java/icedtea6/icedtea6-1.10.4-generate_cacerts-1.patch
new file mode 100644
index 0000000000..3f6f039360
--- /dev/null
+++ b/java/icedtea6/icedtea6-1.10.4-generate_cacerts-1.patch
@@ -0,0 +1,397 @@
+diff -urN icedtea6-1.10.4/acinclude.m4 icedtea6-mod/acinclude.m4
+--- icedtea6-1.10.4/acinclude.m4 2011-07-11 16:43:43.361068652 -0500
++++ icedtea6-mod/acinclude.m4 2011-10-27 18:49:43.510729915 -0500
+@@ -326,6 +326,91 @@
+ AM_CONDITIONAL([SRC_DIR_HARDLINKABLE], test x"${it_cv_hardlink_src}" = "xyes")
+ ])
+
++AC_DEFUN([IT_GENERATE_CACERTS],
++[
++ AC_MSG_CHECKING([whether to generate a cacerts file for distribution])
++ AC_ARG_ENABLE([cacerts],
++ [AS_HELP_STRING(--enable-cacerts, generate a cacerts file for distribution [[default=no]])],
++ [
++ case "${enableval}" in
++ no)
++ generate_cacerts=no
++ ;;
++ *)
++ generate_cacerts=yes
++ ;;
++ esac
++ ],
++ [
++ generate_cacerts=no
++ ])
++ AC_MSG_RESULT([$generate_cacerts])
++ AM_CONDITIONAL([GENERATE_CACERTS], test x"${generate_cacerts}" = "xyes")
++])
++
++AC_DEFUN([IT_GET_LOCAL_CACERTS],
++[
++ AC_MSG_CHECKING([for a local x509 certificate directory])
++ AC_ARG_WITH([ca-dir],
++ [AS_HELP_STRING(--with-ca-dir=DIR, specify a top-level local x509 certificate directory)],
++ [
++ if test -d "${withval}"; then
++ CADIR="${withval}"
++ fi
++ ],
++ [
++ CADIR=
++ ])
++ if test -z "${CADIR}"; then
++ for dir in /etc/pki/tls/certs \
++ /usr/share/ca-certificates \
++ /etc/ssl/certs \
++ /etc/certs ; do
++ if test -d "${dir}"; then
++ CADIR="${dir}"
++ break
++ fi
++ done
++ if test -z "${CADIR}"; then
++ CADIR=no
++ fi
++ fi
++ AC_MSG_RESULT(${CADIR})
++ AC_SUBST(CADIR)
++
++ AC_MSG_CHECKING([for a local x509 certificate file])
++ AC_ARG_WITH([ca-file],
++ [AS_HELP_STRING(--with-ca-file=FILE, specify a local x509 certificate file)],
++ [
++ if test -f "${withval}"; then
++ CAFILE="${withval}"
++ fi
++ ],
++ [
++ CAFILE=
++ ])
++ if test -z "${CAFILE}"; then
++ for file in /etc/pki/tls/certs/ca-bundle.crt \
++ /etc/ssl/certs/ca-bundle.crt \
++ /etc/ssl/ca-bundle.crt \
++ /etc/ca-bundle.crt ; do
++ if test -e "${file}"; then
++ CAFILE=$file
++ break
++ fi
++ done
++ if test -z "${CAFILE}"; then
++ CAFILE=no
++ fi
++ fi
++ AC_MSG_RESULT(${CAFILE})
++ AC_SUBST(CAFILE)
++ if test "${CADIR}x" = "nox" -a "${CAFILE}x" = "nox"; then
++ AC_MSG_WARN([Could not find a suitable x509 certificate store.])
++ AC_MSG_ERROR([Supply a valid location using --with-ca-dir or --with-ca-file, or remove the --enable-cacerts switch.])
++ fi
++])
++
+ AC_DEFUN([IT_FIND_ECJ_JAR],
+ [
+ AC_MSG_CHECKING([for an ecj JAR file])
+diff -urN icedtea6-1.10.4/configure.ac icedtea6-mod/configure.ac
+--- icedtea6-1.10.4/configure.ac 2011-10-13 12:39:16.561204799 -0500
++++ icedtea6-mod/configure.ac 2011-10-27 18:51:27.674729852 -0500
+@@ -138,6 +138,13 @@
+ AC_MSG_RESULT([disabled by default (edit java.security to enable)])
+ fi
+
++IT_GENERATE_CACERTS
++
++if test "x${generate_cacerts}" = "xyes"
++then
++ IT_GET_LOCAL_CACERTS
++fi
++
+ IT_GET_PKGVERSION
+ IT_GET_LSB_DATA
+
+diff -urN icedtea6-1.10.4/Makefile.am icedtea6-mod/Makefile.am
+--- icedtea6-1.10.4/Makefile.am 2011-10-13 11:27:35.063986484 -0500
++++ icedtea6-mod/Makefile.am 2011-10-27 18:58:37.188729584 -0500
+@@ -1375,6 +1375,19 @@
+ if ENABLE_JAMVM
+ printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
+ endif
++if GENERATE_CACERTS
++ if test -n "${CADIR}"; then \
++ sh scripts/mkcacerts.sh -d "${CADIR}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ else \
++ sh scripts/mkcacerts.sh -f "${CAFILE}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ fi; \
++ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
++ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
++endif
+ @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR)
+ mkdir -p stamps
+ touch stamps/icedtea.stamp
+@@ -1406,6 +1419,19 @@
+ if ENABLE_JAMVM
+ printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
+ endif
++if GENERATE_CACERTS
++ if test -n "${CADIR}"; then \
++ sh scripts/mkcacerts.sh -d "${CADIR}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ else \
++ sh scripts/mkcacerts.sh -f "${CAFILE}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ fi; \
++ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
++ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
++endif
+ @echo "IcedTea (debug build) is served:" \
+ $(DEBUG_BUILD_OUTPUT_DIR)
+ mkdir -p stamps
+@@ -1456,7 +1482,7 @@
+ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
+ fi
+ cp $(abs_top_builddir)/tapset/jstack.stp \
+- $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
++ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
+ endif
+ touch stamps/add-systemtap.stamp
+
+@@ -1482,7 +1508,7 @@
+ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
+ fi
+ cp $(abs_top_builddir)/tapset/jstack.stp \
+- $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
++ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
+ endif
+ touch stamps/add-systemtap-debug.stamp
+
+diff -urN icedtea6-1.10.4/Makefile.in icedtea6-mod/Makefile.in
+--- icedtea6-1.10.4/Makefile.in 2011-10-13 12:39:49.922906360 -0500
++++ icedtea6-mod/Makefile.in 2011-10-27 19:05:53.725729308 -0500
+@@ -175,6 +175,8 @@
+ BUILD_ARCH_DIR = @BUILD_ARCH_DIR@
+ BUILD_OS_DIR = @BUILD_OS_DIR@
+ CACAO_IMPORT_PATH = @CACAO_IMPORT_PATH@
++CADIR = @CADIR@
++CAFILE = @CAFILE@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+@@ -1867,7 +1869,7 @@
+ @ENABLE_SYSTEMTAP_TRUE@ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
+ @ENABLE_SYSTEMTAP_TRUE@ fi
+ @ENABLE_SYSTEMTAP_TRUE@ cp $(abs_top_builddir)/tapset/jstack.stp \
+-@ENABLE_SYSTEMTAP_TRUE@ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
++@ENABLE_SYSTEMTAP_TRUE@ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
+ touch stamps/add-systemtap.stamp
+
+ clean-add-systemtap:
+@@ -1891,7 +1893,7 @@
+ @ENABLE_SYSTEMTAP_TRUE@ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
+ @ENABLE_SYSTEMTAP_TRUE@ fi
+ @ENABLE_SYSTEMTAP_TRUE@ cp $(abs_top_builddir)/tapset/jstack.stp \
+-@ENABLE_SYSTEMTAP_TRUE@ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
++@ENABLE_SYSTEMTAP_TRUE@ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
+ touch stamps/add-systemtap-debug.stamp
+
+ clean-add-systemtap-debug:
+@@ -1961,6 +1963,17 @@
+ stamps/add-tzdata-support.stamp: stamps/icedtea.stamp
+ @WITH_TZDATA_DIR_TRUE@ cp $(abs_top_builddir)/tz.properties \
+ @WITH_TZDATA_DIR_TRUE@ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib
++@GENERATE_CACERTS_TRUE@ if test -n "${CADIR}"; then \
++@GENERATE_CACERTS_TRUE@ sh scripts/mkcacerts.sh -d "${CADIR}" \
++@GENERATE_CACERTS_TRUE@ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++@GENERATE_CACERTS_TRUE@ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++@GENERATE_CACERTS_TRUE@ else \
++@GENERATE_CACERTS_TRUE@ sh scripts/mkcacerts.sh -f "${CAFILE}" \
++@GENERATE_CACERTS_TRUE@ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++@GENERATE_CACERTS_TRUE@ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++@GENERATE_CACERTS_TRUE@ fi; \
++@GENERATE_CACERTS_TRUE@ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
++@GENERATE_CACERTS_TRUE@ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
+ touch stamps/add-tzdata-support.stamp
+
+ clean-add-tzdata-support:
+@@ -1970,6 +1983,17 @@
+ stamps/add-tzdata-support-debug.stamp: stamps/icedtea-debug.stamp
+ @WITH_TZDATA_DIR_TRUE@ cp $(abs_top_builddir)/tz.properties \
+ @WITH_TZDATA_DIR_TRUE@ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib;
++@GENERATE_CACERTS_TRUE@ if test -n "${CADIR}"; then \
++@GENERATE_CACERTS_TRUE@ sh scripts/mkcacerts.sh -d "${CADIR}" \
++@GENERATE_CACERTS_TRUE@ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++@GENERATE_CACERTS_TRUE@ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++@GENERATE_CACERTS_TRUE@ else \
++@GENERATE_CACERTS_TRUE@ sh scripts/mkcacerts.sh -f "${CAFILE}" \
++@GENERATE_CACERTS_TRUE@ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++@GENERATE_CACERTS_TRUE@ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++@GENERATE_CACERTS_TRUE@ fi; \
++@GENERATE_CACERTS_TRUE@ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
++@GENERATE_CACERTS_TRUE@ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
+ touch stamps/add-tzdata-support-debug.stamp
+
+ clean-add-tzdata-support-debug:
+diff -urN icedtea6-1.10.4/scripts/mkcacerts.sh icedtea6-mod/scripts/mkcacerts.sh
+--- icedtea6-1.10.4/scripts/mkcacerts.sh 1969-12-31 18:00:00.000000000 -0600
++++ icedtea6-mod/scripts/mkcacerts.sh 2011-10-27 19:07:38.521729245 -0500
+@@ -0,0 +1,154 @@
++#!/bin/sh
++# Simple script to extract x509 certificates and create a JRE cacerts file.
++
++function get_args()
++ {
++ if test -z "${1}" ; then
++ showhelp
++ exit 1
++ fi
++
++ while test -n "${1}" ; do
++ case "${1}" in
++ -f | --cafile)
++ check_arg $1 $2
++ CAFILE="${2}"
++ shift 2
++ ;;
++ -d | --cadir)
++ check_arg $1 $2
++ CADIR="${2}"
++ shift 2
++ ;;
++ -o | --outfile)
++ check_arg $1 $2
++ OUTFILE="${2}"
++ shift 2
++ ;;
++ -k | --keytool)
++ check_arg $1 $2
++ KEYTOOL="${2}"
++ shift 2
++ ;;
++ -h | --help)
++ showhelp
++ exit 0
++ ;;
++ *)
++ showhelp
++ exit 1
++ ;;
++ esac
++ done
++ }
++
++function check_arg()
++ {
++ echo "${2}" | grep -v "^-" > /dev/null
++ if [ -z "$?" -o ! -n "$2" ]; then
++ echo "Error: $1 requires a valid argument."
++ exit 1
++ fi
++ }
++
++
++function showhelp()
++ {
++ echo "`basename ${0}` creates a valid cacerts file for use with IcedTea."
++ echo ""
++ echo " -f --cafile The path to a file containing PEM formated CA"
++ echo " certificates. May not be used with -d/--cadir."
++ echo " -d --cadir The path to a diectory of PEM formatted CA"
++ echo " certificates. May not be used with -f/--cafile."
++ echo " -o --outfile The path to the output file."
++ echo ""
++ echo " -k --keytool The path to the java keytool utility."
++ echo ""
++ echo " -h --help Show this help message and exit."
++ echo ""
++ echo ""
++ }
++
++# Initialize empty variables so that the shell does not polute the script
++CAFILE=""
++CADIR=""
++OUTFILE=""
++KEYTOOL=""
++
++# Process command line arguments
++get_args ${@}
++
++# Handle common errors
++if test "${CAFILE}x" == "x" -a "${CADIR}x" == "x" ; then
++ echo "ERROR! You must provide an x509 certificate store!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++if test "${CAFILE}x" != "x" -a "${CADIR}x" != "x" ; then
++ echo "ERROR! You cannot provide two x509 certificate stores!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++if test "${KEYTOOL}x" == "x" ; then
++ echo "ERROR! You must provide a valid keytool program!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++if test "${OUTFILE}x" == "x" ; then
++ echo "ERROR! You must provide a valid output file!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++# Get on with the work
++
++# If using a CAFILE, split it into individual files in a temp directory
++if test "${CAFILE}x" != "x" ; then
++ TEMPDIR=`mktemp -d`
++ CADIR="${TEMPDIR}"
++
++ # Get a list of staring lines for each cert
++ CERTLIST=`grep -n "^-----BEGIN" "${CAFILE}" | cut -d ":" -f 1`
++
++ # Get a list of ending lines for each cert
++ ENDCERTLIST=`grep -n "^-----END" "${CAFILE}" | cut -d ":" -f 1`
++
++ # Start a loop
++ for certbegin in `echo "${CERTLIST}"` ; do
++ for certend in `echo "${ENDCERTLIST}"` ; do
++ if test "${certend}" -gt "${certbegin}"; then
++ break
++ fi
++ done
++ sed -n "${certbegin},${certend}p" "${CAFILE}" > "${CADIR}/${certbegin}"
++ keyhash=`openssl x509 -noout -in "${CADIR}/${certbegin}" -hash`
++ echo "Generated PEM file with hash: ${keyhash}."
++ mv "${CADIR}/${certbegin}" "${CADIR}/${keyhash}.pem"
++ done
++fi
++
++# Write the output file
++for cert in `find "${CADIR}" -type f -name "*.pem" -o -name "*.crt"`
++do
++ ls "${cert}"
++ tempfile=`mktemp`
++ certbegin=`grep -n "^-----BEGIN" "${cert}" | cut -d ":" -f 1`
++ certend=`grep -n "^-----END" "${cert}" | cut -d ":" -f 1`
++ sed -n "${certbegin},${certend}p" "${cert}" > "${tempfile}"
++ echo yes | "${KEYTOOL}" -import -alias `basename "${cert}"` -keystore \
++ "${OUTFILE}" -storepass 'changeit' -file "${tempfile}"
++ rm "${tempfile}"
++done
++
++if test "${TEMPDIR}x" != "x" ; then
++ rm -rf "${TEMPDIR}"
++fi
++exit 0
++
diff --git a/java/icedtea6/icedtea6-bin-core-1.10.4-amd64.tar.bz2.sig b/java/icedtea6/icedtea6-bin-core-1.10.4-amd64.tar.bz2.sig
new file mode 100644
index 0000000000..bdf57b0481
--- /dev/null
+++ b/java/icedtea6/icedtea6-bin-core-1.10.4-amd64.tar.bz2.sig
Binary files differ
diff --git a/java/icedtea6/icedtea6-bin-core-1.10.4-x86.tar.bz2.sig b/java/icedtea6/icedtea6-bin-core-1.10.4-x86.tar.bz2.sig
new file mode 100644
index 0000000000..23032874d3
--- /dev/null
+++ b/java/icedtea6/icedtea6-bin-core-1.10.4-x86.tar.bz2.sig
Binary files differ
diff --git a/java/icedtea6/icedtea6-hg-fixed_paths.patch b/java/icedtea6/icedtea6-hg-fixed_paths.patch
new file mode 100644
index 0000000000..c5e6b7ada2
--- /dev/null
+++ b/java/icedtea6/icedtea6-hg-fixed_paths.patch
@@ -0,0 +1,133 @@
+diff -urN icedtea6-hg/Makefile.am icedtea6-hg-mod/Makefile.am
+--- icedtea6-hg/Makefile.am 2011-12-06 19:39:15.000000000 -0600
++++ icedtea6-hg-mod/Makefile.am 2011-12-06 21:32:21.737424651 -0600
+@@ -288,6 +288,7 @@
+ patches/openjdk/6650759-missing_inference.patch \
+ patches/numa_on_early_glibc.patch \
+ patches/jtreg-international-fonts.patch \
++ patches/openjdk6-b24-smgl-paths.patch \
+ patches/f14-fonts.patch \
+ patches/jtreg-T6638712-fix.patch \
+ patches/jtreg-T6650759m-fix.patch \
+diff -urN icedtea6-hg/patches/openjdk6-b24-smgl-paths.patch icedtea6-hg-mod/patches/openjdk6-b24-smgl-paths.patch
+--- icedtea6-hg/patches/openjdk6-b24-smgl-paths.patch 1969-12-31 18:00:00.000000000 -0600
++++ icedtea6-hg-mod/patches/openjdk6-b24-smgl-paths.patch 2011-12-06 21:32:43.033424397 -0600
+@@ -0,0 +1,118 @@
++diff -urN openjdk/corba/make/common/shared/Defs-utils.gmk openjdk-mod/corba/make/common/shared/Defs-utils.gmk
++--- openjdk/corba/make/common/shared/Defs-utils.gmk 2011-11-14 16:05:59.000000000 -0600
+++++ openjdk-mod/corba/make/common/shared/Defs-utils.gmk 2011-12-06 21:13:30.991437225 -0600
++@@ -85,15 +85,15 @@
++ DIFF = $(UTILS_USR_BIN_PATH)diff
++ DIRNAME = $(UTILS_USR_BIN_PATH)dirname
++ ECHO = $(UTILS_COMMAND_PATH)echo
++-EGREP = $(UTILS_COMMAND_PATH)egrep
+++EGREP = $(UTILS_USR_BIN_PATH)egrep
++ EXPR = $(UTILS_USR_BIN_PATH)expr
++ FILE = $(UTILS_USR_BIN_PATH)file
++ FIND = $(UTILS_USR_BIN_PATH)find
++ FMT = $(UTILS_COMMAND_PATH)fmt
++ GDB = $(UTILS_USR_BIN_PATH)gdb
++-GREP = $(UTILS_COMMAND_PATH)grep
+++GREP = $(UTILS_USR_BIN_PATH)grep
++ GUNZIP = $(UTILS_COMMAND_PATH)gunzip
++-HEAD = $(UTILS_USR_BIN_PATH)head
+++HEAD = $(UTILS_COMMAND_PATH)head
++ ID = $(UTILS_COMMAND_PATH)id
++ ISAINFO = $(UTILS_COMMAND_PATH)isainfo
++ KSH = $(UTILS_COMMAND_PATH)ksh
++@@ -122,9 +122,9 @@
++ SHOWREV = $(UTILS_USR_BIN_PATH)showrev
++ SORT = $(UTILS_COMMAND_PATH)sort
++ STRIP = $(UTILS_CCS_BIN_PATH)strip
++-TAIL = $(UTILS_USR_BIN_PATH)tail
+++TAIL = $(UTILS_COMMAND_PATH)tail
++ TAR = $(UTILS_COMMAND_PATH)tar
++-TEST = $(UTILS_USR_BIN_PATH)test
+++TEST = $(UTILS_COMMAND_PATH)test
++ TOUCH = $(UTILS_COMMAND_PATH)touch
++ TR = $(UTILS_USR_BIN_PATH)tr
++ TRUE = $(UTILS_COMMAND_PATH)true
++@@ -132,7 +132,7 @@
++ UNIQ = $(UTILS_USR_BIN_PATH)uniq
++ UNZIP = $(UTILS_USR_BIN_PATH)unzip
++ UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx
++-WC = $(UTILS_USR_BIN_PATH)wc
+++WC = $(UTILS_COMMAND_PATH)wc
++ WHICH = $(UTILS_USR_BIN_PATH)which
++ YACC = $(UTILS_CCS_BIN_PATH)yacc
++ ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
++@@ -176,7 +176,7 @@
++ # others have it in /usr/bin.
++ SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \
++ $(wildcard $(UTILS_USR_BIN_PATH)sort))
++- NAWK = $(USRBIN_PATH)gawk
+++ NAWK = $(UNIXCOMMAND_PATH)gawk
++ # Intrinsic unix command, with backslash-escaped character interpretation
++ ECHO = /bin/echo -e
++ # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
++diff -urN openjdk/hotspot/make/linux/makefiles/sa.make openjdk-mod/hotspot/make/linux/makefiles/sa.make
++--- openjdk/hotspot/make/linux/makefiles/sa.make 2011-11-14 16:07:29.000000000 -0600
+++++ openjdk-mod/hotspot/make/linux/makefiles/sa.make 2011-12-06 21:15:49.018435744 -0600
++@@ -45,8 +45,8 @@
++
++ # gnumake 3.78.1 does not accept the *s that
++ # are in AGENT_FILES1 and AGENT_FILES2, so use the shell to expand them
++-AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
++-AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
+++AGENT_FILES1 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
+++AGENT_FILES2 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
++
++ AGENT_FILES1_LIST := $(GENERATED)/agent1.classes.list
++ AGENT_FILES2_LIST := $(GENERATED)/agent2.classes.list
++diff -urN openjdk/jdk/make/common/shared/Defs-utils.gmk openjdk-mod/jdk/make/common/shared/Defs-utils.gmk
++--- openjdk/jdk/make/common/shared/Defs-utils.gmk 2011-11-14 16:11:40.000000000 -0600
+++++ openjdk-mod/jdk/make/common/shared/Defs-utils.gmk 2011-12-06 21:15:15.611436158 -0600
++@@ -98,15 +98,15 @@
++ DIFF = $(UTILS_USR_BIN_PATH)diff
++ DIRNAME = $(UTILS_USR_BIN_PATH)dirname
++ ECHO = $(UTILS_COMMAND_PATH)echo
++-EGREP = $(UTILS_COMMAND_PATH)egrep
+++EGREP = $(UTILS_USR_BIN_PATH)egrep
++ EXPR = $(UTILS_USR_BIN_PATH)expr
++ FILE = $(UTILS_USR_BIN_PATH)file
++ FIND = $(UTILS_USR_BIN_PATH)find
++ FMT = $(UTILS_COMMAND_PATH)fmt
++ GDB = $(UTILS_USR_BIN_PATH)gdb
++-GREP = $(UTILS_COMMAND_PATH)grep
+++GREP = $(UTILS_USR_BIN_PATH)grep
++ GUNZIP = $(UTILS_COMMAND_PATH)gunzip
++-HEAD = $(UTILS_USR_BIN_PATH)head
+++HEAD = $(UTILS_COMMAND_PATH)head
++ ID = $(UTILS_COMMAND_PATH)id
++ ISAINFO = $(UTILS_COMMAND_PATH)isainfo
++ KSH = $(UTILS_COMMAND_PATH)ksh
++@@ -134,9 +134,9 @@
++ SHOWREV = $(UTILS_USR_BIN_PATH)showrev
++ SORT = $(UTILS_COMMAND_PATH)sort
++ STRIP = $(UTILS_CCS_BIN_PATH)strip
++-TAIL = $(UTILS_USR_BIN_PATH)tail
+++TAIL = $(UTILS_COMMAND_PATH)tail
++ TAR = $(UTILS_COMMAND_PATH)tar
++-TEST = $(UTILS_USR_BIN_PATH)test
+++TEST = $(UTILS_COMMAND_PATH)test
++ TOUCH = $(UTILS_COMMAND_PATH)touch
++ TR = $(UTILS_USR_BIN_PATH)tr
++ TRUE = $(UTILS_COMMAND_PATH)true
++@@ -144,7 +144,7 @@
++ UNIQ = $(UTILS_USR_BIN_PATH)uniq
++ UNZIP = $(UTILS_USR_BIN_PATH)unzip
++ UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx
++-WC = $(UTILS_USR_BIN_PATH)wc
+++WC = $(UTILS_COMMAND_PATH)wc
++ WHICH = $(UTILS_USR_BIN_PATH)which
++ YACC = $(UTILS_CCS_BIN_PATH)yacc
++ ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
++@@ -178,7 +178,7 @@
++ BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \
++ $(wildcard $(UTILS_USR_BIN_PATH)basename))
++
++- NAWK = $(USRBIN_PATH)gawk
+++ NAWK = $(UNIXCOMMAND_PATH)gawk
++ # Intrinsic unix command, with backslash-escaped character interpretation
++ ECHO = /bin/echo -e
++ # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
diff --git a/java/icedtea6/icedtea6-hg-generate_cacerts-1.patch b/java/icedtea6/icedtea6-hg-generate_cacerts-1.patch
new file mode 100644
index 0000000000..0e3af9c9ae
--- /dev/null
+++ b/java/icedtea6/icedtea6-hg-generate_cacerts-1.patch
@@ -0,0 +1,331 @@
+diff -urN icedtea6-1.10.4/acinclude.m4 icedtea6-mod/acinclude.m4
+--- icedtea6-1.10.4/acinclude.m4 2011-07-11 16:43:43.361068652 -0500
++++ icedtea6-mod/acinclude.m4 2011-10-27 18:49:43.510729915 -0500
+@@ -326,6 +326,91 @@
+ AM_CONDITIONAL([SRC_DIR_HARDLINKABLE], test x"${it_cv_hardlink_src}" = "xyes")
+ ])
+
++AC_DEFUN([IT_GENERATE_CACERTS],
++[
++ AC_MSG_CHECKING([whether to generate a cacerts file for distribution])
++ AC_ARG_ENABLE([cacerts],
++ [AS_HELP_STRING(--enable-cacerts, generate a cacerts file for distribution [[default=no]])],
++ [
++ case "${enableval}" in
++ no)
++ generate_cacerts=no
++ ;;
++ *)
++ generate_cacerts=yes
++ ;;
++ esac
++ ],
++ [
++ generate_cacerts=no
++ ])
++ AC_MSG_RESULT([$generate_cacerts])
++ AM_CONDITIONAL([GENERATE_CACERTS], test x"${generate_cacerts}" = "xyes")
++])
++
++AC_DEFUN([IT_GET_LOCAL_CACERTS],
++[
++ AC_MSG_CHECKING([for a local x509 certificate directory])
++ AC_ARG_WITH([ca-dir],
++ [AS_HELP_STRING(--with-ca-dir=DIR, specify a top-level local x509 certificate directory)],
++ [
++ if test -d "${withval}"; then
++ CADIR="${withval}"
++ fi
++ ],
++ [
++ CADIR=
++ ])
++ if test -z "${CADIR}"; then
++ for dir in /etc/pki/tls/certs \
++ /usr/share/ca-certificates \
++ /etc/ssl/certs \
++ /etc/certs ; do
++ if test -d "${dir}"; then
++ CADIR="${dir}"
++ break
++ fi
++ done
++ if test -z "${CADIR}"; then
++ CADIR=no
++ fi
++ fi
++ AC_MSG_RESULT(${CADIR})
++ AC_SUBST(CADIR)
++
++ AC_MSG_CHECKING([for a local x509 certificate file])
++ AC_ARG_WITH([ca-file],
++ [AS_HELP_STRING(--with-ca-file=FILE, specify a local x509 certificate file)],
++ [
++ if test -f "${withval}"; then
++ CAFILE="${withval}"
++ fi
++ ],
++ [
++ CAFILE=
++ ])
++ if test -z "${CAFILE}"; then
++ for file in /etc/pki/tls/certs/ca-bundle.crt \
++ /etc/ssl/certs/ca-bundle.crt \
++ /etc/ssl/ca-bundle.crt \
++ /etc/ca-bundle.crt ; do
++ if test -e "${file}"; then
++ CAFILE=$file
++ break
++ fi
++ done
++ if test -z "${CAFILE}"; then
++ CAFILE=no
++ fi
++ fi
++ AC_MSG_RESULT(${CAFILE})
++ AC_SUBST(CAFILE)
++ if test "${CADIR}x" = "nox" -a "${CAFILE}x" = "nox"; then
++ AC_MSG_WARN([Could not find a suitable x509 certificate store.])
++ AC_MSG_ERROR([Supply a valid location using --with-ca-dir or --with-ca-file, or remove the --enable-cacerts switch.])
++ fi
++])
++
+ AC_DEFUN([IT_FIND_ECJ_JAR],
+ [
+ AC_MSG_CHECKING([for an ecj JAR file])
+diff -urN icedtea6-1.10.4/configure.ac icedtea6-mod/configure.ac
+--- icedtea6-1.10.4/configure.ac 2011-10-13 12:39:16.561204799 -0500
++++ icedtea6-mod/configure.ac 2011-10-27 18:51:27.674729852 -0500
+@@ -138,6 +138,13 @@
+ AC_MSG_RESULT([disabled by default (edit java.security to enable)])
+ fi
+
++IT_GENERATE_CACERTS
++
++if test "x${generate_cacerts}" = "xyes"
++then
++ IT_GET_LOCAL_CACERTS
++fi
++
+ IT_GET_PKGVERSION
+ IT_GET_LSB_DATA
+
+diff -urN icedtea6-1.10.4/Makefile.am icedtea6-mod/Makefile.am
+--- icedtea6-1.10.4/Makefile.am 2011-10-13 11:27:35.063986484 -0500
++++ icedtea6-mod/Makefile.am 2011-10-27 18:58:37.188729584 -0500
+@@ -1375,6 +1375,19 @@
+ if ENABLE_JAMVM
+ printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
+ endif
++if GENERATE_CACERTS
++ if test -n "${CADIR}"; then \
++ sh scripts/mkcacerts.sh -d "${CADIR}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ else \
++ sh scripts/mkcacerts.sh -f "${CAFILE}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ fi; \
++ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
++ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
++endif
+ @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR)
+ mkdir -p stamps
+ touch stamps/icedtea.stamp
+@@ -1406,6 +1419,19 @@
+ if ENABLE_JAMVM
+ printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
+ endif
++if GENERATE_CACERTS
++ if test -n "${CADIR}"; then \
++ sh scripts/mkcacerts.sh -d "${CADIR}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ else \
++ sh scripts/mkcacerts.sh -f "${CAFILE}" \
++ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
++ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
++ fi; \
++ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
++ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
++endif
+ @echo "IcedTea (debug build) is served:" \
+ $(DEBUG_BUILD_OUTPUT_DIR)
+ mkdir -p stamps
+@@ -1456,7 +1482,7 @@
+ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
+ fi
+ cp $(abs_top_builddir)/tapset/jstack.stp \
+- $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
++ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
+ endif
+ touch stamps/add-systemtap.stamp
+
+@@ -1482,7 +1508,7 @@
+ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
+ fi
+ cp $(abs_top_builddir)/tapset/jstack.stp \
+- $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
++ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
+ endif
+ touch stamps/add-systemtap-debug.stamp
+
+diff -urN icedtea6-1.10.4/scripts/mkcacerts.sh icedtea6-mod/scripts/mkcacerts.sh
+--- icedtea6-1.10.4/scripts/mkcacerts.sh 1969-12-31 18:00:00.000000000 -0600
++++ icedtea6-mod/scripts/mkcacerts.sh 2011-10-27 19:07:38.521729245 -0500
+@@ -0,0 +1,154 @@
++#!/bin/sh
++# Simple script to extract x509 certificates and create a JRE cacerts file.
++
++function get_args()
++ {
++ if test -z "${1}" ; then
++ showhelp
++ exit 1
++ fi
++
++ while test -n "${1}" ; do
++ case "${1}" in
++ -f | --cafile)
++ check_arg $1 $2
++ CAFILE="${2}"
++ shift 2
++ ;;
++ -d | --cadir)
++ check_arg $1 $2
++ CADIR="${2}"
++ shift 2
++ ;;
++ -o | --outfile)
++ check_arg $1 $2
++ OUTFILE="${2}"
++ shift 2
++ ;;
++ -k | --keytool)
++ check_arg $1 $2
++ KEYTOOL="${2}"
++ shift 2
++ ;;
++ -h | --help)
++ showhelp
++ exit 0
++ ;;
++ *)
++ showhelp
++ exit 1
++ ;;
++ esac
++ done
++ }
++
++function check_arg()
++ {
++ echo "${2}" | grep -v "^-" > /dev/null
++ if [ -z "$?" -o ! -n "$2" ]; then
++ echo "Error: $1 requires a valid argument."
++ exit 1
++ fi
++ }
++
++
++function showhelp()
++ {
++ echo "`basename ${0}` creates a valid cacerts file for use with IcedTea."
++ echo ""
++ echo " -f --cafile The path to a file containing PEM formated CA"
++ echo " certificates. May not be used with -d/--cadir."
++ echo " -d --cadir The path to a diectory of PEM formatted CA"
++ echo " certificates. May not be used with -f/--cafile."
++ echo " -o --outfile The path to the output file."
++ echo ""
++ echo " -k --keytool The path to the java keytool utility."
++ echo ""
++ echo " -h --help Show this help message and exit."
++ echo ""
++ echo ""
++ }
++
++# Initialize empty variables so that the shell does not polute the script
++CAFILE=""
++CADIR=""
++OUTFILE=""
++KEYTOOL=""
++
++# Process command line arguments
++get_args ${@}
++
++# Handle common errors
++if test "${CAFILE}x" == "x" -a "${CADIR}x" == "x" ; then
++ echo "ERROR! You must provide an x509 certificate store!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++if test "${CAFILE}x" != "x" -a "${CADIR}x" != "x" ; then
++ echo "ERROR! You cannot provide two x509 certificate stores!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++if test "${KEYTOOL}x" == "x" ; then
++ echo "ERROR! You must provide a valid keytool program!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++if test "${OUTFILE}x" == "x" ; then
++ echo "ERROR! You must provide a valid output file!"
++ echo "\'$(basename ${0}) --help\' for more info."
++ echo ""
++ exit 1
++fi
++
++# Get on with the work
++
++# If using a CAFILE, split it into individual files in a temp directory
++if test "${CAFILE}x" != "x" ; then
++ TEMPDIR=`mktemp -d`
++ CADIR="${TEMPDIR}"
++
++ # Get a list of staring lines for each cert
++ CERTLIST=`grep -n "^-----BEGIN" "${CAFILE}" | cut -d ":" -f 1`
++
++ # Get a list of ending lines for each cert
++ ENDCERTLIST=`grep -n "^-----END" "${CAFILE}" | cut -d ":" -f 1`
++
++ # Start a loop
++ for certbegin in `echo "${CERTLIST}"` ; do
++ for certend in `echo "${ENDCERTLIST}"` ; do
++ if test "${certend}" -gt "${certbegin}"; then
++ break
++ fi
++ done
++ sed -n "${certbegin},${certend}p" "${CAFILE}" > "${CADIR}/${certbegin}"
++ keyhash=`openssl x509 -noout -in "${CADIR}/${certbegin}" -hash`
++ echo "Generated PEM file with hash: ${keyhash}."
++ mv "${CADIR}/${certbegin}" "${CADIR}/${keyhash}.pem"
++ done
++fi
++
++# Write the output file
++for cert in `find "${CADIR}" -type f -name "*.pem" -o -name "*.crt"`
++do
++ ls "${cert}"
++ tempfile=`mktemp`
++ certbegin=`grep -n "^-----BEGIN" "${cert}" | cut -d ":" -f 1`
++ certend=`grep -n "^-----END" "${cert}" | cut -d ":" -f 1`
++ sed -n "${certbegin},${certend}p" "${cert}" > "${tempfile}"
++ echo yes | "${KEYTOOL}" -import -alias `basename "${cert}"` -keystore \
++ "${OUTFILE}" -storepass 'changeit' -file "${tempfile}"
++ rm "${tempfile}"
++done
++
++if test "${TEMPDIR}x" != "x" ; then
++ rm -rf "${TEMPDIR}"
++fi
++exit 0
++
diff --git a/java/icedtea6/java.sh b/java/icedtea6/java.sh
new file mode 100644
index 0000000000..709155856a
--- /dev/null
+++ b/java/icedtea6/java.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#
+JAVA_HOME=/usr/lib/j2sdk
+
+export JAVA_HOME
+export PATH=$PATH:$JAVA_HOME/bin
diff --git a/java/icedtea6/jaxp144_01.zip.sig b/java/icedtea6/jaxp144_01.zip.sig
new file mode 100644
index 0000000000..39828d2b1d
--- /dev/null
+++ b/java/icedtea6/jaxp144_01.zip.sig
Binary files differ
diff --git a/java/icedtea6/jaxp144_03.zip.sig b/java/icedtea6/jaxp144_03.zip.sig
new file mode 100644
index 0000000000..8f8efd8dfe
--- /dev/null
+++ b/java/icedtea6/jaxp144_03.zip.sig
Binary files differ
diff --git a/java/icedtea6/jdk6-jaf-b20.zip.sig b/java/icedtea6/jdk6-jaf-b20.zip.sig
new file mode 100644
index 0000000000..14e66c8f12
--- /dev/null
+++ b/java/icedtea6/jdk6-jaf-b20.zip.sig
Binary files differ
diff --git a/java/icedtea6/jdk6-jaxws-b20.zip.sig b/java/icedtea6/jdk6-jaxws-b20.zip.sig
new file mode 100644
index 0000000000..0f8a70fc5f
--- /dev/null
+++ b/java/icedtea6/jdk6-jaxws-b20.zip.sig
Binary files differ
diff --git a/java/icedtea6/jdk6-jaxws2_1_6-2011_06_13.zip.sig b/java/icedtea6/jdk6-jaxws2_1_6-2011_06_13.zip.sig
new file mode 100644
index 0000000000..b692290c96
--- /dev/null
+++ b/java/icedtea6/jdk6-jaxws2_1_6-2011_06_13.zip.sig
Binary files differ
diff --git a/java/icedtea6/openjdk-6-src-b22-28_feb_2011.tar.gz.sig b/java/icedtea6/openjdk-6-src-b22-28_feb_2011.tar.gz.sig
new file mode 100644
index 0000000000..e54a35bb58
--- /dev/null
+++ b/java/icedtea6/openjdk-6-src-b22-28_feb_2011.tar.gz.sig
Binary files differ
diff --git a/java/icedtea6/openjdk-6-src-b24-14_nov_2011.tar.gz.sig b/java/icedtea6/openjdk-6-src-b24-14_nov_2011.tar.gz.sig
new file mode 100644
index 0000000000..a8336efde4
--- /dev/null
+++ b/java/icedtea6/openjdk-6-src-b24-14_nov_2011.tar.gz.sig
Binary files differ