diff options
| author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2015-02-18 10:26:33 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-03-03 14:34:17 +0000 |
| commit | c82164fd0aa29d08681802ed9e2effdc2f2f62d3 (patch) | |
| tree | 8fd4946fb4c64902a31a3c592033f8e99aa5ff86 /scripts/oe-pkgdata-util | |
| parent | 586a3d5ff5e2fa84bb031e491fc6f5a53aa389a3 (diff) | |
| download | poky-c82164fd0aa29d08681802ed9e2effdc2f2f62d3.tar.gz | |
lib/oe/package_manager: support exclusion from complementary glob process by regex
Sometimes you do not want certain packages to be installed when
installing complementary packages, e.g. when using dev-pkgs in
IMAGE_FEATURES you may not want to install all packages from a
particular multilib. This introduces a new PACKAGE_EXCLUDE_COMPLEMENTARY
variable to allow specifying regexes to match packages to exclude.
(From OE-Core master rev: d4fe8f639d87d5ff35e50d07d41d0c1e9f12c4e3)
(From OE-Core rev: 5e92eb11cdf1dd06a3e2ca015f1aebaace321acd)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/oe-pkgdata-util')
| -rwxr-xr-x | scripts/oe-pkgdata-util | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index a373116b2c..49009559bb 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util | |||
| @@ -28,7 +28,7 @@ import re | |||
| 28 | import optparse | 28 | import optparse |
| 29 | from collections import defaultdict | 29 | from collections import defaultdict |
| 30 | 30 | ||
| 31 | def glob(args, usage, debug=False): | 31 | def glob(args, usage, debug=False, exclude=""): |
| 32 | if len(args) < 3: | 32 | if len(args) < 3: |
| 33 | usage() | 33 | usage() |
| 34 | sys.exit(1) | 34 | sys.exit(1) |
| @@ -45,7 +45,10 @@ def glob(args, usage, debug=False): | |||
| 45 | print('ERROR: Unable to find package list file %s' % pkglist_file) | 45 | print('ERROR: Unable to find package list file %s' % pkglist_file) |
| 46 | sys.exit(1) | 46 | sys.exit(1) |
| 47 | 47 | ||
| 48 | skipregex = re.compile("-locale-|^locale-base-|-dev$|-doc$|-dbg$|-staticdev$|^kernel-module-") | 48 | skipval = "-locale-|^locale-base-|-dev$|-doc$|-dbg$|-staticdev$|^kernel-module-" |
| 49 | if exclude: | ||
| 50 | skipval += "|" + exclude | ||
| 51 | skipregex = re.compile(skipval) | ||
| 49 | 52 | ||
| 50 | mappedpkgs = set() | 53 | mappedpkgs = set() |
| 51 | with open(pkglist_file, 'r') as f: | 54 | with open(pkglist_file, 'r') as f: |
| @@ -305,6 +308,9 @@ Available commands: | |||
| 305 | parser.add_option("-d", "--debug", | 308 | parser.add_option("-d", "--debug", |
| 306 | help = "Report all SRCREV values, not just ones where AUTOREV has been used", | 309 | help = "Report all SRCREV values, not just ones where AUTOREV has been used", |
| 307 | action="store_true", dest="debug", default=False) | 310 | action="store_true", dest="debug", default=False) |
| 311 | parser.add_option("-x", "--exclude", | ||
| 312 | help = "Exclude packages matching specified regex from the glob operation", | ||
| 313 | action="store", type="string", dest="exclude", default="") | ||
| 308 | 314 | ||
| 309 | options, args = parser.parse_args(sys.argv) | 315 | options, args = parser.parse_args(sys.argv) |
| 310 | args = args[1:] | 316 | args = args[1:] |
| @@ -314,7 +320,7 @@ Available commands: | |||
| 314 | sys.exit(1) | 320 | sys.exit(1) |
| 315 | 321 | ||
| 316 | if args[0] == "glob": | 322 | if args[0] == "glob": |
| 317 | glob(args[1:], parser.print_help, options.debug) | 323 | glob(args[1:], parser.print_help, options.debug, options.exclude) |
| 318 | elif args[0] == "lookup-pkg": | 324 | elif args[0] == "lookup-pkg": |
| 319 | lookup_pkg(args[1:], parser.print_help, options.debug) | 325 | lookup_pkg(args[1:], parser.print_help, options.debug) |
| 320 | elif args[0] == "lookup-recipe": | 326 | elif args[0] == "lookup-recipe": |
