If you install an image into another image (this is the case for custom initrd for example), it will fail with a non obvious python backtrace. This patch modifies the package_manager.py print which package causes the failure for the future, if it is missing a manifest.
The error you get looks like this: 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 The root cause of the problem was determined to be the noexec clause in the image.bbclass. When the package_write_rpm task runs it expects that a manifest will be generated. Not running the task eliminates the problem. Signed-off-by: Jason Wessel <jason.wes...@windriver.com> --- meta/classes/image.bbclass | 2 +- meta/lib/oe/package_manager.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 23ed53d..ad44f11 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -629,7 +629,7 @@ deltask do_package_qa do_packagedata[noexec] = "1" do_package_write_ipk[noexec] = "1" do_package_write_deb[noexec] = "1" -do_package_write_rpm[noexec] = "1" +deltask do_package_write_rpm # Prepare the root links to point to the /usr counterparts. create_merged_usr_symlinks() { diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 287ca9a..980649f 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: -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core