################################################################################ # # iputils # ################################################################################ IPUTILS_VERSION = 20240117 IPUTILS_SITE = https://github.com/iputils/iputils/releases/download/$(IPUTILS_VERSION) IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause IPUTILS_LICENSE_FILES = LICENSE Documentation/LICENSE.BSD3 Documentation/LICENSE.GPL2 IPUTILS_CPE_ID_VALID = YES IPUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # Selectively build binaries IPUTILS_CONF_OPTS += \ -DBUILD_CLOCKDIFF=$(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),true,false) \ -DBUILD_TRACEPATH=$(if $(BR2_PACKAGE_IPUTILS_TRACEPATH),true,false) \ -DSKIP_TESTS=true # Selectively select the appropriate SELinux refpolicy modules IPUTILS_SELINUX_MODULES = \ $(if $(BR2_PACKAGE_IPUTILS_ARPING),netutils) \ $(if $(BR2_PACKAGE_IPUTILS_PING),netutils) \ $(if $(BR2_PACKAGE_IPUTILS_TRACEPATH),netutils) # # arping # ifeq ($(BR2_PACKAGE_IPUTILS_ARPING),y) IPUTILS_CONF_OPTS += -DBUILD_ARPING=true # move some binaries to the same location as where Busybox installs # the corresponding applets, so that we have a single version of the # tools (from iputils) define IPUTILS_MOVE_ARPING_BINARY mv $(TARGET_DIR)/usr/bin/arping $(TARGET_DIR)/usr/sbin/arping endef IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_MOVE_ARPING_BINARY else IPUTILS_CONF_OPTS += -DBUILD_ARPING=false endif # # ping # ifeq ($(BR2_PACKAGE_IPUTILS_PING),y) IPUTILS_CONF_OPTS += -DBUILD_PING=true # same reason to move the ping binary as for arping ifeq ($(BR2_ROOTFS_MERGED_USR),) define IPUTILS_MOVE_PING_BINARY mv $(TARGET_DIR)/usr/bin/ping $(TARGET_DIR)/bin/ping endef IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_MOVE_PING_BINARY endif # upstream requires distros to create symlink define IPUTILS_CREATE_PING6_SYMLINK ln -sf ping $(TARGET_DIR)/bin/ping6 endef IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_CREATE_PING6_SYMLINK else IPUTILS_CONF_OPTS += -DBUILD_PING=false endif # Handle libraries ifeq ($(BR2_PACKAGE_LIBCAP),y) IPUTILS_CONF_OPTS += -DUSE_CAP=true IPUTILS_DEPENDENCIES += libcap else IPUTILS_CONF_OPTS += -DUSE_CAP=false endif ifeq ($(BR2_PACKAGE_LIBIDN2),y) IPUTILS_CONF_OPTS += -DUSE_IDN=true IPUTILS_DEPENDENCIES += libidn2 else IPUTILS_CONF_OPTS += -DUSE_IDN=false endif ifeq ($(BR2_PACKAGE_SYSTEMD),y) IPUTILS_DEPENDENCIES += systemd endif ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) IPUTILS_CONF_OPTS += -DUSE_GETTEXT=true else IPUTILS_CONF_OPTS += -DUSE_GETTEXT=false endif # XSL Stylesheets for DocBook 5 not packaged for buildroot IPUTILS_CONF_OPTS += -DBUILD_MANS=false -DBUILD_HTML_MANS=false # handle permissions ourselves IPUTILS_CONF_OPTS += -DNO_SETCAP_OR_SUID=true ifeq ($(BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES),y) define IPUTILS_PERMISSIONS $(if $(BR2_PACKAGE_IPUTILS_ARPING),\ /usr/sbin/arping f 755 0 0 - - - - -,) $(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),\ /usr/bin/clockdiff f 755 0 0 - - - - - |xattr cap_net_raw+p,) $(if $(BR2_PACKAGE_IPUTILS_PING),\ /bin/ping f 755 0 0 - - - - - |xattr cap_net_raw+p,) endef else define IPUTILS_PERMISSIONS $(if $(BR2_PACKAGE_IPUTILS_ARPING),\ /usr/sbin/arping f 755 0 0 - - - - -,) $(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),\ /usr/bin/clockdiff f 4755 0 0 - - - - -,) $(if $(BR2_PACKAGE_IPUTILS_PING),\ /bin/ping f 4755 0 0 - - - - -,) endef endif $(eval $(meson-package))