1################################################################################ 2# 3# iputils 4# 5################################################################################ 6 7IPUTILS_VERSION = 20240117 8IPUTILS_SITE = https://github.com/iputils/iputils/releases/download/$(IPUTILS_VERSION) 9IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause 10IPUTILS_LICENSE_FILES = LICENSE Documentation/LICENSE.BSD3 Documentation/LICENSE.GPL2 11IPUTILS_CPE_ID_VALID = YES 12IPUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) 13 14# Selectively build binaries 15IPUTILS_CONF_OPTS += \ 16 -DBUILD_CLOCKDIFF=$(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),true,false) \ 17 -DBUILD_TRACEPATH=$(if $(BR2_PACKAGE_IPUTILS_TRACEPATH),true,false) \ 18 -DSKIP_TESTS=true 19 20# Selectively select the appropriate SELinux refpolicy modules 21IPUTILS_SELINUX_MODULES = \ 22 $(if $(BR2_PACKAGE_IPUTILS_ARPING),netutils) \ 23 $(if $(BR2_PACKAGE_IPUTILS_PING),netutils) \ 24 $(if $(BR2_PACKAGE_IPUTILS_TRACEPATH),netutils) 25 26# 27# arping 28# 29ifeq ($(BR2_PACKAGE_IPUTILS_ARPING),y) 30IPUTILS_CONF_OPTS += -DBUILD_ARPING=true 31 32# move some binaries to the same location as where Busybox installs 33# the corresponding applets, so that we have a single version of the 34# tools (from iputils) 35define IPUTILS_MOVE_ARPING_BINARY 36 mv $(TARGET_DIR)/usr/bin/arping $(TARGET_DIR)/usr/sbin/arping 37endef 38IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_MOVE_ARPING_BINARY 39 40else 41IPUTILS_CONF_OPTS += -DBUILD_ARPING=false 42endif 43 44# 45# ping 46# 47ifeq ($(BR2_PACKAGE_IPUTILS_PING),y) 48IPUTILS_CONF_OPTS += -DBUILD_PING=true 49 50# same reason to move the ping binary as for arping 51ifeq ($(BR2_ROOTFS_MERGED_USR),) 52define IPUTILS_MOVE_PING_BINARY 53 mv $(TARGET_DIR)/usr/bin/ping $(TARGET_DIR)/bin/ping 54endef 55IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_MOVE_PING_BINARY 56endif 57 58# upstream requires distros to create symlink 59define IPUTILS_CREATE_PING6_SYMLINK 60 ln -sf ping $(TARGET_DIR)/bin/ping6 61endef 62IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_CREATE_PING6_SYMLINK 63 64else 65IPUTILS_CONF_OPTS += -DBUILD_PING=false 66endif 67 68# Handle libraries 69ifeq ($(BR2_PACKAGE_LIBCAP),y) 70IPUTILS_CONF_OPTS += -DUSE_CAP=true 71IPUTILS_DEPENDENCIES += libcap 72else 73IPUTILS_CONF_OPTS += -DUSE_CAP=false 74endif 75 76ifeq ($(BR2_PACKAGE_LIBIDN2),y) 77IPUTILS_CONF_OPTS += -DUSE_IDN=true 78IPUTILS_DEPENDENCIES += libidn2 79else 80IPUTILS_CONF_OPTS += -DUSE_IDN=false 81endif 82 83ifeq ($(BR2_PACKAGE_SYSTEMD),y) 84IPUTILS_DEPENDENCIES += systemd 85endif 86 87ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) 88IPUTILS_CONF_OPTS += -DUSE_GETTEXT=true 89else 90IPUTILS_CONF_OPTS += -DUSE_GETTEXT=false 91endif 92 93# XSL Stylesheets for DocBook 5 not packaged for buildroot 94IPUTILS_CONF_OPTS += -DBUILD_MANS=false -DBUILD_HTML_MANS=false 95 96# handle permissions ourselves 97IPUTILS_CONF_OPTS += -DNO_SETCAP_OR_SUID=true 98ifeq ($(BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES),y) 99define IPUTILS_PERMISSIONS 100 $(if $(BR2_PACKAGE_IPUTILS_ARPING),\ 101 /usr/sbin/arping f 755 0 0 - - - - -,) 102 $(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),\ 103 /usr/bin/clockdiff f 755 0 0 - - - - - 104 |xattr cap_net_raw+p,) 105 $(if $(BR2_PACKAGE_IPUTILS_PING),\ 106 /bin/ping f 755 0 0 - - - - - 107 |xattr cap_net_raw+p,) 108endef 109else 110define IPUTILS_PERMISSIONS 111 $(if $(BR2_PACKAGE_IPUTILS_ARPING),\ 112 /usr/sbin/arping f 755 0 0 - - - - -,) 113 $(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),\ 114 /usr/bin/clockdiff f 4755 0 0 - - - - -,) 115 $(if $(BR2_PACKAGE_IPUTILS_PING),\ 116 /bin/ping f 4755 0 0 - - - - -,) 117endef 118endif 119 120$(eval $(meson-package)) 121