From: Eugene Smirnov Date: Fri, 18 Oct 2019 11:16:14 +0000 (+0200) Subject: wic/rawcopy: Support files in sub-directories X-Git-Tag: 2019-10.1-zeus~91 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=03796926046e5b5b57349d66de6bb009a34d2cb2;p=openembedded-core.git wic/rawcopy: Support files in sub-directories If the source file is located in a subdirectory of DEPLOY_DIR rawcopy will currently fail in sparse_copy function on open(dst_fname, 'wb'), as the parent directory for destination file does not exist. This patch helps to avoid that by recursively creating parent directories. Signed-off-by: Eugene Smirnov Signed-off-by: Richard Purdie (cherry picked from commit 073c435644091c2801e45c6d02afa917de575082) Signed-off-by: Armin Kuster --- diff --git a/scripts/lib/wic/plugins/source/rawcopy.py b/scripts/lib/wic/plugins/source/rawcopy.py index df86d6729c..82970ce51b 100644 --- a/scripts/lib/wic/plugins/source/rawcopy.py +++ b/scripts/lib/wic/plugins/source/rawcopy.py @@ -59,6 +59,9 @@ class RawCopyPlugin(SourcePlugin): src = os.path.join(kernel_dir, source_params['file']) dst = os.path.join(cr_workdir, "%s.%s" % (source_params['file'], part.lineno)) + if not os.path.exists(os.path.dirname(dst)): + os.makedirs(os.path.dirname(dst)) + if 'skip' in source_params: sparse_copy(src, dst, skip=int(source_params['skip'])) else: