base.bbclass: fixed 'apply=no' behavior
authorEnrico Scholz <enrico.scholz@sigma-chemnitz.de>
Thu, 27 May 2010 02:41:10 +0000 (02:41 +0000)
committerChris Larson <chris_larson@mentor.com>
Thu, 27 May 2010 19:56:46 +0000 (12:56 -0700)
After the recent change to autodetect patchfiles in SRC_URI's, files
with 'apply=no' were not copied to workdir anymore.  This broke e.g.
dropbear which marks a patch as 'apply=no' and applies it manually.

This patch evaluates content of 'apply' parameter and copies files to
workdir when it is not a patch or the parameter is false.

Slightly altered to use oe.utils -kergoth

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
classes/base.bbclass

index 8bac509..a36fcbf 100644 (file)
@@ -163,6 +163,7 @@ python base_do_fetch() {
 
 def oe_unpack_file(file, data, url = None):
        import subprocess
+       import oe.utils
        if not url:
                url = "file://%s" % file
        dots = file.split(".")
@@ -207,7 +208,9 @@ def oe_unpack_file(file, data, url = None):
                cmd = 'cp -pPR %s %s/%s/' % (file, os.getcwd(), destdir)
        else:
                (type, host, path, user, pswd, parm) = bb.decodeurl(url)
-               if not 'apply' in parm and not 'patch' in parm:
+               is_patch = path.endswith('.diff') or path.endswith('.patch')
+               if not oe.utils.param_bool(parm, 'apply', is_patch) and \
+                  not oe.utils.param_bool(parm, 'patch', False):
                        # The "destdir" handling was specifically done for FILESPATH
                        # items.  So, only do so for file:// entries.
                        if type == "file":