summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-04-19 23:31:09 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-04-19 23:48:41 +0100
commit2d2d07275c8a2d652a221c1cd74d28c2f6f226d5 (patch)
tree1178423ada6bcda94e68e69b28ac915865bfb719 /bitbake/lib
parent029635eb78b95ea1d19ba250dde3ae2513b57aa6 (diff)
downloadast2050-yocto-poky-2d2d07275c8a2d652a221c1cd74d28c2f6f226d5.zip
ast2050-yocto-poky-2d2d07275c8a2d652a221c1cd74d28c2f6f226d5.tar.gz
bitbake/fetch2/git: Fix a bug where AUTOREV and the git fetcher interact badly
Fix a bug where ud.branches were being referenced before it was set by the git fetcher when using AUTOREV. To do this some ordering needed to be changed. This fixes errors like: ERROR: Error parsing /recipes-kernel/linux/rt-tests_git.bb: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception AttributeError: 'FetchData' object has no attribute 'branches' Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py7
-rw-r--r--bitbake/lib/bb/fetch2/git.py9
2 files changed, 10 insertions, 6 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 9fec705..f53467e 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -555,6 +555,9 @@ class FetchData(object):
if not self.method:
raise NoMethodError(url)
+ if hasattr(self.method, "urldata_init"):
+ self.method.urldata_init(self, d)
+
if self.method.supports_srcrev():
self.revisions = {}
for name in self.names:
@@ -564,8 +567,8 @@ class FetchData(object):
if len(self.names) == 1:
self.revision = self.revisions[self.names[0]]
- if hasattr(self.method, "urldata_init"):
- self.method.urldata_init(self, d)
+ if hasattr(self.method, "fixuprevisions"):
+ self.method.fixuprevisions(self, d)
if "localpath" in self.parm:
# if user sets localpath for file, use it instead.
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 1679f81..553e128 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -72,15 +72,16 @@ class Git(FetchMethod):
ud.basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
+ ud.write_tarballs = (data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True) or "0") != "0"
+
+ ud.localfile = ud.clonedir
+
+ def fixuprevisions(self, ud, d):
for name in ud.names:
# Ensure anything that doesn't look like a sha256 checksum/revision is translated into one
if not ud.revisions[name] or len(ud.revisions[name]) != 40 or (False in [c in "abcdef0123456789" for c in ud.revisions[name]]):
ud.revisions[name] = self.latest_revision(ud.url, ud, d, name)
- ud.write_tarballs = (data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True) or "0") != "0"
-
- ud.localfile = ud.clonedir
-
def localpath(self, url, ud, d):
return ud.clonedir
OpenPOWER on IntegriCloud