All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options
@ 2017-10-19 10:59 Cam Hutchison
  2017-10-21 18:18 ` Yann E. MORIN
  2017-10-21 18:22 ` Peter Korsgaard
  0 siblings, 2 replies; 5+ messages in thread
From: Cam Hutchison @ 2017-10-19 10:59 UTC (permalink / raw)
  To: buildroot

The LINUX_KCONFIG_FIXUP_CMDS are meant to deselect any compression
option that are not selected in the buildroot configuration. But it only
deselects the last one in the list instead of all of them because it
overwrites the LINUX_COMPRESSION_OPT_ variable instead of appending to
it. Only the last option set to that variable gets deselected.

This produces the warning:

.config:2216:warning: override: KERNEL_GZIP changes choice state

is emitted when buildroot runs olddefconfig when buildroot configures a
kernel with a custom config that has a different kernel compression
option set to what is configured in buildroot.

Accumulate all the deselected compression options instead of overwriting
them to ensure all non-selected options get deselected..

Signed-off-by: Cam Hutchison <camh@xdna.net>
---
 linux/linux.mk | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/linux/linux.mk b/linux/linux.mk
index 9c2aa77a10..bd5589bae0 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -74,11 +74,11 @@ LINUX_DEPENDENCIES += host-lzop
 else ifeq ($(BR2_LINUX_KERNEL_XZ),y)
 LINUX_DEPENDENCIES += host-xz
 endif
-LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) = CONFIG_KERNEL_GZIP
-LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) = CONFIG_KERNEL_LZ4
-LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) = CONFIG_KERNEL_LZMA
-LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) = CONFIG_KERNEL_LZO
-LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) = CONFIG_KERNEL_XZ
+LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) += CONFIG_KERNEL_GZIP
+LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) += CONFIG_KERNEL_LZ4
+LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) += CONFIG_KERNEL_LZMA
+LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) += CONFIG_KERNEL_LZO
+LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ
 
 # If host-uboot-tools is selected by the user, assume it is needed to
 # create a custom image
@@ -252,7 +252,7 @@ endif
 define LINUX_KCONFIG_FIXUP_CMDS
 	$(if $(LINUX_NEEDS_MODULES),
 		$(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config))
-	$(call KCONFIG_ENABLE_OPT,$(LINUX_COMPRESSION_OPT_y),$(@D)/.config)
+	$(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y)),$(@D)/.config)
 	$(foreach opt, $(LINUX_COMPRESSION_OPT_),
 		$(call KCONFIG_DISABLE_OPT,$(opt),$(@D)/.config)
 	)
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options
  2017-10-19 10:59 [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options Cam Hutchison
@ 2017-10-21 18:18 ` Yann E. MORIN
  2017-10-21 19:38   ` Cam Hutchison
  2017-10-21 18:22 ` Peter Korsgaard
  1 sibling, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2017-10-21 18:18 UTC (permalink / raw)
  To: buildroot

Cam, All,

On 2017-10-19 21:59 +1100, Cam Hutchison spake thusly:
> The LINUX_KCONFIG_FIXUP_CMDS are meant to deselect any compression
> option that are not selected in the buildroot configuration. But it only
> deselects the last one in the list instead of all of them because it
> overwrites the LINUX_COMPRESSION_OPT_ variable instead of appending to
> it. Only the last option set to that variable gets deselected.
> 
> This produces the warning:
> 
> .config:2216:warning: override: KERNEL_GZIP changes choice state
> 
> is emitted when buildroot runs olddefconfig when buildroot configures a
> kernel with a custom config that has a different kernel compression
> option set to what is configured in buildroot.
> 
> Accumulate all the deselected compression options instead of overwriting
> them to ensure all non-selected options get deselected..
> 
> Signed-off-by: Cam Hutchison <camh@xdna.net>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Small comment below...

> ---
>  linux/linux.mk | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 9c2aa77a10..bd5589bae0 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -74,11 +74,11 @@ LINUX_DEPENDENCIES += host-lzop
>  else ifeq ($(BR2_LINUX_KERNEL_XZ),y)
>  LINUX_DEPENDENCIES += host-xz
>  endif
> -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) = CONFIG_KERNEL_GZIP
> -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) = CONFIG_KERNEL_LZ4
> -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) = CONFIG_KERNEL_LZMA
> -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) = CONFIG_KERNEL_LZO
> -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) = CONFIG_KERNEL_XZ
> +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) += CONFIG_KERNEL_GZIP
> +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) += CONFIG_KERNEL_LZ4
> +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) += CONFIG_KERNEL_LZMA
> +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) += CONFIG_KERNEL_LZO
> +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ
>  
>  # If host-uboot-tools is selected by the user, assume it is needed to
>  # create a custom image
> @@ -252,7 +252,7 @@ endif
>  define LINUX_KCONFIG_FIXUP_CMDS
>  	$(if $(LINUX_NEEDS_MODULES),
>  		$(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config))
> -	$(call KCONFIG_ENABLE_OPT,$(LINUX_COMPRESSION_OPT_y),$(@D)/.config)
> +	$(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y)),$(@D)/.config)

I think the strip is not needed, because leading spaces in arguments to
a call are anyway stripped.

But it is most systematice to do, so it's fine with me.

Regards,
Yann E. MORIN.

>  	$(foreach opt, $(LINUX_COMPRESSION_OPT_),
>  		$(call KCONFIG_DISABLE_OPT,$(opt),$(@D)/.config)
>  	)
> -- 
> 2.11.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options
  2017-10-19 10:59 [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options Cam Hutchison
  2017-10-21 18:18 ` Yann E. MORIN
@ 2017-10-21 18:22 ` Peter Korsgaard
  1 sibling, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2017-10-21 18:22 UTC (permalink / raw)
  To: buildroot

>>>>> "Cam" == Cam Hutchison <camh@xdna.net> writes:

 > The LINUX_KCONFIG_FIXUP_CMDS are meant to deselect any compression
 > option that are not selected in the buildroot configuration. But it only
 > deselects the last one in the list instead of all of them because it
 > overwrites the LINUX_COMPRESSION_OPT_ variable instead of appending to
 > it. Only the last option set to that variable gets deselected.

 > This produces the warning:

 > .config:2216:warning: override: KERNEL_GZIP changes choice state

 > is emitted when buildroot runs olddefconfig when buildroot configures a
 > kernel with a custom config that has a different kernel compression
 > option set to what is configured in buildroot.

 > Accumulate all the deselected compression options instead of overwriting
 > them to ensure all non-selected options get deselected..

 > Signed-off-by: Cam Hutchison <camh@xdna.net>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options
  2017-10-21 18:18 ` Yann E. MORIN
@ 2017-10-21 19:38   ` Cam Hutchison
  2017-10-21 20:40     ` Yann E. MORIN
  0 siblings, 1 reply; 5+ messages in thread
From: Cam Hutchison @ 2017-10-21 19:38 UTC (permalink / raw)
  To: buildroot

Yann E. MORIN wrote:
> Cam, All,
> 
> On 2017-10-19 21:59 +1100, Cam Hutchison spake thusly:
> > The LINUX_KCONFIG_FIXUP_CMDS are meant to deselect any compression
> > option that are not selected in the buildroot configuration. But it only
> > deselects the last one in the list instead of all of them because it
> > overwrites the LINUX_COMPRESSION_OPT_ variable instead of appending to
> > it. Only the last option set to that variable gets deselected.
> > 
> > This produces the warning:
> > 
> > .config:2216:warning: override: KERNEL_GZIP changes choice state
> > 
> > is emitted when buildroot runs olddefconfig when buildroot configures a
> > kernel with a custom config that has a different kernel compression
> > option set to what is configured in buildroot.
> > 
> > Accumulate all the deselected compression options instead of overwriting
> > them to ensure all non-selected options get deselected..
> > 
> > Signed-off-by: Cam Hutchison <camh@xdna.net>
> 
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> Small comment below...
> 
> > ---
> >  linux/linux.mk | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/linux/linux.mk b/linux/linux.mk
> > index 9c2aa77a10..bd5589bae0 100644
> > --- a/linux/linux.mk
> > +++ b/linux/linux.mk
> > @@ -74,11 +74,11 @@ LINUX_DEPENDENCIES += host-lzop
> >  else ifeq ($(BR2_LINUX_KERNEL_XZ),y)
> >  LINUX_DEPENDENCIES += host-xz
> >  endif
> > -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) = CONFIG_KERNEL_GZIP
> > -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) = CONFIG_KERNEL_LZ4
> > -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) = CONFIG_KERNEL_LZMA
> > -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) = CONFIG_KERNEL_LZO
> > -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) = CONFIG_KERNEL_XZ
> > +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) += CONFIG_KERNEL_GZIP
> > +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) += CONFIG_KERNEL_LZ4
> > +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) += CONFIG_KERNEL_LZMA
> > +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) += CONFIG_KERNEL_LZO
> > +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ
> >  
> >  # If host-uboot-tools is selected by the user, assume it is needed to
> >  # create a custom image
> > @@ -252,7 +252,7 @@ endif
> >  define LINUX_KCONFIG_FIXUP_CMDS
> >  	$(if $(LINUX_NEEDS_MODULES),
> >  		$(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config))
> > -	$(call KCONFIG_ENABLE_OPT,$(LINUX_COMPRESSION_OPT_y),$(@D)/.config)
> > +	$(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y)),$(@D)/.config)
> 
> I think the strip is not needed, because leading spaces in arguments to
> a call are anyway stripped.

Actually, that's not true. I did need the strip, otherwise the var had a
space in the output.

The GNU make docs have this to say about $(call):

    A final caution: be careful when adding whitespace to the arguments
    to call. As with other functions, any whitespace contained in the
    second and subsequent arguments is kept; this can cause strange
    effects. It?s generally safest to remove all extraneous whitespace
    when providing parameters to call.

> But it is most systematice to do, so it's fine with me.
> 
> Regards,
> Yann E. MORIN.
> 
> >  	$(foreach opt, $(LINUX_COMPRESSION_OPT_),
> >  		$(call KCONFIG_DISABLE_OPT,$(opt),$(@D)/.config)
> >  	)
> > -- 
> > 2.11.0
> > 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options
  2017-10-21 19:38   ` Cam Hutchison
@ 2017-10-21 20:40     ` Yann E. MORIN
  0 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2017-10-21 20:40 UTC (permalink / raw)
  To: buildroot

Cam, All,

On 2017-10-22 06:38 +1100, Cam Hutchison spake thusly:
> Yann E. MORIN wrote:
> > On 2017-10-19 21:59 +1100, Cam Hutchison spake thusly:
[--SNIP--]
> > > @@ -252,7 +252,7 @@ endif
> > >  define LINUX_KCONFIG_FIXUP_CMDS
> > >  	$(if $(LINUX_NEEDS_MODULES),
> > >  		$(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config))
> > > -	$(call KCONFIG_ENABLE_OPT,$(LINUX_COMPRESSION_OPT_y),$(@D)/.config)
> > > +	$(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y)),$(@D)/.config)
> > I think the strip is not needed, because leading spaces in arguments to
> > a call are anyway stripped.
> Actually, that's not true. I did need the strip, otherwise the var had a
> space in the output.
> 
> The GNU make docs have this to say about $(call):
> 
>     A final caution: be careful when adding whitespace to the arguments
>     to call. As with other functions, any whitespace contained in the
>     second and subsequent arguments is kept; this can cause strange
>     effects. It?s generally safest to remove all extraneous whitespace
>     when providing parameters to call.

Right, I forgot about that one. Thanks!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-10-21 20:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-19 10:59 [Buildroot] [PATCH 1/1] linux: Deselect all unconfigured compression options Cam Hutchison
2017-10-21 18:18 ` Yann E. MORIN
2017-10-21 19:38   ` Cam Hutchison
2017-10-21 20:40     ` Yann E. MORIN
2017-10-21 18:22 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.