[yocto] [meta-java][PATCH 05/14] openjdk-8: rework do_patch (pt 2 - use bitbake variable overrides)

André Draszik git at andred.net
Mon Mar 5 01:30:57 PST 2018


From: André Draszik <andre.draszik at jci.com>

This currently uses a hand-crafted solution to distinguish
between common, native-only and and target-only patches.
That is a bit hard to follow as patches are being applied in
strange order, and is also non-standard.

Instead, we can just use bitbake variable overrides. This
makes it much easier to work with this recipe, as:
* it is clear in which order patches are going to be applied by
  looking at the recipe
* it is clear which patches are meant to be common, for build,
  or target
* old patches that are still lying around in WORKDIR (e.g.
  because rm_work is not enabled), but that have been removed
  from SRC_URI are no longer incorrectly applied
* if patches fail to apply, we know exactly which patch has
  failed
* we can use PATCHTOOL = without any ill effects

Signed-off-by: André Draszik <andre.draszik at jci.com>
---
 recipes-core/openjdk/openjdk-8-common.inc         | 10 ----------
 recipes-core/openjdk/openjdk-8-cross.inc          | 14 --------------
 recipes-core/openjdk/openjdk-8-release-162b12.inc | 23 ++++++++++++++++++-----
 3 files changed, 18 insertions(+), 29 deletions(-)

diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc
index cf14be9..dbdd053 100644
--- a/recipes-core/openjdk/openjdk-8-common.inc
+++ b/recipes-core/openjdk/openjdk-8-common.inc
@@ -155,16 +155,6 @@ def jdk_configure_options(d):
 do_unpack[postfuncs] += "do_unpack_extract_submodules"
 do_unpack[postfuncs] += "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'do_unpack_remove_X11_wrappers', d)}"
 
-do_patch_openjdk8() {
-        olddir=`pwd`
-        cd "${S}"
-        for OJ8P in ${WORKDIR}/openjdk8-*.patch; do
-                patch -p0 < ${OJ8P}
-        done
-}
-
-do_patch[postfuncs] += "do_patch_openjdk8"
-
 do_configure_prepend() {
         export ${@jdk_environment_options(d)}
 }
diff --git a/recipes-core/openjdk/openjdk-8-cross.inc b/recipes-core/openjdk/openjdk-8-cross.inc
index 65e3a98..3973fcf 100644
--- a/recipes-core/openjdk/openjdk-8-cross.inc
+++ b/recipes-core/openjdk/openjdk-8-cross.inc
@@ -1,20 +1,6 @@
 JDK_HOME = "${libdir_jvm}/openjdk-8"
 JRE_HOME = "${libdir_jvm}/openjre-8"
 
-# some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch
-# reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html
-# by Roman Kennke (rkennke at redhat.com)
-PATCHES_URI_append = "\
-    file://openjdk8-restrict-to-staging-dir.patch;apply=no \
-    file://openjdk8-fix-shark-build.patch;apply=no \
-    file://openjdk8-fix-shark-stdc++11.patch;apply=no \
-    file://openjdk8-fix-assembler-flag-handling-in-makefile.patch;apply=no \
-    file://openjdk8-fix-adlc-flags.patch;apply=no \
-    file://openjdk8-silence-d_fortify_source-warning.patch;apply=no \
-    file://openjdk8-add-missing-linker-flags.patch;apply=no \
-    file://openjdk8-fix-libpng-neon-build.patch;apply=no \
-"
-
 DEPENDS = "\
     openjdk-8-native zip-native ant-native libxslt \
     jpeg libpng krb5 libffi fontconfig freetype \
diff --git a/recipes-core/openjdk/openjdk-8-release-162b12.inc b/recipes-core/openjdk/openjdk-8-release-162b12.inc
index c8f6ad1..b7e6392 100644
--- a/recipes-core/openjdk/openjdk-8-release-162b12.inc
+++ b/recipes-core/openjdk/openjdk-8-release-162b12.inc
@@ -1,11 +1,24 @@
-PATCHES_URI="\
+PATCHES_URI = "\
     file://remove-shell-variables-from-autoheader.patch;striplevel=0 \
     file://filter-aclocal-copy-too.patch;striplevel=0 \
     file://dont-expect-fqpn-for-make.patch;striplevel=0 \
-    file://openjdk8-no-genx11-in-headless.patch;apply=no \
-    file://openjdk8-no-unused-deps.patch;apply=no \
-    file://openjdk8-find-compiler-fix-env-respect.patch;apply=no \
-    file://openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch;apply=no \
+    file://openjdk8-no-genx11-in-headless.patch;striplevel=0 \
+    file://openjdk8-no-unused-deps.patch;striplevel=0 \
+    file://openjdk8-find-compiler-fix-env-respect.patch;striplevel=0 \
+    file://openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch;striplevel=0 \
+"
+# some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch
+# reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html
+# by Roman Kennke (rkennke at redhat.com)
+PATCHES_URI_append_class-target = "\
+    file://openjdk8-restrict-to-staging-dir.patch;striplevel=0 \
+    file://openjdk8-fix-shark-build.patch;striplevel=0 \
+    file://openjdk8-fix-shark-stdc++11.patch;striplevel=0 \
+    file://openjdk8-fix-assembler-flag-handling-in-makefile.patch;striplevel=0 \
+    file://openjdk8-fix-adlc-flags.patch;striplevel=0 \
+    file://openjdk8-silence-d_fortify_source-warning.patch;striplevel=0 \
+    file://openjdk8-add-missing-linker-flags.patch;striplevel=0 \
+    file://openjdk8-fix-libpng-neon-build.patch;striplevel=0 \
 "
 
 # Name of the directory containing the compiled output
-- 
2.16.2




More information about the yocto mailing list