diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-07-12 16:10:01 +1200 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-07-14 09:01:21 +1200 |
commit | abe525e5f04f9b0454836ddbed95b10a7d1e202f (patch) | |
tree | d6381648fb6a5120e03a4a9d5978c22ad3bbb050 | |
parent | 15e24cc4ff690754aca354ee7583ea6f3e931d8a (diff) | |
download | openembedded-core-contrib-abe525e5f04f9b0454836ddbed95b10a7d1e202f.tar.gz |
devtool: update-recipe: don't copy local files that haven't changed
If there are files in the oe-local-files directory which are identical
to the original version, then we shouldn't be copying them to the
destination layer. This is particularly important when using the -a
option to create a bbappend.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rw-r--r-- | scripts/lib/devtool/standard.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 1ec31bcafe..e19812092e 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -28,6 +28,7 @@ import argparse_oe import scriptutils import errno import glob +import filecmp from collections import OrderedDict from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, DevtoolError from devtool import parse_recipe @@ -1031,7 +1032,10 @@ def _export_local_files(srctree, rd, destdir): if new_set is not None: for fname in new_set: if fname in existing_files: - updated[fname] = existing_files.pop(fname) + origpath = existing_files.pop(fname) + workpath = os.path.join(local_files_dir, fname) + if not filecmp.cmp(origpath, workpath): + updated[fname] = origpath elif fname != '.gitignore': added[fname] = None |