Skip to contentSkip to conversation

Pull request for branch arnout-update-config

GIT PULL New Arnout Vandecappelle (Essensium/Mind) 3 participants 11 messages Feb 5, 2013 – Feb 6, 2013 Kbuild

lore
Share & tools
lore
#0 lore raw

From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>

Hello,

This is a refresh of the patches that describe in the manual how
to save the configuration in the board directory, that add the post-build overlay option, and that does 'make savedefconfig' save to a configured file rather than "defconfig".

The patches that add a xxx-update-config for each package with a
configuration possibility and that add an update-all-configs goal have been left out, because at the BR developer days it was decided to always update the config after you do a xxx-menuconfig. So those patches will become superfluous anyway. They will come in a separate series.

These patches come as a series rather than individually because the
later ones all update the documentation that is added in the first one.

Regards,
Arnout
--

The following changes since commit ddd69b5609cc9bd954afcfc2f91831d64b9cfff7:

libffi: switch to using a Git version, brings Microblaze and Xtensa support (2013-02-05 15:57:02 +0100)

are available in the git repository at:

https://git.gitorious.org/buildroot/buildroot.git arnout-update-config

for you to fetch changes up to 41e27bc2d2881606d1da299f6056d24bc9d34e78:

Make savedefconfig save to a configured file. (2013-02-05 17:59:37 +0100)

----------------------------------------------------------------
Arnout Vandecappelle (Essensium/Mind) (4):
manual: add section about storing the configuration. target/generic: add filesystem overlay option
busybox: busybox-update-config should depend on busybox-configure Make savedefconfig save to a configured file.

 Config.in                                 |   12 +++
 Makefile                                  |   26 ++++-
 docs/manual/adding-packages-directory.txt |    1 +
 docs/manual/board-support.txt             |   38 -------
 docs/manual/customize-rootfs.txt          |   17 +--
 docs/manual/customize-store.txt           |  159 +++++++++++++++++++++++++++++
 docs/manual/customize.txt                 |    2 +
 package/busybox/busybox.mk                |    2 +-
 system/Config.in                          |   11 ++
 9 files changed, 219 insertions(+), 49 deletions(-)
 delete mode 100644 docs/manual/board-support.txt
 create mode 100644 docs/manual/customize-store.txt
--
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#1 lore raw

PATCH 1/4 manual: add section about storing the configuration.

From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>

Reuse part of board-support.txt, and remove that one because it was unused.

---
v4:
- Rebased against master.

v3:
- Removed the section about out-of-tree configuration.
- Added barebox config.
- Comments from Luca.

v2: mention LINUX_KERNEL_PATCH also in in-tree documentation
(Samuel Martin)

It's probably Acked-by Luca, but since my changes are pretty heavy (removing a whole section, adding barebox) I didn't include the ack.

---
 docs/manual/adding-packages-directory.txt |    1 +
 docs/manual/board-support.txt             |   38 -------
 docs/manual/customize-store.txt           |  160 +++++++++++++++++++++++++++++
 docs/manual/customize.txt                 |    2 +
 4 files changed, 163 insertions(+), 38 deletions(-)
 delete mode 100644 docs/manual/board-support.txt
 create mode 100644 docs/manual/customize-store.txt
docs/manual/adding-packages-directory.txt +1 -0
index 5d17aac..cc68497 100644
@@ -168,6 +168,7 @@ coding style].
 
 The +.mk+ file
 ~~~~~~~~~~~~~~
+[[adding-packages-mk]]
 
 Finally, here's the hardest part. Create a file named +libfoo.mk+. It
 describes how the package should be downloaded, configured, built,
docs/manual/board-support.txt deleted +0 -38
deleted file mode 100644
index 44ab6eb..0000000
@@ -1,38 +0,0 @@
-// -*- mode:doc -*- ;
-
-[[board-support]]
-Creating your own board support
--------------------------------
-
-Creating your own board support in Buildroot allows users of a
-particular hardware platform to easily build a system that is known to
-work.
-
-To do so, you need to create a normal Buildroot configuration that
-builds a basic system for the hardware: toolchain, kernel, bootloader,
-filesystem and a simple Busybox-only userspace. No specific package
-should be selected: the configuration should be as minimal as
-possible, and should only build a working basic Busybox system for the
-target platform. You can of course use more complicated configurations
-for your internal projects, but the Buildroot project will only
-integrate basic board configurations. This is because package
-selections are highly application-specific.
-
-Once you have a known working configuration, run +make
-savedefconfig+. This will generate a minimal +defconfig+ file at the
-root of the Buildroot source tree. Move this file into the +configs/+
-directory, and rename it +BOARDNAME_defconfig+.
-
-It is recommended to use upstream versions of the Linux kernel and
-bootloaders where possible, and also to use default kernel and bootloader
-configurations if possible. If the defaults are incorrect for
-your board, or no default exists, we encourage you to send fixes to the
-corresponding upstream projects.
-
-However, in the mean time, you may want to store kernel or bootloader
-configuration or patches specific to your target platform. To do so,
-create a directory +board/MANUFACTURER+ and a subdirectory
-+board/MANUFACTURER/BOARDNAME+ (after replacing, of course,
-MANUFACTURER and BOARDNAME with the appropriate values, in lower case
-letters). You can then store your patches and configurations in these
-directories, and reference them from the main Buildroot configuration.
docs/manual/customize-store.txt new file +160 -0

160 lines not on this page · raw message

docs/manual/customize.txt +2 -0
index 1e6f4e8..a13ba8f 100644
@@ -12,3 +12,5 @@ include::customize-uclibc-config.txt[]
 include::customize-kernel-config.txt[]
 
 include::customize-toolchain.txt[]
+
+include::customize-store.txt[]
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 1/4 manual: add section about storing the configuration.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:

Arnout> From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> Arnout> Reuse part of board-support.txt, and remove that one because it Arnout> was unused.

Committed with minor fixes (see below).

Arnout> +Other package configuration
Arnout> +^^^^^^^^^^^^^^^^^^^^^^^^^^^
Arnout> +
Arnout> +The configuration files for busybox, the linux kernel, barebox, uClibc and Arnout> +crosstool-NG should be stored as well. For each of these, a

s/as well/as well if changed/

Arnout> +* For crosstool-NG and at91bootstrap3 and no helper exists so you Arnout> + have to copy the config file manually to

s/at91bootstrap3 and no/at91bootstap3, no/

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 2/4 target/generic: add filesystem overlay option

In reply to Arnout Vandecappelle (Essensium/Mind)

From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>

The filesystem overlay is a tree that is copied over the target fs after building everything - which is currently usually done in the post-build script.

---
v4: Rebased against master.

v3: keep the custom skeleton documentation

v2: don't deprecate custom skeleton

---
 Makefile                         |    9 +++++++++
 docs/manual/customize-rootfs.txt |   17 +++++++++++------
 docs/manual/customize-store.txt  |   13 +++++--------
 system/Config.in                 |   11 +++++++++++
 4 files changed, 36 insertions(+), 14 deletions(-)
Makefile +9 -0
index 6f8ed0e..ac59071 100644
@@ -501,6 +501,15 @@ endif
 		echo "PRETTY_NAME=\"Buildroot $(BR2_VERSION)\"" \
 	) >  $(TARGET_DIR)/etc/os-release
 
+	@for dir in $(call qstrip,$(BR2_ROOTFS_OVERLAY)); do \
+		if [ -d $${dir} ]; then \
+			$(call MESSAGE,"Copying overlay $${dir}"); \
+			rsync -a \
+				--exclude .svn --exclude .git --exclude .hg --exclude '*~' \
+				$${dir}/ $(TARGET_DIR); \
+		fi \
+	done
+
 ifneq ($(BR2_ROOTFS_POST_BUILD_SCRIPT),"")
 	@$(call MESSAGE,"Executing post-build script\(s\)")
 	@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
docs/manual/customize-rootfs.txt +11 -6
index 6399699..fa04d85 100644
@@ -24,6 +24,12 @@ there are a few ways to customize the resulting target filesystem.
   skeleton are copied to output/target before any package
   installation.
 
+* Create a filesystem overlay: a tree of files that are copied directly
+  over the target filesystem after it has been built.  Set
+  +BR2_ROOTFS_OVERLAY+ to the top of the tree.  +.git+, +.svn+,
+  +.hg+ directories and files ending with +~+ are excluded.
+  _Among these first 3 methods, this one should be preferred_.
+
 * In the Buildroot configuration, you can specify the path to a
   *post-build script*, that gets called 'after' Buildroot builds all the
   selected software, but 'before' the rootfs packages are
@@ -31,12 +37,11 @@ there are a few ways to customize the resulting target filesystem.
   specify the location of your post-build script. This option can be
   found in the +System configuration+ menu. The destination root
   filesystem folder is given as the first argument to this script,
-  and this script can then be used to copy programs, static data or
-  any other needed file to your target filesystem. You should,
-  however, use this feature with care. Whenever you find that a
-  certain package generates wrong or unneeded files, you should fix
-  that package rather than work around it with a post-build cleanup
-  script. _Among these first 3 methods, this one should be preferred_.
+  and this script can then be used to remove or modify any file in your
+  target filesystem. You should, however, use this feature with care.
+  Whenever you find that a certain package generates wrong or unneeded
+  files, you should fix that package rather than work around it with a
+  post-build cleanup script.
   You may also use these variables in your post-build script:
     - +BUILDROOT_CONFIG+: the path to the Buildroot .config file
     - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see
docs/manual/customize-store.txt +5 -8
index 435c1b9..5d004ea 100644
@@ -136,15 +136,12 @@ you can skip the steps that are not relevant for your use case.
 1. Create +board/<manufacturer>/<boardname>/fs-overlay/+ and fill it
    with additional files you need on your rootfs, e.g.
    +board/<manufacturer>/<boardname>/fs-overlay/etc/inittab+.
+   Set +BR2_ROOTFS_OVERLAY+
+   to +board/<manufacturer>/<boardname>/fs-overlay+.
 1. Create a post-build script
-   +board/<manufacturer>/<boardname>/post-build.sh+.  It should contain
-   the following command:
-+
-------------
-rsync -a --exclude .empty --exclude '*~' ${0%/*}/fs-overlay $1
-------------
-+
-1. Set +BR2_ROOTFS_POST_BUILD_SCRIPT+ to +board/<manufacturer>/<boardname>/post-build.sh+
+   +board/<manufacturer>/<boardname>/post-build.sh+.  Set
+   +BR2_ROOTFS_POST_BUILD_SCRIPT+ to
+   +board/<manufacturer>/<boardname>/post-build.sh+
 1. If additional setuid permissions have to be set or device nodes have
    to be created, create +board/<manufacturer>/<boardname>/device_table.txt+
    and add that path to +BR2_ROOTFS_DEVICE_TABLE+.
system/Config.in +11 -0
index 69863c4..fa01d91 100644
@@ -249,6 +249,17 @@ config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
 
 endif # BR2_ROOTFS_SKELETON_DEFAULT
 
+config BR2_ROOTFS_OVERLAY
+	string "Root filesystem overlay directories"
+	default ""
+	help
+	  Specify a list of directories that are copied over the target
+	  root filesystem after the build has finished and before it is
+	  packed into the selected filesystem images.
+
+	  They are copied as-is into the rootfs, excluding files ending with
+	  ~ and .git, .svn and .hg directories.
+
 config BR2_ROOTFS_POST_BUILD_SCRIPT
 	string "Custom script to run before creating filesystem images"
 	default ""
Signature · 1 line
1.7.10.4
#4 lore raw

PATCH 2/4 target/generic: add filesystem overlay option

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:

Arnout> From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> Arnout> The filesystem overlay is a tree that is copied over the target fs Arnout> after building everything - which is currently usually done in the Arnout> post-build script.

Arnout> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]> Arnout> Acked-by: Luca Ceresoli <[email protected]>
Arnout> ---
Arnout> v4: Rebased against master.

Arnout> v3: keep the custom skeleton documentation

Arnout> v2: don't deprecate custom skeleton
Arnout> ---

 Arnout>  Makefile                         |    9 +++++++++
 Arnout>  docs/manual/customize-rootfs.txt |   17 +++++++++++------
 Arnout>  docs/manual/customize-store.txt  |   13 +++++--------
 Arnout>  system/Config.in                 |   11 +++++++++++

Arnout> 4 files changed, 36 insertions(+), 14 deletions(-)

Arnout> diff --git a/Makefile b/Makefile
Arnout> index 6f8ed0e..ac59071 100644
Arnout> --- a/Makefile
Arnout> +++ b/Makefile
Arnout> @@ -501,6 +501,15 @@ endif
Arnout> echo "PRETTY_NAME=\"Buildroot $(BR2_VERSION)\"" \
Arnout> ) > $(TARGET_DIR)/etc/os-release

Arnout> + @for dir in $(call qstrip,$(BR2_ROOTFS_OVERLAY)); do \
Arnout> + if [ -d $${dir} ]; then \
Arnout> + $(call MESSAGE,"Copying overlay $${dir}"); \
Arnout> + rsync -a \
Arnout> + --exclude .svn --exclude .git --exclude .hg --exclude '*~' \
Arnout> + $${dir}/ $(TARGET_DIR); \
Arnout> + fi \

Similar to the recent discussion about the post-build script, I don't think we should ignore missing (misspelled?) directories, so I dropped the -d test and committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 2/4 target/generic: add filesystem overlay option

Quoted 11 lines · Peter Korsgaard
  Arnout> +	@for dir in $(call qstrip,$(BR2_ROOTFS_OVERLAY)); do \
  Arnout> +		if [ -d $${dir} ]; then \
  Arnout> +			$(call MESSAGE,"Copying overlay $${dir}"); \
  Arnout> +			rsync -a \
  Arnout> +				--exclude .svn --exclude .git --exclude .hg --exclude '*~' \
  Arnout> +				$${dir}/ $(TARGET_DIR); \
  Arnout> +		fi \

Similar to the recent discussion about the post-build script, I don't think we should ignore missing (misspelled?) directories, so I dropped the -d test and committed, thanks.

Yes, thanks, that was a left-over from when I had a default value for
the overlay.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#6 lore raw

PATCH 3/4 busybox: busybox-update-config should depend on busybox-configure

In reply to Arnout Vandecappelle (Essensium/Mind)

From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>

Before the config file can be copied, it has to exist. The other xxx-update-config targets do this as well.

---
v4: Rebased against master.

v2: small spelling mistake in commit message

---
 package/busybox/busybox.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/busybox/busybox.mk +1 -1
index 9154c08..599e145 100644
@@ -223,5 +223,5 @@ busybox-menuconfig busybox-xconfig busybox-gconfig: busybox-patch
 	rm -f $(BUSYBOX_DIR)/.stamp_built
 	rm -f $(BUSYBOX_DIR)/.stamp_target_installed
 
-busybox-update-config:
+busybox-update-config: busybox-configure
 	cp -f $(BUSYBOX_BUILD_CONFIG) $(BUSYBOX_CONFIG_FILE)
Signature · 1 line
1.7.10.4
#7 lore raw

PATCH 3/4 busybox: busybox-update-config should depend on busybox-configure

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:

Arnout> From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> Arnout> Before the config file can be copied, it has to exist. The Arnout> other xxx-update-config targets do this as well.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#8 lore raw

PATCH 4/4 Make savedefconfig save to a configured file.

In reply to Arnout Vandecappelle (Essensium/Mind)

From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>

Store BR2_DEFCONFIG in .config, and use it to update the original input defconfig file after updating the configuration. When a config is created by using the BR2_DEFCONFIG=... option, this is saved in the .config file; later runs of savedefconfig will update that same location. It is also possible to configure this place in the interactive configuration.

The BR2_DEFCONFIG value itself is not saved into the generated defconfig, since Kconfig considers it at its default. This is intentional, to avoid hard-coding an absolute path in the defconfig. It will anyway be set again when the defconfig is used with the 'make BR2_DEFCONFIG=... defconfig' command.

As a side-effect of this change, the *config options have been moved out of the BR2_HAVE_DOT_CONFIG condition. This doesn't make any functional difference, because the .config is still not read for the *config targets. However, the defconfig and savedefconfig targets do need to include .config now, which makes them slightly slower.

---
v4: Rebased against master.

v3: replaced foo_defconfig documentation with BR2_DEFCONFIG.

---
 Config.in                       |   12 ++++++++++++
 Makefile                        |   17 +++++++++++++----
 docs/manual/customize-store.txt |   10 ++++++----
 3 files changed, 31 insertions(+), 8 deletions(-)
Config.in +12 -0
index af77a83..4929a80 100644
@@ -22,6 +22,18 @@ config BR2_HOSTARCH_NEEDS_IA32_LIBS
 
 source "arch/Config.in"
 
+config BR2_DEFCONFIG_FROM_ENV
+	string
+	option env="BR2_DEFCONFIG"
+
+config BR2_DEFCONFIG
+	string "Location to save buildroot config"
+	default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
+	default "$(CONFIG_DIR)/defconfig"
+	help
+	  When running 'make savedefconfig', the defconfig file will be saved
+	  in this location.
+
 menu "Build options"
 
 menu "Commands"
Makefile +13 -4
index ac59071..1476d97 100644
@@ -56,7 +56,7 @@ DATE:=$(shell date +%Y%m%d)
 export BR2_VERSION_FULL:=$(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
 
 noconfig_targets:=menuconfig nconfig gconfig xconfig config oldconfig randconfig \
-	defconfig %_defconfig savedefconfig allyesconfig allnoconfig silentoldconfig release \
+	%_defconfig allyesconfig allnoconfig silentoldconfig release \
 	randpackageconfig allyespackageconfig allnopackageconfig \
 	source-check print-version
 
@@ -594,6 +594,8 @@ else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
 
 all: menuconfig
 
+endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
+
 # configuration
 # ---------------------------------------------------------------------------
 
@@ -604,7 +606,12 @@ $(BUILD_DIR)/buildroot-config/%onf:
 	mkdir -p $(@D)/lxdialog
 	$(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" obj=$(@D) -C $(CONFIG) -f Makefile.br $(@F)
 
+DEFCONFIG = $(call qstrip,$(BR2_DEFCONFIG))
+
+# We don't want to fully expand BR2_DEFCONFIG here, so Kconfig will
+# recognize that if it's still at its default $(CONFIG_DIR)/defconfig
 COMMON_CONFIG_ENV = \
+	BR2_DEFCONFIG='$(call qstrip,$(value BR2_DEFCONFIG))' \
 	KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
 	KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
 	KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \
@@ -682,7 +689,7 @@ silentoldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
 
 defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
 	@mkdir -p $(BUILD_DIR)/buildroot-config
-	@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(BR2_DEFCONFIG),=$(BR2_DEFCONFIG)) $(CONFIG_CONFIG_IN)
+	@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)
 
 %_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig outputmakefile
 	@mkdir -p $(BUILD_DIR)/buildroot-config
@@ -690,13 +697,15 @@ defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
 
 savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
 	@mkdir -p $(BUILD_DIR)/buildroot-config
-	@$(COMMON_CONFIG_ENV) $< --savedefconfig=$(CONFIG_DIR)/defconfig $(CONFIG_CONFIG_IN)
+	@$(COMMON_CONFIG_ENV) $< \
+		--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
+		$(CONFIG_CONFIG_IN)
 
 # check if download URLs are outdated
 source-check:
 	$(MAKE) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source
 
-endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
+.PHONY: defconfig savedefconfig
 
 #############################################################
 #
docs/manual/customize-store.txt +6 -4
index 5d004ea..bf7bd14 100644
@@ -20,13 +20,15 @@ Buildroot configuration
 ^^^^^^^^^^^^^^^^^^^^^^^
 
 For storing the buildroot configuration itself, buildroot offers the
-following command: +make savedefconfig+
+following command: +make savedefconfig+.
 
 This strips the buildroot configuration down by removing configuration
 options that are@their default value. The result is stored in a file
-called +defconfig+. Copy this file to +foo_defconfig+ in the +configs+
-directory. The configuration can then be rebuilt by running
-+make foo_defconfig+
+called +defconfig+.  If you want to save it in another place, update set
+the +BR2_DEFCONFIG+ option, or call make with +make savedefconfig
+BR2_DEFCONFIG=<path-to-defconfig>+.  The usual place is
++configs/<boardname>_defconfig+. The configuration can then be rebuilt by
+running +make <boardname>_defconfig+.
 
 Alternatively, you can copy the file to any other place and rebuild with
 +make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+.
Signature · 1 line
1.7.10.4
#9 lore raw

PATCH 4/4 Make savedefconfig save to a configured file.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:

Arnout> From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> Arnout> Store BR2_DEFCONFIG in .config, and use it to update the Arnout> original input defconfig file after updating the configuration. Arnout> When a config is created by using the BR2_DEFCONFIG=... option, Arnout> this is saved in the .config file; later runs of savedefconfig Arnout> will update that same location.

Committed with a minor fix (see below) - Thanks.
Arnout> +called +defconfig+. If you want to save it in another place, update set

s/update set/change/

Signature · 1 line
Bye, Peter Korsgaard
#10 lore raw

PATCH 4/4 Make savedefconfig save to a configured file.

In reply to Arnout Vandecappelle (Essensium/Mind)
Quoted 5 lines · Arnout Vandecappelle (Essensium/Mind)

source "arch/Config.in"

Config.in +3 -0
+config BR2_DEFCONFIG_FROM_ENV
+	string
+	option env="BR2_DEFCONFIG"

Config.in config BR2_HOSTARCH_NEEDS_IA32_LIBS · line 37

Quoted 10 lines
Config.in +9 -0
+
+config BR2_DEFCONFIG
+	string "Location to save buildroot config"
+	default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
+	default "$(CONFIG_DIR)/defconfig"
+	help
+	  When running 'make savedefconfig', the defconfig file will be saved
+	  in this location.
+
 menu "Build options"

Any particular reason for this option to be on the toplevel menu? It looks terrible there :)
Maybe build options?
Regards.