[Buildroot] [PATCH] Makefile: be careful what we remove from saved defconfig
Hervé CODINA
Herve.CODINA at celad.com
Fri Oct 23 17:23:01 UTC 2020
On 21/10/2020 22:08, Yann E. MORIN wrote:
> When we savedefconfig, we remove BR2_DEFCONFIG (f71a621d91e, savedefconfig:
> Remove BR2_DEFCONFIG from saved defconfig file) and BR2_DL_DIR (36edacce9c2,
> Makefile: exclude BR2_DL_DIR from savedefconfig), because their meaning
> is only valid locally.
>
> However, we were not careful to really match the exact variables, so we
> could match arbitrary options.
>
> For example, these config options would all be dropped:
>
> BR2_DEFCONFIG="toto"
> BR2_DL_DIR="titi"
> BR2_PACKAGE_SABR2_DEFCONFIG="tutu"
> BR2_PACKAGE_SABR2_DL_DIR=y
>
> While the first two are indeed the ones we want to drop, the last two
> are options (whatever their meaning or how poorly named they are) of the
> hypothetical 'sabr2' package, and we want to keep those in a defconfig.
>
> When cleaning the just-saved defconfig, be sure to anchor the patterns to
> the beginning of the line.
>
> Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
> Cc: Sven Oliver Moll <buildroot at svol.li>
> Cc: Herve Codina <Herve.CODINA at celad.com>
> ---
> Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index d1d19d8f40..d4751e278e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1027,8 +1027,8 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
> @$(COMMON_CONFIG_ENV) $< \
> --savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
> $(CONFIG_CONFIG_IN)
> - @$(SED) '/BR2_DEFCONFIG=/d' \
> - -e '/BR2_DL_DIR=/d' \
> + @$(SED) '/^BR2_DEFCONFIG=/d' \
> + -e '/^BR2_DL_DIR=/d' \
> $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig)
Maybe I acked too quickly ...
What do you think about this pattern
@$(SED) '/^BR2_DEFCONFIG=/d' -e '/^# BR2_DEFCONFIG /
in order to match "BR2_DEFCONFIG=xxxxxxxx" and "# BR2_DEFCONFIG is not set" ?
Of course, same pattern for BR2_DL_DIR.
I am not sure that BR2_DEFCONFIG nor BR2_DL_DIR can be commented (ie can be not set)
but this will prevent any traces of BR2_DEFCONFIG or BR2_DL_DIR even if commented.
Herve Codina
>
> .PHONY: defconfig savedefconfig update-defconfig
>
More information about the buildroot
mailing list