diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/oe-pkgdata-util | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 17e946e1e4..03c8f95305 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util | |||
| @@ -262,25 +262,20 @@ def find_path(args, usage, debug=False): | |||
| 262 | print('ERROR: Unable to find pkgdata directory %s' % pkgdata_dir) | 262 | print('ERROR: Unable to find pkgdata directory %s' % pkgdata_dir) |
| 263 | sys.exit(1) | 263 | sys.exit(1) |
| 264 | 264 | ||
| 265 | import ast | 265 | import json |
| 266 | import fnmatch | 266 | import fnmatch |
| 267 | 267 | ||
| 268 | for root, dirs, files in os.walk(os.path.join(pkgdata_dir, 'runtime')): | 268 | for root, dirs, files in os.walk(os.path.join(pkgdata_dir, 'runtime')): |
| 269 | for fn in files: | 269 | for fn in files: |
| 270 | pkgsplitname = '/packages-split/%s' % fn | ||
| 271 | with open(os.path.join(root,fn)) as f: | 270 | with open(os.path.join(root,fn)) as f: |
| 272 | for line in f: | 271 | for line in f: |
| 273 | if line.startswith('FILES_INFO:'): | 272 | if line.startswith('FILES_INFO:'): |
| 274 | val = line.split(':', 1)[1].strip().replace('\\\'', '\'') | 273 | val = line.split(':', 1)[1].strip() |
| 275 | dictval = ast.literal_eval(val) | 274 | dictval = json.loads(val) |
| 276 | for parent, dirlist in dictval.items(): | 275 | for fullpth in dictval.keys(): |
| 277 | idx = parent.find(pkgsplitname) | 276 | if fnmatch.fnmatchcase(fullpth, targetpath): |
| 278 | if idx > -1: | 277 | print("%s: %s" % (fn, fullpth)) |
| 279 | parent = parent[idx+len(pkgsplitname):] | 278 | break |
| 280 | for basename in dirlist: | ||
| 281 | fullpth = os.path.join(parent, basename) | ||
| 282 | if fnmatch.fnmatchcase(fullpth, targetpath): | ||
| 283 | print("%s: %s" % (fn, fullpth)) | ||
| 284 | 279 | ||
| 285 | 280 | ||
| 286 | def main(): | 281 | def main(): |
