Files
buildroot/package/iproute2/iproute2.mk
Yegor Yefremov a6a37ba0db package/iproute2: add optional dependency on libtirpc
iproute2's configure script probes for libtirpc through pkg-config and,
when found, enables HAVE_RPC and links ss against it. libtirpc was never
listed in IPROUTE2_DEPENDENCIES though, so whether the feature ends up
enabled depended on whether libtirpc happened to be built before
iproute2.

Add the missing optional dependency to make the build reproducible.

iproute2's configure script checks for libtirpc availability since
v5.18.0 of iproute2, which Buildroot started using in commit
10990c576b ("package/iproute2: bump version to 5.18.0")

Fixes: 10990c576b ("package/iproute2: bump version to 5.18.0")
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 2b9d1a8aa6)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
2026-10-15 15:14:48 +02:00

74 lines
2.0 KiB
Makefile

################################################################################
#
# iproute2
#
################################################################################
IPROUTE2_VERSION = 7.1.0
IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz
IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \
$(if $(BR2_PACKAGE_LIBMNL),libmnl)
IPROUTE2_LICENSE = GPL-2.0+
IPROUTE2_LICENSE_FILES = COPYING
IPROUTE2_CPE_ID_VALID = YES
ifeq ($(BR2_PACKAGE_ELFUTILS),y)
IPROUTE2_DEPENDENCIES += elfutils
endif
ifeq ($(BR2_PACKAGE_LIBCAP),y)
IPROUTE2_DEPENDENCIES += libcap
endif
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
IPROUTE2_DEPENDENCIES += libselinux
endif
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
IPROUTE2_DEPENDENCIES += libtirpc
endif
ifeq ($(BR2_PACKAGE_IPTABLES)x$(BR2_STATIC_LIBS),yx)
IPROUTE2_DEPENDENCIES += iptables
else
define IPROUTE2_DISABLE_IPTABLES
# m_xt.so is built unconditionally
echo "TC_CONFIG_XT:=n" >>$(@D)/config.mk
endef
endif
ifeq ($(BR2_PACKAGE_BERKELEYDB_COMPAT185),y)
IPROUTE2_DEPENDENCIES += berkeleydb
endif
ifeq ($(BR2_PACKAGE_LIBBPF),y)
IPROUTE2_DEPENDENCIES += libbpf
IPROUTE2_CONFIGURE_OPTS += --libbpf_force on
else
IPROUTE2_CONFIGURE_OPTS += --libbpf_force off
endif
define IPROUTE2_CONFIGURE_CMDS
cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure \
$(IPROUTE2_CONFIGURE_OPTS)
$(IPROUTE2_DISABLE_IPTABLES)
endef
# workaround for static_assert on uclibc-ng < 1.0.42
IPROUTE2_CFLAGS = $(TARGET_CFLAGS) -Dstatic_assert=_Static_assert
define IPROUTE2_BUILD_CMDS
$(TARGET_MAKE_ENV) LDFLAGS="$(TARGET_LDFLAGS)" \
CFLAGS="$(IPROUTE2_CFLAGS) -DXT_LIB_DIR=\\\"/usr/lib/xtables\\\"" \
CBUILD_CFLAGS="$(HOST_CFLAGS)" $(MAKE) V=1 LIBDB_LIBS=-lpthread \
DBM_INCLUDE="$(STAGING_DIR)/usr/include" \
SHARED_LIBS="$(if $(BR2_STATIC_LIBS),n,y)" -C $(@D)
endef
define IPROUTE2_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) DESTDIR="$(TARGET_DIR)" $(MAKE) -C $(@D) install
endef
$(eval $(generic-package))