diff options
author | tnn <tnn@pkgsrc.org> | 2010-01-15 19:18:42 +0000 |
---|---|---|
committer | tnn <tnn@pkgsrc.org> | 2010-01-15 19:18:42 +0000 |
commit | 42bc9cdf8cb6b46b6a1ead60b64a9096daf624d6 (patch) | |
tree | d21cf34908e7cf5d2b1b21960c606dc9621b9c1c /lang | |
parent | 19e9224233004d58ec66fa97d727a3197f6a266c (diff) | |
download | pkgsrc-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/Makefile | 9 | ||||
-rw-r--r-- | lang/openjdk7/PLIST | 3 | ||||
-rw-r--r-- | lang/openjdk7/distinfo | 25 | ||||
-rw-r--r-- | lang/openjdk7/icedtea-extras.mk | 7 | ||||
-rw-r--r-- | lang/openjdk7/patches/patch-ad | 12 | ||||
-rw-r--r-- | lang/openjdk7/patches/patch-ak | 19 | ||||
-rw-r--r-- | lang/openjdk7/patches/patch-al | 400 | ||||
-rw-r--r-- | lang/openjdk7/patches/patch-aq | 13 |
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")); |