diff options
| author | Joshua Lock <josh@openedhand.com> | 2008-09-30 16:54:37 +0000 |
|---|---|---|
| committer | Joshua Lock <josh@openedhand.com> | 2008-09-30 16:54:37 +0000 |
| commit | cbaab65ff4bb3e4fc77066032a8858f4d5d61241 (patch) | |
| tree | 393dcbb8a980e4d8c0c9d9db4eb3405e9c7f5f90 /bitbake-dev/lib/bb/utils.py | |
| parent | d54280dd315810ad8cdbce5c52a1af3de902f6ef (diff) | |
| download | poky-cbaab65ff4bb3e4fc77066032a8858f4d5d61241.tar.gz | |
Merge changes from Poky bitbake 1.8
Update bitbake-dev to have extra fixes from Poky's internal (1.8) version of bitbake.
Should be able to use bitbake-dev with Poky now.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5340 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'bitbake-dev/lib/bb/utils.py')
| -rw-r--r-- | bitbake-dev/lib/bb/utils.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bitbake-dev/lib/bb/utils.py b/bitbake-dev/lib/bb/utils.py index 17e22e389e..0a0c9ada34 100644 --- a/bitbake-dev/lib/bb/utils.py +++ b/bitbake-dev/lib/bb/utils.py | |||
| @@ -96,7 +96,34 @@ def explode_deps(s): | |||
| 96 | #r[-1] += ' ' + ' '.join(j) | 96 | #r[-1] += ' ' + ' '.join(j) |
| 97 | return r | 97 | return r |
| 98 | 98 | ||
| 99 | def explode_dep_versions(s): | ||
| 100 | """ | ||
| 101 | Take an RDEPENDS style string of format: | ||
| 102 | "DEPEND1 (optional version) DEPEND2 (optional version) ..." | ||
| 103 | and return a dictonary of dependencies and versions. | ||
| 104 | """ | ||
| 105 | r = {} | ||
| 106 | l = s.split() | ||
| 107 | lastdep = None | ||
| 108 | lastver = "" | ||
| 109 | inversion = False | ||
| 110 | for i in l: | ||
| 111 | if i[0] == '(': | ||
| 112 | inversion = True | ||
| 113 | lastver = i[1:] or "" | ||
| 114 | #j = [] | ||
| 115 | elif inversion and i.endswith(')'): | ||
| 116 | inversion = False | ||
| 117 | lastver = lastver + " " + (i[:-1] or "") | ||
| 118 | r[lastdep] = lastver | ||
| 119 | elif not inversion: | ||
| 120 | r[i] = None | ||
| 121 | lastdep = i | ||
| 122 | lastver = "" | ||
| 123 | elif inversion: | ||
| 124 | lastver = lastver + " " + i | ||
| 99 | 125 | ||
| 126 | return r | ||
| 100 | 127 | ||
| 101 | def _print_trace(body, line): | 128 | def _print_trace(body, line): |
| 102 | """ | 129 | """ |
| @@ -268,3 +295,13 @@ def sha256_file(filename): | |||
| 268 | for line in open(filename): | 295 | for line in open(filename): |
| 269 | s.update(line) | 296 | s.update(line) |
| 270 | return s.hexdigest() | 297 | return s.hexdigest() |
| 298 | |||
| 299 | def prunedir(topdir): | ||
| 300 | # Delete everything reachable from the directory named in 'topdir'. | ||
| 301 | # CAUTION: This is dangerous! | ||
| 302 | for root, dirs, files in os.walk(topdir, topdown=False): | ||
| 303 | for name in files: | ||
| 304 | os.remove(os.path.join(root, name)) | ||
| 305 | for name in dirs: | ||
| 306 | os.rmdir(os.path.join(root, name)) | ||
| 307 | os.rmdir(topdir) | ||
