From 21924fdba286e5962b1680601664dc0491527e25 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Mon, 5 Mar 2018 07:58:26 -0600 Subject: package_manager.py: Print offending package instead of non-sense trace If you have a package that does not generate a manifest due to using a noexec rule, the package name should be printed so the problem can be tracked down. With out the patch you get an error that makes it look more like the package_manager is broken as shown below. oe-core/meta/lib/oe/package_manager.py', lineno: 534, function: create_packages_dir 0530: 0531: for dep in rpmdeps: 0532: c = taskdepdata[dep][0] 0533: manifest, d2 = oe.sstatesig.find_sstate_manifest(c, taskdepdata[dep][2], taskname, d, multilibs) *** 0534: if not os.path.exists(manifest): 0535: continue 0536: with open(manifest, "r") as f: 0537: for l in f: 0538: l = l.strip() File: '/usr/lib/python3.5/genericpath.py', lineno: 19, function: exists 0015:# This is false for dangling symbolic links on systems that support them. 0016:def exists(path): 0017: """Test whether a path exists. Returns False for broken symbolic links""" 0018: try: *** 0019: os.stat(path) 0020: except OSError: 0021: return False 0022: return True 0023: Exception: TypeError: stat: can't specify None for path argument Signed-off-by: Jason Wessel Signed-off-by: Ross Burton --- meta/lib/oe/package_manager.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'meta') diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 287ca9a008..980649fb4d 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -531,6 +531,8 @@ def create_packages_dir(d, rpm_repo_dir, deploydir, taskname, filterbydependenci for dep in rpmdeps: c = taskdepdata[dep][0] manifest, d2 = oe.sstatesig.find_sstate_manifest(c, taskdepdata[dep][2], taskname, d, multilibs) + if not manifest: + bb.fatal("No manifest generated from: %s in %s" % (c, taskdepdata[dep][2])) if not os.path.exists(manifest): continue with open(manifest, "r") as f: -- cgit 1.2.3-korg