From patchwork Sun Jan 27 16:11:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephan Hoffmann X-Patchwork-Id: 216016 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 043642C0091 for ; Mon, 28 Jan 2013 03:11:21 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 2A26B2021D; Sun, 27 Jan 2013 16:11:20 +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 jHXd5ap7YN1f; Sun, 27 Jan 2013 16:11:18 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 963972FFC2; Sun, 27 Jan 2013 16:11:18 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 879F38F74B for ; Sun, 27 Jan 2013 16:11:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 636A4A0014 for ; Sun, 27 Jan 2013 16:11:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xpzZhP8uMEuW for ; Sun, 27 Jan 2013 16:11:17 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.10]) by hemlock.osuosl.org (Postfix) with ESMTPS id 2318CA0022 for ; Sun, 27 Jan 2013 16:11:17 +0000 (UTC) Received: from stephan-desktop (p5492DFDB.dip.t-dialin.net [84.146.223.219]) by mrelayeu.kundenserver.de (node=mreu1) with ESMTP (Nemesis) id 0MCdZW-1U8sk71Fze-00920r; Sun, 27 Jan 2013 17:11:13 +0100 Received: by stephan-desktop (Postfix, from userid 1000) id DC5F350164E; Sun, 27 Jan 2013 17:11:12 +0100 (CET) From: Stephan Hoffmann To: buildroot@uclibc.org Date: Sun, 27 Jan 2013 17:11:11 +0100 Message-Id: <1359303072-1947-1-git-send-email-sho@relinux.de> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <510550FA.10502@relinux.de> References: <510550FA.10502@relinux.de> X-Provags-ID: V02:K0:dWv1n5LnLjkjzG3KKGgJTSG2Gg0bCzhVLRJrTZSGM3R 0SDS2dDJNakM9FdvGNK/WUePsu5/ebQjH3nwgLJmX1CCJuFAUu Ial+lAqepVr7sfhlNGlZPr+Ill++W6FUK2QzlWd/orCp9aaPPA lvR0vmpxUTxeklxFe3uDw5alg07LS5EQllgcE9Kv5C9mV4a5iq HTY3oXeyOBlmqrCT/lwrOCD7s7k8pGXFi9zP774CaP4AjJJ8Dd mBQfhRK5SANI6fv2E9ozf8cepUWYzNOveIvlU6a5YiTNXEGvms mDh7x4DFmn45un2DLtADsxZacmVx3JjFveZCSXNlOwErBoQ+T6 gY5ersz3v+NGlaCNZ188lId2hK4VpKMOOAKqx1wVhRNIxL5qcH WndfeyTqeGSlA== Subject: [Buildroot] [PATCH 1/2] Busybox: save a copy of the config file 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: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net "make busybox-xconfig" stores the changes made in the build directory. Calling "make clean && make" later discards and replaces them with the default values. This is not what a user expects. This patch saves a copy of the modified config file as $(TOPDIR)/busybox-config and retrieves it from there after "make clean". $(TOPDIR)/busybox-config is removed when a new defconfig is made. Signed-off-by: Stephan Hoffmann --- Makefile | 2 ++ package/busybox/busybox.mk | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 6f8ed0e..95ed683 100644 --- a/Makefile +++ b/Makefile @@ -673,10 +673,12 @@ silentoldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @mkdir -p $(BUILD_DIR)/buildroot-config + rm -f $(TOPDIR)/busybox-config @$(COMMON_CONFIG_ENV) $< --defconfig$(if $(BR2_DEFCONFIG),=$(BR2_DEFCONFIG)) $(CONFIG_CONFIG_IN) %_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig outputmakefile @mkdir -p $(BUILD_DIR)/buildroot-config + rm -f $(TOPDIR)/busybox-config @$(COMMON_CONFIG_ENV) $< --defconfig=$(TOPDIR)/configs/$@ $(CONFIG_CONFIG_IN) savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 9154c08..b81a4f5 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -33,6 +33,9 @@ BUSYBOX_CFLAGS_busybox += -ltirpc endif BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config +# Place to save configuration when "make clean" is issued +BUSYBOX_CONFIG_SAVE = $(TOPDIR)/busybox-config + # Allows the build system to tweak CFLAGS BUSYBOX_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ @@ -47,8 +50,9 @@ BUSYBOX_MAKE_OPTS = \ CONFIG_PREFIX="$(TARGET_DIR)" \ SKIP_STRIP=y +# Name the local variable different from environment to be able to distinguish later ifndef BUSYBOX_CONFIG_FILE - BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) + LOCAL_BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) endif define BUSYBOX_PERMISSIONS @@ -126,9 +130,19 @@ define BUSYBOX_NETKITTELNET endef endif +ifndef BUSYBOX_CONFIG_FILE +# Keep a local copy of the config file to preserve changes over "make clean" +define BUSYBOX_COPY_CONFIG + test ! -f $(BUSYBOX_CONFIG_SAVE) && \ + cp -f $(LOCAL_BUSYBOX_CONFIG_FILE) $(BUSYBOX_CONFIG_SAVE); \ + cp -f $(BUSYBOX_CONFIG_SAVE) $(BUSYBOX_BUILD_CONFIG) +endef +else +# When the environmant variable is present we always want to use this config file define BUSYBOX_COPY_CONFIG cp -f $(BUSYBOX_CONFIG_FILE) $(BUSYBOX_BUILD_CONFIG) endef +endif # Disable shadow passwords support if unsupported by the C library ifeq ($(BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS),) @@ -220,8 +234,10 @@ $(eval $(generic-package)) busybox-menuconfig busybox-xconfig busybox-gconfig: busybox-patch $(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(BUSYBOX_DIR) \ $(subst busybox-,,$@) + cp -f $(BUSYBOX_BUILD_CONFIG) $(BUSYBOX_CONFIG_SAVE) rm -f $(BUSYBOX_DIR)/.stamp_built rm -f $(BUSYBOX_DIR)/.stamp_target_installed busybox-update-config: - cp -f $(BUSYBOX_BUILD_CONFIG) $(BUSYBOX_CONFIG_FILE) + cp -f $(BUSYBOX_BUILD_CONFIG) $(LOCAL_BUSYBOX_CONFIG_FILE) +