summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oe/package_manager.py3
-rwxr-xr-xscripts/oe-pkgdata-util12
2 files changed, 12 insertions, 3 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 1c64205330..1c33b0fb64 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -519,6 +519,9 @@ class PackageManager(object):
519 cmd = [bb.utils.which(os.getenv('PATH'), "oe-pkgdata-util"), 519 cmd = [bb.utils.which(os.getenv('PATH'), "oe-pkgdata-util"),
520 "glob", self.d.getVar('PKGDATA_DIR', True), installed_pkgs_file, 520 "glob", self.d.getVar('PKGDATA_DIR', True), installed_pkgs_file,
521 globs] 521 globs]
522 exclude = self.d.getVar('PACKAGE_EXCLUDE_COMPLEMENTARY', True)
523 if exclude:
524 cmd.extend(['-x', exclude])
522 try: 525 try:
523 bb.note("Installing complementary packages ...") 526 bb.note("Installing complementary packages ...")
524 complementary_pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT) 527 complementary_pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
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
28import optparse 28import optparse
29from collections import defaultdict 29from collections import defaultdict
30 30
31def glob(args, usage, debug=False): 31def 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":