aboutsummaryrefslogtreecommitdiff
path: root/package/pkg-kconfig.mk
diff options
context:
space:
mode:
authorGravatar Yann E. MORIN <yann.morin.1998@free.fr>2014-10-20 22:23:36 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-10-22 22:49:42 +0200
commit8201c362d788b11f85a7a9c28fa16382d830d6e0 (patch)
tree3f4d9593870306f8783e829c5a308e58b7b7a81a /package/pkg-kconfig.mk
parent879255ad1ead6a63b66c7341a053fe91683cddd0 (diff)
downloadbuildroot-8201c362d788b11f85a7a9c28fa16382d830d6e0.tar.gz
buildroot-8201c362d788b11f85a7a9c28fa16382d830d6e0.tar.bz2
infra/pkg-kconfig: fix saving the config file
When saving (aka updating) the configuration file of a kconfig package, a subsequent call to "make" would rebuild the package, even though the configuration did not actually change. It took quite a while to understand why. But the reason is so simple and obvious, when you think about it: - $(@D)/.config depends on the config file $(BUSYBOX_CONFIG_FILE) - busybox-update-config then copies $(@D)/.config back to the config file $(BUSYBOX_CONFIG_FILE) - so the config file is newer than $(@D)/.config So, in the next run, pkg-kconfig believes that it has to rebuild busybox. Bummer... :-/ So, the fix is very trivial, and just requires asking "cp" to preserve timestamps, so the dependency does not kick in at the next run. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/pkg-kconfig.mk')
-rw-r--r--package/pkg-kconfig.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
index 071153a0bf..ec58d69f55 100644
--- a/package/pkg-kconfig.mk
+++ b/package/pkg-kconfig.mk
@@ -66,7 +66,7 @@ $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS)): $$($(2)_DIR)/.stamp_kconfig_fixup_
# Target to copy back the configuration to the source configuration file
$(1)-update-config: $$($(2)_DIR)/.stamp_kconfig_fixup_done
- cp -f $$($(2)_DIR)/.config $$($(2)_KCONFIG_FILE)
+ cp --preserve=timestamps -f $$($(2)_DIR)/.config $$($(2)_KCONFIG_FILE)
endef # inner-kconfig-package