Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2] linux: do not always depend on host-lzop
@ 2014-01-26 13:56 Yann E. MORIN
  2014-01-26 13:56 ` [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option Yann E. MORIN
  2014-01-26 13:56 ` [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed Yann E. MORIN
  0 siblings, 2 replies; 15+ messages in thread
From: Yann E. MORIN @ 2014-01-26 13:56 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Hello All!

Here is a small series that makes Linux not always depend on host-lzop.

Regards,
Yann E. MORIN.


----------------------------------------------------------------
Yann E. MORIN (2):
      packages infra: add function to get a Kconfig option
      linux: only depend on host-lzop if needed

 linux/linux.mk       | 6 +++++-
 package/pkg-utils.mk | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 15+ messages in thread

* [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option
  2014-01-26 13:56 [Buildroot] [PATCH 0/2] linux: do not always depend on host-lzop Yann E. MORIN
@ 2014-01-26 13:56 ` Yann E. MORIN
  2014-01-26 20:02   ` Peter Korsgaard
  2014-01-27 21:48   ` Arnout Vandecappelle
  2014-01-26 13:56 ` [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed Yann E. MORIN
  1 sibling, 2 replies; 15+ messages in thread
From: Yann E. MORIN @ 2014-01-26 13:56 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

We so far have no mean to get the value from a Kconfig option from the
.config file of a package (eg. linux, busybox...).

Add a new function that returns the unmangled value of an option.
It expect two arguments:
  - the Kconfig option name (complete, with leading CONFIG if necessary)
  - the .config file to get it from

Note that, if the Kconfig option is a string, the returned value will
contain the leading and trailing double-quotes.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/pkg-utils.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
index 851575c..2f70acc 100644
--- a/package/pkg-utils.mk
+++ b/package/pkg-utils.mk
@@ -52,6 +52,12 @@ define KCONFIG_DISABLE_OPT
 	echo "# $(1) is not set" >> $(2)
 endef
 
+# Note: we do not indent this, since we want to avoid any leading
+# space or tabs when calling this function
+define KCONFIG_GET_OPT
+$(shell sed -e "/\\<$(1)\\>=\\(.*\\)$$/!d; s//\\1/" $(2))
+endef
+
 # Helper functions to determine the name of a package and its
 # directory from its makefile directory, using the $(MAKEFILE_LIST)
 # variable provided by make. This is used by the *TARGETS macros to
-- 
1.8.1.2

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

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-26 13:56 [Buildroot] [PATCH 0/2] linux: do not always depend on host-lzop Yann E. MORIN
  2014-01-26 13:56 ` [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option Yann E. MORIN
@ 2014-01-26 13:56 ` Yann E. MORIN
  2014-01-26 20:23   ` Peter Korsgaard
                     ` (2 more replies)
  1 sibling, 3 replies; 15+ messages in thread
From: Yann E. MORIN @ 2014-01-26 13:56 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

There is no reason to always depend on host-lzop, even when the kernel
compression is not LZO.

Since LZO is not the default compression option in the kernel (and there
is not sign that will change in the foreseeable future), it will always
appear in a condif file, whether it is a complete config file or it is
only a defconfig.

So, only depend on host-lzop if the LZO compression is enabled in the
kernel config file (either the defconfig or the custom config file).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 linux/linux.mk | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/linux/linux.mk b/linux/linux.mk
index ab25fe9..f34bea1 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -38,7 +38,7 @@ endif
 LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
 
 LINUX_INSTALL_IMAGES = YES
-LINUX_DEPENDENCIES  += host-kmod host-lzop
+LINUX_DEPENDENCIES  += host-kmod
 
 ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y)
 	LINUX_DEPENDENCIES += host-uboot-tools
@@ -163,6 +163,10 @@ else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y)
 KERNEL_SOURCE_CONFIG = $(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)
 endif
 
+ifeq ($(call KCONFIG_GET_OPT,CONFIG_KERNEL_LZO,$(call qstrip,$(KERNEL_SOURCE_CONFIG))),y)
+LINUX_DEPENDENCIES += host-lzop
+endif
+
 define LINUX_CONFIGURE_CMDS
 	cp $(KERNEL_SOURCE_CONFIG) $(KERNEL_ARCH_PATH)/configs/buildroot_defconfig
 	$(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) buildroot_defconfig
-- 
1.8.1.2

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

* [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option
  2014-01-26 13:56 ` [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option Yann E. MORIN
@ 2014-01-26 20:02   ` Peter Korsgaard
  2014-01-26 20:25     ` Yann E. MORIN
  2014-01-26 20:33     ` Yann E. MORIN
  2014-01-27 21:48   ` Arnout Vandecappelle
  1 sibling, 2 replies; 15+ messages in thread
From: Peter Korsgaard @ 2014-01-26 20:02 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > We so far have no mean to get the value from a Kconfig option from the
 > .config file of a package (eg. linux, busybox...).

 > Add a new function that returns the unmangled value of an option.
 > It expect two arguments:
 >   - the Kconfig option name (complete, with leading CONFIG if necessary)
 >   - the .config file to get it from

 > Note that, if the Kconfig option is a string, the returned value will
 > contain the leading and trailing double-quotes.

 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > ---
 >  package/pkg-utils.mk | 6 ++++++
 >  1 file changed, 6 insertions(+)

 > diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
 > index 851575c..2f70acc 100644
 > --- a/package/pkg-utils.mk
 > +++ b/package/pkg-utils.mk
 > @@ -52,6 +52,12 @@ define KCONFIG_DISABLE_OPT
 >  	echo "# $(1) is not set" >> $(2)
 >  endef
 
 > +# Note: we do not indent this, since we want to avoid any leading
 > +# space or tabs when calling this function
 > +define KCONFIG_GET_OPT
 > +$(shell sed -e "/\\<$(1)\\>=\\(.*\\)$$/!d; s//\\1/" $(2))

Should this perhaps use $(SED)?

Sorry, I'm probably missing something, but I don't right away see why we
don't just use:

$(SED) -n 's/^$(1)=//p' $(2)

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-26 13:56 ` [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed Yann E. MORIN
@ 2014-01-26 20:23   ` Peter Korsgaard
  2014-01-27 21:51   ` Arnout Vandecappelle
  2014-01-28 22:14   ` Thomas Petazzoni
  2 siblings, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2014-01-26 20:23 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > There is no reason to always depend on host-lzop, even when the kernel
 > compression is not LZO.

 > Since LZO is not the default compression option in the kernel (and there
 > is not sign that will change in the foreseeable future), it will always
 > appear in a condif file, whether it is a complete config file or it is
 > only a defconfig.

 > So, only depend on host-lzop if the LZO compression is enabled in the
 > kernel config file (either the defconfig or the custom config file).

Nice, thanks - Just a few comments..


 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > ---
 >  linux/linux.mk | 6 +++++-
 >  1 file changed, 5 insertions(+), 1 deletion(-)

 > diff --git a/linux/linux.mk b/linux/linux.mk
 > index ab25fe9..f34bea1 100644
 > --- a/linux/linux.mk
 > +++ b/linux/linux.mk
 > @@ -38,7 +38,7 @@ endif
 >  LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
 
 >  LINUX_INSTALL_IMAGES = YES
 > -LINUX_DEPENDENCIES  += host-kmod host-lzop
 > +LINUX_DEPENDENCIES  += host-kmod
 
 >  ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y)
 >  	LINUX_DEPENDENCIES += host-uboot-tools
 > @@ -163,6 +163,10 @@ else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y)
 >  KERNEL_SOURCE_CONFIG = $(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)
 >  endif
 
 > +ifeq ($(call KCONFIG_GET_OPT,CONFIG_KERNEL_LZO,$(call qstrip,$(KERNEL_SOURCE_CONFIG))),y)
 > +LINUX_DEPENDENCIES += host-lzop
 > +endif

Another user of lzop seems to be the initramfs support, so we whould
probably also check for RD_LZO (but that's auto enabled/prompt-less if
!expert, so might not be in the .config, so perhaps we should just check
for INITRAMFS_SOURCE):

config RD_LZO
        bool "Support initial ramdisks compressed using LZO" if EXPERT
        default !EXPERT
        depends on BLK_DEV_INITRD
        select DECOMPRESS_LZO
        help
          Support loading of a LZO encoded initial ramdisk or cpio buffer
          If unsure, say N.

Furthermore, this will probably give a pretty odd error message if
people mistype the config file name. Not directly related to this
change, but it would probably be a good thing if we would check and
error out early if any of the needed config files aren't present
(busybox/uclibc/uboot/kernel/..)  with something like

ifeq ($(wildcard $(BR2_PACKAGE_FOO_CONFIG)),)
$(error Configuration file '$(BR2_PACKAGE_FOO_CONFIG)' not found. Check your BR2_PACKAGE_FOO_CONFIG settings)

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option
  2014-01-26 20:02   ` Peter Korsgaard
@ 2014-01-26 20:25     ` Yann E. MORIN
  2014-01-26 22:14       ` Peter Korsgaard
  2014-01-26 20:33     ` Yann E. MORIN
  1 sibling, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2014-01-26 20:25 UTC (permalink / raw)
  To: buildroot

On 2014-01-26 21:02 +0100, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> 
>  > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > We so far have no mean to get the value from a Kconfig option from the
>  > .config file of a package (eg. linux, busybox...).
> 
>  > Add a new function that returns the unmangled value of an option.
>  > It expect two arguments:
>  >   - the Kconfig option name (complete, with leading CONFIG if necessary)
>  >   - the .config file to get it from
> 
>  > Note that, if the Kconfig option is a string, the returned value will
>  > contain the leading and trailing double-quotes.
> 
>  > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > ---
>  >  package/pkg-utils.mk | 6 ++++++
>  >  1 file changed, 6 insertions(+)
> 
>  > diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
>  > index 851575c..2f70acc 100644
>  > --- a/package/pkg-utils.mk
>  > +++ b/package/pkg-utils.mk
>  > @@ -52,6 +52,12 @@ define KCONFIG_DISABLE_OPT
>  >  	echo "# $(1) is not set" >> $(2)
>  >  endef
>  
>  > +# Note: we do not indent this, since we want to avoid any leading
>  > +# space or tabs when calling this function
>  > +define KCONFIG_GET_OPT
>  > +$(shell sed -e "/\\<$(1)\\>=\\(.*\\)$$/!d; s//\\1/" $(2))
> 
> Should this perhaps use $(SED)?

$(SED) is 'sed -i -e'

And we don't want to replace in-place!

BTW, that $(SED) is 'sed -i -e' is really bugging me everytime I need
to use sed.

I thionk we should introduce:
  SED := sed -e
  SEDI := sed -i -e

We unfortunately have that many calls to $(SED) here and there... We'd
need to audit and replace all of them.

> Sorry, I'm probably missing something, but I don't right away see why we
> don't just use:
> 
> $(SED) -n 's/^$(1)=//p' $(2)

Oh, I just copied and adapted the commands in the lines above, from
KCONFIG_SET_OPT or KCONFIG_ENABLE_OPT.

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] 15+ messages in thread

* [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option
  2014-01-26 20:02   ` Peter Korsgaard
  2014-01-26 20:25     ` Yann E. MORIN
@ 2014-01-26 20:33     ` Yann E. MORIN
  1 sibling, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2014-01-26 20:33 UTC (permalink / raw)
  To: buildroot

Peter, All,

On 2014-01-26 21:02 +0100, Peter Korsgaard spake thusly:
>  > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > We so far have no mean to get the value from a Kconfig option from the
>  > .config file of a package (eg. linux, busybox...).
> 
>  > Add a new function that returns the unmangled value of an option.
>  > It expect two arguments:
>  >   - the Kconfig option name (complete, with leading CONFIG if necessary)
>  >   - the .config file to get it from
> 
>  > Note that, if the Kconfig option is a string, the returned value will
>  > contain the leading and trailing double-quotes.
> 
>  > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > ---
>  >  package/pkg-utils.mk | 6 ++++++
>  >  1 file changed, 6 insertions(+)
> 
>  > diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
>  > index 851575c..2f70acc 100644
>  > --- a/package/pkg-utils.mk
>  > +++ b/package/pkg-utils.mk
>  > @@ -52,6 +52,12 @@ define KCONFIG_DISABLE_OPT
>  >  	echo "# $(1) is not set" >> $(2)
>  >  endef
>  
>  > +# Note: we do not indent this, since we want to avoid any leading
>  > +# space or tabs when calling this function
>  > +define KCONFIG_GET_OPT
>  > +$(shell sed -e "/\\<$(1)\\>=\\(.*\\)$$/!d; s//\\1/" $(2))
> 
> Should this perhaps use $(SED)?
> 
> Sorry, I'm probably missing something, but I don't right away see why we
> don't just use:
> 
> $(SED) -n 's/^$(1)=//p' $(2)

Oh, I also forgot: we use $(shell ...) because we want to call this from
inside make conditionals, like I did in the followup patch to check if
CONFIG_KERNEL_LZO was set or not.

If we do not use $(shell ...), then the expansion of KCONFIG_GET_OPT is
used, and we'd get something like:

ifeq (sed 'blabla' config-file,y)
...
endif

which is not really of any help, is it? ;-)

(Not usre if your question was about use of $(shell ...) or about the
sed expression itself. I can certinly use your alternate sed expression
if you prefer, of course.)

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] 15+ messages in thread

* [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option
  2014-01-26 20:25     ` Yann E. MORIN
@ 2014-01-26 22:14       ` Peter Korsgaard
  0 siblings, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2014-01-26 22:14 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

Hi,

 >> Should this perhaps use $(SED)?

 > $(SED) is 'sed -i -e'

 > And we don't want to replace in-place!

 > BTW, that $(SED) is 'sed -i -e' is really bugging me everytime I need
 > to use sed.

 > I thionk we should introduce:
 >   SED := sed -e
 >   SEDI := sed -i -e

 > We unfortunately have that many calls to $(SED) here and there... We'd
 > need to audit and replace all of them.

Hmm, yes - Agreed (even though I don't think we really need a SEDI). I
don't really know why we added -i to SED, but I agree that it isn't
really nice (it dates back to the 2d523c23 mega commit).


 >> Sorry, I'm probably missing something, but I don't right away see why we
 >> don't just use:
 >> 
 >> $(SED) -n 's/^$(1)=//p' $(2)

 > Oh, I just copied and adapted the commands in the lines above, from
 > KCONFIG_SET_OPT or KCONFIG_ENABLE_OPT.

Ahh, ok - Then I prefer the simple variant then - I believe it behaves
identical but is directly obvious (to me).

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option
  2014-01-26 13:56 ` [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option Yann E. MORIN
  2014-01-26 20:02   ` Peter Korsgaard
@ 2014-01-27 21:48   ` Arnout Vandecappelle
  1 sibling, 0 replies; 15+ messages in thread
From: Arnout Vandecappelle @ 2014-01-27 21:48 UTC (permalink / raw)
  To: buildroot

On 26/01/14 14:56, Yann E. MORIN wrote:
> +# Note: we do not indent this, since we want to avoid any leading
> +# space or tabs when calling this function
> +define KCONFIG_GET_OPT
> +$(shell sed -e "/\\<$(1)\\>=\\(.*\\)$$/!d; s//\\1/" $(2))
> +endef

  There's no need to define this with 'define', you can do with a normal 
assignment, like we do for the UPPERCASE macro.

KCONFIG_GET_OPT = $(shell sed -e ...)

  Regards,
  Arnout

-- 
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

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

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-26 13:56 ` [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed Yann E. MORIN
  2014-01-26 20:23   ` Peter Korsgaard
@ 2014-01-27 21:51   ` Arnout Vandecappelle
  2014-01-28 22:14   ` Thomas Petazzoni
  2 siblings, 0 replies; 15+ messages in thread
From: Arnout Vandecappelle @ 2014-01-27 21:51 UTC (permalink / raw)
  To: buildroot

On 26/01/14 14:56, Yann E. MORIN wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>
> There is no reason to always depend on host-lzop, even when the kernel
> compression is not LZO.
>
> Since LZO is not the default compression option in the kernel (and there
> is not sign that will change in the foreseeable future), it will always
> appear in a condif file, whether it is a complete config file or it is
> only a defconfig.
>
> So, only depend on host-lzop if the LZO compression is enabled in the
> kernel config file (either the defconfig or the custom config file).
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>   linux/linux.mk | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/linux/linux.mk b/linux/linux.mk
> index ab25fe9..f34bea1 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -38,7 +38,7 @@ endif
>   LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
>
>   LINUX_INSTALL_IMAGES = YES
> -LINUX_DEPENDENCIES  += host-kmod host-lzop
> +LINUX_DEPENDENCIES  += host-kmod
>
>   ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y)
>   	LINUX_DEPENDENCIES += host-uboot-tools
> @@ -163,6 +163,10 @@ else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y)
>   KERNEL_SOURCE_CONFIG = $(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)
>   endif
>
> +ifeq ($(call KCONFIG_GET_OPT,CONFIG_KERNEL_LZO,$(call qstrip,$(KERNEL_SOURCE_CONFIG))),y)

  I would be nicer if the qstrip would move to the definition of 
KERNEL_SOURCE_CONFIG a few lines higher. It's already there in one 
condition, but not in the other.

  Regards,
  Arnout

> +LINUX_DEPENDENCIES += host-lzop
> +endif
> +
>   define LINUX_CONFIGURE_CMDS
>   	cp $(KERNEL_SOURCE_CONFIG) $(KERNEL_ARCH_PATH)/configs/buildroot_defconfig
>   	$(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) buildroot_defconfig
>


-- 
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

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

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-26 13:56 ` [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed Yann E. MORIN
  2014-01-26 20:23   ` Peter Korsgaard
  2014-01-27 21:51   ` Arnout Vandecappelle
@ 2014-01-28 22:14   ` Thomas Petazzoni
  2014-01-28 22:17     ` Peter Korsgaard
  2014-01-28 22:21     ` Yann E. MORIN
  2 siblings, 2 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2014-01-28 22:14 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sun, 26 Jan 2014 14:56:27 +0100, Yann E. MORIN wrote:

> +ifeq ($(call KCONFIG_GET_OPT,CONFIG_KERNEL_LZO,$(call qstrip,$(KERNEL_SOURCE_CONFIG))),y)
> +LINUX_DEPENDENCIES += host-lzop
> +endif

Do this works reliably? KERNEL_SOURCE_CONFIG typically points to a
minimal defconfig file (say arch/arm/configs/mvebu_defconfig). So if
CONFIG_KERNEL_LZO is the default choice for the kernel, it will not
appear in the defconfig, and therefore the piece of code above will not
realize that we need host-lzop, because the test is done before "make
mvebu_defconfig" is executed and turns it back into a full
configuration file.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-28 22:14   ` Thomas Petazzoni
@ 2014-01-28 22:17     ` Peter Korsgaard
  2014-01-28 22:20       ` Thomas Petazzoni
  2014-01-28 22:21     ` Yann E. MORIN
  1 sibling, 1 reply; 15+ messages in thread
From: Peter Korsgaard @ 2014-01-28 22:17 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Dear Yann E. MORIN,
 > On Sun, 26 Jan 2014 14:56:27 +0100, Yann E. MORIN wrote:

 >> +ifeq ($(call KCONFIG_GET_OPT,CONFIG_KERNEL_LZO,$(call qstrip,$(KERNEL_SOURCE_CONFIG))),y)
 >> +LINUX_DEPENDENCIES += host-lzop
 >> +endif

 > Do this works reliably? KERNEL_SOURCE_CONFIG typically points to a
 > minimal defconfig file (say arch/arm/configs/mvebu_defconfig). So if
 > CONFIG_KERNEL_LZO is the default choice for the kernel, it will not
 > appear in the defconfig, and therefore the piece of code above will not
 > realize that we need host-lzop, because the test is done before "make
 > mvebu_defconfig" is executed and turns it back into a full
 > configuration file.

The commit message contained:

Since LZO is not the default compression option in the kernel (and there
is not sign that will change in the foreseeable future), it will always
appear in a condif file, whether it is a complete config file or it is
only a defconfig.

So I believe the answer is yes, it will work.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-28 22:17     ` Peter Korsgaard
@ 2014-01-28 22:20       ` Thomas Petazzoni
  2014-01-28 22:24         ` Peter Korsgaard
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2014-01-28 22:20 UTC (permalink / raw)
  To: buildroot

Dear Peter Korsgaard,

On Tue, 28 Jan 2014 23:17:32 +0100, Peter Korsgaard wrote:

>  > Do this works reliably? KERNEL_SOURCE_CONFIG typically points to a
>  > minimal defconfig file (say arch/arm/configs/mvebu_defconfig). So if
>  > CONFIG_KERNEL_LZO is the default choice for the kernel, it will not
>  > appear in the defconfig, and therefore the piece of code above will not
>  > realize that we need host-lzop, because the test is done before "make
>  > mvebu_defconfig" is executed and turns it back into a full
>  > configuration file.
> 
> The commit message contained:
> 
> Since LZO is not the default compression option in the kernel (and there
> is not sign that will change in the foreseeable future), it will always
> appear in a condif file, whether it is a complete config file or it is
> only a defconfig.
> 
> So I believe the answer is yes, it will work.

Ok, thanks, I missed that. I believe it's a little bit fragile to rely
on the assumption that it will not become the default, but since the
breakage will be very clear if this ever changes, I think Yann's
proposal is a good compromise. I was also annoyed by host-lzop always
being built, even if useless. Seemed like Buildroot was turning into
this other build system that builds gazillions of useless
dependencies :)

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-28 22:14   ` Thomas Petazzoni
  2014-01-28 22:17     ` Peter Korsgaard
@ 2014-01-28 22:21     ` Yann E. MORIN
  1 sibling, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2014-01-28 22:21 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2014-01-28 23:14 +0100, Thomas Petazzoni spake thusly:
> On Sun, 26 Jan 2014 14:56:27 +0100, Yann E. MORIN wrote:
> 
> > +ifeq ($(call KCONFIG_GET_OPT,CONFIG_KERNEL_LZO,$(call qstrip,$(KERNEL_SOURCE_CONFIG))),y)
> > +LINUX_DEPENDENCIES += host-lzop
> > +endif
> 
> Do this works reliably? KERNEL_SOURCE_CONFIG typically points to a
> minimal defconfig file (say arch/arm/configs/mvebu_defconfig). So if
> CONFIG_KERNEL_LZO is the default choice for the kernel, it will not
> appear in the defconfig, and therefore the piece of code above will not
> realize that we need host-lzop, because the test is done before "make
> mvebu_defconfig" is executed and turns it back into a full
> configuration file.

I believe I've addresed your comments in the commit log itself:

    ---8<---
    Since LZO is not the default compression option in the kernel (and there
    is not sign that will change in the foreseeable future), it will always
    appear in a condif file, whether it is a complete config file or it is
    only a defconfig.
    ---8<---

Of course, re-reading myself now, I can now spot a typo:
    s/condif/config/

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] 15+ messages in thread

* [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed
  2014-01-28 22:20       ` Thomas Petazzoni
@ 2014-01-28 22:24         ` Peter Korsgaard
  0 siblings, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2014-01-28 22:24 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 >> So I believe the answer is yes, it will work.

 > Ok, thanks, I missed that. I believe it's a little bit fragile to rely
 > on the assumption that it will not become the default, but since the
 > breakage will be very clear if this ever changes, I think Yann's
 > proposal is a good compromise. I was also annoyed by host-lzop always
 > being built, even if useless. Seemed like Buildroot was turning into
 > this other build system that builds gazillions of useless
 > dependencies :)

Indeed. We do have a problem with the initramfs stuff though as I
pointed out.

-- 
Bye, Peter Korsgaard

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

end of thread, other threads:[~2014-01-28 22:24 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-26 13:56 [Buildroot] [PATCH 0/2] linux: do not always depend on host-lzop Yann E. MORIN
2014-01-26 13:56 ` [Buildroot] [PATCH 1/2] packages infra: add function to get a Kconfig option Yann E. MORIN
2014-01-26 20:02   ` Peter Korsgaard
2014-01-26 20:25     ` Yann E. MORIN
2014-01-26 22:14       ` Peter Korsgaard
2014-01-26 20:33     ` Yann E. MORIN
2014-01-27 21:48   ` Arnout Vandecappelle
2014-01-26 13:56 ` [Buildroot] [PATCH 2/2] linux: only depend on host-lzop if needed Yann E. MORIN
2014-01-26 20:23   ` Peter Korsgaard
2014-01-27 21:51   ` Arnout Vandecappelle
2014-01-28 22:14   ` Thomas Petazzoni
2014-01-28 22:17     ` Peter Korsgaard
2014-01-28 22:20       ` Thomas Petazzoni
2014-01-28 22:24         ` Peter Korsgaard
2014-01-28 22:21     ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox