4b530daf42
When NetworkManager and dhcpcd packages are both enabled, dhcpcd services and NetworkManager both spawn dhcpcd. This causes the network port to retrieve an IP address and later lose it a few seconds after startup. This patch prevents dhcpcd services from launching dhcpcd if NetworkManager is enabled. Signed-off-by: Jim Brennan <jbrennan@impinj.com> [Thomas: add a comment in the code to explain the seemingly strange condition.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
61 lines
1.7 KiB
Makefile
61 lines
1.7 KiB
Makefile
################################################################################
|
|
#
|
|
# dhcpcd
|
|
#
|
|
################################################################################
|
|
|
|
DHCPCD_VERSION = 7.0.3
|
|
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
|
|
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
|
|
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
|
ln -sf ../../../../usr/lib/systemd/system/dhcpcd.service \
|
|
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/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))
|