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 2 of 2 v3] infra/pkg-kconfig: incorporate oldconfig call to avoid endless rebuilds
Date: Tue, 05 Aug 2014 12:36:53 +0200	[thread overview]
Message-ID: <707fc324a92e62b98ca1.1407235013@localhost> (raw)
In-Reply-To: <patchbomb.1407235011@localhost>

The configure step of the busybox package performs 'make oldconfig', which
causes the .config file to be updated. Thus, the .config file is more recent
than our stamp file .stamp_kconfig_fixup_done. On a subsequent build, our
dependency rules would kick in, and run the config fixup again, thus
kicking in the package's configure, build and install steps yet once
more, that, ad infinitum.

One solution is to modify kconfig-package to introduce an explicit touch of
the .kconfig_fixup_config_done stamp file, as post-configure hook.

Another solution, implemented by this patch, is to move the oldconfig call
from the package's .mk file to the kconfig-package infrastructure and make
sure it is done as part of the fixup commands. This way, the stamp file will
only be touched once, after the full fixup (including oldconfig) and no
endless rebuilds will occur.

Reported-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
v3: implement alternative implementation

 package/busybox/busybox.mk |  2 --
 package/pkg-kconfig.mk     |  9 ++-------
 package/uclibc/uclibc.mk   |  6 ------
 3 files changed, 2 insertions(+), 15 deletions(-)

diff -r f81734945d5b -r 707fc324a92e package/busybox/busybox.mk
--- a/package/busybox/busybox.mk	Tue Aug 05 00:06:57 2014 +0200
+++ b/package/busybox/busybox.mk	Tue Aug 05 11:39:06 2014 +0200
@@ -205,8 +205,6 @@
 endef
 
 define BUSYBOX_CONFIGURE_CMDS
-	@yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
-		-C $(@D) oldconfig
 	$(BUSYBOX_NOCLOBBER_INSTALL)
 endef
 
diff -r f81734945d5b -r 707fc324a92e package/pkg-kconfig.mk
--- a/package/pkg-kconfig.mk	Tue Aug 05 00:06:57 2014 +0200
+++ b/package/pkg-kconfig.mk	Tue Aug 05 11:39:06 2014 +0200
@@ -50,6 +50,8 @@
 # The exact rules are specified by the package .mk file.
 $$($(2)_DIR)/.stamp_kconfig_fixup_done: $$($(2)_DIR)/.config
 	$$($(2)_KCONFIG_FIXUP_CMDS)
+	@yes "" | $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \
+		$$($(2)_KCONFIG_OPT) oldconfig
 	$$(Q)touch $$@
 
 # Before running configure, the configuration file should be present and fixed
diff -r f81734945d5b -r 707fc324a92e package/uclibc/uclibc.mk
--- a/package/uclibc/uclibc.mk	Tue Aug 05 00:06:57 2014 +0200
+++ b/package/uclibc/uclibc.mk	Tue Aug 05 11:39:06 2014 +0200
@@ -431,12 +431,6 @@
 	$(UCLIBC_LOCALE_CONFIG)
 	$(UCLIBC_WCHAR_CONFIG)
 	$(UCLIBC_STRIP_CONFIG)
-	yes "" | $(MAKE1) -C $(@D) \
-		$(UCLIBC_MAKE_FLAGS) \
-		PREFIX=$(STAGING_DIR) \
-		DEVEL_PREFIX=/usr/ \
-		RUNTIME_PREFIX=$(STAGING_DIR) \
-		oldconfig
 endef
 
 define UCLIBC_CONFIGURE_CMDS

  parent reply	other threads:[~2014-08-05 10:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-05 10:36 [Buildroot] [PATCH 0 of 2 v3] Fix pkg-kconfig infra Thomas De Schampheleire
2014-08-05 10:36 ` [Buildroot] [PATCH 1 of 2 v3] infra/pkg-kconfig: join comments to the related code-block Thomas De Schampheleire
2014-08-05 10:36 ` Thomas De Schampheleire [this message]
2014-08-05 19:27   ` [Buildroot] [PATCH 2 of 2 v3] infra/pkg-kconfig: incorporate oldconfig call to avoid endless rebuilds Yann E. MORIN
2014-08-05 19:37     ` Thomas De Schampheleire
2014-08-06 17:58 ` [Buildroot] [PATCH 0 of 2 v3] Fix pkg-kconfig infra Thomas Petazzoni

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=707fc324a92e62b98ca1.1407235013@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