1################################################################################ 2# 3# dhcpcd 4# 5################################################################################ 6 7DHCPCD_VERSION = 9.4.1 8DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz 9DHCPCD_SITE = http://roy.marples.name/downloads/dhcpcd 10DHCPCD_DEPENDENCIES = host-pkgconf 11DHCPCD_LICENSE = BSD-2-Clause 12DHCPCD_LICENSE_FILES = LICENSE 13DHCPCD_CPE_ID_VENDOR = dhcpcd_project 14 15DHCPCD_CONFIG_OPTS = \ 16 --libexecdir=/lib/dhcpcd \ 17 --os=linux \ 18 --privsepuser=dhcpcd 19 20# AUDIT_ARCH_{OPENRISC,SH,SHEL,SH64,SHEL64} are only available with kernel >= 3.7 21ifeq ($(BR2_or1k)$(BR2_sh):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7),y:) 22DHCPCD_CONFIG_OPTS += --disable-privsep 23endif 24 25# AUDIT_ARCH_MICROBLAZE is only available with kernel >= 3.18 26ifeq ($(BR2_microblazeel)$(BR2_microblazebe):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18),y:) 27DHCPCD_CONFIG_OPTS += --disable-privsep 28endif 29 30# AUDIT_ARCH_XTENSA is only available with kernel >= 5.0 31ifeq ($(BR2_xtensa):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0),y:) 32DHCPCD_CONFIG_OPTS += --disable-privsep 33endif 34 35# AUDIT_ARCH_{ARCOMPACT,ARCV2,NDS32,NIOS2} are only available with kernel >= 5.2 36ifeq ($(BR2_arceb)$(BR2_arcle)$(BR2_nds32)$(BR2_nios2):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2),y:) 37DHCPCD_CONFIG_OPTS += --disable-privsep 38endif 39 40ifeq ($(BR2_PACKAGE_HAS_UDEV),y) 41DHCPCD_CONFIG_OPTS += --with-udev 42DHCPCD_DEPENDENCIES += udev 43else 44DHCPCD_CONFIG_OPTS += --without-udev 45endif 46 47ifeq ($(BR2_STATIC_LIBS),y) 48DHCPCD_CONFIG_OPTS += --enable-static 49endif 50 51ifeq ($(BR2_USE_MMU),) 52DHCPCD_CONFIG_OPTS += --disable-fork --disable-privsep 53endif 54 55define DHCPCD_CONFIGURE_CMDS 56 (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(DHCPCD_CONFIG_OPTS)) 57endef 58 59define DHCPCD_BUILD_CMDS 60 $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) all 61endef 62 63define DHCPCD_INSTALL_TARGET_CMDS 64 $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR) 65endef 66 67# When network-manager is enabled together with dhcpcd, it will use 68# dhcpcd as a DHCP client, and will be in charge of running, so we 69# don't want the init script or service file to be installed. 70ifeq ($(BR2_PACKAGE_NETWORK_MANAGER),) 71define DHCPCD_INSTALL_INIT_SYSV 72 $(INSTALL) -m 755 -D package/dhcpcd/S41dhcpcd \ 73 $(TARGET_DIR)/etc/init.d/S41dhcpcd 74endef 75 76define DHCPCD_INSTALL_INIT_SYSTEMD 77 $(INSTALL) -D -m 0644 package/dhcpcd/dhcpcd.service \ 78 $(TARGET_DIR)/usr/lib/systemd/system/dhcpcd.service 79endef 80endif 81 82define DHCPCD_USERS 83 dhcpcd -1 dhcpcd -1 * - - - dhcpcd user 84endef 85 86# NOTE: Even though this package has a configure script, it is not generated 87# using the autotools, so we have to use the generic package infrastructure. 88 89$(eval $(generic-package)) 90