All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] bitbake.conf/base: Improve handling of SRCPV
@ 2016-02-02 14:10 Richard Purdie
  0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2016-02-02 14:10 UTC (permalink / raw)
  To: openembedded-core

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>

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index d68ffbe..75c9acc 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -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
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index fbd4c69..361fe32 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -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 = ""




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-02-02 14:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-02 14:10 [PATCH] bitbake.conf/base: Improve handling of SRCPV Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.