svn commit: r381360 - in head/java/openjdk8: . files
Greg Lewis
glewis at FreeBSD.org
Sun Mar 15 21:30:06 UTC 2015
Author: glewis
Date: Sun Mar 15 21:30:04 2015
New Revision: 381360
URL: https://svnweb.freebsd.org/changeset/ports/381360
QAT: https://qat.redports.org/buildarchive/r381360/
Log:
. Update to 8u40.
Added:
head/java/openjdk8/files/patch-8u40-b25 (contents, props changed)
Deleted:
head/java/openjdk8/files/patch-jdk-src-solaris-native-java-net-bsd_close.c
Modified:
head/java/openjdk8/Makefile
head/java/openjdk8/files/patch-bsd
head/java/openjdk8/files/patch-bsd-test
Modified: head/java/openjdk8/Makefile
==============================================================================
--- head/java/openjdk8/Makefile Sun Mar 15 21:29:13 2015 (r381359)
+++ head/java/openjdk8/Makefile Sun Mar 15 21:30:04 2015 (r381360)
@@ -2,7 +2,6 @@
PORTNAME= openjdk
PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}
-PORTREVISION= 2
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \
https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \
@@ -37,17 +36,37 @@ BUILD_DEPENDS+= ${UNZIP_CMD}:${PORTSDIR}
ONLY_FOR_ARCHS= i386 amd64
WRKSRC= ${WRKDIR}/${PORTNAME}
-DOS2UNIX_FILES= jdk/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties \
- jdk/src/bsd/doc/man/java.1 \
+DOS2UNIX_FILES= jdk/src/bsd/doc/man/java.1 \
jdk/src/bsd/doc/man/javac.1 \
+ jdk/src/bsd/doc/man/javadoc.1 \
jdk/src/bsd/doc/man/javap.1 \
+ jdk/src/bsd/doc/man/jcmd.1 \
+ jdk/src/bsd/doc/man/jjs.1 \
+ jdk/src/bsd/doc/man/jstat.1 \
+ jdk/src/bsd/doc/man/keytool.1 \
+ jdk/src/bsd/doc/man/policytool.1 \
jdk/src/linux/doc/man/java.1 \
jdk/src/linux/doc/man/javac.1 \
+ jdk/src/linux/doc/man/javadoc.1 \
jdk/src/linux/doc/man/javap.1 \
+ jdk/src/linux/doc/man/jcmd.1 \
+ jdk/src/linux/doc/man/jjs.1 \
+ jdk/src/linux/doc/man/jstat.1 \
+ jdk/src/linux/doc/man/keytool.1 \
+ jdk/src/linux/doc/man/policytool.1 \
+ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties \
jdk/src/solaris/doc/sun/man/man1/java.1 \
jdk/src/solaris/doc/sun/man/man1/javac.1 \
+ jdk/src/solaris/doc/sun/man/man1/javadoc.1 \
jdk/src/solaris/doc/sun/man/man1/javap.1 \
- nashorn/test/script/jfx.js
+ jdk/src/solaris/doc/sun/man/man1/jcmd.1 \
+ jdk/src/solaris/doc/sun/man/man1/jjs.1 \
+ jdk/src/solaris/doc/sun/man/man1/jstat.1 \
+ jdk/src/solaris/doc/sun/man/man1/keytool.1 \
+ jdk/src/solaris/doc/sun/man/man1/policytool.1 \
+ nashorn/test/script/jfx.js \
+ nashorn/test/script/jfx/kaleidoscope.js \
+ nashorn/test/script/jfx/spread.js
SHEBANG_FILES= configure
_MAKE_JOBS= #
@@ -72,8 +91,8 @@ NO_CCACHE= yes
NOPRECIOUSMAKEVARS= yes
JDK_MAJOR_VERSION= 8
-JDK_UPDATE_VERSION= 31
-JDK_BUILD_NUMBER= 13
+JDK_UPDATE_VERSION= 40
+JDK_BUILD_NUMBER= 25
DIST_BUILD_NUMBER= 132
JTREG_VERSION= 4.1
JTREG_BUILD_NUMBER= b08
Added: head/java/openjdk8/files/patch-8u40-b25
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/java/openjdk8/files/patch-8u40-b25 Sun Mar 15 21:30:04 2015 (r381360)
@@ -0,0 +1,343973 @@
+--- ./.hgtags Mon Dec 08 12:28:03 2014 -0800
++++ ./.hgtags Wed Feb 04 12:14:35 2015 -0800
+@@ -349,3 +349,29 @@
+ 01a98532348477a84b6e3c322fdd12dfed28d96d jdk8u31-b10
+ ec85d5d0e3c05b0b6d61f4fc3f41313448ed9b05 jdk8u31-b11
+ ca98e3e9727ffdcde2c9980668d0c7f344261938 jdk8u31-b12
++fde671d8b2537b6be61f67e583164b5b8b33ac5b jdk8u31-b13
++0dccc4aca1859b1ff7dca9db214f7f38c4ddbbce jdk8u40-b00
++f8736a40a35df0c8055c8a94b96e5381b381ad33 jdk8u40-b01
++b6a148730f2b14193c308bc9c866c36ee6c08ed3 jdk8u40-b02
++a0224ac4135108efdbcf316c7c4b02f8a93c35fe jdk8u40-b03
++e9473185d77a9278e47fc916a255c4905aa74d98 jdk8u40-b04
++7e286a0c90fb26766b91e3a19467848f39d1f973 jdk8u40-b05
++8881a63f7f00a4a5611800db7715aecc8f6b3601 jdk8u40-b06
++cf9afcfcb7a41b892fc896c1dbf245d5dcc42395 jdk8u40-b07
++515a912fb5a9a61774fa2afa10f4472589be5602 jdk8u40-b08
++0958d0a9f44efcebe30b17b07240abaa42a2112b jdk8u40-b09
++1053aeab6b12d5cd4e063bf9ee37f20811450084 jdk8u40-b10
++2ffefbac794be27e0c60d7e5f2cb598f04ec2411 jdk8u40-b11
++3e6d3c8810ee495ba599443e29b0dc72c0dd53fd jdk8u40-b12
++43ccc2b9d5b7c06baca33162c6aff8900fa76b65 jdk8u40-b13
++df659b8b0bc82214358e2f0ef340612011d5ed3b jdk8u40-b14
++60d2bf063f7d8baa4e0954b6400aa6d30f9064f9 jdk8u40-b15
++64790e9792f88fadd9d25eaf4dcba7e6e96664de jdk8u40-b16
++e1c506c8e1db7356d120dd7d22b2c50276b6bcee jdk8u40-b17
++83d1d42c3df409c87ef7cb0126343a009857ca71 jdk8u40-b18
++ae4980d195b64eec58884b233d7efd312205bac8 jdk8u40-b19
++b31a07adaef50dacba20e376cff6f1096e745092 jdk8u40-b20
++765a17e75fd622f7b892381e23c9b2c531d416f0 jdk8u40-b21
++b6d03a810a61116268fea08517a9632bd66a7363 jdk8u40-b22
++5dd2ad6c7911a1e21f15a28f13ffad662378a3be jdk8u40-b23
++5b37e6757d7c95c9c58b07fb3c9eba234567385a jdk8u40-b24
+--- ./Makefile Mon Dec 08 12:28:03 2014 -0800
++++ ./Makefile Wed Feb 04 12:14:35 2015 -0800
+@@ -66,7 +66,7 @@
+ # First, find out the valid targets
+ # Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find
+ # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
+- all_phony_targets=$(filter-out $(global_targets) bundles bundles-only final-images-only, $(strip $(shell \
++ all_phony_targets=$(filter-out $(global_targets), $(strip $(shell \
+ cd $(root_dir) && $(MAKE) -p -q FRC SPEC=$(firstword $(SPEC)) | \
+ grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
+
+@@ -79,10 +79,6 @@
+ endif
+ endif
+
+-# Include this after a potential spec file has been included so that the bundles target
+-# has access to the spec variables.
+-include $(root_dir)/make/Jprt.gmk
+-
+ # Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
+ # If you addd more global targets, please update the variable global_targets in MakeHelpers.
+
+--- ./THIRD_PARTY_README Mon Dec 08 12:28:03 2014 -0800
++++ ./THIRD_PARTY_README Wed Feb 04 12:14:35 2015 -0800
+@@ -3385,7 +3385,7 @@
+ included with JRE 8, JDK 8, and OpenJDK 8.
+
+ Apache Commons Math 3.2
+- Apache Derby 10.10.1.3
++ Apache Derby 10.11.1.2
+ Apache Jakarta BCEL 5.1
+ Apache Jakarta Regexp 1.4
+ Apache Santuario XML Security for Java 1.5.4
+--- ./common/autoconf/boot-jdk.m4 Mon Dec 08 12:28:03 2014 -0800
++++ ./common/autoconf/boot-jdk.m4 Wed Feb 04 12:14:35 2015 -0800
+@@ -301,35 +301,59 @@
+ [specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values,
+ e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
+
+- if test "x$with_boot_jdk_jvmargs" = x; then
+- # Not all JVM:s accept the same arguments on the command line.
+- # OpenJDK specific increase in thread stack for JDK build,
+- # well more specifically, when running javac.
+- if test "x$BUILD_NUM_BITS" = x32; then
+- STACK_SIZE=768
+- else
+- # Running Javac on a JVM on a 64-bit machine, the stack takes more space
+- # since 64-bit pointers are pushed on the stach. Apparently, we need
+- # to increase the stack space when javacing the JDK....
+- STACK_SIZE=1536
+- fi
++ AC_MSG_CHECKING([flags for boot jdk java command] )
+
+- # Minimum amount of heap memory.
+- ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
+- if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
+- # Why does macosx need more heap? Its the huge JDK batch.
+- ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
+- else
+- ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
+- fi
+- # When is adding -client something that speeds up the JVM?
+- # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
+- ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs,[$JAVA])
+- ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],boot_jdk_jvmargs,[$JAVA])
+- ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA])
+- # Disable special log output when a debug build is used as Boot JDK...
+- ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
++ # Disable special log output when a debug build is used as Boot JDK...
++ ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
++
++ # Apply user provided options.
++ ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA])
++
++ AC_MSG_RESULT([$boot_jdk_jvmargs])
++
++ # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs
++ JAVA_FLAGS=$boot_jdk_jvmargs
++ AC_SUBST(JAVA_FLAGS)
++
++
++ AC_MSG_CHECKING([flags for boot jdk java command for big workloads])
++
++ # Starting amount of heap memory.
++ ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
++
++ # Maximum amount of heap memory.
++ # Maximum stack size.
++ if test "x$BUILD_NUM_BITS" = x32; then
++ JVM_MAX_HEAP=1100M
++ STACK_SIZE=768
++ else
++ # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
++ # pointers are used. Apparently, we need to increase the heap and stack
++ # space for the jvm. More specifically, when running javac to build huge
++ # jdk batch
++ JVM_MAX_HEAP=1600M
++ STACK_SIZE=1536
+ fi
++ ADD_JVM_ARG_IF_OK([-Xmx$JVM_MAX_HEAP],boot_jdk_jvmargs_big,[$JAVA])
++ ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
++ ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs_big,[$JAVA])
++ ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],boot_jdk_jvmargs_big,[$JAVA])
+
+- AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs)
++ AC_MSG_RESULT([$boot_jdk_jvmargs_big])
++
++ JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
++ AC_SUBST(JAVA_FLAGS_BIG)
++
++
++ AC_MSG_CHECKING([flags for boot jdk java command for small workloads])
++
++ # Use serial gc for small short lived tools if possible
++ ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
++ ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
++ ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
++
++ AC_MSG_RESULT([$boot_jdk_jvmargs_small])
++
++ JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small
++ AC_SUBST(JAVA_FLAGS_SMALL)
+ ])
+--- ./common/autoconf/generated-configure.sh Mon Dec 08 12:28:03 2014 -0800
++++ ./common/autoconf/generated-configure.sh Wed Feb 04 12:14:35 2015 -0800
+@@ -786,7 +786,9 @@
+ JAXP_TOPDIR
+ CORBA_TOPDIR
+ LANGTOOLS_TOPDIR
+-BOOT_JDK_JVMARGS
++JAVA_FLAGS_SMALL
++JAVA_FLAGS_BIG
++JAVA_FLAGS
+ JAVAC_FLAGS
+ BOOT_JDK_SOURCETARGET
+ BOOT_JDK
+@@ -7928,7 +7930,7 @@
+ fi
+
+ # Replace the commas with AND for use in the build directory name.
+- ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
++ ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/g'`
+ COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'`
+ if test "x$COUNT_VARIANTS" != "x,1"; then
+ BUILDING_MULTIPLE_JVM_VARIANTS=yes
+@@ -16086,117 +16088,10 @@
+ fi
+
+
+- if test "x$with_boot_jdk_jvmargs" = x; then
+- # Not all JVM:s accept the same arguments on the command line.
+- # OpenJDK specific increase in thread stack for JDK build,
+- # well more specifically, when running javac.
+- if test "x$BUILD_NUM_BITS" = x32; then
+- STACK_SIZE=768
+- else
+- # Running Javac on a JVM on a 64-bit machine, the stack takes more space
+- # since 64-bit pointers are pushed on the stach. Apparently, we need
+- # to increase the stack space when javacing the JDK....
+- STACK_SIZE=1536
+- fi
+-
+- # Minimum amount of heap memory.
+-
+- $ECHO "Check if jvm arg is ok: -Xms64M" >&5
+- $ECHO "Command: $JAVA -Xms64M -version" >&5
+- OUTPUT=`$JAVA -Xms64M -version 2>&1`
+- FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+- FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+- boot_jdk_jvmargs="$boot_jdk_jvmargs -Xms64M"
+- JVM_ARG_OK=true
+- else
+- $ECHO "Arg failed:" >&5
+- $ECHO "$OUTPUT" >&5
+- JVM_ARG_OK=false
+- fi
+-
+- if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
+- # Why does macosx need more heap? Its the huge JDK batch.
+-
+- $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5
+- $ECHO "Command: $JAVA -Xmx1600M -version" >&5
+- OUTPUT=`$JAVA -Xmx1600M -version 2>&1`
+- FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+- FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+- boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1600M"
+- JVM_ARG_OK=true
+- else
+- $ECHO "Arg failed:" >&5
+- $ECHO "$OUTPUT" >&5
+- JVM_ARG_OK=false
+- fi
+-
+- else
+-
+- $ECHO "Check if jvm arg is ok: -Xmx1100M" >&5
+- $ECHO "Command: $JAVA -Xmx1100M -version" >&5
+- OUTPUT=`$JAVA -Xmx1100M -version 2>&1`
+- FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+- FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+- boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1100M"
+- JVM_ARG_OK=true
+- else
+- $ECHO "Arg failed:" >&5
+- $ECHO "$OUTPUT" >&5
+- JVM_ARG_OK=false
+- fi
+-
+- fi
+- # When is adding -client something that speeds up the JVM?
+- # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
+-
+- $ECHO "Check if jvm arg is ok: -XX:PermSize=32m" >&5
+- $ECHO "Command: $JAVA -XX:PermSize=32m -version" >&5
+- OUTPUT=`$JAVA -XX:PermSize=32m -version 2>&1`
+- FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+- FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+- boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:PermSize=32m"
+- JVM_ARG_OK=true
+- else
+- $ECHO "Arg failed:" >&5
+- $ECHO "$OUTPUT" >&5
+- JVM_ARG_OK=false
+- fi
+-
+-
+- $ECHO "Check if jvm arg is ok: -XX:MaxPermSize=160m" >&5
+- $ECHO "Command: $JAVA -XX:MaxPermSize=160m -version" >&5
+- OUTPUT=`$JAVA -XX:MaxPermSize=160m -version 2>&1`
+- FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+- FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+- boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:MaxPermSize=160m"
+- JVM_ARG_OK=true
+- else
+- $ECHO "Arg failed:" >&5
+- $ECHO "$OUTPUT" >&5
+- JVM_ARG_OK=false
+- fi
+-
+-
+- $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5
+- $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5
+- OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1`
+- FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+- FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+- boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:ThreadStackSize=$STACK_SIZE"
+- JVM_ARG_OK=true
+- else
+- $ECHO "Arg failed:" >&5
+- $ECHO "$OUTPUT" >&5
+- JVM_ARG_OK=false
+- fi
+-
+- # Disable special log output when a debug build is used as Boot JDK...
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command " >&5
++$as_echo_n "checking flags for boot jdk java command ... " >&6; }
++
++ # Disable special log output when a debug build is used as Boot JDK...
+
+ $ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5
+ $ECHO "Command: $JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version" >&5
+@@ -16212,9 +16107,187 @@
+ JVM_ARG_OK=false
+ fi
+
+- fi
+-
+- BOOT_JDK_JVMARGS=$boot_jdk_jvmargs
++
++ # Apply user provided options.
++
++ $ECHO "Check if jvm arg is ok: $with_boot_jdk_jvmargs" >&5
++ $ECHO "Command: $JAVA $with_boot_jdk_jvmargs -version" >&5
++ OUTPUT=`$JAVA $with_boot_jdk_jvmargs -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs="$boot_jdk_jvmargs $with_boot_jdk_jvmargs"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs" >&5
++$as_echo "$boot_jdk_jvmargs" >&6; }
++
++ # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs
++ JAVA_FLAGS=$boot_jdk_jvmargs
++
++
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for big workloads" >&5
++$as_echo_n "checking flags for boot jdk java command for big workloads... " >&6; }
++
++ # Starting amount of heap memory.
++
++ $ECHO "Check if jvm arg is ok: -Xms64M" >&5
++ $ECHO "Command: $JAVA -Xms64M -version" >&5
++ OUTPUT=`$JAVA -Xms64M -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -Xms64M"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ # Maximum amount of heap memory.
++ # Maximum stack size.
++ if test "x$BUILD_NUM_BITS" = x32; then
++ JVM_MAX_HEAP=1100M
++ STACK_SIZE=768
++ else
++ # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
++ # pointers are used. Apparently, we need to increase the heap and stack
++ # space for the jvm. More specifically, when running javac to build huge
++ # jdk batch
++ JVM_MAX_HEAP=1600M
++ STACK_SIZE=1536
++ fi
++
++ $ECHO "Check if jvm arg is ok: -Xmx$JVM_MAX_HEAP" >&5
++ $ECHO "Command: $JAVA -Xmx$JVM_MAX_HEAP -version" >&5
++ OUTPUT=`$JAVA -Xmx$JVM_MAX_HEAP -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -Xmx$JVM_MAX_HEAP"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5
++ $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5
++ OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -XX:ThreadStackSize=$STACK_SIZE"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ $ECHO "Check if jvm arg is ok: -XX:PermSize=32m" >&5
++ $ECHO "Command: $JAVA -XX:PermSize=32m -version" >&5
++ OUTPUT=`$JAVA -XX:PermSize=32m -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -XX:PermSize=32m"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ $ECHO "Check if jvm arg is ok: -XX:MaxPermSize=160m" >&5
++ $ECHO "Command: $JAVA -XX:MaxPermSize=160m -version" >&5
++ OUTPUT=`$JAVA -XX:MaxPermSize=160m -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -XX:MaxPermSize=160m"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs_big" >&5
++$as_echo "$boot_jdk_jvmargs_big" >&6; }
++
++ JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
++
++
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for small workloads" >&5
++$as_echo_n "checking flags for boot jdk java command for small workloads... " >&6; }
++
++ # Use serial gc for small short lived tools if possible
++
++ $ECHO "Check if jvm arg is ok: -XX:+UseSerialGC" >&5
++ $ECHO "Command: $JAVA -XX:+UseSerialGC -version" >&5
++ OUTPUT=`$JAVA -XX:+UseSerialGC -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -XX:+UseSerialGC"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ $ECHO "Check if jvm arg is ok: -Xms32M" >&5
++ $ECHO "Command: $JAVA -Xms32M -version" >&5
++ OUTPUT=`$JAVA -Xms32M -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -Xms32M"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ $ECHO "Check if jvm arg is ok: -Xmx512M" >&5
++ $ECHO "Command: $JAVA -Xmx512M -version" >&5
++ OUTPUT=`$JAVA -Xmx512M -version 2>&1`
++ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
++ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
++ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
++ boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -Xmx512M"
++ JVM_ARG_OK=true
++ else
++ $ECHO "Arg failed:" >&5
++ $ECHO "$OUTPUT" >&5
++ JVM_ARG_OK=false
++ fi
++
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs_small" >&5
++$as_echo "$boot_jdk_jvmargs_small" >&6; }
++
++ JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small
+
+
+
+--- ./common/autoconf/jdk-options.m4 Mon Dec 08 12:28:03 2014 -0800
++++ ./common/autoconf/jdk-options.m4 Wed Feb 04 12:14:35 2015 -0800
+@@ -134,7 +134,7 @@
+ fi
+
+ # Replace the commas with AND for use in the build directory name.
+- ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
++ ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/g'`
+ COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'`
+ if test "x$COUNT_VARIANTS" != "x,1"; then
+ BUILDING_MULTIPLE_JVM_VARIANTS=yes
+--- ./common/autoconf/spec.gmk.in Mon Dec 08 12:28:03 2014 -0800
++++ ./common/autoconf/spec.gmk.in Wed Feb 04 12:14:35 2015 -0800
+@@ -249,7 +249,6 @@
+
+ # The boot jdk to use
+ BOOT_JDK:=@BOOT_JDK@
+-BOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@
+ BOOT_RTJAR:=@BOOT_RTJAR@
+ BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar
+
+@@ -436,9 +435,12 @@
+ POST_STRIP_CMD:=@POST_STRIP_CMD@
+ POST_MCS_CMD:=@POST_MCS_CMD@
+
+-JAVA_FLAGS:=@BOOT_JDK_JVMARGS@
++JAVA_FLAGS:=@JAVA_FLAGS@
++JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
++JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@
+
+-JAVA=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS)
++JAVA=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
++JAVA_SMALL=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
+
+ JAVAC=@FIXPATH@ $(BOOT_JDK)/bin/javac
+ # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
+@@ -451,7 +453,7 @@
+
+ RMIC=@FIXPATH@ $(BOOT_JDK)/bin/rmic
+
+-NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii
++NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii $(addprefix -J, $(JAVA_FLAGS_SMALL))
+
+ JARSIGNER=@FIXPATH@ $(BOOT_JDK)/bin/jarsigner
+
+--- ./common/bin/hgforest.sh Mon Dec 08 12:28:03 2014 -0800
++++ ./common/bin/hgforest.sh Wed Feb 04 12:14:35 2015 -0800
+@@ -1,7 +1,6 @@
+ #!/bin/sh
+-
+ #
+-# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2009, 2014, Oracle and/or its affiliates. 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
+@@ -23,165 +22,375 @@
+ # questions.
+ #
+
+-# Shell script for a fast parallel forest command
+-command="$1"
+-pull_extra_base="$2"
++# Shell script for a fast parallel forest/trees command
+
+-if [ "" = "$command" ] ; then
+- echo No command to hg supplied!
+- exit 1
++usage() {
++ echo "usage: $0 [-h|--help] [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] <command> [commands...]" > ${status_output}
++ echo "Environment variables which modify behaviour:"
++ echo " HGFOREST_QUIET : (boolean) If 'true' then standard output is redirected to /dev/null"
++ echo " HGFOREST_VERBOSE : (boolean) If 'true' then Mercurial asked to produce verbose output"
++ echo " HGFOREST_SEQUENTIAL : (boolean) If 'true' then repos are processed sequentially. Disables concurrency"
++ echo " HGFOREST_GLOBALOPTS : (string, must begin with space) Additional Mercurial global options"
++ echo " HGFOREST_REDIRECT : (file path) Redirect standard output to specified file"
++ echo " HGFOREST_FIFOS : (boolean) Default behaviour for FIFO detection. Does not override FIFOs disabled"
++ echo " HGFOREST_CONCURRENCY: (positive integer) Number of repos to process concurrently"
++ echo " HGFOREST_DEBUG : (boolean) If 'true' then temp files are retained"
++ exit 1
++}
++
++global_opts="${HGFOREST_GLOBALOPTS:-}"
++status_output="${HGFOREST_REDIRECT:-/dev/stdout}"
++qflag="${HGFOREST_QUIET:-false}"
++vflag="${HGFOREST_VERBOSE:-false}"
++sflag="${HGFOREST_SEQUENTIAL:-false}"
++while [ $# -gt 0 ]
++do
++ case $1 in
++ -h | --help )
++ usage
++ ;;
++
++ -q | --quiet )
++ qflag="true"
++ ;;
++
++ -v | --verbose )
++ vflag="true"
++ ;;
++
++ -s | --sequential )
++ sflag="true"
++ ;;
++
++ '--' ) # no more options
++ shift; break
++ ;;
++
++ -*) # bad option
++ usage
++ ;;
++
++ * ) # non option
++ break
++ ;;
++ esac
++ shift
++done
++
++# silence standard output?
++if [ ${qflag} = "true" ] ; then
++ global_opts="${global_opts} -q"
++ status_output="/dev/null"
+ fi
+
++# verbose output?
++if [ ${vflag} = "true" ] ; then
++ global_opts="${global_opts} -v"
++fi
++
++# Make sure we have a command.
++if [ $# -lt 1 -o -z "${1:-}" ] ; then
++ echo "ERROR: No command to hg supplied!"
++ usage
++fi
++
++command="$1"; shift
++command_args="${@:-}"
++
+ # Clean out the temporary directory that stores the pid files.
+ tmp=/tmp/forest.$$
+ rm -f -r ${tmp}
+ mkdir -p ${tmp}
+
++
++if [ "${HGFOREST_DEBUG:-false}" = "true" ] ; then
++ echo "DEBUG: temp files are in: ${tmp}"
++fi
++
++# Check if we can use fifos for monitoring sub-process completion.
++echo "1" > ${tmp}/read
++while_subshell=1
++while read line; do
++ while_subshell=0
++ break;
++done < ${tmp}/read
++rm ${tmp}/read
++
++on_windows=`uname -s | egrep -ic -e 'cygwin|msys'`
++
++if [ ${while_subshell} = "1" -o ${on_windows} = "1" ]; then
++ # cygwin has (2014-04-18) broken (single writer only) FIFOs
++ # msys has (2014-04-18) no FIFOs.
++ # older shells create a sub-shell for redirect to while
++ have_fifos="false"
++else
++ have_fifos="${HGFOREST_FIFOS:-true}"
++fi
++
+ safe_interrupt () {
+ if [ -d ${tmp} ]; then
+ if [ "`ls ${tmp}/*.pid`" != "" ]; then
+- echo "Waiting for processes ( `cat ${tmp}/*.pid | tr '\n' ' '`) to terminate nicely!"
++ echo "Waiting for processes ( `cat ${tmp}/.*.pid ${tmp}/*.pid 2> /dev/null | tr '\n' ' '`) to terminate nicely!" > ${status_output}
+ sleep 1
+ # Pipe stderr to dev/null to silence kill, that complains when trying to kill
+ # a subprocess that has already exited.
+ kill -TERM `cat ${tmp}/*.pid | tr '\n' ' '` 2> /dev/null
+ wait
+- echo Interrupt complete!
++ echo "Interrupt complete!" > ${status_output}
+ fi
++ rm -f -r ${tmp}
+ fi
+- rm -f -r ${tmp}
+- exit 1
++ exit 130
+ }
+
+ nice_exit () {
+ if [ -d ${tmp} ]; then
+- if [ "`ls ${tmp}`" != "" ]; then
++ if [ "`ls -A ${tmp} 2> /dev/null`" != "" ]; then
+ wait
+ fi
++ if [ "${HGFOREST_DEBUG:-false}" != "true" ] ; then
++ rm -f -r ${tmp}
++ fi
+ fi
+- rm -f -r ${tmp}
+ }
+
+ trap 'safe_interrupt' INT QUIT
+ trap 'nice_exit' EXIT
+
++subrepos="corba jaxp jaxws langtools jdk hotspot nashorn"
++subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
++
+ # Only look in specific locations for possible forests (avoids long searches)
+ pull_default=""
+ repos=""
+ repos_extra=""
+-if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then
+- subrepos="corba jaxp jaxws langtools jdk hotspot nashorn"
+- if [ -f .hg/hgrc ] ; then
+- pull_default=`hg paths default`
+- if [ "${pull_default}" = "" ] ; then
+- echo "ERROR: Need initial clone with 'hg paths default' defined"
+- exit 1
+- fi
+- fi
+- if [ "${pull_default}" = "" ] ; then
+- echo "ERROR: Need initial repository to use this script"
++if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then
++ # we must be a clone
++ if [ ! -f .hg/hgrc ] ; then
++ echo "ERROR: Need initial repository to use this script" > ${status_output}
+ exit 1
+ fi
++
++ # the clone must know where it came from (have a default pull path).
++ pull_default=`hg paths default`
++ if [ "${pull_default}" = "" ] ; then
++ echo "ERROR: Need initial clone with 'hg paths default' defined" > ${status_output}
++ exit 1
++ fi
++
++ # determine which sub repos need to be cloned.
+ for i in ${subrepos} ; do
+ if [ ! -f ${i}/.hg/hgrc ] ; then
+ repos="${repos} ${i}"
+ fi
+ done
+- if [ "${pull_extra_base}" != "" ] ; then
+- subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
+- pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
+- pull_extra="${pull_extra_base}/${pull_default_tail}"
++
++ pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
++
++ if [ -n "${command_args}" ] ; then
++ # if there is an "extra sources" path then reparent "extra" repos to that path
++ if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then
++ echo "ERROR: Need initial clone from non-local source" > ${status_output}
++ exit 1
++ fi
++ pull_extra="${command_args}/${pull_default_tail}"
++
++ # determine which extra subrepos need to be cloned.
+ for i in ${subrepos_extra} ; do
+ if [ ! -f ${i}/.hg/hgrc ] ; then
+ repos_extra="${repos_extra} ${i}"
+ fi
+ done
++ else
++ if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then
++ # local source repo. Clone the "extra" subrepos that exist there.
++ for i in ${subrepos_extra} ; do
++ if [ -f ${pull_default}/${i}/.hg/hgrc -a ! -f ${i}/.hg/hgrc ] ; then
++ # sub-repo there in source but not here
++ repos_extra="${repos_extra} ${i}"
++ fi
++ done
++ fi
+ fi
+- at_a_time=2
++
+ # Any repos to deal with?
+ if [ "${repos}" = "" -a "${repos_extra}" = "" ] ; then
++ echo "No repositories to process." > ${status_output}
+ exit
+ fi
++
++ # Repos to process concurrently. Clone does better with low concurrency.
++ at_a_time="${HGFOREST_CONCURRENCY:-2}"
+ else
+- hgdirs=`ls -d ./.hg ./*/.hg ./*/*/.hg ./*/*/*/.hg ./*/*/*/*/.hg 2>/dev/null`
+- # Derive repository names from the .hg directory locations
+- for i in ${hgdirs} ; do
+- repos="${repos} `echo ${i} | sed -e 's@/.hg$@@'`"
++ # Process command for all of the present repos
++ for i in . ${subrepos} ${subrepos_extra} ; do
++ if [ -d ${i}/.hg ] ; then
++ repos="${repos} ${i}"
++ fi
+ done
++
++ # Any repos to deal with?
++ if [ "${repos}" = "" ] ; then
++ echo "No repositories to process." > ${status_output}
++ exit
++ fi
++
++ # any of the repos locked?
++ locked=""
+ for i in ${repos} ; do
+ if [ -h ${i}/.hg/store/lock -o -f ${i}/.hg/store/lock ] ; then
+ locked="${i} ${locked}"
+ fi
+ done
+- at_a_time=8
+- # Any repos to deal with?
+- if [ "${repos}" = "" ] ; then
+- echo "No repositories to process."
+- exit
++ if [ "${locked}" != "" ] ; then
++ echo "ERROR: These repositories are locked: ${locked}" > ${status_output}
++ exit 1
+ fi
+- if [ "${locked}" != "" ] ; then
+- echo "These repositories are locked: ${locked}"
+- exit
+- fi
++
++ # Repos to process concurrently.
++ at_a_time="${HGFOREST_CONCURRENCY:-8}"
+ fi
+
+ # Echo out what repositories we do a command on.
+-echo "# Repositories: ${repos} ${repos_extra}"
+-echo
++echo "# Repositories: ${repos} ${repos_extra}" > ${status_output}
+
+-# Run the supplied command on all repos in parallel.
+-n=0
+-for i in ${repos} ${repos_extra} ; do
+- n=`expr ${n} '+' 1`
+- repopidfile=`echo ${i} | sed -e 's at ./@@' -e 's@/@_ at g'`
+- reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'`
+- pull_base="${pull_default}"
+- for j in $repos_extra ; do
+- if [ "$i" = "$j" ] ; then
+- pull_base="${pull_extra}"
+- fi
+- done
++if [ "${command}" = "serve" ] ; then
++ # "serve" is run for all the repos as one command.
+ (
+ (
+- if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then
+- pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1 at g'`"
+- echo hg clone ${pull_newrepo} ${i}
+- path="`dirname ${i}`"
+- if [ "${path}" != "." ] ; then
+- times=0
+- while [ ! -d "${path}" ] ## nested repo, ensure containing dir exists
+- do
+- times=`expr ${times} '+' 1`
+- if [ `expr ${times} '%' 10` -eq 0 ] ; then
+- echo ${path} still not created, waiting...
++ cwd=`pwd`
++ serving=`basename ${cwd}`
++ (
++ echo "[web]"
++ echo "description = ${serving}"
++ echo "allow_push = *"
++ echo "push_ssl = False"
++
++ echo "[paths]"
++ for i in ${repos} ; do
++ if [ "${i}" != "." ] ; then
++ echo "/${serving}/${i} = ${i}"
++ else
++ echo "/${serving} = ${cwd}"
++ fi
++ done
++ ) > ${tmp}/serve.web-conf
++
++ echo "serving root repo ${serving}" > ${status_output}
++
++ echo "hg${global_opts} serve" > ${status_output}
++ (PYTHONUNBUFFERED=true hg${global_opts} serve -A ${status_output} -E ${status_output} --pid-file ${tmp}/serve.pid --web-conf ${tmp}/serve.web-conf; echo "$?" > ${tmp}/serve.pid.rc ) 2>&1 &
++ ) 2>&1 | sed -e "s@^@serve: @" > ${status_output}
++ ) &
++else
++ # Run the supplied command on all repos in parallel.
++
++ # n is the number of subprocess started or which might still be running.
++ n=0
++ if [ ${have_fifos} = "true" ]; then
++ # if we have fifos use them to detect command completion.
++ mkfifo ${tmp}/fifo
++ exec 3<>${tmp}/fifo
++ fi
++
++ # iterate over all of the subrepos.
++ for i in ${repos} ${repos_extra} ; do
++ n=`expr ${n} '+' 1`
++ repopidfile=`echo ${i} | sed -e 's at ./@@' -e 's@/@_ at g'`
++ reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'`
++ pull_base="${pull_default}"
++
++ # regular repo or "extra" repo?
++ for j in ${repos_extra} ; do
++ if [ "${i}" = "${j}" ] ; then
++ # it's an "extra"
++ pull_base="${pull_extra}"
++ fi
++ done
++
++ # remove trailing slash
++ pull_base="`echo ${pull_base} | sed -e 's@[/]*$@@'`"
++
++ # execute the command on the subrepo
++ (
++ (
++ if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then
++ # some form of clone
++ clone_newrepo="${pull_base}/${i}"
++ parent_path="`dirname ${i}`"
++ if [ "${parent_path}" != "." ] ; then
++ times=0
++ while [ ! -d "${parent_path}" ] ; do ## nested repo, ensure containing dir exists
++ if [ "${sflag}" = "true" ] ; then
++ # Missing parent is fatal during sequential operation.
++ echo "ERROR: Missing parent path: ${parent_path}" > ${status_output}
++ exit 1
++ fi
++ times=`expr ${times} '+' 1`
++ if [ `expr ${times} '%' 10` -eq 0 ] ; then
++ echo "${parent_path} still not created, waiting..." > ${status_output}
++ fi
++ sleep 5
++ done
++ fi
++ # run the clone command.
++ echo "hg${global_opts} clone ${clone_newrepo} ${i}" > ${status_output}
++ (PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
++ else
++ # run the command.
++ echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}
++ cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} ${command_args}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
++ fi
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-ports-all
mailing list