summaryrefslogtreecommitdiff
path: root/meta/classes/base.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-02 14:10:46 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-10 15:51:02 +0000
commitce64da2b80f99c82d96513d8dfb5e572757b0cda (patch)
treeaee2a3a95a8a0150c9e2e872c1de49ad3671db7b /meta/classes/base.bbclass
parentef372c1829b5818fd20224d305f6e20fba643acc (diff)
downloadopenembedded-core-ce64da2b80f99c82d96513d8dfb5e572757b0cda.tar.gz
openembedded-core-ce64da2b80f99c82d96513d8dfb5e572757b0cda.tar.bz2
openembedded-core-ce64da2b80f99c82d96513d8dfb5e572757b0cda.zip
bitbake.conf/base: Improve handling of SRCPV
If SRCPV is set, it can be expanded when SRC_URI doesn't support it leading to errors. Avoid doing this by setting it only when it makes sense. This patch depends on the bitbake python expansion patch series. [YCOTO #7772] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/base.bbclass')
-rw-r--r--meta/classes/base.bbclass7
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index d4b11bc7a8..82ec0c9b82 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -549,6 +549,7 @@ python () {
elif pn in htincompatwl:
bb.note("INCLUDING " + pn + " as buildable despite INCOMPATIBLE_LICENSE because it has been whitelisted for HOSTTOOLS")
+ needsrcrev = False
srcuri = d.getVar('SRC_URI', True)
for uri in srcuri.split():
(scheme, _ , path) = bb.fetch.decodeurl(uri)[:3]
@@ -559,14 +560,17 @@ python () {
# Svn packages should DEPEND on subversion-native
if scheme == "svn":
+ needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')
# Git packages should DEPEND on git-native
elif scheme == "git":
+ needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')
# Mercurial packages should DEPEND on mercurial-native
elif scheme == "hg":
+ needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')
# OSC packages should DEPEND on osc-native
@@ -593,6 +597,9 @@ python () {
elif path.endswith('.src.rpm'):
d.appendVarFlag('do_unpack', 'depends', ' file-native:do_populate_sysroot')
+ if needsrcrev:
+ d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}")
+
set_packagetriplet(d)
# 'multimachine' handling