summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-04-20 02:13:23 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-04-20 02:13:26 +0100
commitc4371138f7444ecaa1fdd2b1ee4949fbc819f886 (patch)
tree76c897d9fbf16edb7dba208c8ae690798cfc875b /bitbake
parentf3ade6b0b675cc683829fefd3097685353ed9f15 (diff)
downloadast2050-yocto-poky-c4371138f7444ecaa1fdd2b1ee4949fbc819f886.zip
ast2050-yocto-poky-c4371138f7444ecaa1fdd2b1ee4949fbc819f886.tar.gz
bitbake/fetch2: Fix the problems introduced by the git fetcher AUTOREV fix
The ordering constrains on the urldata_init functions are not straight forward. To avoid further problems, create a helper function to setup the source revisions which the init functions can all at the appropriate point. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py21
-rw-r--r--bitbake/lib/bb/fetch2/bzr.py2
-rw-r--r--bitbake/lib/bb/fetch2/git.py3
-rw-r--r--bitbake/lib/bb/fetch2/hg.py2
-rw-r--r--bitbake/lib/bb/fetch2/svn.py2
5 files changed, 17 insertions, 13 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index f53467e..0bb9097 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -558,18 +558,6 @@ class FetchData(object):
if hasattr(self.method, "urldata_init"):
self.method.urldata_init(self, d)
- if self.method.supports_srcrev():
- self.revisions = {}
- for name in self.names:
- self.revisions[name] = srcrev_internal_helper(self, d, name)
-
- # add compatibility code for non name specified case
- if len(self.names) == 1:
- self.revision = self.revisions[self.names[0]]
-
- if hasattr(self.method, "fixuprevisions"):
- self.method.fixuprevisions(self, d)
-
if "localpath" in self.parm:
# if user sets localpath for file, use it instead.
self.localpath = self.parm["localpath"]
@@ -582,6 +570,15 @@ class FetchData(object):
self.donestamp = basepath + '.done'
self.lockfile = basepath + '.lock'
+ def setup_revisons(self, d):
+ self.revisions = {}
+ for name in self.names:
+ self.revisions[name] = srcrev_internal_helper(self, d, name)
+
+ # add compatibility code for non name specified case
+ if len(self.names) == 1:
+ self.revision = self.revisions[self.names[0]]
+
def setup_localpath(self, d):
if not self.localpath:
self.localpath = self.method.localpath(self.url, self, d)
diff --git a/bitbake/lib/bb/fetch2/bzr.py b/bitbake/lib/bb/fetch2/bzr.py
index 04a9087..0d10eb4 100644
--- a/bitbake/lib/bb/fetch2/bzr.py
+++ b/bitbake/lib/bb/fetch2/bzr.py
@@ -45,6 +45,8 @@ class Bzr(FetchMethod):
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${BZRDIR}', d), ud.host, relpath)
+ ud.setup_revisons(d)
+
if not ud.revision:
ud.revision = self.latest_revision(ud.url, ud, d)
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 553e128..d462acf 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -76,7 +76,8 @@ class Git(FetchMethod):
ud.localfile = ud.clonedir
- def fixuprevisions(self, ud, d):
+ ud.setup_revisons(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]]):
diff --git a/bitbake/lib/bb/fetch2/hg.py b/bitbake/lib/bb/fetch2/hg.py
index f2719d4..793831a 100644
--- a/bitbake/lib/bb/fetch2/hg.py
+++ b/bitbake/lib/bb/fetch2/hg.py
@@ -57,6 +57,8 @@ class Hg(FetchMethod):
ud.pkgdir = os.path.join(data.expand('${HGDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
+ ud.setup_revisons(d)
+
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
elif not ud.revision:
diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py
index fa6c654..59d7ccb 100644
--- a/bitbake/lib/bb/fetch2/svn.py
+++ b/bitbake/lib/bb/fetch2/svn.py
@@ -56,6 +56,8 @@ class Svn(FetchMethod):
ud.pkgdir = os.path.join(data.expand('${SVNDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
+ ud.setup_revisons(d)
+
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
OpenPOWER on IntegriCloud