aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jim Brennan <jbrennan@impinj.com>2018-05-01 00:02:45 +0000
committerGravatar Peter Korsgaard <peter@korsgaard.com>2019-02-18 23:41:43 +0100
commita1f0ec520945ffab7867a51eda5baccd86641226 (patch)
tree3b4b648c3d1648bba3e8a7e495878661dc6cfd11
parente8f80ebb4d0eb0c5c7689a3c1532314a9e560f96 (diff)
downloadbuildroot-a1f0ec520945ffab7867a51eda5baccd86641226.tar.gz
buildroot-a1f0ec520945ffab7867a51eda5baccd86641226.tar.bz2
package/dhcpcd: systemv and systemd services conflict with NetworkManager
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> (cherry picked from commit 4b530daf42e1769018f4dd745b900841c40f8812) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--package/dhcpcd/dhcpcd.mk5
1 files changed, 5 insertions, 0 deletions
diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk
index dc5c69b86b..28cc1f0eb6 100644
--- a/package/dhcpcd/dhcpcd.mk
+++ b/package/dhcpcd/dhcpcd.mk
@@ -36,6 +36,10 @@ 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
@@ -48,6 +52,7 @@ define DHCPCD_INSTALL_INIT_SYSTEMD
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.