aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-07-12 16:10:01 +1200
committerPaul Eggleton <paul.eggleton@linux.intel.com>2016-07-14 09:01:21 +1200
commitabe525e5f04f9b0454836ddbed95b10a7d1e202f (patch)
treed6381648fb6a5120e03a4a9d5978c22ad3bbb050
parent15e24cc4ff690754aca354ee7583ea6f3e931d8a (diff)
downloadopenembedded-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.py6
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