package.bbclass: make do_split_packages handle non-existent root directories

This function has different behaviour if the split directory doesn't exist
depending on the recursive argument: non-recursive uses os.listdirs which throws
an exception, recursive uses os.walk which doesn't.

do_split_packages should silently handle non-existent directories because it's
mainly used for plugin directories, which may end up being empty though changing
the distro configuration (for example, connman without wifi distro feature).

So, add an early exit if the split root doesn't exist.

(From OE-Core rev: 937101e3fdd6afd00f6f8a8be411a67110c4ae78)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2012-12-06 12:53:14 +00:00 committed by Richard Purdie
parent ec17940f72
commit 3488973587
1 changed files with 7 additions and 1 deletions

View File

@ -116,6 +116,13 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
"""
dvar = d.getVar('PKGD', True)
# If the root directory doesn't exist, don't error out later but silently do
# no splitting.
if not os.path.exists(dvar + root):
return
ml = d.getVar("MLPREFIX", True)
if ml:
if not output_pattern.startswith(ml):
@ -130,7 +137,6 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
if newdeps:
extra_depends = " ".join(newdeps)
dvar = d.getVar('PKGD', True)
packages = d.getVar('PACKAGES', True).split()