IPUTILS_LICENSE_FILES = LICENSE Documentation/LICENSE.BSD3 Documentation/LICENSE.GPL2
IPUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
+# Selectively build binaries
+IPUTILS_CONF_OPTS += \
+ -DBUILD_CLOCKDIFF=$(if $(BR2_PACKAGE_IPUTILS_CLOCKDIFF),true,false) \
+ -DBUILD_RARPD=$(if $(BR2_PACKAGE_IPUTILS_RARPD),true,false) \
+ -DBUILD_RDISC=$(if $(BR2_PACKAGE_IPUTILS_RDISC),true,false) \
+ -DBUILD_RDISC_SERVER=$(if $(BR2_PACKAGE_IPUTILS_RDISC_SERVER),true,false) \
+ -DBUILD_TRACEPATH=$(if $(BR2_PACKAGE_IPUTILS_TRACEPATH),true,false) \
+ -DBUILD_TRACEROUTE6=$(if $(BR2_PACKAGE_IPUTILS_TRACEROUTE6),true,false) \
+ -DBUILD_NINFOD=$(if $(BR2_PACKAGE_IPUTILS_NINFOD),true,false)
+
+#
+# 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 $(TARGET_DIR)/bin/ping $(TARGET_DIR)/bin/ping6
+endef
+IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_CREATE_PING6_SYMLINK
+
+else
+IPUTILS_CONF_OPTS += -DBUILD_PING=false
+endif
+
+#
+# tftpd
+#
+ifeq ($(BR2_PACKAGE_IPUTILS_TFTPD),y)
IPUTILS_CONF_OPTS += -DBUILD_TFTPD=true
+define IPUTILS_MOVE_TFTPD_BINARY
+ mv $(TARGET_DIR)/usr/bin/tftpd $(TARGET_DIR)/usr/sbin/tftpd
+endef
+IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_MOVE_TFTPD_BINARY
+
+else
+IPUTILS_CONF_OPTS += -DBUILD_TFTPD=false
+endif
+
+# Handle libraries
ifeq ($(BR2_PACKAGE_LIBCAP),y)
IPUTILS_CONF_OPTS += -DUSE_CAP=true
IPUTILS_DEPENDENCIES += libcap
IPUTILS_DEPENDENCIES += systemd
endif
-# ninfod requires <pthread.h>
-ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
-IPUTILS_NINFOD = n
-endif
-
-ifeq ($(IPUTILS_NINFOD),n)
-IPUTILS_CONF_OPTS += -DBUILD_NINFOD=false
-else
-IPUTILS_CONF_OPTS += -DBUILD_NINFOD=true
-endif
-
ifeq ($(BR2_SYSTEM_ENABLE_NLS),y)
IPUTILS_CONF_OPTS += -DUSE_GETTEXT=true
else
IPUTILS_CONF_OPTS += -DUSE_GETTEXT=false
endif
-IPUTILS_CONF_OPTS += -DBUILD_TRACEROUTE6=true
-
# XSL Stylesheets for DocBook 5 not packaged for buildroot
IPUTILS_CONF_OPTS += -DBUILD_MANS=false -DBUILD_HTML_MANS=false
-# move iputils 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_BINARIES
- mv $(TARGET_DIR)/usr/bin/arping $(TARGET_DIR)/usr/sbin/arping
- $(if $(BR2_ROOTFS_MERGED_USR),,\
- mv $(TARGET_DIR)/usr/bin/ping $(TARGET_DIR)/bin/ping)
- mv $(TARGET_DIR)/usr/bin/tftpd $(TARGET_DIR)/usr/sbin/tftpd
-endef
-IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_MOVE_BINARIES
-
-# 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
-
# handle permissions ourselves
IPUTILS_CONF_OPTS += -DNO_SETCAP_OR_SUID=true
ifeq ($(BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES),y)
define IPUTILS_PERMISSIONS
- /usr/sbin/arping f 755 0 0 - - - - -
- /usr/bin/clockdiff f 755 0 0 - - - - -
- |xattr cap_net_raw+p
- /bin/ping f 755 0 0 - - - - -
- |xattr cap_net_raw+p
- /usr/bin/traceroute6 f 755 0 0 - - - - -
- |xattr cap_net_raw+p
+ $(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,)
+ $(if $(BR2_PACKAGE_IPUTILS_TRACEROUTE6),\
+ /usr/bin/traceroute6 f 755 0 0 - - - - -
+ |xattr cap_net_raw+p,)
endef
else
define IPUTILS_PERMISSIONS
- /usr/sbin/arping f 755 0 0 - - - - -
- /usr/bin/clockdiff f 4755 0 0 - - - - -
- /bin/ping f 4755 0 0 - - - - -
- /usr/bin/traceroute6 f 4755 0 0 - - - - -
+ $(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 - - - - -,)
+ $(if $(BR2_PACKAGE_IPUTILS_TRACEROUTE6),\
+ /usr/bin/traceroute6 f 4755 0 0 - - - - -,)
endef
endif