[OE-core] [PATCH] image.bbclass: Use deltask instead of noexec for package_write_rpm
Otavio Salvador
otavio.salvador at ossystems.com.br
Sat Mar 3 15:46:35 UTC 2018
On Fri, Mar 2, 2018 at 5:27 PM, Jason Wessel <jason.wessel at windriver.com> wrote:
> 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.wessel at windriver.com>
What about the other image types?
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
More information about the Openembedded-core
mailing list