buildroot/package/dhcpcd/dhcpcd.mk
Fabrice Fontaine 91c1cb0881 package/dhcpcd: fix build without fork
- Add a patch to fix build without fork in src/dhcpcd.c. This
  regression was introduced in upstream commit
  3063ebb6c8ac7c96196fa923cdd5f7c0384de23b, which was merged in dhcpcd
  9.0.0. Therefore, Buildroot is affected since we bumped from 8.0.3
  to 9.1.4 in commit 809f548e79, which
  was applied after 2020.05

- Disable privsep as it unconditionally uses fork (privsep has been
  enabled by default since version 9.0.0 and
  3a4c2e5604)

Fixes:

 - http://autobuild.buildroot.org/results/9fcc88abedcb8a02946f37837dcf4fff02f66c23

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-07-13 21:49:50 +02:00

58 lines
1.6 KiB
Makefile

################################################################################
#
# dhcpcd
#
################################################################################
DHCPCD_VERSION = 9.1.4
DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz
DHCPCD_SITE = http://roy.marples.name/downloads/dhcpcd
DHCPCD_DEPENDENCIES = host-pkgconf
DHCPCD_LICENSE = BSD-2-Clause
DHCPCD_LICENSE_FILES = LICENSE
ifeq ($(BR2_STATIC_LIBS),y)
DHCPCD_CONFIG_OPTS += --enable-static
endif
ifeq ($(BR2_USE_MMU),)
DHCPCD_CONFIG_OPTS += --disable-fork --disable-privsep
endif
define DHCPCD_CONFIGURE_CMDS
(cd $(@D); \
$(TARGET_CONFIGURE_OPTS) ./configure \
--os=linux \
--libexecdir=/lib/dhcpcd \
$(DHCPCD_CONFIG_OPTS) )
endef
define DHCPCD_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) \
-C $(@D) all
endef
define DHCPCD_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR)
endef
# When network-manager is enabled together with dhcpcd, it will use
# dhcpcd as a DHCP client, and will be in charge of running, so we
# don't want the init script or service file to be installed.
ifeq ($(BR2_PACKAGE_NETWORK_MANAGER),)
define DHCPCD_INSTALL_INIT_SYSV
$(INSTALL) -m 755 -D package/dhcpcd/S41dhcpcd \
$(TARGET_DIR)/etc/init.d/S41dhcpcd
endef
define DHCPCD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/dhcpcd/dhcpcd.service \
$(TARGET_DIR)/usr/lib/systemd/system/dhcpcd.service
endef
endif
# NOTE: Even though this package has a configure script, it is not generated
# using the autotools, so we have to use the generic package infrastructure.
$(eval $(generic-package))