bitbake.conf/base: Improve handling of SRCPV
PATCH 1/1 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 <[email protected]>
meta/classes/base.bbclass +7 -0
@@ -549,20 +549,24 @@ 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] # 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
@@ -589,6 +593,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
meta/conf/bitbake.conf +2 -1
@@ -616,7 +616,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 = ""