From patchwork Mon Jul 14 11:50:30 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas De Schampheleire X-Patchwork-Id: 369639 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id 633F31400AA for ; Mon, 14 Jul 2014 23:56:26 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id A2BAC30168; Mon, 14 Jul 2014 13:56:25 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1pOsaJKV0R2Z; Mon, 14 Jul 2014 13:56:21 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 4F95C30859; Mon, 14 Jul 2014 13:56:09 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 22C861BF873 for ; Mon, 14 Jul 2014 13:56:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 1E0D78B15D for ; Mon, 14 Jul 2014 13:56:01 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nLKhDcogVBGc for ; Mon, 14 Jul 2014 13:56:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by whitealder.osuosl.org (Postfix) with ESMTPS id 5DA058B18D for ; Mon, 14 Jul 2014 13:56:00 +0000 (UTC) Received: by mail-wi0-f181.google.com with SMTP id bs8so2564037wib.14 for ; Mon, 14 Jul 2014 06:55:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:content-transfer-encoding:subject :message-id:in-reply-to:references:user-agent:date:from:to:cc; bh=AO4NaIIcW5ZLhj+NKJVrGt/sujr4fveys5z5xoJamto=; b=VSP68k1Rf65SpalNWn4OLexLdDVelaWydNM7Sb9xPoGs944/pWN+zAO7MZ2PRRQv++ fyvBdS89Hxjq1rh10AFwoGy+R6JsN0w14lzx3vhNKF8i9RcamWTVoneK0CqpvR/ZZ8DQ /YpAIFMgvd7y6+HW6DKbfgAzm+bSzzTDB2sCXEkZB2CpmbLGa9MoNWrtrpYDlYG+Q0Dc rOjKV539tIqKiPBxfwxRNokuZF36yriXlDaUK2yn7P+gs2Djzimv9Oda6hI8uPB/hL1w dqtGTNgGgKPCCcrm4/pTtp4TS2RZcwijyVYp4ubee+9wODYZ/DqGMc4nnq3SHUKuSXJR FbDQ== X-Received: by 10.194.122.73 with SMTP id lq9mr3436729wjb.133.1405346157408; Mon, 14 Jul 2014 06:55:57 -0700 (PDT) Received: from [127.0.0.1] (alc112.alcatel.be. [195.207.101.112]) by mx.google.com with ESMTPSA id fu7sm31503005wib.2.2014.07.14.06.55.56 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 Jul 2014 06:55:56 -0700 (PDT) MIME-Version: 1.0 X-Mercurial-Node: 82c951fdcf4851185bccfb83241efbb5f4987479 Message-Id: <82c951fdcf4851185bcc.1405338630@localhost> In-Reply-To: References: User-Agent: Mercurial-patchbomb/2.7.2 Date: Mon, 14 Jul 2014 13:50:30 +0200 From: Thomas De Schampheleire To: buildroot@buildroot.org Cc: Thomas Petazzoni , "Yann E. MORIN" Subject: [Buildroot] [PATCH 6 of 6] uclibc: update-config: preserve freshly configured settings X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net 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 --- 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