[Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set

Summers, Stuart stuart.summers at intel.com
Mon Apr 8 19:41:53 UTC 2019


On Mon, 2019-04-08 at 21:28 +0200, Yann E. MORIN wrote:
> Stuart, All,
> 
> On 2019-04-08 11:42 -0700, Stuart Summers spake thusly:
> > A patch was added to the Linux kernel in 5.1.0-rc3 which
> > adds a requirement that the host build environment include
> > pkg-config. Add the correct host-pkgconf dependency and
> > environment variables to ensure Linux picks up the correct
> > libraries.
> 
> Additionally:
> 
>     Move the existing LINUX_MAKE_ENV assignment earlier, to simplify
>     the append-assignment in the libelf conditional block.

Makes sense.

> 
> And since you posted your patch, someone opened a bug in our tracker,
> so:
> 
>     Fixes: #11761

Ah, didn't see this bug until after I sent out the patch. Thanks for
the update there!

> 
> > v2: Use LINUX_MAKE_ENV to pass PKG_CONFIG_* options (Thomas)
> > v3: Add PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} to kconfig
> >     blacklist and move LINUX_MAKE_ENV initial assign in
> >     linux.mk before DEP* assignments (Yann)
> 
> This v2-v3 changelog should be after the --- line, below...

In the future, I'll format this way, thanks for the pointer.

> 
> > Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> > Cc: Yann E. MORIN <yann.morin.1998 at free.fr>
> > Suggested-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> > Signed-off-by: Stuart Summers <stuart.summers at intel.com>
> > ---
> 
> ... here.
> 
> >  linux/linux.mk         | 16 +++++++++++-----
> >  package/pkg-kconfig.mk |  4 +++-
> >  2 files changed, 14 insertions(+), 6 deletions(-)
> > 
> > diff --git a/linux/linux.mk b/linux/linux.mk
> > index 6bf2b88038..d209a5cf59 100644
> > --- a/linux/linux.mk
> > +++ b/linux/linux.mk
> > @@ -61,6 +61,10 @@ LINUX_PATCHES = $(call
> > qstrip,$(BR2_LINUX_KERNEL_PATCH))
> >  # be directories in the patch list (unlike for other packages).
> >  LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES)
> > )
> >  
> > +LINUX_MAKE_ENV = \
> > +	$(TARGET_MAKE_ENV) \
> > +	BR_BINARIES_DIR=$(BINARIES_DIR)
> > +
> >  LINUX_INSTALL_IMAGES = YES
> >  LINUX_DEPENDENCIES = host-kmod
> >  
> > @@ -97,7 +101,13 @@ LINUX_DEPENDENCIES += host-openssl
> >  endif
> >  
> >  ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> > -LINUX_DEPENDENCIES += host-elfutils
> > +LINUX_DEPENDENCIES += host-elfutils host-pkgconf
> > +LINUX_MAKE_ENV += \
> > +	PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> > +	PKG_CONFIG_SYSROOT_DIR="/" \
> > +	PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
> > +	PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
> > +	PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/
> > pkgconfig"
> >  endif
> >  
> >  # If host-uboot-tools is selected by the user, assume it is needed
> > to
> > @@ -121,10 +131,6 @@ LINUX_MAKE_FLAGS = \
> >  	CROSS_COMPILE="$(TARGET_CROSS)" \
> >  	DEPMOD=$(HOST_DIR)/sbin/depmod
> >  
> > -LINUX_MAKE_ENV = \
> > -	$(TARGET_MAKE_ENV) \
> > -	BR_BINARIES_DIR=$(BINARIES_DIR)
> > -
> >  ifeq ($(BR2_REPRODUCIBLE),y)
> >  LINUX_MAKE_ENV += \
> >  	KBUILD_BUILD_VERSION=1 \
> > diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
> > index d6c95b897e..e53cc9002e 100644
> > --- a/package/pkg-kconfig.mk
> > +++ b/package/pkg-kconfig.mk
> > @@ -175,7 +175,9 @@ endif
> >  # nconfig, gconfig, xconfig).
> >  # So we simply remove our PATH and PKG_CONFIG_* variables.
> >  $(2)_CONFIGURATOR_MAKE_ENV = \
> > -	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=%
> > PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
> > +	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% \
> > +	   PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=%
> > PKG_CONFIG_ALLOW_SYSTEM_LIBS=% \
> > +	   PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
> 
> I'm not too happy abfor the poout the look the above has, but I have
> no better
> formatting suggestion to provide...

Yeah, I agree it looks ugly.. If you have suggestions, I'm happy to
take a look.

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

Thanks for the review and the time here!

Given this is my first patch, I'm not sure I have push rights. Can you
help with merging? Also, would you like a re-post with the commit
message recommendations above?

Thanks,
Stuart

> 
> Regards,
> Yann E. MORIN.
> 
> >  	PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)"
> >  
> >  # Configuration editors (menuconfig, ...)
> > -- 
> > 2.20.1
> > 
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <http://lists.buildroot.org/pipermail/buildroot/attachments/20190408/be12d5eb/attachment-0001.bin>


More information about the buildroot mailing list