diff options
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/ChangeLog | 14 | ||||
-rw-r--r-- | bitbake/lib/bb/cache.py | 6 | ||||
-rw-r--r-- | bitbake/lib/bb/fetch/hg.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/fetch/perforce.py | 24 | ||||
-rw-r--r-- | bitbake/lib/bb/fetch/svn.py | 4 | ||||
-rw-r--r-- | bitbake/lib/bb/taskdata.py | 15 | ||||
-rw-r--r-- | bitbake/lib/bb/utils.py | 1 |
7 files changed, 48 insertions, 18 deletions
diff --git a/bitbake/ChangeLog b/bitbake/ChangeLog index 2d50c0e36..a053ab839 100644 --- a/bitbake/ChangeLog +++ b/bitbake/ChangeLog @@ -59,7 +59,20 @@ Changes in BitBake 1.8.x: all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used to extend the internal whitelist. + - Perforce fetcher fix to use commandline options instead of being overriden by the environment + - use @rev when doing a svn checkout + - Add osc fetcher (from Joshua Lock in Poky) - When SRCREV autorevisioning for a recipe is in use, don't cache the recipe + - Add tryaltconfigs option to control whether bitbake trys using alternative providers + to fulfil failed dependencies. It defaults to off, changing the default since this + behaviour confuses many users and isn't often useful. + - Improve lock file function error handling + - Add username handling to the git fetcher (Robert Bragg) + - Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher + - Export more variables to the fetcher commands to allow ssh checkouts and checkouts through + proxies to work better. (from Poky) + - Also allow user and pswd options in SRC_URIs globally (from Poky) + - Improve proxy handling when using mirrors (from Poky) Changes in BitBake 1.8.10: - Psyco is available only for x86 - do not use it on other architectures. @@ -104,6 +117,7 @@ Changes in BitBake 1.8.10: - Add support for branches in git fetcher (Otavio Salvador, Michael Lauer) - Make taskdata and runqueue errors more user friendly - Add norecurse and fullpath options to cvs fetcher + - bb.utils.prunedir can cope with symlinks to directories without exceptions Changes in Bitbake 1.8.8: - Rewrite svn fetcher to make adding extra operations easier diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 1c87bfa12..a4a4f47ce 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py @@ -95,7 +95,11 @@ class Cache: bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...") self.depends_cache = {} else: - bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...") + try: + os.stat( self.cachefile ) + bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...") + except OSError: + pass def getVar(self, var, fn, exp = 0): """ diff --git a/bitbake/lib/bb/fetch/hg.py b/bitbake/lib/bb/fetch/hg.py index 1cd5a8aa5..b87fd0fbe 100644 --- a/bitbake/lib/bb/fetch/hg.py +++ b/bitbake/lib/bb/fetch/hg.py @@ -79,7 +79,7 @@ class Hg(Fetch): host = "/" ud.host = "localhost" - if ud.user == None: + if not ud.user: hgroot = host + ud.path else: hgroot = ud.user + "@" + host + ud.path diff --git a/bitbake/lib/bb/fetch/perforce.py b/bitbake/lib/bb/fetch/perforce.py index b594d2bde..2fb38b419 100644 --- a/bitbake/lib/bb/fetch/perforce.py +++ b/bitbake/lib/bb/fetch/perforce.py @@ -67,14 +67,15 @@ class Perforce(Fetch): doparse = staticmethod(doparse) def getcset(d, depot,host,user,pswd,parm): + p4opt = "" if "cset" in parm: return parm["cset"]; if user: - data.setVar('P4USER', user, d) + p4opt += " -u %s" % (user) if pswd: - data.setVar('P4PASSWD', pswd, d) + p4opt += " -P %s" % (pswd) if host: - data.setVar('P4PORT', host, d) + p4opt += " -p %s" % (host) p4date = data.getVar("P4DATE", d, 1) if "revision" in parm: @@ -85,8 +86,8 @@ class Perforce(Fetch): depot += "@%s" % (p4date) p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1) - bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s changes -m 1 %s" % (p4cmd, depot)) - p4file = os.popen("%s changes -m 1 %s" % (p4cmd,depot)) + bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s%s changes -m 1 %s" % (p4cmd, p4opt, depot)) + p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot)) cset = p4file.readline().strip() bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset)) if not cset: @@ -146,14 +147,15 @@ class Perforce(Fetch): data.update_data(localdata) # Get the p4 command + p4opt = "" if user: - data.setVar('P4USER', user, localdata) + p4opt += " -u %s" % (user) if pswd: - data.setVar('P4PASSWD', pswd, localdata) + p4opt += " -P %s" % (pswd) if host: - data.setVar('P4PORT', host, localdata) + p4opt += " -p %s" % (host) p4cmd = data.getVar('FETCHCOMMAND', localdata, 1) @@ -175,8 +177,8 @@ class Perforce(Fetch): os.chdir(tmpfile) bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc) - bb.msg.note(1, bb.msg.domain.Fetcher, "%s files %s" % (p4cmd, depot)) - p4file = os.popen("%s files %s" % (p4cmd, depot)) + bb.msg.note(1, bb.msg.domain.Fetcher, "%s%s files %s" % (p4cmd, p4opt, depot)) + p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot)) if not p4file: bb.error("Fetch: unable to get the P4 files from %s" % (depot)) @@ -193,7 +195,7 @@ class Perforce(Fetch): dest = list[0][len(path)+1:] where = dest.find("#") - os.system("%s print -o %s/%s %s" % (p4cmd, module,dest[:where],list[0])) + os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0])) count = count + 1 if count == 0: diff --git a/bitbake/lib/bb/fetch/svn.py b/bitbake/lib/bb/fetch/svn.py index 5e5b31b3a..aead1629b 100644 --- a/bitbake/lib/bb/fetch/svn.py +++ b/bitbake/lib/bb/fetch/svn.py @@ -114,13 +114,15 @@ class Svn(Fetch): if command is "info": svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module) else: + suffix = "" if ud.revision: options.append("-r %s" % ud.revision) + suffix = "@%s" % (ud.revision) elif ud.date: options.append("-r {%s}" % ud.date) if command is "fetch": - svncmd = "%s co %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, ud.module) + svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module) elif command is "update": svncmd = "%s update %s" % (basecmd, " ".join(options)) else: diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index 782dfb0b7..64ab032c3 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py @@ -340,7 +340,10 @@ class TaskData: self.add_provider_internal(cfgData, dataCache, item) except bb.providers.NoProvider: if self.abort: - bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) + if self.get_rdependees_str(item): + bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) + else: + bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item)) raise targetid = self.getbuild_id(item) self.remove_buildtarget(targetid) @@ -358,7 +361,10 @@ class TaskData: return if not item in dataCache.providers: - bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) + if self.get_rdependees_str(item): + bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) + else: + bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item)) bb.event.fire(bb.event.NoProvider(item, cfgData)) raise bb.providers.NoProvider(item) @@ -536,7 +542,10 @@ class TaskData: except bb.providers.NoProvider: targetid = self.getbuild_id(target) if self.abort and targetid in self.external_targets: - bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target))) + if self.get_rdependees_str(target): + bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target))) + else: + bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target)) raise self.remove_buildtarget(targetid) for target in self.get_unresolved_run_targets(dataCache): diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index cc3d03f60..5015779f8 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -323,7 +323,6 @@ def preserved_envvars_list(): 'HOME', 'LANG', 'LOGNAME', - 'OEROOT', 'PATH', 'PWD', 'SESSION_MANAGER', |