Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 5 of 5 RFC] busybox: update-config: preserve freshly configured settings
Date: Sun, 22 Jun 2014 15:45:44 +0200	[thread overview]
Message-ID: <7e80ee0110a2066c2afe.1403444744@localhost> (raw)
In-Reply-To: <patchbomb.1403444739@localhost>

In the sequence:

make busybox-menuconfig
make busybox-update-config

the freshly configured settings from the menuconfig are lost during the
update-config step. This is because update-config depends on the configure
step, which starts by copying the config file to the build directory.

Instead, stop depending on the configure step from update-config, and
explicitly call the needed commands before actually copying the config file.

This has the added bonus that 'busybox-update-config' no longer needs the
toolchain to be available, which makes:
    make clean busybox-menuconfig busybox-update-config
much faster and user-friendly.

This is a corrolary of bug #7154 https://bugs.busybox.net/show_bug.cgi?id=7154

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 package/busybox/busybox.mk |  27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff -r 5dc5438c0108 -r 7e80ee0110a2 package/busybox/busybox.mk
--- a/package/busybox/busybox.mk	Sun Jun 22 15:33:49 2014 +0200
+++ b/package/busybox/busybox.mk	Sun Jun 22 10:34:06 2014 +0200
@@ -189,14 +189,7 @@
 endef
 endif
 
-# Enable "noclobber" in install.sh, to prevent BusyBox from overwriting any
-# full-blown versions of apps installed by other packages with sym/hard links.
-define BUSYBOX_NOCLOBBER_INSTALL
-	$(SED) 's/^noclobber="0"$$/noclobber="1"/' $(@D)/applets/install.sh
-endef
-
-define BUSYBOX_CONFIGURE_CMDS
-	$(BUSYBOX_COPY_CONFIG)
+define BUSYBOX_SETUP_CONFIG
 	$(BUSYBOX_SET_MMU)
 	$(BUSYBOX_SET_LARGEFILE)
 	$(BUSYBOX_SET_IPV6)
@@ -208,6 +201,17 @@
 	$(BUSYBOX_INTERNAL_SHADOW_PASSWORDS)
 	$(BUSYBOX_SET_INIT)
 	$(BUSYBOX_SET_WATCHDOG)
+endef
+
+# Enable "noclobber" in install.sh, to prevent BusyBox from overwritting any
+# full-blown versions of apps installed by other packages with sym/hard links.
+define BUSYBOX_NOCLOBBER_INSTALL
+	$(SED) 's/^noclobber="0"$$/noclobber="1"/' $(@D)/applets/install.sh
+endef
+
+define BUSYBOX_CONFIGURE_CMDS
+	$(BUSYBOX_COPY_CONFIG)
+	$(BUSYBOX_SETUP_CONFIG)
 	@yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
 		-C $(@D) oldconfig
 	$(BUSYBOX_NOCLOBBER_INSTALL)
@@ -235,8 +239,13 @@
 	$(BUSYBOX_COPY_CONFIG)
 	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(BUSYBOX_DIR) \
 		$(subst busybox-,,$@)
+	rm -f $(BUSYBOX_DIR)/.stamp_config_file_fixed
 	rm -f $(BUSYBOX_DIR)/.stamp_built
 	rm -f $(BUSYBOX_DIR)/.stamp_target_installed
 
-busybox-update-config: busybox-configure
+$(BUSYBOX_DIR)/.stamp_config_file_fixed:
+	$(BUSYBOX_SETUP_CONFIG)
+	touch $@
+
+busybox-update-config: $(BUSYBOX_DIR)/.stamp_config_file_fixed
 	cp -f $(BUSYBOX_BUILD_CONFIG) $(BUSYBOX_CONFIG_FILE)

  parent reply	other threads:[~2014-06-22 13:45 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-22 13:45 [Buildroot] [PATCH 0 of 5 RFC] uclibc/busybox: fix handling of configuration file Thomas De Schampheleire
2014-06-22 13:45 ` [Buildroot] [PATCH 1 of 5 RFC] uclibc: menuconfig: take into account initial settings from config file Thomas De Schampheleire
2014-06-22 14:05   ` Yann E. MORIN
2014-06-22 16:52   ` Thomas Petazzoni
2014-06-22 17:23     ` Thomas De Schampheleire
2014-06-22 17:29       ` Danomi Manchego
2014-06-22 18:52         ` Thomas De Schampheleire
2014-06-22 19:07           ` Danomi Manchego
2014-06-24 18:35             ` Thomas De Schampheleire
2014-06-25  6:16   ` Arnout Vandecappelle
2014-06-30 19:31     ` Thomas De Schampheleire
2014-07-01  6:09       ` Arnout Vandecappelle
2014-07-01  8:35         ` Thomas De Schampheleire
2014-06-22 13:45 ` [Buildroot] [PATCH 2 of 5 RFC] uclibc: update-config: preserve freshly configured settings Thomas De Schampheleire
2014-06-22 14:07   ` Yann E. MORIN
2014-06-22 13:45 ` [Buildroot] [PATCH 3 of 5 RFC] busybox: fix typo overwritting Thomas De Schampheleire
2014-06-22 13:57   ` Yann E. MORIN
2014-06-22 13:45 ` [Buildroot] [PATCH 4 of 5 RFC] busybox: menuconfig: take into account initial settings from config file Thomas De Schampheleire
2014-06-22 14:10   ` Yann E. MORIN
2014-06-22 13:45 ` Thomas De Schampheleire [this message]
2014-06-22 14:14   ` [Buildroot] [PATCH 5 of 5 RFC] busybox: update-config: preserve freshly configured settings Yann E. MORIN
2014-06-22 14:22     ` Thomas De Schampheleire
2014-06-22 14:46       ` Yann E. MORIN
2014-06-25  6:06 ` [Buildroot] [PATCH 0 of 5 RFC] uclibc/busybox: fix handling of configuration file Arnout Vandecappelle
2014-06-25 19:24   ` Thomas De Schampheleire
2014-06-29  8:13     ` Thomas De Schampheleire
2014-06-29  8:20       ` Thomas Petazzoni
2014-06-29 10:05         ` Arnout Vandecappelle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7e80ee0110a2066c2afe.1403444744@localhost \
    --to=patrickdepinguin@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox