diff options
Diffstat (limited to 'yocto-poky/scripts/oe-pkgdata-util')
-rwxr-xr-x | yocto-poky/scripts/oe-pkgdata-util | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/yocto-poky/scripts/oe-pkgdata-util b/yocto-poky/scripts/oe-pkgdata-util index cb19cc4ae..a04e44d35 100755 --- a/yocto-poky/scripts/oe-pkgdata-util +++ b/yocto-poky/scripts/oe-pkgdata-util @@ -33,6 +33,7 @@ scripts_path = os.path.dirname(os.path.realpath(__file__)) lib_path = scripts_path + '/lib' sys.path = sys.path + [lib_path] import scriptutils +import argparse_oe logger = scriptutils.logger_create('pkgdatautil') def tinfoil_init(): @@ -160,8 +161,18 @@ def glob(args): def read_value(args): # Handle both multiple arguments and multiple values within an arg (old syntax) packages = [] - for pkgitem in args.pkg: - packages.extend(pkgitem.split()) + if args.file: + with open(args.file, 'r') as f: + for line in f: + splitline = line.split() + if splitline: + packages.append(splitline[0]) + else: + for pkgitem in args.pkg: + packages.extend(pkgitem.split()) + if not packages: + logger.error("No packages specified") + sys.exit(1) def readvar(pkgdata_file, valuename): val = "" @@ -186,9 +197,13 @@ def read_value(args): qvar = "%s_%s" % (args.valuename, mappedpkg) # PKGSIZE is now in bytes, but we we want it in KB pkgsize = (int(readvar(revlink, qvar)) + 1024 // 2) // 1024 - print("%d" % pkgsize) + value = "%d" % pkgsize + else: + value = readvar(revlink, qvar) + if args.prefix_name: + print('%s %s' % (pkg_name, value)) else: - print(readvar(revlink, qvar)) + print(value) def lookup_pkglist(pkgs, pkgdata_dir, reverse): if reverse: @@ -365,7 +380,7 @@ def list_pkg_files(args): sys.exit(1) pkglist = args.pkg - for pkg in pkglist: + for pkg in sorted(pkglist): print("%s:" % pkg) if args.runtime: pkgdatafile = os.path.join(args.pkgdata_dir, "runtime-reverse", pkg) @@ -417,8 +432,8 @@ def find_path(args): def main(): - parser = argparse.ArgumentParser(description="OpenEmbedded pkgdata tool - queries the pkgdata files written out during do_package", - epilog="Use %(prog)s <subcommand> --help to get help on a specific command") + parser = argparse_oe.ArgumentParser(description="OpenEmbedded pkgdata tool - queries the pkgdata files written out during do_package", + epilog="Use %(prog)s <subcommand> --help to get help on a specific command") parser.add_argument('-d', '--debug', help='Enable debug output', action='store_true') parser.add_argument('-p', '--pkgdata-dir', help='Path to pkgdata directory (determined automatically if not specified)') subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>') @@ -464,7 +479,9 @@ def main(): help='Read any pkgdata value for one or more packages', description='Reads the named value from the pkgdata files for the specified packages') parser_read_value.add_argument('valuename', help='Name of the value to look up') - parser_read_value.add_argument('pkg', nargs='+', help='Runtime package name to look up') + parser_read_value.add_argument('pkg', nargs='*', help='Runtime package name to look up') + parser_read_value.add_argument('-f', '--file', help='Read package names from the specified file (one per line, first field only)') + parser_read_value.add_argument('-n', '--prefix-name', help='Prefix output with package name', action='store_true') parser_read_value.set_defaults(func=read_value) parser_glob = subparsers.add_parser('glob', |