When enable: ARCHIVER_MODE[src] = "configured" ARCHIVER_MODE[diff] = "1"
There is no "diff" tarball created, just "configured" tarball created, in log file: log.do_unpack_and_patch, it said that directory doesn't exist. This is because when enable "diff" and "configured", system use create_diff_gz and do_ar_configured function respectively. In do_ar_configured function, it use create_tarball function, and the create_tarball use the function: bb.utils.mkdirhier(ar_outdir) So when creating "configured" tarball, there was no "directory doesn't exist" problem and it was created successfully. In create_diff_gz function, it didn't create the directory "ar_outdir", so it can't create "diff" tarball, and throw the problem that directory doesn't exit. So we should add the bb.utils.mkdirhier(ar_outdir) to function create_diff_gz in archiver.bbclass. Signed-off-by: Dengke Du <dengke...@windriver.com> --- meta/classes/archiver.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 9239983..abe6f2b 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -290,6 +290,7 @@ def create_diff_gz(d, src_orig, src, ar_outdir): dirname = os.path.dirname(src) basename = os.path.basename(src) os.chdir(dirname) + bb.utils.mkdirhier(ar_outdir) out_file = os.path.join(ar_outdir, '%s-diff.gz' % d.getVar('PF', True)) diff_cmd = 'diff -Naur %s.orig %s.patched | gzip -c > %s' % (basename, basename, out_file) subprocess.call(diff_cmd, shell=True) -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core