From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-core <openembedded-core@lists.openembedded.org>
Subject: [PATCH] bitbake.conf/base: Improve handling of SRCPV
Date: Tue, 02 Feb 2016 14:10:46 +0000 [thread overview]
Message-ID: <1454422246.27087.78.camel@linuxfoundation.org> (raw)
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 = ""
reply other threads:[~2016-02-02 14:10 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1454422246.27087.78.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox