diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2016-03-22 18:47:00 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-23 15:26:06 +0100 |
commit | 696dd4607766a07fcdbb7e6bfc07f3b815bc9d5c (patch) | |
tree | 060c0aa46840186486bab3e46c98a16e5400204b /meta | |
parent | e24b5fe3f04cbb5953ec82f9e4d040f6600012b3 (diff) | |
download | openembedded-core-696dd4607766a07fcdbb7e6bfc07f3b815bc9d5c.tar.gz openembedded-core-696dd4607766a07fcdbb7e6bfc07f3b815bc9d5c.tar.bz2 openembedded-core-696dd4607766a07fcdbb7e6bfc07f3b815bc9d5c.zip |
base.bbclass wipe ${S} before unpacking source
Make sure that we have a pristine source tree after do_unpack.
[YOCTO #9064]
(From OE-Core rev: eccae514b71394ffaed8fc45dea7942152a334a1)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/base.bbclass | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index c3c2669939..3c3cf1321c 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -136,23 +136,21 @@ python base_do_fetch() { addtask unpack after do_fetch do_unpack[dirs] = "${WORKDIR}" + +python () { + if d.getVar('S', True) != d.getVar('WORKDIR', True): + d.setVarFlag('do_unpack', 'cleandirs', '${S}') + else: + d.setVarFlag('do_unpack', 'cleandirs', os.path.join('${S}', 'patches')) +} python base_do_unpack() { src_uri = (d.getVar('SRC_URI', True) or "").split() if len(src_uri) == 0: return - rootdir = d.getVar('WORKDIR', True) - - # Ensure that we cleanup ${S}/patches - # TODO: Investigate if we can remove - # the entire ${S} in this case. - s_dir = d.getVar('S', True) - p_dir = os.path.join(s_dir, 'patches') - bb.utils.remove(p_dir, True) - try: fetcher = bb.fetch2.Fetch(src_uri, d) - fetcher.unpack(rootdir) + fetcher.unpack(d.getVar('WORKDIR', True)) except bb.fetch2.BBFetchException as e: raise bb.build.FuncFailed(e) } |