Files
Bernd Kuhls d98d9ba28f package/kbd: fix zlib build, add optional dependencies
Buildroot commit 930660890b bumped kbd to
version 2.9.0 which includes optional support for various compression
libraries. This commit adds the corresponding configure options and a
fix for build errors caused by zlib.

The build error was happening when a zlib was compiled before kbd.
The issue can be reproduced with the commands:

    cat >.config <<EOF
    BR2_aarch64=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
    BR2_PACKAGE_KBD=y
    BR2_PACKAGE_ZLIB=y
    EOF
    make olddefconfig
    make zlib
    make kbd

The compilation fails with the erro:

    kbdfile-zlib.c: In function 'dlopen_note':
    elf-note.h:27:30: error: 'sym_gzopen' undeclared (first use in this function); did you mean 'sym_gzopen64'?
       27 | #define DLSYM_ARG(symbol__) &sym_##symbol__, STRINGIFY(symbol__),
          |                              ^~~~

Fixes:
https://autobuild.buildroot.net/results/8ff/8ff6c3d940b68069f748f12646f7516ec86172c1/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
[Julien:
 - add commands to reproduce the issue
 - update patch "Upstream:" link to upstream commit
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-12-08 21:32:58 +01:00

51 lines
1.1 KiB
Makefile

################################################################################
#
# kbd
#
################################################################################
KBD_VERSION = 2.9.0
KBD_SOURCE = kbd-$(KBD_VERSION).tar.xz
KBD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd
KBD_CONF_OPTS = \
--disable-vlock \
--disable-tests
KBD_DEPENDENCIES = \
$(TARGET_NLS_DEPENDENCIES) \
host-pkgconf
ifeq ($(BR2_PACKAGE_BZIP2),y)
KBD_CONF_OPTS += --with-bzip2
KBD_DEPENDENCIES += bzip2
else
KBD_CONF_OPTS += --without-bzip2
endif
ifeq ($(BR2_PACKAGE_XZ),y)
KBD_CONF_OPTS += --with-lzma
KBD_DEPENDENCIES += xz
else
KBD_CONF_OPTS += --without-lzma
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
KBD_CONF_OPTS += --with-zlib
KBD_DEPENDENCIES += zlib
else
KBD_CONF_OPTS += --without-zlib
endif
ifeq ($(BR2_PACKAGE_ZSTD),y)
KBD_CONF_OPTS += --with-zstd
KBD_DEPENDENCIES += zstd
else
KBD_CONF_OPTS += --without-zstd
endif
KBD_LICENSE = GPL-2.0+
KBD_LICENSE_FILES = COPYING CREDITS
KBD_INSTALL_TARGET_OPTS = MKINSTALLDIRS=$(@D)/config/mkinstalldirs DESTDIR=$(TARGET_DIR) install
$(eval $(autotools-package))