diff options
author | Robert Berger <robert.berger@ReliableEmbeddedSystems.com> | 2020-05-09 12:50:10 +0300 |
---|---|---|
committer | Richard Leitner <richard.leitner@skidata.com> | 2020-06-10 09:41:47 +0200 |
commit | b8e62679d99f57a5af4f2c59ac36bea5c7087d4f (patch) | |
tree | 3d05483f48ec88da5a4ea345f04de3c30fba5b73 /recipes-core/openjdk/openjdk-8-common.inc | |
parent | e31e8b593ffab2ce0f806666efbe1553e55f8229 (diff) | |
download | meta-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>
Diffstat (limited to 'recipes-core/openjdk/openjdk-8-common.inc')
-rw-r--r-- | recipes-core/openjdk/openjdk-8-common.inc | 19 |
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 | ||
45 | do_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 | |||
45 | do_unpack_delete_X11_wrappers() { | 60 | do_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 | ||
158 | do_unpack[postfuncs] += "do_unpack_extract_submodules" | 173 | #do_unpack[postfuncs] += "do_unpack_extract_submodules" |
159 | do_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 | ||
161 | export DEBUG_BINARIES = "true" | 176 | export DEBUG_BINARIES = "true" |
162 | 177 | ||