diff options
| author | Richard Purdie <richard@openedhand.com> | 2008-04-27 11:22:54 +0000 |
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2008-04-27 11:22:54 +0000 |
| commit | 748039c0e195da2ab3de76ab818a88352921b170 (patch) | |
| tree | c71a94c4f88b9265d0b3c060bd786e671b29259c | |
| parent | 192e4fb821f7158fdeeee129f8c3d8f27dd2ea1a (diff) | |
| download | poky-748039c0e195da2ab3de76ab818a88352921b170.tar.gz | |
bitbake: Sync with bitbake 1.8 branch
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4352 311d38ba-8fff-0310-9ca6-ca027cbcb966
| -rw-r--r-- | bitbake/ChangeLog | 4 | ||||
| -rw-r--r-- | bitbake/lib/bb/fetch/__init__.py | 24 | ||||
| -rw-r--r-- | bitbake/lib/bb/fetch/cvs.py | 2 | ||||
| -rw-r--r-- | bitbake/lib/bb/fetch/local.py | 8 | ||||
| -rw-r--r-- | bitbake/lib/bb/fetch/wget.py | 16 |
5 files changed, 48 insertions, 6 deletions
diff --git a/bitbake/ChangeLog b/bitbake/ChangeLog index 7bed88112e..871f260c48 100644 --- a/bitbake/ChangeLog +++ b/bitbake/ChangeLog | |||
| @@ -26,6 +26,10 @@ Changes in BitBake 1.8.x: | |||
| 26 | failed where needed. Fixes --continue mode crashes. | 26 | failed where needed. Fixes --continue mode crashes. |
| 27 | - Fix problems with recrdeptask handling where some idepends weren't handled | 27 | - Fix problems with recrdeptask handling where some idepends weren't handled |
| 28 | correctly. | 28 | correctly. |
| 29 | - Work around refs/HEAD issues with git over http (#3410) | ||
| 30 | - Add proxy support to the CVS fetcher (from Cyril Chemparathy) | ||
| 31 | - Improve runfetchcmd so errors are seen and various GIT variables are exported | ||
| 32 | - Add ability to fetchers to check URL validity without downloading | ||
| 29 | 33 | ||
| 30 | Changes in BitBake 1.8.10: | 34 | Changes in BitBake 1.8.10: |
| 31 | - Psyco is available only for x86 - do not use it on other architectures. | 35 | - Psyco is available only for x86 - do not use it on other architectures. |
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py index 41eebb29b5..c697f4744f 100644 --- a/bitbake/lib/bb/fetch/__init__.py +++ b/bitbake/lib/bb/fetch/__init__.py | |||
| @@ -162,6 +162,22 @@ def go(d): | |||
| 162 | Fetch.write_md5sum(u, ud, d) | 162 | Fetch.write_md5sum(u, ud, d) |
| 163 | bb.utils.unlockfile(lf) | 163 | bb.utils.unlockfile(lf) |
| 164 | 164 | ||
| 165 | |||
| 166 | def checkstatus(d): | ||
| 167 | """ | ||
| 168 | Check all urls exist upstream | ||
| 169 | init must have previously been called | ||
| 170 | """ | ||
| 171 | urldata = init([], d, True) | ||
| 172 | |||
| 173 | for u in urldata: | ||
| 174 | ud = urldata[u] | ||
| 175 | m = ud.method | ||
| 176 | bb.msg.note(1, bb.msg.domain.Fetcher, "Testing URL %s" % u) | ||
| 177 | ret = m.checkstatus(u, ud, d) | ||
| 178 | if not ret: | ||
| 179 | bb.msg.fatal(bb.msg.domain.Fetcher, "URL %s doesn't work" % u) | ||
| 180 | |||
| 165 | def localpaths(d): | 181 | def localpaths(d): |
| 166 | """ | 182 | """ |
| 167 | Return a list of the local filenames, assuming successful fetch | 183 | Return a list of the local filenames, assuming successful fetch |
| @@ -364,6 +380,14 @@ class Fetch(object): | |||
| 364 | """ | 380 | """ |
| 365 | raise NoMethodError("Missing implementation for url") | 381 | raise NoMethodError("Missing implementation for url") |
| 366 | 382 | ||
| 383 | def checkstatus(self, url, urldata, d): | ||
| 384 | """ | ||
| 385 | Check the status of a URL | ||
| 386 | Assumes localpath was called first | ||
| 387 | """ | ||
| 388 | bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s could not be checked for status since no method exists." % url) | ||
| 389 | return True | ||
| 390 | |||
| 367 | def getSRCDate(urldata, d): | 391 | def getSRCDate(urldata, d): |
| 368 | """ | 392 | """ |
| 369 | Return the SRC Date for the component | 393 | Return the SRC Date for the component |
diff --git a/bitbake/lib/bb/fetch/cvs.py b/bitbake/lib/bb/fetch/cvs.py index 01acc3f785..c4ccf4303f 100644 --- a/bitbake/lib/bb/fetch/cvs.py +++ b/bitbake/lib/bb/fetch/cvs.py | |||
| @@ -118,7 +118,7 @@ class Cvs(Fetch): | |||
| 118 | if 'norecurse' in ud.parm: | 118 | if 'norecurse' in ud.parm: |
| 119 | options.append("-l") | 119 | options.append("-l") |
| 120 | if ud.date: | 120 | if ud.date: |
| 121 | options.append("-D %s" % ud.date) | 121 | options.append("-D \"%s UTC\"" % ud.date) |
| 122 | if ud.tag: | 122 | if ud.tag: |
| 123 | options.append("-r %s" % ud.tag) | 123 | options.append("-r %s" % ud.tag) |
| 124 | 124 | ||
diff --git a/bitbake/lib/bb/fetch/local.py b/bitbake/lib/bb/fetch/local.py index 5e480a208e..a39cdce22f 100644 --- a/bitbake/lib/bb/fetch/local.py +++ b/bitbake/lib/bb/fetch/local.py | |||
| @@ -59,3 +59,11 @@ class Local(Fetch): | |||
| 59 | """Fetch urls (no-op for Local method)""" | 59 | """Fetch urls (no-op for Local method)""" |
| 60 | # no need to fetch local files, we'll deal with them in place. | 60 | # no need to fetch local files, we'll deal with them in place. |
| 61 | return 1 | 61 | return 1 |
| 62 | |||
| 63 | def checkstatus(self, url, urldata, d): | ||
| 64 | """ | ||
| 65 | Check the status of the url | ||
| 66 | """ | ||
| 67 | if os.path.exists(urldata.localpath): | ||
| 68 | return True | ||
| 69 | return False | ||
diff --git a/bitbake/lib/bb/fetch/wget.py b/bitbake/lib/bb/fetch/wget.py index f8ade45da7..a5979dead8 100644 --- a/bitbake/lib/bb/fetch/wget.py +++ b/bitbake/lib/bb/fetch/wget.py | |||
| @@ -48,11 +48,13 @@ class Wget(Fetch): | |||
| 48 | 48 | ||
| 49 | return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile) | 49 | return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile) |
| 50 | 50 | ||
| 51 | def go(self, uri, ud, d): | 51 | def go(self, uri, ud, d, checkonly = False): |
| 52 | """Fetch urls""" | 52 | """Fetch urls""" |
| 53 | 53 | ||
| 54 | def fetch_uri(uri, ud, d): | 54 | def fetch_uri(uri, ud, d): |
| 55 | if os.path.exists(ud.localpath): | 55 | if checkonly: |
| 56 | fetchcmd = data.getVar("FETCHCOMMAND", d, 1) + " " + data.getVar("FETCHOPTION_checkonly", d, 1) | ||
| 57 | elif os.path.exists(ud.localpath): | ||
| 56 | # file exists, but we didnt complete it.. trying again.. | 58 | # file exists, but we didnt complete it.. trying again.. |
| 57 | fetchcmd = data.getVar("RESUMECOMMAND", d, 1) | 59 | fetchcmd = data.getVar("RESUMECOMMAND", d, 1) |
| 58 | else: | 60 | else: |
| @@ -83,10 +85,10 @@ class Wget(Fetch): | |||
| 83 | newuri = uri_replace(uri, find, replace, d) | 85 | newuri = uri_replace(uri, find, replace, d) |
| 84 | if newuri != uri: | 86 | if newuri != uri: |
| 85 | if fetch_uri(newuri, ud, localdata): | 87 | if fetch_uri(newuri, ud, localdata): |
| 86 | return | 88 | return True |
| 87 | 89 | ||
| 88 | if fetch_uri(uri, ud, localdata): | 90 | if fetch_uri(uri, ud, localdata): |
| 89 | return | 91 | return True |
| 90 | 92 | ||
| 91 | # try mirrors | 93 | # try mirrors |
| 92 | mirrors = [ i.split() for i in (data.getVar('MIRRORS', localdata, 1) or "").split('\n') if i ] | 94 | mirrors = [ i.split() for i in (data.getVar('MIRRORS', localdata, 1) or "").split('\n') if i ] |
| @@ -94,6 +96,10 @@ class Wget(Fetch): | |||
| 94 | newuri = uri_replace(uri, find, replace, d) | 96 | newuri = uri_replace(uri, find, replace, d) |
| 95 | if newuri != uri: | 97 | if newuri != uri: |
| 96 | if fetch_uri(newuri, ud, localdata): | 98 | if fetch_uri(newuri, ud, localdata): |
| 97 | return | 99 | return True |
| 98 | 100 | ||
| 99 | raise FetchError(uri) | 101 | raise FetchError(uri) |
| 102 | |||
| 103 | |||
| 104 | def checkstatus(self, uri, ud, d): | ||
| 105 | return self.go(uri, ud, d, True) | ||
