summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Berger <robert.berger@ReliableEmbeddedSystems.com>2020-05-09 12:50:10 +0300
committerRichard Leitner <richard.leitner@skidata.com>2020-06-10 09:41:47 +0200
commitb8e62679d99f57a5af4f2c59ac36bea5c7087d4f (patch)
tree3d05483f48ec88da5a4ea345f04de3c30fba5b73
parente31e8b593ffab2ce0f806666efbe1553e55f8229 (diff)
downloadmeta-java-b8e62679d99f57a5af4f2c59ac36bea5c7087d4f.tar.gz
WORKDIR and ARCHIVER_WORKDIR support
do_unpack_extract_submodules was called via postfuncs[do_unpack]. This breaks the build when the archiver.bbclass is used in a way where do_unpack_and_patch is called by it. In this mode the archiver class modifies WORKDIR, S, B,... and those modifications are lost via postfuncs. In order to pick up WORKDIR, S, B,... (potentially modified by archiver.bbclass) do_patch_prepend is used instead of pre/postfuncs and calls do_unpack_extract_submodules now. Without this patch the build will break when you add this to local.conf: INHERIT += "archiver" ARCHIVER_MODE[src] = "original" ARCHIVER_MODE[diff] = "1" ARCHIVER_MODE[dumpdata] = "1" ARCHIVER_MODE[recipe] = "1" COPYLEFT_LICENSE_INCLUDE = "GPL* LGPL*" Signed-off-by: Robert Berger <robert.berger@ReliableEmbeddedSystems.com> Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
-rw-r--r--recipes-core/openjdk/openjdk-8-common.inc19
1 files changed, 17 insertions, 2 deletions
diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc
index c78bb2a..04acc59 100644
--- a/recipes-core/openjdk/openjdk-8-common.inc
+++ b/recipes-core/openjdk/openjdk-8-common.inc
@@ -42,6 +42,21 @@ do_unpack_extract_submodules () {
42 tar xjf ${WORKDIR}/${NASHORN_FILE_LOCAL} --transform "s,-${NASHORN_CHANGESET},,g" 42 tar xjf ${WORKDIR}/${NASHORN_FILE_LOCAL} --transform "s,-${NASHORN_CHANGESET},,g"
43} 43}
44 44
45do_patch_prepend() {
46 # use do_patch_prepend syntax and not pre/postfuncs to
47 # call do_unpack_extract_submodules
48 # *) the archiver.bbclass modifies WORKDIR, S, B,...
49 # and those modifications are lost otherwise,
50 # which leads to build failures in do_unpack_and_patch -> do_patch
51 func = 'do_unpack_extract_submodules'
52 bb.build.exec_func(func, d)
53
54 # delete X11 wrappers if x11 is not part of PACKAGECONFIG
55 if bb.utils.contains('PACKAGECONFIG', 'x11', False, True, d):
56 func_delete = 'do_unpack_delete_X11_wrappers'
57 bb.build.exec_func(func_delete, d)
58}
59
45do_unpack_delete_X11_wrappers() { 60do_unpack_delete_X11_wrappers() {
46 find ${S}/jdk/src/solaris/classes/sun/awt/X11 -maxdepth 1 -name '*.java' -delete 61 find ${S}/jdk/src/solaris/classes/sun/awt/X11 -maxdepth 1 -name '*.java' -delete
47} 62}
@@ -155,8 +170,8 @@ def jdk_configure_options(d):
155 options = package_config_option_cleanup(d) 170 options = package_config_option_cleanup(d)
156 return options[3] 171 return options[3]
157 172
158do_unpack[postfuncs] += "do_unpack_extract_submodules" 173#do_unpack[postfuncs] += "do_unpack_extract_submodules"
159do_unpack[postfuncs] += "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'do_unpack_delete_X11_wrappers', d)}" 174#do_unpack[postfuncs] += "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'do_unpack_delete_X11_wrappers', d)}"
160 175
161export DEBUG_BINARIES = "true" 176export DEBUG_BINARIES = "true"
162 177