summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortnn <tnn@pkgsrc.org>2010-01-15 19:18:42 +0000
committertnn <tnn@pkgsrc.org>2010-01-15 19:18:42 +0000
commit42bc9cdf8cb6b46b6a1ead60b64a9096daf624d6 (patch)
treed21cf34908e7cf5d2b1b21960c606dc9621b9c1c /lang
parent19e9224233004d58ec66fa97d727a3197f6a266c (diff)
downloadpkgsrc-42bc9cdf8cb6b46b6a1ead60b64a9096daf624d6.tar.gz
Update to openjdk7 b78 snapshot.
(b79 is released but not yet merged on the bsd-port branch)
Diffstat (limited to 'lang')
-rw-r--r--lang/openjdk7/Makefile9
-rw-r--r--lang/openjdk7/PLIST3
-rw-r--r--lang/openjdk7/distinfo25
-rw-r--r--lang/openjdk7/icedtea-extras.mk7
-rw-r--r--lang/openjdk7/patches/patch-ad12
-rw-r--r--lang/openjdk7/patches/patch-ak19
-rw-r--r--lang/openjdk7/patches/patch-al400
-rw-r--r--lang/openjdk7/patches/patch-aq13
8 files changed, 448 insertions, 40 deletions
diff --git a/lang/openjdk7/Makefile b/lang/openjdk7/Makefile
index 3fd14c10c83..bec49af8353 100644
--- a/lang/openjdk7/Makefile
+++ b/lang/openjdk7/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.12 2009/12/16 21:54:27 tnn Exp $
+# $NetBSD: Makefile,v 1.13 2010/01/15 19:18:42 tnn Exp $
-DISTNAME= openjdk-7-ea-src-b75-30_oct_2009
-PKGNAME= openjdk7-1.7.0.75.20091106
-PKGREVISION= 3
+DISTNAME= openjdk-7-ea-src-b78-17_dec_2009
+PKGNAME= openjdk7-1.7.0.78.20100102
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_LOCAL:=openjdk7/}
EXTRACT_SUFX= .tar.bz2
@@ -18,7 +17,7 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
# diff between distfile and bsd-port branch. To check out, use:
# "hg fclone http://hg.openjdk.java.net/bsd-port/bsd-port/"
-PATCHFILES+= jdk-7-bsd-port-75.20091106.diff.bz2
+PATCHFILES+= jdk-7-bsd-port-78.20100102.diff.bz2
PATCH_SITES+= ${MASTER_SITE_LOCAL:=openjdk7/}
CACERTS= cacerts-20091013.tar.bz2
diff --git a/lang/openjdk7/PLIST b/lang/openjdk7/PLIST
index 0a8c47d7893..4bfaa8e9173 100644
--- a/lang/openjdk7/PLIST
+++ b/lang/openjdk7/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2009/12/15 15:16:15 tnn Exp $
+@comment $NetBSD: PLIST,v 1.4 2010/01/15 19:18:42 tnn Exp $
bin/openjdk7-jar
bin/openjdk7-java
bin/openjdk7-javac
@@ -669,6 +669,7 @@ java/openjdk7/jre/lib/zi/Asia/Makassar
java/openjdk7/jre/lib/zi/Asia/Manila
java/openjdk7/jre/lib/zi/Asia/Muscat
java/openjdk7/jre/lib/zi/Asia/Nicosia
+java/openjdk7/jre/lib/zi/Asia/Novokuznetsk
java/openjdk7/jre/lib/zi/Asia/Novosibirsk
java/openjdk7/jre/lib/zi/Asia/Omsk
java/openjdk7/jre/lib/zi/Asia/Oral
diff --git a/lang/openjdk7/distinfo b/lang/openjdk7/distinfo
index 85a61fd6e2b..ab2c5963b56 100644
--- a/lang/openjdk7/distinfo
+++ b/lang/openjdk7/distinfo
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.7 2009/11/08 17:57:46 tnn Exp $
+$NetBSD: distinfo,v 1.8 2010/01/15 19:18:42 tnn Exp $
-SHA1 (openjdk7/9eb43c172d5b.tar.bz2) = 148136f77c5f565c27cfb2b1346363469becc5ab
-RMD160 (openjdk7/9eb43c172d5b.tar.bz2) = 7c79d15754eae87c543a131a36e26b52fb30e7e7
-Size (openjdk7/9eb43c172d5b.tar.bz2) = 4599645 bytes
+SHA1 (openjdk7/aaf3cf416fb4.tar.bz2) = 0699222ac14be906c2dbdc2db3aff3eeffcd7ac5
+RMD160 (openjdk7/aaf3cf416fb4.tar.bz2) = a88ae483d665163cf3dd302bd4f02c3ce551ab1c
+Size (openjdk7/aaf3cf416fb4.tar.bz2) = 4589271 bytes
SHA1 (openjdk7/apache-ant-1.7.1-bin.zip) = a7e8fa7bc2102a8d8df99c64db73c2eae3d8b483
RMD160 (openjdk7/apache-ant-1.7.1-bin.zip) = a4e2c992ac7c81949b391d146baf9c411dbb2c2d
Size (openjdk7/apache-ant-1.7.1-bin.zip) = 11657986 bytes
@@ -27,12 +27,12 @@ Size (openjdk7/bootstrap-jdk-7-bin-netbsd-6-i386-20091014.tar.bz2) = 24168404 by
SHA1 (openjdk7/cacerts-20091013.tar.bz2) = 905e88e6e2ccdbfe1f36c1dace7cc687fba78890
RMD160 (openjdk7/cacerts-20091013.tar.bz2) = 0f4e14197016201ff65272a944eafecc6f2d5770
Size (openjdk7/cacerts-20091013.tar.bz2) = 55894 bytes
-SHA1 (openjdk7/jdk-7-bsd-port-75.20091106.diff.bz2) = 98a6a5f2c71d34e34260f451aa6ee7d586034ff3
-RMD160 (openjdk7/jdk-7-bsd-port-75.20091106.diff.bz2) = 5d8d0c8b90d3c117f0aa9b8534f163c6c5f13afd
-Size (openjdk7/jdk-7-bsd-port-75.20091106.diff.bz2) = 554491 bytes
-SHA1 (openjdk7/openjdk-7-ea-src-b75-30_oct_2009.tar.bz2) = e8f21410fb046ef5a865c5dfa2253b2199d5dd74
-RMD160 (openjdk7/openjdk-7-ea-src-b75-30_oct_2009.tar.bz2) = e8e6dbd6274c4f37a3603befd88824861ebd50d7
-Size (openjdk7/openjdk-7-ea-src-b75-30_oct_2009.tar.bz2) = 61502241 bytes
+SHA1 (openjdk7/jdk-7-bsd-port-78.20100102.diff.bz2) = fc39ffbf4990b2422c1030b8838076ef81cd1db2
+RMD160 (openjdk7/jdk-7-bsd-port-78.20100102.diff.bz2) = dc37d32f7b3bd4b2e05386d90be2262c1be7bf7d
+Size (openjdk7/jdk-7-bsd-port-78.20100102.diff.bz2) = 558359 bytes
+SHA1 (openjdk7/openjdk-7-ea-src-b78-17_dec_2009.tar.bz2) = 754743a18644b86a042cf65e42bf6b6432eded45
+RMD160 (openjdk7/openjdk-7-ea-src-b78-17_dec_2009.tar.bz2) = 853b34e3b075c0f63482467cf0d6a6a542f41e7b
+Size (openjdk7/openjdk-7-ea-src-b78-17_dec_2009.tar.bz2) = 46678860 bytes
SHA1 (openjdk7/rhino1_7R2.zip) = 3bb380cfb7f6febb87a64b2dee7fa308042f37e4
RMD160 (openjdk7/rhino1_7R2.zip) = 58ae321829ac701e442bfbfed3d6f87b2bb6ba4c
Size (openjdk7/rhino1_7R2.zip) = 2996867 bytes
@@ -42,18 +42,19 @@ Size (openjdk7/xalan-j_2_7_1-bin.zip) = 17336979 bytes
SHA1 (patch-aa) = c11951d2957f24352ddedada9ef4edc72e7b7382
SHA1 (patch-ab) = 001f676c0232f76ff49ac3ec248f696af1e2397b
SHA1 (patch-ac) = 7e6c0fcfe0b9eaa756eba361d8f9b35d08d17111
-SHA1 (patch-ad) = 88950e3d6792a18dd2e2349fee2b7b4c0d822ea4
+SHA1 (patch-ad) = ab68ff2db078628069c925287c119c4cac6657f3
SHA1 (patch-ae) = 6fa5076b78b3456266d744846ec376c0ed36cb86
SHA1 (patch-af) = 3d14a176c89e021afe99ad1b1e7505b56f4e8db0
SHA1 (patch-ag) = 6287960055a79d05dc193e31d29ffc0158b33cdd
SHA1 (patch-ah) = 2632580f92b27506c33df8714ed163ef3ed9844f
SHA1 (patch-ai) = 6d6c394c3de7578754b901686b88142cbc524ef7
SHA1 (patch-aj) = e370b618f4417d5ca19164c8eb59075123179b5a
+SHA1 (patch-ak) = 5803f43746463db843108b2104a222690614d5b6
+SHA1 (patch-al) = 2885c3bd4972a3bed8b2c3ca5c64fc4d6d9c713d
SHA1 (patch-am) = 7e0ffa317a83d5b1e34c3f3e76b7a3de26980df6
SHA1 (patch-an) = b0636c22521d9727ad79df6914c9ce8c7c70b362
SHA1 (patch-ao) = 87ee9dd450d0b4e7cbd2302466a2e9f586fa6df1
SHA1 (patch-ap) = 1cdd568c89e0525ed17e55300a51af15e9f19e08
-SHA1 (patch-aq) = 17be1ad20f0930ad53e0de197fd01f10284cbb5d
SHA1 (patch-ar) = 19abc4c858c730fb337d68d1d524db82c73ffa36
SHA1 (patch-as) = d78c44af2e412da65239a8339e00d79eca881e2f
SHA1 (patch-at) = 3b6c2268747c62f0008f67e8f3d5478e1905c551
diff --git a/lang/openjdk7/icedtea-extras.mk b/lang/openjdk7/icedtea-extras.mk
index 7d46c0fc9bc..6d9f38b0cd8 100644
--- a/lang/openjdk7/icedtea-extras.mk
+++ b/lang/openjdk7/icedtea-extras.mk
@@ -1,12 +1,12 @@
-# $NetBSD: icedtea-extras.mk,v 1.4 2009/12/15 15:16:15 tnn Exp $
+# $NetBSD: icedtea-extras.mk,v 1.5 2010/01/15 19:18:42 tnn Exp $
# Needed to extract icedtea
EXTRACT_USING= bsdtar
DIST_SUBDIR= openjdk7
-ICEDTEA= icedtea-9eb43c172d5b
-ICEDTEA_TGZ= 9eb43c172d5b.tar.bz2
+ICEDTEA= icedtea-aaf3cf416fb4
+ICEDTEA_TGZ= aaf3cf416fb4.tar.bz2
SITES.${ICEDTEA_TGZ}= http://icedtea.classpath.org/hg/icedtea/archive/
DISTFILES+= ${ICEDTEA_TGZ}
EXTRACT_ONLY+= ${ICEDTEA_TGZ}
@@ -46,6 +46,7 @@ USE_LANGUAGES= c c++
USE_TOOLS+= gawk pkg-config autoconf automake
BUILD_DEPENDS+= zip-[0-9]*:../../archivers/zip
CONFIGURE_ENV+= ac_cv_path_MD5SUM=/usr/bin/true
+CONFIGURE_ENV+= ac_cv_path_SHA256SUM=/usr/bin/true
CONFIGURE_ENV+= ac_cv_path_WGET=/usr/bin/true
pre-configure: icedtea-autoconf
diff --git a/lang/openjdk7/patches/patch-ad b/lang/openjdk7/patches/patch-ad
index 5741bab69ca..b30ccb0d341 100644
--- a/lang/openjdk7/patches/patch-ad
+++ b/lang/openjdk7/patches/patch-ad
@@ -1,22 +1,22 @@
-$NetBSD: patch-ad,v 1.2 2009/10/18 10:21:01 tnn Exp $
+$NetBSD: patch-ad,v 1.3 2010/01/15 19:18:42 tnn Exp $
---- corba/make/common/shared/Platform.gmk.orig 2009-10-17 16:49:37.000000000 +0200
+--- corba/make/common/shared/Platform.gmk.orig 2010-01-02 13:49:48.000000000 +0000
+++ corba/make/common/shared/Platform.gmk
-@@ -269,6 +269,13 @@ ifeq ($(SYSTEM_UNAME), FreeBSD)
- REQUIRED_OS_VERSION = 6.0
+@@ -265,6 +265,13 @@ ifeq ($(SYSTEM_UNAME), FreeBSD)
+ REQUIRED_OS_VERSION = 6.0
endif
+ifeq ($(SYSTEM_UNAME), DragonFly)
+ PLATFORM = bsd
+ OS_NAME = dragonfly
+ OS_VENDOR = DragonFlyBSD
-+ REQUIRED_OS_VERSION = 2.4
++ REQUIRED_OS_VERSION = 2.4
+endif
+
ifeq ($(SYSTEM_UNAME), Darwin)
PLATFORM = bsd
OS_NAME = darwin
-@@ -339,9 +346,9 @@ ifeq ($(PLATFORM), bsd)
+@@ -347,9 +354,9 @@ ifeq ($(PLATFORM), bsd)
REQUIRED_FREE_SPACE=1500000
# How much RAM does this machine have:
ifeq ($(OS_VENDOR), OpenBSD)
diff --git a/lang/openjdk7/patches/patch-ak b/lang/openjdk7/patches/patch-ak
new file mode 100644
index 00000000000..5e6ab141b00
--- /dev/null
+++ b/lang/openjdk7/patches/patch-ak
@@ -0,0 +1,19 @@
+$NetBSD: patch-ak,v 1.3 2010/01/15 19:18:42 tnn Exp $
+
+--- jdk/make/common/Defs-bsd.gmk.orig 2010-01-11 16:46:18.000000000 +0000
++++ jdk/make/common/Defs-bsd.gmk
+@@ -339,6 +339,14 @@ ifeq ($(OS_VENDOR), OpenBSD)
+ SYSTEM_ZLIB = true
+ endif
+
++ifeq ($(OS_VENDOR), NetBSD)
++ SYSTEM_ZLIB = true
++endif
++
++ifeq ($(OS_VENDOR), DragonFlyBSD)
++ SYSTEM_ZLIB = true
++endif
++
+ #
+ # Japanese manpages
+ #
diff --git a/lang/openjdk7/patches/patch-al b/lang/openjdk7/patches/patch-al
new file mode 100644
index 00000000000..86db5dc94ba
--- /dev/null
+++ b/lang/openjdk7/patches/patch-al
@@ -0,0 +1,400 @@
+$NetBSD: patch-al,v 1.1 2010/01/15 19:18:42 tnn Exp $
+
+This patch reverts the functional part of the following commit:
+http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/de45eac5670e
+
+pkgsrc does not deal well with -rpath \$ORIGIN so we need to
+do the LD_LIBRARY_PATH + reexec dance for now.
+
+--- jdk/src/solaris/bin/java_md.c.xxx 2010-01-11 19:26:45.000000000 +0000
++++ jdk/src/solaris/bin/java_md.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
++ * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -63,9 +63,9 @@
+ * two data models and cohabitation of jre/jdk bits with both data
+ * models is supported, then DUAL_MODE is defined. When DUAL_MODE is
+ * defined, the architecture names for the narrow and wide version of
+- * the architecture are defined in LIBARCH64NAME and LIBARCH32NAME.
+- * Currently only Solaris on sparc/sparcv9 and i586/amd64 is DUAL_MODE;
+- * linux i586/amd64 could be defined as DUAL_MODE but that is not the
++ * the architecture are defined in LIBARCH64NAME and LIBARCH32NAME. Currently
++ * only Solaris on sparc/sparcv9 and i586/amd64 is DUAL_MODE; linux
++ * i586/amd64 could be defined as DUAL_MODE but that is not the
+ * current policy.
+ */
+
+@@ -132,56 +132,49 @@ static char *execname = NULL;
+ * platform independent routine SelectVersion. This may result in
+ * the exec of the specified launcher version.
+ *
+- * Previously the launcher modified the LD_LIBRARY_PATH appropriately for the
+- * desired data model path, regardless if data models matched or not. The
+- * launcher subsequently exec'ed the desired executable, in order to make the
+- * LD_LIBRARY_PATH path available for the runtime linker. This is no longer the
+- * case, the launcher dlopens the target libjvm.so. All other required
+- * libraries are loaded by the runtime linker, by virtue of the $ORIGIN paths
+- * baked into the shared libraries, by the build infrastructure at compile time.
++ * Typically, the launcher execs at least once to ensure a suitable
++ * LD_LIBRARY_PATH is in effect for the process. The first exec
++ * screens out all the data model options; leaving the choice of data
++ * model implicit in the binary selected to run. However, in case no
++ * exec is done, the data model options are screened out before the vm
++ * is invoked.
+ *
+- * Main
+- * (incoming argv)
+- * |
+- * \|/
+- * SelectVersion
+- * (selects the JRE version, note: not data model)
+- * |
+- * \|/
+- * CreateExecutionEnvironment
+- * (determines desired data model)
+- * |
++ * incoming argv ------------------------------
++ * | |
++ * \|/ |
++ * CheckJVMType |
++ * (removes -client, -server, etc.) |
++ * \|/
++ * CreateExecutionEnvironment
++ * (removes -d32 and -d64,
++ * determines desired data model,
++ * sets up LD_LIBRARY_PATH,
++ * and exec's)
++ * |
++ * --------------------------------------------
+ * |
+ * \|/
+- * Have Desired Model ? --> NO --> Is Dual-Mode ? --> NO --> Exit(with error)
+- * | |
+- * | |
+- * | \|/
+- * | YES
+- * | |
++ * exec child 1 incoming argv -----------------
+ * | |
++ * \|/ |
++ * CheckJVMType |
++ * (removes -client, -server, etc.) |
+ * | \|/
+- * | CheckJvmType
+- * | (removes -client, -server etc.)
+- * | |
+- * | |
+- * \|/ \|/
+- * YES (find the desired executable and exec child)
+- * | |
+- * | |
+- * \|/ \|/
+- * CheckJvmType Main
+- * (removes -client, -server, etc.)
+- * |
++ * | CreateExecutionEnvironment
++ * | (verifies desired data model
++ * | is running and acceptable
++ * | LD_LIBRARY_PATH;
++ * | no-op in child)
+ * |
+ * \|/
+ * TranslateDashJArgs...
+ * (Prepare to pass args to vm)
+ * |
+ * |
++ * |
+ * \|/
+ * ParseArguments
+- * (removes -d32 and -d64 if any,
++ * (ignores -d32 and -d64,
+ * processes version options,
+ * creates argument list for vm,
+ * etc.)
+@@ -235,13 +228,17 @@ CreateExecutionEnvironment(int *_argcp,
+ /* Compute/set the name of the executable */
+ SetExecname(*_argvp);
+
+- /* Check data model flags, and exec process, if needed */
++ /* Set the LD_LIBRARY_PATH environment variable, check data model
++ flags, and exec process, if needed */
+ {
+ char *arch = (char *)GetArch(); /* like sparc or sparcv9 */
+ char * jvmtype = NULL;
+ int argc = *_argcp;
+ char **argv = original_argv;
+
++ char *runpath = NULL; /* existing effective LD_LIBRARY_PATH
++ setting */
++
+ int running = CURRENT_DATA_MODEL;
+
+ int wanted = running; /* What data mode is being
+@@ -249,8 +246,18 @@ CreateExecutionEnvironment(int *_argcp,
+ fine unless another model
+ is asked for */
+
++ char* new_runpath = NULL; /* desired new LD_LIBRARY_PATH string */
++ char* newpath = NULL; /* path on new LD_LIBRARY_PATH */
++ char* lastslash = NULL;
++
++ char** newenvp = NULL; /* current environment */
++
+ char** newargv = NULL;
+ int newargc = 0;
++#ifdef __solaris__
++ char* dmpath = NULL; /* data model specific LD_LIBRARY_PATH,
++ Solaris only */
++#endif
+
+ /*
+ * Starting in 1.5, all unix platforms accept the -d32 and -d64
+@@ -328,11 +335,6 @@ CreateExecutionEnvironment(int *_argcp,
+ JLI_ReportErrorMessage(CFG_ERROR8, jvmtype, jvmpath);
+ exit(4);
+ }
+- /*
+- * we seem to have everything we need, so without further ado
+- * we return back.
+- */
+- return;
+ } else { /* do the same speculatively or exit */
+ #ifdef DUAL_MODE
+ if (running != wanted) {
+@@ -362,6 +364,190 @@ CreateExecutionEnvironment(int *_argcp,
+ #endif
+ }
+
++ /*
++ * We will set the LD_LIBRARY_PATH as follows:
++ *
++ * o $JVMPATH (directory portion only)
++ * o $JRE/lib/$LIBARCHNAME
++ * o $JRE/../lib/$LIBARCHNAME
++ *
++ * followed by the user's previous effective LD_LIBRARY_PATH, if
++ * any.
++ */
++
++#ifdef __solaris__
++ /*
++ * Starting in Solaris 7, ld.so.1 supports three LD_LIBRARY_PATH
++ * variables:
++ *
++ * 1. LD_LIBRARY_PATH -- used for 32 and 64 bit searches if
++ * data-model specific variables are not set.
++ *
++ * 2. LD_LIBRARY_PATH_64 -- overrides and replaces LD_LIBRARY_PATH
++ * for 64-bit binaries.
++ *
++ * 3. LD_LIBRARY_PATH_32 -- overrides and replaces LD_LIBRARY_PATH
++ * for 32-bit binaries.
++ *
++ * The vm uses LD_LIBRARY_PATH to set the java.library.path system
++ * property. To shield the vm from the complication of multiple
++ * LD_LIBRARY_PATH variables, if the appropriate data model
++ * specific variable is set, we will act as if LD_LIBRARY_PATH had
++ * the value of the data model specific variant and the data model
++ * specific variant will be unset. Note that the variable for the
++ * *wanted* data model must be used (if it is set), not simply the
++ * current running data model.
++ */
++
++ switch(wanted) {
++ case 0:
++ if(running == 32) {
++ dmpath = getenv("LD_LIBRARY_PATH_32");
++ wanted = 32;
++ }
++ else {
++ dmpath = getenv("LD_LIBRARY_PATH_64");
++ wanted = 64;
++ }
++ break;
++
++ case 32:
++ dmpath = getenv("LD_LIBRARY_PATH_32");
++ break;
++
++ case 64:
++ dmpath = getenv("LD_LIBRARY_PATH_64");
++ break;
++
++ default:
++ JLI_ReportErrorMessage(JRE_ERROR3, __LINE__);
++ exit(1); /* unknown value in wanted */
++ break;
++ }
++
++ /*
++ * If dmpath is NULL, the relevant data model specific variable is
++ * not set and normal LD_LIBRARY_PATH should be used.
++ */
++ if( dmpath == NULL) {
++ runpath = getenv("LD_LIBRARY_PATH");
++ }
++ else {
++ runpath = dmpath;
++ }
++#else
++ /*
++ * If not on Solaris, assume only a single LD_LIBRARY_PATH
++ * variable.
++ */
++ runpath = getenv("LD_LIBRARY_PATH");
++#endif /* __solaris__ */
++
++#ifdef __linux
++ /*
++ * On linux, if a binary is running as sgid or suid, glibc sets
++ * LD_LIBRARY_PATH to the empty string for security purposes. (In
++ * contrast, on Solaris the LD_LIBRARY_PATH variable for a
++ * privileged binary does not lose its settings; but the dynamic
++ * linker does apply more scrutiny to the path.) The launcher uses
++ * the value of LD_LIBRARY_PATH to prevent an exec loop.
++ * Therefore, if we are running sgid or suid, this function's
++ * setting of LD_LIBRARY_PATH will be ineffective and we should
++ * return from the function now. Getting the right libraries to
++ * be found must be handled through other mechanisms.
++ */
++ if((getgid() != getegid()) || (getuid() != geteuid()) ) {
++ return;
++ }
++#endif
++
++ /* runpath contains current effective LD_LIBRARY_PATH setting */
++
++ jvmpath = JLI_StringDup(jvmpath);
++ new_runpath = JLI_MemAlloc( ((runpath!=NULL)?JLI_StrLen(runpath):0) +
++ 2*JLI_StrLen(jrepath) + 2*JLI_StrLen(arch) +
++ JLI_StrLen(jvmpath) + 52);
++ newpath = new_runpath + JLI_StrLen("LD_LIBRARY_PATH=");
++
++
++ /*
++ * Create desired LD_LIBRARY_PATH value for target data model.
++ */
++ {
++ /* remove the name of the .so from the JVM path */
++ lastslash = JLI_StrRChr(jvmpath, '/');
++ if (lastslash)
++ *lastslash = '\0';
++
++
++ /* jvmpath, ((running != wanted)?((wanted==64)?"/"LIBARCH64NAME:"/.."):""), */
++
++ sprintf(new_runpath, "LD_LIBRARY_PATH="
++ "%s:"
++ "%s/lib/%s:"
++ "%s/../lib/%s",
++ jvmpath,
++#ifdef DUAL_MODE
++ jrepath, GetArchPath(wanted),
++ jrepath, GetArchPath(wanted)
++#else
++ jrepath, arch,
++ jrepath, arch
++#endif
++ );
++
++
++ /*
++ * Check to make sure that the prefix of the current path is the
++ * desired environment variable setting.
++ */
++ if (runpath != NULL &&
++ JLI_StrNCmp(newpath, runpath, JLI_StrLen(newpath))==0 &&
++ (runpath[JLI_StrLen(newpath)] == 0 || runpath[JLI_StrLen(newpath)] == ':') &&
++ (running == wanted) /* data model does not have to be changed */
++#ifdef __solaris__
++ && (dmpath == NULL) /* data model specific variables not set */
++#endif
++ ) {
++
++ return;
++
++ }
++ }
++
++ /*
++ * Place the desired environment setting onto the prefix of
++ * LD_LIBRARY_PATH. Note that this prevents any possible infinite
++ * loop of execv() because we test for the prefix, above.
++ */
++ if (runpath != 0) {
++ JLI_StrCat(new_runpath, ":");
++ JLI_StrCat(new_runpath, runpath);
++ }
++
++ if( putenv(new_runpath) != 0) {
++ exit(1); /* problem allocating memory; LD_LIBRARY_PATH not set
++ properly */
++ }
++
++ /*
++ * Unix systems document that they look at LD_LIBRARY_PATH only
++ * once at startup, so we have to re-exec the current executable
++ * to get the changed environment variable to have an effect.
++ */
++
++#ifdef __solaris__
++ /*
++ * If dmpath is not NULL, remove the data model specific string
++ * in the environment for the exec'ed child.
++ */
++
++ if( dmpath != NULL)
++ (void)UnsetEnv((wanted==32)?"LD_LIBRARY_PATH_32":"LD_LIBRARY_PATH_64");
++#endif
++
++ newenvp = environ;
++
+ {
+ char *newexec = execname;
+ #ifdef DUAL_MODE
+@@ -392,16 +578,17 @@ CreateExecutionEnvironment(int *_argcp,
+ argv[0] = newexec;
+ }
+ #endif
+- JLI_TraceLauncher("TRACER_MARKER:About to EXEC\n");
++
+ (void)fflush(stdout);
+ (void)fflush(stderr);
+- execv(newexec, argv);
++ execve(newexec, argv, newenvp);
+ JLI_ReportErrorMessageSys(JRE_ERROR4, newexec);
+
+ #ifdef DUAL_MODE
+ if (running != wanted) {
+ JLI_ReportErrorMessage(JRE_ERROR5, wanted, running);
+ # ifdef __solaris__
++
+ # ifdef __sparc
+ JLI_ReportErrorMessage(JRE_ERROR6);
+ # else
+@@ -412,11 +599,13 @@ CreateExecutionEnvironment(int *_argcp,
+ #endif
+
+ }
++
+ exit(1);
+ }
+
+ }
+
++
+ /*
+ * On Solaris VM choosing is done by the launcher (java.c).
+ */
+@@ -963,7 +1152,6 @@ ExecJRE(char *jre, char **argv)
+ printf(" %s", argv[i]);
+ printf("\n");
+ }
+- JLI_TraceLauncher("TRACER_MARKER:About to EXEC\n");
+ (void)fflush(stdout);
+ (void)fflush(stderr);
+ execv(wanted, argv);
diff --git a/lang/openjdk7/patches/patch-aq b/lang/openjdk7/patches/patch-aq
deleted file mode 100644
index a9638cd76ca..00000000000
--- a/lang/openjdk7/patches/patch-aq
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-aq,v 1.2 2009/11/07 14:48:50 tnn Exp $
-
---- jdk/make/tools/src/build/tools/fontchecker/FontChecker.java.orig 2009-10-30 08:48:07.000000000 +0100
-+++ jdk/make/tools/src/build/tools/fontchecker/FontChecker.java
-@@ -336,7 +336,7 @@ public class FontChecker implements Acti
- * to trigger a more normal initialisation.
- */
- java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
-- String fontPath = FontManager.getFontPath(true);
-+ String fontPath = ""; // FontManager.getFontPath(true);
- StringTokenizer st =
- new StringTokenizer(fontPath,
- System.getProperty("path.separator"));