All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Robert Berger" <oecore.mailinglist@gmail.com>
To: openembedded-devel@lists.openembedded.org
Cc: richard.leitner@skidata.com,
	Robert Berger <robert.berger@ReliableEmbeddedSystems.com>
Subject: [meta-java][PATCH v3] WORKDIR and ARCHIVER_WORKDIR support
Date: Sat,  9 May 2020 12:50:10 +0300	[thread overview]
Message-ID: <20200509095010.25808-1-robert.berger@ReliableEmbeddedSystems.com> (raw)

From: Robert Berger <robert.berger@ReliableEmbeddedSystems.com>

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>
---
 recipes-core/openjdk/openjdk-8-common.inc | 19 +++++++++++++++++--
 1 file 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 () {
     tar xjf ${WORKDIR}/${NASHORN_FILE_LOCAL} --transform "s,-${NASHORN_CHANGESET},,g"
 }
 
+do_patch_prepend() {
+    # use do_patch_prepend syntax and not pre/postfuncs to
+    # call do_unpack_extract_submodules
+    # *) the archiver.bbclass modifies WORKDIR, S, B,...
+    #    and those modifications are lost otherwise,
+    #    which leads to build failures in do_unpack_and_patch -> do_patch
+    func = 'do_unpack_extract_submodules'
+    bb.build.exec_func(func, d)
+
+    # delete X11 wrappers if x11 is not part of PACKAGECONFIG
+    if bb.utils.contains('PACKAGECONFIG', 'x11', False, True, d):
+       func_delete = 'do_unpack_delete_X11_wrappers'
+       bb.build.exec_func(func_delete, d)
+}
+
 do_unpack_delete_X11_wrappers() {
     find ${S}/jdk/src/solaris/classes/sun/awt/X11 -maxdepth 1 -name '*.java' -delete
 }
@@ -155,8 +170,8 @@ def jdk_configure_options(d):
     options = package_config_option_cleanup(d)
     return options[3]
 
-do_unpack[postfuncs] += "do_unpack_extract_submodules"
-do_unpack[postfuncs] += "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'do_unpack_delete_X11_wrappers', d)}"
+#do_unpack[postfuncs] += "do_unpack_extract_submodules"
+#do_unpack[postfuncs] += "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'do_unpack_delete_X11_wrappers', d)}"
 
 export DEBUG_BINARIES = "true"
 
-- 
2.17.1


             reply	other threads:[~2020-05-09  9:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-09  9:50 Robert Berger [this message]
2020-06-10  9:10 ` [meta-java][PATCH v3] WORKDIR and ARCHIVER_WORKDIR support Richard Leitner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200509095010.25808-1-robert.berger@ReliableEmbeddedSystems.com \
    --to=oecore.mailinglist@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=richard.leitner@skidata.com \
    --cc=robert.berger@ReliableEmbeddedSystems.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.