]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake.conf/base: Improve handling of SRCPV
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 2 Feb 2016 14:10:46 +0000 (14:10 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 10 Feb 2016 15:51:02 +0000 (15:51 +0000)
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>
meta/classes/base.bbclass
meta/conf/bitbake.conf

index d4b11bc7a88757efe81895c2c288d9be206f9e43..82ec0c9b82552bd2b002098bef3be3fd2013a90b 100644 (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
index b307f387c0f0492999a74e0a423927ec0a3230c6..3837b1e98224b10b1aba2522436519d01714c951 100644 (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 = ""