[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