package/libcap-ng: bump version to 0.9.3

https://github.com/stevegrubb/libcap-ng/blob/v0.9.3/ChangeLog

The source tarball is not distributed on the project site anymore so we
switch to the github helper and need to enable autoreconf.

Added dependency to BR2_TOOLCHAIN_HAS_SYNC_4 to fix a build error:

/home/bernd/buildroot/test-libcap/bootlin-sparc-uclibc/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/14.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld:
 ../src/.libs/libcap-ng.so: undefined reference to `__sync_bool_compare_and_swap_4'

due to this upstream commit added in version 0.9.2:
ba2e9e0319

Added _POST_EXTRACT_HOOKS and dependency to host-pkgconf to fix
autoreconf errors.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Bernd Kuhls
2026-04-20 18:55:48 +02:00
committed by Julien Olivain
parent 757bf45a57
commit d966da3581
8 changed files with 25 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ config BR2_PACKAGE_DBUS_BROKER
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libcap-ng
depends on BR2_PACKAGE_SYSTEMD
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_LIBCAP_NG if BR2_PACKAGE_AUDIT
@@ -21,4 +22,5 @@ config BR2_PACKAGE_DBUS_BROKER
comment "dbusbroker needs systemd and a toolchain w/ threads"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_SYSTEMD

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_LIBCAP_NG
bool "libcap-ng"
# uses __sync_val_compare_and_swap_4
depends on BR2_TOOLCHAIN_HAS_SYNC_4
help
The libcap-ng library is intended to make programming with
posix capabilities much easier than the traditional libcap

View File

@@ -1,4 +1,4 @@
# Locally calculated
sha256 3ba5294d1cbdfa98afaacfbc00b6af9ed2b83e8a21817185dfd844cc8c7ac6ff libcap-ng-0.8.5.tar.gz
sha256 fe11ebbb55904763b3532f19069f13ec319042634620180a03bd4653d301563e libcap-ng-0.9.3.tar.gz
sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB

View File

@@ -4,13 +4,25 @@
#
################################################################################
LIBCAP_NG_VERSION = 0.8.5
LIBCAP_NG_SITE = https://people.redhat.com/sgrubb/libcap-ng
LIBCAP_NG_VERSION = 0.9.3
LIBCAP_NG_SITE = $(call github,stevegrubb,libcap-ng,v$(LIBCAP_NG_VERSION))
LIBCAP_NG_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library)
LIBCAP_NG_LICENSE_FILES = COPYING COPYING.LIB
LIBCAP_NG_CPE_ID_VALID = YES
LIBCAP_NG_INSTALL_STAGING = YES
# github tarball does not include configure
LIBCAP_NG_AUTORECONF = YES
# needed for autoreconf
LIBCAP_NG_DEPENDENCIES = host-pkgconf
HOST_LIBCAP_NG_DEPENDENCIES = host-pkgconf
define LIBCAP_NG_CREATE_MISSING_FILES
touch $(@D)/NEWS
endef
LIBCAP_NG_POST_EXTRACT_HOOKS += LIBCAP_NG_CREATE_MISSING_FILES
HOST_LIBCAP_NG_POST_EXTRACT_HOOKS += LIBCAP_NG_CREATE_MISSING_FILES
LIBCAP_NG_CONF_ENV = ac_cv_prog_swig_found=no
LIBCAP_NG_CONF_OPTS = --without-python3

View File

@@ -153,6 +153,7 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
depends on BR2_USE_MMU # bash, util-linux-schedutils
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # util-linux schedutils
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libcap-ng
select BR2_PACKAGE_LINUX_TOOLS
select BR2_PACKAGE_BASH # runtime
select BR2_PACKAGE_NCURSES
@@ -177,6 +178,7 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS || \
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_OPENVPN
bool "openvpn"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libcap-ng
select BR2_PACKAGE_LIBCAP_NG
select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL

View File

@@ -1,5 +1,6 @@
comment "policycoreutils needs a toolchain w/ threads, dynamic library, gcc >= 5"
depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5
@@ -9,6 +10,7 @@ config BR2_PACKAGE_POLICYCOREUTILS
depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux, libsemanage, libsepol
depends on !BR2_STATIC_LIBS # libselinux, libsemanage, libsepol
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsemanage -> libselinux -> libsepol
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libcap-ng
select BR2_PACKAGE_LIBSELINUX
select BR2_PACKAGE_LIBSEMANAGE
select BR2_PACKAGE_LIBSEPOL

View File

@@ -395,6 +395,7 @@ comment "scheduling utilities need a toolchain w/ headers >= 3.14"
config BR2_PACKAGE_UTIL_LINUX_SETPRIV
bool "setpriv"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libcap-ng
select BR2_PACKAGE_LIBCAP_NG
help
Run a program with different Linux privilege settings