From c59092ac054860c98ce2f4d35e05936ead03f479 Mon Sep 17 00:00:00 2001 From: Daniel McGregor Date: Wed, 20 Apr 2016 14:09:52 -0600 Subject: openjdk-8: make jar repacking optional Repacking the runtime jar files takes a long time, and is only done to save some space. Make it optional to speed up builds that don't need it. Signed-off-by: Daniel McGregor Signed-off-by: Maxin B. John --- recipes-core/openjdk/openjdk-8-cross.inc | 21 ++++++++++++++++++++- recipes-core/openjdk/openjdk-8_72b05.bb | 7 +------ recipes-core/openjdk/openjre-8_72b05.bb | 7 +------ 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/recipes-core/openjdk/openjdk-8-cross.inc b/recipes-core/openjdk/openjdk-8-cross.inc index 63572ad..c68ac42 100644 --- a/recipes-core/openjdk/openjdk-8-cross.inc +++ b/recipes-core/openjdk/openjdk-8-cross.inc @@ -6,7 +6,7 @@ DEPENDS = "\ jpeg libpng krb5 libffi fontconfig freetype \ " -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "repack" PACKAGECONFIG[x11] = "--with-x,,libx11 xproto libxt libxext libxrender" PACKAGECONFIG[cups] = "--with-cups,,cups" PACKAGECONFIG[alsa] = "--with-alsa,,alsa-lib-native" @@ -20,6 +20,8 @@ export WANT_LLVM_RELEASE = "3.5.2" PACKAGECONFIG[zero] = "--with-jvm-variants=zero,,," PACKAGECONFIG[shark] = "--with-jvm-variants=zeroshark,,llvm3.5," +PACKAGECONFIG[repack] = ",,," + require openjdk-8-common.inc JAVA_HOME[unexport] = "1" @@ -49,6 +51,23 @@ do_configure_append() { sed -i -e 's,POST_STRIP_CMD:=.*,POST_STRIP_CMD:=,g' ${B}/spec.gmk } +do_install_append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'repack', 'true', 'false', d)} ; then + if [ -d ${D}${JDK_HOME} ] ; then + find ${D}${JDK_HOME} -name "*.jar" -print0 | \ + xargs -0 -n1 -P ${@get_jdk8_native_jobs(d)} sh -c ' \ + echo "Repacking" "$0" ; \ + pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest --strip-debug "$0"' + fi + if [ -d ${D}${JRE_HOME} ] ; then + find ${D}${JRE_HOME} -name "*.jar" -print0 | \ + xargs -0 -n1 -P ${@get_jdk8_native_jobs(d)} sh -c ' \ + echo "Repacking" "$0" ; \ + pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest --strip-debug "$0"' + fi + fi +} + export MAKE_VERBOSE = "y" export MFLAGS="${@jdk_make_options(d)} MAKE_VERBOSE=y QUIETLY= VERBOSE=-s LOG_LEVEL=trace STRIP_POLICY=no_strip" diff --git a/recipes-core/openjdk/openjdk-8_72b05.bb b/recipes-core/openjdk/openjdk-8_72b05.bb index feaf227..f378b0a 100644 --- a/recipes-core/openjdk/openjdk-8_72b05.bb +++ b/recipes-core/openjdk/openjdk-8_72b05.bb @@ -13,14 +13,9 @@ PATCHES_URI_append = "\ file://openjdk8-fix-adlc-flags.patch;apply=no \ " -do_compile_append() { - find ${B}/images/j2sdk-image -name "*.jar" -print0 | \ - xargs -0 -n1 ${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native/bin/pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest -} - do_install() { rm -rf ${D}${JDK_HOME} - mkdir -p ${D}${JDK_HOME} + mkdir -p ${D}${JDK_HOME} cp -rp ${B}/images/j2sdk-image/* ${D}${JDK_HOME} chown -R root:root ${D}${JDK_HOME} install -m644 ${WORKDIR}/jvm.cfg ${D}${JDK_HOME}/jre/lib/${JDK_ARCH}/ diff --git a/recipes-core/openjdk/openjre-8_72b05.bb b/recipes-core/openjdk/openjre-8_72b05.bb index 6202498..6d29d12 100644 --- a/recipes-core/openjdk/openjre-8_72b05.bb +++ b/recipes-core/openjdk/openjre-8_72b05.bb @@ -11,14 +11,9 @@ PATCHES_URI_append = "\ file://openjdk8-use_builtin_frame_address_0_rather_than_returning_address_of_local_variable.patch;apply=no \ " -do_compile_append() { - find ${B}/images/j2re-image -name "*.jar" -print0 | \ - xargs -0 -n1 ${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native/bin/pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest --strip-debug -} - do_install() { rm -rf ${D}${JRE_HOME} - mkdir -p ${D}${JRE_HOME} + mkdir -p ${D}${JRE_HOME} cp -rp ${B}/images/j2re-image/* ${D}${JRE_HOME} chown -R root:root ${D}${JRE_HOME} install -m644 ${WORKDIR}/jvm.cfg ${D}${JRE_HOME}/lib/${JDK_ARCH}/ -- cgit v1.2.3-54-g00ecf