diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2008-12-06 13:16:13 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2008-12-06 13:16:13 +0000 |
commit | ffdec425bfb26e152d1da5824a36dfe1fe72cd92 (patch) | |
tree | 38a5233e01e62d57964dbb0bf38ca88a92049386 | |
parent | 4be017e82fdfbfbe1bf484bf745e770d18417918 (diff) | |
download | poky-ffdec425bfb26e152d1da5824a36dfe1fe72cd92.tar.gz |
bitbake/bitbake-dev: Sync with upstream
-rw-r--r-- | bitbake-dev/ChangeLog | 14 | ||||
-rw-r--r-- | bitbake-dev/lib/bb/cache.py | 6 | ||||
-rw-r--r-- | bitbake-dev/lib/bb/cooker.py | 37 | ||||
-rw-r--r-- | bitbake-dev/lib/bb/fetch/hg.py | 2 | ||||
-rw-r--r-- | bitbake-dev/lib/bb/fetch/perforce.py | 24 | ||||
-rw-r--r-- | bitbake-dev/lib/bb/fetch/svn.py | 4 | ||||
-rw-r--r-- | bitbake-dev/lib/bb/taskdata.py | 15 | ||||
-rw-r--r-- | bitbake-dev/lib/bb/utils.py | 1 | ||||
-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 |
15 files changed, 117 insertions, 52 deletions
diff --git a/bitbake-dev/ChangeLog b/bitbake-dev/ChangeLog index 6f068be19f..a2c9d80801 100644 --- a/bitbake-dev/ChangeLog +++ b/bitbake-dev/ChangeLog | |||
@@ -154,7 +154,21 @@ Changes in Bitbake 1.9.x: | |||
154 | all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be | 154 | all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be |
155 | used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used | 155 | used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used |
156 | to extend the internal whitelist. | 156 | to extend the internal whitelist. |
157 | - Perforce fetcher fix to use commandline options instead of being overriden by the environment | ||
158 | - bb.utils.prunedir can cope with symlinks to directoriees without exceptions | ||
159 | - use @rev when doing a svn checkout | ||
160 | - Add osc fetcher (from Joshua Lock in Poky) | ||
157 | - When SRCREV autorevisioning for a recipe is in use, don't cache the recipe | 161 | - When SRCREV autorevisioning for a recipe is in use, don't cache the recipe |
162 | - Add tryaltconfigs option to control whether bitbake trys using alternative providers | ||
163 | to fulfil failed dependencies. It defaults to off, changing the default since this | ||
164 | behaviour confuses many users and isn't often useful. | ||
165 | - Improve lock file function error handling | ||
166 | - Add username handling to the git fetcher (Robert Bragg) | ||
167 | - Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher | ||
168 | - Export more variables to the fetcher commands to allow ssh checkouts and checkouts through | ||
169 | proxies to work better. (from Poky) | ||
170 | - Also allow user and pswd options in SRC_URIs globally (from Poky) | ||
171 | - Improve proxy handling when using mirrors (from Poky) | ||
158 | 172 | ||
159 | Changes in Bitbake 1.8.0: | 173 | Changes in Bitbake 1.8.0: |
160 | - Release 1.7.x as a stable series | 174 | - Release 1.7.x as a stable series |
diff --git a/bitbake-dev/lib/bb/cache.py b/bitbake-dev/lib/bb/cache.py index 1c87bfa12d..a4a4f47cef 100644 --- a/bitbake-dev/lib/bb/cache.py +++ b/bitbake-dev/lib/bb/cache.py | |||
@@ -95,7 +95,11 @@ class Cache: | |||
95 | bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...") | 95 | bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...") |
96 | self.depends_cache = {} | 96 | self.depends_cache = {} |
97 | else: | 97 | else: |
98 | bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...") | 98 | try: |
99 | os.stat( self.cachefile ) | ||
100 | bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...") | ||
101 | except OSError: | ||
102 | pass | ||
99 | 103 | ||
100 | def getVar(self, var, fn, exp = 0): | 104 | def getVar(self, var, fn, exp = 0): |
101 | """ | 105 | """ |
diff --git a/bitbake-dev/lib/bb/cooker.py b/bitbake-dev/lib/bb/cooker.py index 86229799f2..06f3395d7a 100644 --- a/bitbake-dev/lib/bb/cooker.py +++ b/bitbake-dev/lib/bb/cooker.py | |||
@@ -88,6 +88,24 @@ class BBCooker: | |||
88 | 88 | ||
89 | bb.data.inheritFromOS(self.configuration.data) | 89 | bb.data.inheritFromOS(self.configuration.data) |
90 | 90 | ||
91 | for f in self.configuration.file: | ||
92 | self.parseConfigurationFile( f ) | ||
93 | |||
94 | self.parseConfigurationFile( os.path.join( "conf", "bitbake.conf" ) ) | ||
95 | |||
96 | if not self.configuration.cmd: | ||
97 | self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data, True) or "build" | ||
98 | |||
99 | bbpkgs = bb.data.getVar('BBPKGS', self.configuration.data, True) | ||
100 | if bbpkgs: | ||
101 | self.configuration.pkgs_to_build.extend(bbpkgs.split()) | ||
102 | |||
103 | # | ||
104 | # Special updated configuration we use for firing events | ||
105 | # | ||
106 | self.configuration.event_data = bb.data.createCopy(self.configuration.data) | ||
107 | bb.data.update_data(self.configuration.event_data) | ||
108 | |||
91 | # TOSTOP must not be set or our children will hang when they output | 109 | # TOSTOP must not be set or our children will hang when they output |
92 | fd = sys.stdout.fileno() | 110 | fd = sys.stdout.fileno() |
93 | if os.isatty(fd): | 111 | if os.isatty(fd): |
@@ -105,23 +123,7 @@ class BBCooker: | |||
105 | self.server.register_idle_function(self.runCommands, self) | 123 | self.server.register_idle_function(self.runCommands, self) |
106 | 124 | ||
107 | def parseConfiguration(self): | 125 | def parseConfiguration(self): |
108 | # | ||
109 | # Special updated configuration we use for firing events | ||
110 | # | ||
111 | self.configuration.event_data = bb.data.createCopy(self.configuration.data) | ||
112 | bb.data.update_data(self.configuration.event_data) | ||
113 | |||
114 | for f in self.configuration.file: | ||
115 | self.parseConfigurationFile( f ) | ||
116 | 126 | ||
117 | self.parseConfigurationFile( os.path.join( "conf", "bitbake.conf" ) ) | ||
118 | |||
119 | if not self.configuration.cmd: | ||
120 | self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data, True) or "build" | ||
121 | |||
122 | bbpkgs = bb.data.getVar('BBPKGS', self.configuration.data, True) | ||
123 | if bbpkgs: | ||
124 | self.configuration.pkgs_to_build.extend(bbpkgs.split()) | ||
125 | 127 | ||
126 | # Change nice level if we're asked to | 128 | # Change nice level if we're asked to |
127 | nice = bb.data.getVar("BB_NICE_LEVEL", self.configuration.data, True) | 129 | nice = bb.data.getVar("BB_NICE_LEVEL", self.configuration.data, True) |
@@ -149,6 +151,9 @@ class BBCooker: | |||
149 | self.commandlineAction = ["showVersions"] | 151 | self.commandlineAction = ["showVersions"] |
150 | elif self.configuration.parse_only: | 152 | elif self.configuration.parse_only: |
151 | self.commandlineAction = ["parseFiles"] | 153 | self.commandlineAction = ["parseFiles"] |
154 | # FIXME - implement | ||
155 | #elif self.configuration.interactive: | ||
156 | # self.interactiveMode() | ||
152 | elif self.configuration.dot_graph: | 157 | elif self.configuration.dot_graph: |
153 | if self.configuration.pkgs_to_build: | 158 | if self.configuration.pkgs_to_build: |
154 | self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd] | 159 | self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd] |
diff --git a/bitbake-dev/lib/bb/fetch/hg.py b/bitbake-dev/lib/bb/fetch/hg.py index 1cd5a8aa5c..b87fd0fbe5 100644 --- a/bitbake-dev/lib/bb/fetch/hg.py +++ b/bitbake-dev/lib/bb/fetch/hg.py | |||
@@ -79,7 +79,7 @@ class Hg(Fetch): | |||
79 | host = "/" | 79 | host = "/" |
80 | ud.host = "localhost" | 80 | ud.host = "localhost" |
81 | 81 | ||
82 | if ud.user == None: | 82 | if not ud.user: |
83 | hgroot = host + ud.path | 83 | hgroot = host + ud.path |
84 | else: | 84 | else: |
85 | hgroot = ud.user + "@" + host + ud.path | 85 | hgroot = ud.user + "@" + host + ud.path |
diff --git a/bitbake-dev/lib/bb/fetch/perforce.py b/bitbake-dev/lib/bb/fetch/perforce.py index b594d2bde2..2fb38b4190 100644 --- a/bitbake-dev/lib/bb/fetch/perforce.py +++ b/bitbake-dev/lib/bb/fetch/perforce.py | |||
@@ -67,14 +67,15 @@ class Perforce(Fetch): | |||
67 | doparse = staticmethod(doparse) | 67 | doparse = staticmethod(doparse) |
68 | 68 | ||
69 | def getcset(d, depot,host,user,pswd,parm): | 69 | def getcset(d, depot,host,user,pswd,parm): |
70 | p4opt = "" | ||
70 | if "cset" in parm: | 71 | if "cset" in parm: |
71 | return parm["cset"]; | 72 | return parm["cset"]; |
72 | if user: | 73 | if user: |
73 | data.setVar('P4USER', user, d) | 74 | p4opt += " -u %s" % (user) |
74 | if pswd: | 75 | if pswd: |
75 | data.setVar('P4PASSWD', pswd, d) | 76 | p4opt += " -P %s" % (pswd) |
76 | if host: | 77 | if host: |
77 | data.setVar('P4PORT', host, d) | 78 | p4opt += " -p %s" % (host) |
78 | 79 | ||
79 | p4date = data.getVar("P4DATE", d, 1) | 80 | p4date = data.getVar("P4DATE", d, 1) |
80 | if "revision" in parm: | 81 | if "revision" in parm: |
@@ -85,8 +86,8 @@ class Perforce(Fetch): | |||
85 | depot += "@%s" % (p4date) | 86 | depot += "@%s" % (p4date) |
86 | 87 | ||
87 | p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1) | 88 | p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1) |
88 | bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s changes -m 1 %s" % (p4cmd, depot)) | 89 | bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s%s changes -m 1 %s" % (p4cmd, p4opt, depot)) |
89 | p4file = os.popen("%s changes -m 1 %s" % (p4cmd,depot)) | 90 | p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot)) |
90 | cset = p4file.readline().strip() | 91 | cset = p4file.readline().strip() |
91 | bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset)) | 92 | bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset)) |
92 | if not cset: | 93 | if not cset: |
@@ -146,14 +147,15 @@ class Perforce(Fetch): | |||
146 | data.update_data(localdata) | 147 | data.update_data(localdata) |
147 | 148 | ||
148 | # Get the p4 command | 149 | # Get the p4 command |
150 | p4opt = "" | ||
149 | if user: | 151 | if user: |
150 | data.setVar('P4USER', user, localdata) | 152 | p4opt += " -u %s" % (user) |
151 | 153 | ||
152 | if pswd: | 154 | if pswd: |
153 | data.setVar('P4PASSWD', pswd, localdata) | 155 | p4opt += " -P %s" % (pswd) |
154 | 156 | ||
155 | if host: | 157 | if host: |
156 | data.setVar('P4PORT', host, localdata) | 158 | p4opt += " -p %s" % (host) |
157 | 159 | ||
158 | p4cmd = data.getVar('FETCHCOMMAND', localdata, 1) | 160 | p4cmd = data.getVar('FETCHCOMMAND', localdata, 1) |
159 | 161 | ||
@@ -175,8 +177,8 @@ class Perforce(Fetch): | |||
175 | 177 | ||
176 | os.chdir(tmpfile) | 178 | os.chdir(tmpfile) |
177 | bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc) | 179 | bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc) |
178 | bb.msg.note(1, bb.msg.domain.Fetcher, "%s files %s" % (p4cmd, depot)) | 180 | bb.msg.note(1, bb.msg.domain.Fetcher, "%s%s files %s" % (p4cmd, p4opt, depot)) |
179 | p4file = os.popen("%s files %s" % (p4cmd, depot)) | 181 | p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot)) |
180 | 182 | ||
181 | if not p4file: | 183 | if not p4file: |
182 | bb.error("Fetch: unable to get the P4 files from %s" % (depot)) | 184 | bb.error("Fetch: unable to get the P4 files from %s" % (depot)) |
@@ -193,7 +195,7 @@ class Perforce(Fetch): | |||
193 | dest = list[0][len(path)+1:] | 195 | dest = list[0][len(path)+1:] |
194 | where = dest.find("#") | 196 | where = dest.find("#") |
195 | 197 | ||
196 | os.system("%s print -o %s/%s %s" % (p4cmd, module,dest[:where],list[0])) | 198 | os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0])) |
197 | count = count + 1 | 199 | count = count + 1 |
198 | 200 | ||
199 | if count == 0: | 201 | if count == 0: |
diff --git a/bitbake-dev/lib/bb/fetch/svn.py b/bitbake-dev/lib/bb/fetch/svn.py index 5e5b31b3ad..aead1629b3 100644 --- a/bitbake-dev/lib/bb/fetch/svn.py +++ b/bitbake-dev/lib/bb/fetch/svn.py | |||
@@ -114,13 +114,15 @@ class Svn(Fetch): | |||
114 | if command is "info": | 114 | if command is "info": |
115 | svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module) | 115 | svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module) |
116 | else: | 116 | else: |
117 | suffix = "" | ||
117 | if ud.revision: | 118 | if ud.revision: |
118 | options.append("-r %s" % ud.revision) | 119 | options.append("-r %s" % ud.revision) |
120 | suffix = "@%s" % (ud.revision) | ||
119 | elif ud.date: | 121 | elif ud.date: |
120 | options.append("-r {%s}" % ud.date) | 122 | options.append("-r {%s}" % ud.date) |
121 | 123 | ||
122 | if command is "fetch": | 124 | if command is "fetch": |
123 | svncmd = "%s co %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, ud.module) | 125 | svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module) |
124 | elif command is "update": | 126 | elif command is "update": |
125 | svncmd = "%s update %s" % (basecmd, " ".join(options)) | 127 | svncmd = "%s update %s" % (basecmd, " ".join(options)) |
126 | else: | 128 | else: |
diff --git a/bitbake-dev/lib/bb/taskdata.py b/bitbake-dev/lib/bb/taskdata.py index 782dfb0b78..64ab032c3c 100644 --- a/bitbake-dev/lib/bb/taskdata.py +++ b/bitbake-dev/lib/bb/taskdata.py | |||
@@ -340,7 +340,10 @@ class TaskData: | |||
340 | self.add_provider_internal(cfgData, dataCache, item) | 340 | self.add_provider_internal(cfgData, dataCache, item) |
341 | except bb.providers.NoProvider: | 341 | except bb.providers.NoProvider: |
342 | if self.abort: | 342 | if self.abort: |
343 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) | 343 | if self.get_rdependees_str(item): |
344 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) | ||
345 | else: | ||
346 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item)) | ||
344 | raise | 347 | raise |
345 | targetid = self.getbuild_id(item) | 348 | targetid = self.getbuild_id(item) |
346 | self.remove_buildtarget(targetid) | 349 | self.remove_buildtarget(targetid) |
@@ -358,7 +361,10 @@ class TaskData: | |||
358 | return | 361 | return |
359 | 362 | ||
360 | if not item in dataCache.providers: | 363 | if not item in dataCache.providers: |
361 | 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))) | 364 | if self.get_rdependees_str(item): |
365 | 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))) | ||
366 | else: | ||
367 | bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item)) | ||
362 | bb.event.fire(bb.event.NoProvider(item, cfgData)) | 368 | bb.event.fire(bb.event.NoProvider(item, cfgData)) |
363 | raise bb.providers.NoProvider(item) | 369 | raise bb.providers.NoProvider(item) |
364 | 370 | ||
@@ -536,7 +542,10 @@ class TaskData: | |||
536 | except bb.providers.NoProvider: | 542 | except bb.providers.NoProvider: |
537 | targetid = self.getbuild_id(target) | 543 | targetid = self.getbuild_id(target) |
538 | if self.abort and targetid in self.external_targets: | 544 | if self.abort and targetid in self.external_targets: |
539 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target))) | 545 | if self.get_rdependees_str(target): |
546 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target))) | ||
547 | else: | ||
548 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target)) | ||
540 | raise | 549 | raise |
541 | self.remove_buildtarget(targetid) | 550 | self.remove_buildtarget(targetid) |
542 | for target in self.get_unresolved_run_targets(dataCache): | 551 | for target in self.get_unresolved_run_targets(dataCache): |
diff --git a/bitbake-dev/lib/bb/utils.py b/bitbake-dev/lib/bb/utils.py index 33a0c17650..90ba9ac2e0 100644 --- a/bitbake-dev/lib/bb/utils.py +++ b/bitbake-dev/lib/bb/utils.py | |||
@@ -323,7 +323,6 @@ def preserved_envvars_list(): | |||
323 | 'HOME', | 323 | 'HOME', |
324 | 'LANG', | 324 | 'LANG', |
325 | 'LOGNAME', | 325 | 'LOGNAME', |
326 | 'OEROOT', | ||
327 | 'PATH', | 326 | 'PATH', |
328 | 'PWD', | 327 | 'PWD', |
329 | 'SESSION_MANAGER', | 328 | 'SESSION_MANAGER', |
diff --git a/bitbake/ChangeLog b/bitbake/ChangeLog index 2d50c0e364..a053ab839e 100644 --- a/bitbake/ChangeLog +++ b/bitbake/ChangeLog | |||
@@ -59,7 +59,20 @@ Changes in BitBake 1.8.x: | |||
59 | all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be | 59 | all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be |
60 | used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used | 60 | used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used |
61 | to extend the internal whitelist. | 61 | to extend the internal whitelist. |
62 | - Perforce fetcher fix to use commandline options instead of being overriden by the environment | ||
63 | - use @rev when doing a svn checkout | ||
64 | - Add osc fetcher (from Joshua Lock in Poky) | ||
62 | - When SRCREV autorevisioning for a recipe is in use, don't cache the recipe | 65 | - When SRCREV autorevisioning for a recipe is in use, don't cache the recipe |
66 | - Add tryaltconfigs option to control whether bitbake trys using alternative providers | ||
67 | to fulfil failed dependencies. It defaults to off, changing the default since this | ||
68 | behaviour confuses many users and isn't often useful. | ||
69 | - Improve lock file function error handling | ||
70 | - Add username handling to the git fetcher (Robert Bragg) | ||
71 | - Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher | ||
72 | - Export more variables to the fetcher commands to allow ssh checkouts and checkouts through | ||
73 | proxies to work better. (from Poky) | ||
74 | - Also allow user and pswd options in SRC_URIs globally (from Poky) | ||
75 | - Improve proxy handling when using mirrors (from Poky) | ||
63 | 76 | ||
64 | Changes in BitBake 1.8.10: | 77 | Changes in BitBake 1.8.10: |
65 | - Psyco is available only for x86 - do not use it on other architectures. | 78 | - Psyco is available only for x86 - do not use it on other architectures. |
@@ -104,6 +117,7 @@ Changes in BitBake 1.8.10: | |||
104 | - Add support for branches in git fetcher (Otavio Salvador, Michael Lauer) | 117 | - Add support for branches in git fetcher (Otavio Salvador, Michael Lauer) |
105 | - Make taskdata and runqueue errors more user friendly | 118 | - Make taskdata and runqueue errors more user friendly |
106 | - Add norecurse and fullpath options to cvs fetcher | 119 | - Add norecurse and fullpath options to cvs fetcher |
120 | - bb.utils.prunedir can cope with symlinks to directories without exceptions | ||
107 | 121 | ||
108 | Changes in Bitbake 1.8.8: | 122 | Changes in Bitbake 1.8.8: |
109 | - Rewrite svn fetcher to make adding extra operations easier | 123 | - Rewrite svn fetcher to make adding extra operations easier |
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 1c87bfa12d..a4a4f47cef 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py | |||
@@ -95,7 +95,11 @@ class Cache: | |||
95 | bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...") | 95 | bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...") |
96 | self.depends_cache = {} | 96 | self.depends_cache = {} |
97 | else: | 97 | else: |
98 | bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...") | 98 | try: |
99 | os.stat( self.cachefile ) | ||
100 | bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...") | ||
101 | except OSError: | ||
102 | pass | ||
99 | 103 | ||
100 | def getVar(self, var, fn, exp = 0): | 104 | def getVar(self, var, fn, exp = 0): |
101 | """ | 105 | """ |
diff --git a/bitbake/lib/bb/fetch/hg.py b/bitbake/lib/bb/fetch/hg.py index 1cd5a8aa5c..b87fd0fbe5 100644 --- a/bitbake/lib/bb/fetch/hg.py +++ b/bitbake/lib/bb/fetch/hg.py | |||
@@ -79,7 +79,7 @@ class Hg(Fetch): | |||
79 | host = "/" | 79 | host = "/" |
80 | ud.host = "localhost" | 80 | ud.host = "localhost" |
81 | 81 | ||
82 | if ud.user == None: | 82 | if not ud.user: |
83 | hgroot = host + ud.path | 83 | hgroot = host + ud.path |
84 | else: | 84 | else: |
85 | hgroot = ud.user + "@" + host + ud.path | 85 | hgroot = ud.user + "@" + host + ud.path |
diff --git a/bitbake/lib/bb/fetch/perforce.py b/bitbake/lib/bb/fetch/perforce.py index b594d2bde2..2fb38b4190 100644 --- a/bitbake/lib/bb/fetch/perforce.py +++ b/bitbake/lib/bb/fetch/perforce.py | |||
@@ -67,14 +67,15 @@ class Perforce(Fetch): | |||
67 | doparse = staticmethod(doparse) | 67 | doparse = staticmethod(doparse) |
68 | 68 | ||
69 | def getcset(d, depot,host,user,pswd,parm): | 69 | def getcset(d, depot,host,user,pswd,parm): |
70 | p4opt = "" | ||
70 | if "cset" in parm: | 71 | if "cset" in parm: |
71 | return parm["cset"]; | 72 | return parm["cset"]; |
72 | if user: | 73 | if user: |
73 | data.setVar('P4USER', user, d) | 74 | p4opt += " -u %s" % (user) |
74 | if pswd: | 75 | if pswd: |
75 | data.setVar('P4PASSWD', pswd, d) | 76 | p4opt += " -P %s" % (pswd) |
76 | if host: | 77 | if host: |
77 | data.setVar('P4PORT', host, d) | 78 | p4opt += " -p %s" % (host) |
78 | 79 | ||
79 | p4date = data.getVar("P4DATE", d, 1) | 80 | p4date = data.getVar("P4DATE", d, 1) |
80 | if "revision" in parm: | 81 | if "revision" in parm: |
@@ -85,8 +86,8 @@ class Perforce(Fetch): | |||
85 | depot += "@%s" % (p4date) | 86 | depot += "@%s" % (p4date) |
86 | 87 | ||
87 | p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1) | 88 | p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1) |
88 | bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s changes -m 1 %s" % (p4cmd, depot)) | 89 | bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s%s changes -m 1 %s" % (p4cmd, p4opt, depot)) |
89 | p4file = os.popen("%s changes -m 1 %s" % (p4cmd,depot)) | 90 | p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot)) |
90 | cset = p4file.readline().strip() | 91 | cset = p4file.readline().strip() |
91 | bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset)) | 92 | bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset)) |
92 | if not cset: | 93 | if not cset: |
@@ -146,14 +147,15 @@ class Perforce(Fetch): | |||
146 | data.update_data(localdata) | 147 | data.update_data(localdata) |
147 | 148 | ||
148 | # Get the p4 command | 149 | # Get the p4 command |
150 | p4opt = "" | ||
149 | if user: | 151 | if user: |
150 | data.setVar('P4USER', user, localdata) | 152 | p4opt += " -u %s" % (user) |
151 | 153 | ||
152 | if pswd: | 154 | if pswd: |
153 | data.setVar('P4PASSWD', pswd, localdata) | 155 | p4opt += " -P %s" % (pswd) |
154 | 156 | ||
155 | if host: | 157 | if host: |
156 | data.setVar('P4PORT', host, localdata) | 158 | p4opt += " -p %s" % (host) |
157 | 159 | ||
158 | p4cmd = data.getVar('FETCHCOMMAND', localdata, 1) | 160 | p4cmd = data.getVar('FETCHCOMMAND', localdata, 1) |
159 | 161 | ||
@@ -175,8 +177,8 @@ class Perforce(Fetch): | |||
175 | 177 | ||
176 | os.chdir(tmpfile) | 178 | os.chdir(tmpfile) |
177 | bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc) | 179 | bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc) |
178 | bb.msg.note(1, bb.msg.domain.Fetcher, "%s files %s" % (p4cmd, depot)) | 180 | bb.msg.note(1, bb.msg.domain.Fetcher, "%s%s files %s" % (p4cmd, p4opt, depot)) |
179 | p4file = os.popen("%s files %s" % (p4cmd, depot)) | 181 | p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot)) |
180 | 182 | ||
181 | if not p4file: | 183 | if not p4file: |
182 | bb.error("Fetch: unable to get the P4 files from %s" % (depot)) | 184 | bb.error("Fetch: unable to get the P4 files from %s" % (depot)) |
@@ -193,7 +195,7 @@ class Perforce(Fetch): | |||
193 | dest = list[0][len(path)+1:] | 195 | dest = list[0][len(path)+1:] |
194 | where = dest.find("#") | 196 | where = dest.find("#") |
195 | 197 | ||
196 | os.system("%s print -o %s/%s %s" % (p4cmd, module,dest[:where],list[0])) | 198 | os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0])) |
197 | count = count + 1 | 199 | count = count + 1 |
198 | 200 | ||
199 | if count == 0: | 201 | if count == 0: |
diff --git a/bitbake/lib/bb/fetch/svn.py b/bitbake/lib/bb/fetch/svn.py index 5e5b31b3ad..aead1629b3 100644 --- a/bitbake/lib/bb/fetch/svn.py +++ b/bitbake/lib/bb/fetch/svn.py | |||
@@ -114,13 +114,15 @@ class Svn(Fetch): | |||
114 | if command is "info": | 114 | if command is "info": |
115 | svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module) | 115 | svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module) |
116 | else: | 116 | else: |
117 | suffix = "" | ||
117 | if ud.revision: | 118 | if ud.revision: |
118 | options.append("-r %s" % ud.revision) | 119 | options.append("-r %s" % ud.revision) |
120 | suffix = "@%s" % (ud.revision) | ||
119 | elif ud.date: | 121 | elif ud.date: |
120 | options.append("-r {%s}" % ud.date) | 122 | options.append("-r {%s}" % ud.date) |
121 | 123 | ||
122 | if command is "fetch": | 124 | if command is "fetch": |
123 | svncmd = "%s co %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, ud.module) | 125 | svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module) |
124 | elif command is "update": | 126 | elif command is "update": |
125 | svncmd = "%s update %s" % (basecmd, " ".join(options)) | 127 | svncmd = "%s update %s" % (basecmd, " ".join(options)) |
126 | else: | 128 | else: |
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index 782dfb0b78..64ab032c3c 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py | |||
@@ -340,7 +340,10 @@ class TaskData: | |||
340 | self.add_provider_internal(cfgData, dataCache, item) | 340 | self.add_provider_internal(cfgData, dataCache, item) |
341 | except bb.providers.NoProvider: | 341 | except bb.providers.NoProvider: |
342 | if self.abort: | 342 | if self.abort: |
343 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) | 343 | if self.get_rdependees_str(item): |
344 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item))) | ||
345 | else: | ||
346 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item)) | ||
344 | raise | 347 | raise |
345 | targetid = self.getbuild_id(item) | 348 | targetid = self.getbuild_id(item) |
346 | self.remove_buildtarget(targetid) | 349 | self.remove_buildtarget(targetid) |
@@ -358,7 +361,10 @@ class TaskData: | |||
358 | return | 361 | return |
359 | 362 | ||
360 | if not item in dataCache.providers: | 363 | if not item in dataCache.providers: |
361 | 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))) | 364 | if self.get_rdependees_str(item): |
365 | 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))) | ||
366 | else: | ||
367 | bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item)) | ||
362 | bb.event.fire(bb.event.NoProvider(item, cfgData)) | 368 | bb.event.fire(bb.event.NoProvider(item, cfgData)) |
363 | raise bb.providers.NoProvider(item) | 369 | raise bb.providers.NoProvider(item) |
364 | 370 | ||
@@ -536,7 +542,10 @@ class TaskData: | |||
536 | except bb.providers.NoProvider: | 542 | except bb.providers.NoProvider: |
537 | targetid = self.getbuild_id(target) | 543 | targetid = self.getbuild_id(target) |
538 | if self.abort and targetid in self.external_targets: | 544 | if self.abort and targetid in self.external_targets: |
539 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target))) | 545 | if self.get_rdependees_str(target): |
546 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target))) | ||
547 | else: | ||
548 | bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target)) | ||
540 | raise | 549 | raise |
541 | self.remove_buildtarget(targetid) | 550 | self.remove_buildtarget(targetid) |
542 | for target in self.get_unresolved_run_targets(dataCache): | 551 | for target in self.get_unresolved_run_targets(dataCache): |
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index cc3d03f609..5015779f8d 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py | |||
@@ -323,7 +323,6 @@ def preserved_envvars_list(): | |||
323 | 'HOME', | 323 | 'HOME', |
324 | 'LANG', | 324 | 'LANG', |
325 | 'LOGNAME', | 325 | 'LOGNAME', |
326 | 'OEROOT', | ||
327 | 'PATH', | 326 | 'PATH', |
328 | 'PWD', | 327 | 'PWD', |
329 | 'SESSION_MANAGER', | 328 | 'SESSION_MANAGER', |