]> code.ossystems Code Review - openembedded-core.git/commitdiff
package.bbclass: make do_split_packages handle non-existent root directories
authorRoss Burton <ross.burton@intel.com>
Thu, 6 Dec 2012 12:53:14 +0000 (12:53 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 11 Dec 2012 15:54:26 +0000 (15:54 +0000)
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.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/classes/package.bbclass

index 993ce98782922c06317946ea2ca56e07cf02b6fb..8a94e30aed7e05318e86fb0e75da3886447081a0 100644 (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()