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 6 of 6] uclibc: update-config: preserve freshly configured settings
Date: Mon, 14 Jul 2014 13:50:30 +0200	[thread overview]
Message-ID: <82c951fdcf4851185bcc.1405338630@localhost> (raw)
In-Reply-To: <patchbomb.1405338624@localhost>

In the sequence:

make uclibc-menuconfig
make uclibc-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
introduce a new stamp file .stamp_config_fixup_done, which applies any
fixups on the .config file.

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

Additionally, make sure that 'make clean uclibc-update-config' works
properly, by depending on .stamp_config_fixup_done so that the config file
is present and fixed.

Fixes bug #7154 https://bugs.busybox.net/show_bug.cgi?id=7154

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

---
rfc->patch:
- rebase
- rename .stamp_config_file_fixed into .stamp_config_fixup_done
- add dependency on .config from .stamp_config_file_fixed (Arnout)
- remove explicit call to UCLIBC_FIXUP_DOT_CONFIG from configure commands,
  and instead depend on .stamp_config_fixup_done.

 package/uclibc/uclibc.mk |  12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff -r 34f3d55304ad -r 82c951fdcf48 package/uclibc/uclibc.mk
--- a/package/uclibc/uclibc.mk	Sun Jun 22 10:37:22 2014 +0200
+++ b/package/uclibc/uclibc.mk	Mon Jun 16 20:18:23 2014 +0200
@@ -432,7 +432,6 @@
 endef
 
 define UCLIBC_CONFIGURE_CMDS
-	$(UCLIBC_FIXUP_DOT_CONFIG)
 	$(MAKE1) -C $(UCLIBC_DIR) \
 		$(UCLIBC_MAKE_FLAGS) \
 		PREFIX=$(STAGING_DIR) \
@@ -537,7 +536,11 @@
 $(UCLIBC_DIR)/.config: $(UCLIBC_CONFIG_FILE) | uclibc-patch
 	$(INSTALL) -m 0644 $(UCLIBC_CONFIG_FILE) $(UCLIBC_DIR)/.config
 
-$(UCLIBC_DIR)/.stamp_configured: $(UCLIBC_DIR)/.config
+$(UCLIBC_DIR)/.stamp_config_fixup_done: $(UCLIBC_DIR)/.config
+	$(UCLIBC_FIXUP_DOT_CONFIG)
+	touch $@
+
+$(UCLIBC_DIR)/.stamp_configured: $(UCLIBC_DIR)/.stamp_config_fixup_done
 
 uclibc-menuconfig: $(UCLIBC_DIR)/.config
 	$(MAKE1) -C $(UCLIBC_DIR) \
@@ -546,9 +549,10 @@
 		DEVEL_PREFIX=/usr/ \
 		RUNTIME_PREFIX=$(STAGING_DIR)/ \
 		menuconfig
-	rm -f $(UCLIBC_DIR)/.stamp_{configured,built,target_installed,staging_installed}
+	rm -f $(UCLIBC_DIR)/.stamp_{config_fixup_done,configured,built}
+	rm -f $(UCLIBC_DIR)/.stamp_{target,staging}_installed
 
-uclibc-update-config: $(UCLIBC_DIR)/.stamp_configured
+uclibc-update-config: $(UCLIBC_DIR)/.stamp_config_fixup_done
 	cp -f $(UCLIBC_DIR)/.config $(UCLIBC_CONFIG_FILE)
 
 # Before uClibc is built, we must have the second stage cross-compiler

  parent reply	other threads:[~2014-07-14 11:50 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-14 11:50 [Buildroot] [PATCH 0 of 6] uclibc: fix handling of configuration file Thomas De Schampheleire
2014-07-14 11:50 ` [Buildroot] [PATCH 1 of 6] pkg-utils: kconfig helpers: add basic usage documentation Thomas De Schampheleire
2014-07-14 14:02   ` Yann E. MORIN
2014-07-14 16:39   ` Arnout Vandecappelle
2014-07-14 11:50 ` [Buildroot] [PATCH 2 of 6] pkg-utils: kconfig helpers: use single iso double quoting Thomas De Schampheleire
2014-07-14 14:26   ` Yann E. MORIN
2014-07-14 16:41   ` Arnout Vandecappelle
2014-07-14 11:50 ` [Buildroot] [PATCH 3 of 6] uclibc: replace custom kconfig helpers with those provided by pkg-utils Thomas De Schampheleire
2014-07-14 14:36   ` Yann E. MORIN
2014-07-14 14:39     ` Thomas De Schampheleire
2014-07-14 14:40       ` Yann E. MORIN
2014-07-14 11:50 ` [Buildroot] [PATCH 4 of 6] uclibc: rename SETUP_DOT_CONFIG to FIXUP_DOT_CONFIG Thomas De Schampheleire
2014-07-14 14:33   ` Thomas Petazzoni
2014-07-14 14:39     ` Yann E. MORIN
2014-07-14 14:43       ` Thomas De Schampheleire
2014-07-14 16:21         ` Yann E. MORIN
2014-07-14 16:44         ` Arnout Vandecappelle
2014-07-14 19:51           ` Thomas De Schampheleire
2014-07-15  6:09             ` Arnout Vandecappelle
2014-07-14 11:50 ` [Buildroot] [PATCH 5 of 6] uclibc: menuconfig: take into account initial settings from config file Thomas De Schampheleire
2014-07-14 16:55   ` Arnout Vandecappelle
2014-07-14 19:54     ` Thomas De Schampheleire
2014-07-15  6:10       ` Arnout Vandecappelle
2014-07-14 11:50 ` Thomas De Schampheleire [this message]
2014-07-14 17:05   ` [Buildroot] [PATCH 6 of 6] uclibc: update-config: preserve freshly configured settings Arnout Vandecappelle
2014-07-15 18:33     ` Thomas De Schampheleire
2014-07-16  5:43       ` Arnout Vandecappelle
2014-07-17 17:57         ` Thomas De Schampheleire
2014-07-17 23:28           ` Arnout Vandecappelle
2014-07-18  5:29             ` Thomas De Schampheleire
2014-07-14 16:34 ` [Buildroot] [PATCH 0 of 6] uclibc: fix handling of configuration file Arnout Vandecappelle
2014-07-15 17:36 ` Thomas Petazzoni
2014-07-15 18:38   ` Thomas De Schampheleire

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=82c951fdcf4851185bcc.1405338630@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