package/dhcp: Only install the relevant unit file

Previous to this patch, if BR2_PACKAGE_DHCP_CLIENT was selected,
dhcpd.service was installed to the target on systemd systems.

On the resultant system, this would mean that systemctl would
show an error starting dhcpd.service, as the requisite files
do not exist. This does not cause issue on sysvinit systems
as the init scripts silently error when the files aren't found.

Fix this by adding a conditional check to the install define.

Signed-off-by: Nathaniel Roach <nroach44@gmail.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Nathaniel Roach 2014-12-01 22:18:16 +08:00 committed by Thomas Petazzoni
parent 5be88854d0
commit bc1ab9015e

View File

@ -75,6 +75,7 @@ define DHCP_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S80dhcp-relay
endef
ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
define DHCP_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
$(TARGET_DIR)/lib/systemd/system/dhcpd.service
@ -89,6 +90,7 @@ define DHCP_INSTALL_INIT_SYSTEMD
echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
endef
endif
define DHCP_INSTALL_TARGET_CMDS
$(DHCP_INSTALL_RELAY)