summaryrefslogtreecommitdiff
path: root/yocto-poky/scripts/oe-pkgdata-util
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/scripts/oe-pkgdata-util')
-rwxr-xr-xyocto-poky/scripts/oe-pkgdata-util33
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',