diff options
| -rwxr-xr-x | scripts/oe-pkgdata-util | 78 |
1 files changed, 38 insertions, 40 deletions
diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index c0fd50d549..e34fcbe079 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | # | 4 | # |
| 5 | # Written by: Paul Eggleton <paul.eggleton@linux.intel.com> | 5 | # Written by: Paul Eggleton <paul.eggleton@linux.intel.com> |
| 6 | # | 6 | # |
| 7 | # Copyright 2012 Intel Corporation | 7 | # Copyright 2012-2013 Intel Corporation |
| 8 | # | 8 | # |
| 9 | # This program is free software; you can redistribute it and/or modify | 9 | # This program is free software; you can redistribute it and/or modify |
| 10 | # it under the terms of the GNU General Public License version 2 as | 10 | # it under the terms of the GNU General Public License version 2 as |
| @@ -19,28 +19,16 @@ | |||
| 19 | # with this program; if not, write to the Free Software Foundation, Inc., | 19 | # with this program; if not, write to the Free Software Foundation, Inc., |
| 20 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 20 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| 21 | # | 21 | # |
| 22 | # | ||
| 23 | # Currently only has two functions: | ||
| 24 | # 1) glob - mapping of packages to their dev/dbg/doc/locale etc. counterparts. | ||
| 25 | # 2) read-value - mapping of packagenames to their location in | ||
| 26 | # pkgdata and then returns value of selected variable (e.g. PKGSIZE) | ||
| 27 | # Could be extended in future to perform other useful querying functions on the | ||
| 28 | # pkgdata though. | ||
| 29 | # | ||
| 30 | 22 | ||
| 31 | import sys | 23 | import sys |
| 32 | import os | 24 | import os |
| 33 | import os.path | 25 | import os.path |
| 34 | import fnmatch | 26 | import fnmatch |
| 35 | import re | 27 | import re |
| 36 | 28 | import optparse | |
| 37 | def usage(): | ||
| 38 | print("syntax: oe-pkgdata-util glob [-d] <pkgdatadir> <pkglist> \"<globs>\"\n \ | ||
| 39 | read-value [-d] <pkgdatadir> <value-name> \"<pkgs>\""); | ||
| 40 | |||
| 41 | 29 | ||
| 42 | 30 | ||
| 43 | def glob(args): | 31 | def glob(args, usage): |
| 44 | if len(args) < 3: | 32 | if len(args) < 3: |
| 45 | usage() | 33 | usage() |
| 46 | sys.exit(1) | 34 | sys.exit(1) |
| @@ -151,7 +139,7 @@ def glob(args): | |||
| 151 | 139 | ||
| 152 | print("\n".join(mappedpkgs)) | 140 | print("\n".join(mappedpkgs)) |
| 153 | 141 | ||
| 154 | def read_value(args): | 142 | def read_value(args, usage): |
| 155 | if len(args) < 3: | 143 | if len(args) < 3: |
| 156 | usage() | 144 | usage() |
| 157 | sys.exit(1) | 145 | sys.exit(1) |
| @@ -186,28 +174,38 @@ def read_value(args): | |||
| 186 | qvar = "%s_%s" % (var, mappedpkg) | 174 | qvar = "%s_%s" % (var, mappedpkg) |
| 187 | print(readvar(revlink, qvar)) | 175 | print(readvar(revlink, qvar)) |
| 188 | 176 | ||
| 189 | # Too lazy to use getopt | 177 | |
| 190 | debug = False | 178 | def main(): |
| 191 | noopt = False | 179 | parser = optparse.OptionParser( |
| 192 | args = [] | 180 | usage = '''%prog [options] <command> <arguments> |
| 193 | for arg in sys.argv[1:]: | 181 | |
| 194 | if arg == "--": | 182 | Available commands: |
| 195 | noopt = True | 183 | glob <pkgdatadir> <pkglistfile> "<globs>" |
| 184 | expand one or more glob expressions over the packages listed in | ||
| 185 | pkglistfile (one package per line) | ||
| 186 | read-value <pkgdatadir> <value-name> "<pkgs>" | ||
| 187 | read the named value from the pkgdata files for the specified | ||
| 188 | packages''') | ||
| 189 | |||
| 190 | parser.add_option("-d", "--debug", | ||
| 191 | help = "Report all SRCREV values, not just ones where AUTOREV has been used", | ||
| 192 | action="store_true", dest="debug") | ||
| 193 | |||
| 194 | options, args = parser.parse_args(sys.argv) | ||
| 195 | args = args[1:] | ||
| 196 | |||
| 197 | if len(args) < 1: | ||
| 198 | parser.print_help() | ||
| 199 | sys.exit(1) | ||
| 200 | |||
| 201 | if args[0] == "glob": | ||
| 202 | glob(args[1:], parser.print_help) | ||
| 203 | elif args[0] == "read-value": | ||
| 204 | read_value(args[1:], parser.print_help) | ||
| 196 | else: | 205 | else: |
| 197 | if not noopt: | 206 | parser.print_help() |
| 198 | if arg == "-d": | 207 | sys.exit(1) |
| 199 | debug = True | 208 | |
| 200 | continue | 209 | |
| 201 | args.append(arg) | 210 | if __name__ == "__main__": |
| 202 | 211 | main() | |
| 203 | if len(args) < 1: | ||
| 204 | usage() | ||
| 205 | sys.exit(1) | ||
| 206 | |||
| 207 | if args[0] == "glob": | ||
| 208 | glob(args[1:]) | ||
| 209 | elif args[0] == "read-value": | ||
| 210 | read_value(args[1:]) | ||
| 211 | else: | ||
| 212 | usage() | ||
| 213 | sys.exit(1) | ||
