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]

(From OE-Core rev: ce64da2b80f99c82d96513d8dfb5e572757b0cda)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2016-02-02 14:10:46 +00:00
parent 947e5260f9
commit 8b5ee367a6
2 changed files with 9 additions and 1 deletions

View File

@ -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

View File

@ -610,7 +610,8 @@ FETCHCMD_hg = "/usr/bin/env hg"
SRCDATE = "${DATE}"
SRCREV ??= "INVALID"
AUTOREV = "${@bb.fetch2.get_autorev(d)}"
SRCPV = "${@bb.fetch2.get_srcrev(d)}"
# Set Dynamically in base.bbclass
# SRCPV = "${@bb.fetch2.get_srcrev(d)}"
SRCPV[vardepvalue] = "${SRCPV}"
SRC_URI = ""