]> code.ossystems Code Review - openembedded-core.git/commitdiff
wic: use sparse_copy to preserve sparseness
authorEd Bartosh <ed.bartosh@linux.intel.com>
Thu, 28 Apr 2016 10:58:11 +0000 (13:58 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 6 May 2016 09:30:56 +0000 (10:30 +0100)
Used sparse_copy API in favor of dd/cp in rawcopy plugin to
preserve sparseness of the copied raw content.

[YOCTO #9099]

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/wic/plugins/source/rawcopy.py

index 0472f536bafc184ba173cba834cf11816e48c3aa..ba014b0714b318824227aa688641b602130b9c5b 100644 (file)
@@ -20,6 +20,7 @@ import os
 from wic import msger
 from wic.pluginbase import SourcePlugin
 from wic.utils.oe.misc import exec_cmd, get_bitbake_var
+from wic.filemap import sparse_copy
 
 class RawCopyPlugin(SourcePlugin):
     """
@@ -70,11 +71,9 @@ class RawCopyPlugin(SourcePlugin):
         dst = os.path.join(cr_workdir, source_params['file'])
 
         if 'skip' in source_params:
-            dd_cmd = "dd if=%s of=%s ibs=%s skip=1 conv=notrunc" % \
-                    (src, dst, source_params['skip'])
+            sparse_copy(src, dst, skip=source_params['skip'])
         else:
-            dd_cmd = "cp %s %s" % (src, dst)
-        exec_cmd(dd_cmd)
+            sparse_copy(src, dst)
 
         # get the size in the right units for kickstart (kB)
         du_cmd = "du -Lbks %s" % dst