Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] dhcp: add systemd service file
@ 2014-09-15 21:04 Eric Le Bihan
  2014-09-21 20:44 ` Yann E. MORIN
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Eric Le Bihan @ 2014-09-15 21:04 UTC (permalink / raw)
  To: buildroot

Add a systemd service file to start dhcpd.

The network interfaces to listen on can be set via the variable
INTERFACES in /etc/default/dhcpd.conf. Example:

  INTERFACES="eth0 eth1"

Also install a tmpfiles.d file to create /var/lib/dhcp/dhcpd.leases
(needed at dhcpd start-up).

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/dhcp/dhcp.mk       | 15 +++++++++++++++
 package/dhcp/dhcpd.service | 13 +++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 package/dhcp/dhcpd.service

diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk
index 9251185..1b914a8 100644
--- a/package/dhcp/dhcp.mk
+++ b/package/dhcp/dhcp.mk
@@ -74,6 +74,21 @@ define DHCP_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S80dhcp-relay
 endef
 
+define DHCP_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
+		$(TARGET_DIR)/lib/systemd/system/dhcpd.service
+
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+
+	ln -sf ../../../../lib/systemd/system/dhcpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
+
+	echo "d /var/lib/dhcp 0755 - - - -" > \
+		$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
+	echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
+		$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
+endef
+
 define DHCP_INSTALL_TARGET_CMDS
 	$(DHCP_INSTALL_RELAY)
 	$(DHCP_INSTALL_SERVER)
diff --git a/package/dhcp/dhcpd.service b/package/dhcp/dhcpd.service
new file mode 100644
index 0000000..7b265cb
--- /dev/null
+++ b/package/dhcp/dhcpd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=DHCP server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/dhcpd.pid
+ExecStart=/usr/sbin/dhcpd -q -pf /run/dhcpd.pid $INTERFACES
+KillSignal=SIGINT
+EnvironmentFile=/etc/default/dhcpd.conf
+
+[Install]
+WantedBy=multi-user.target
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [Buildroot] [PATCH] dhcp: add systemd service file
@ 2014-09-15 20:38 Eric Le Bihan
  2014-09-15 21:08 ` Eric Le Bihan
  0 siblings, 1 reply; 10+ messages in thread
From: Eric Le Bihan @ 2014-09-15 20:38 UTC (permalink / raw)
  To: buildroot

Add a systemd service file to start dhcpd.

The network interfaces to listen on can be set via the variable
INTERFACES in /etc/default/dhcpd.conf. Example:

  INTERFACES="eth0 eth1"

Also install a tmpfiles.d file to create /var/lib/dhcp/dhcpd.leases
(needed at dhcpd start-up).
---
 package/dhcp/dhcp.mk       | 15 +++++++++++++++
 package/dhcp/dhcpd.service | 13 +++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 package/dhcp/dhcpd.service

diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk
index 9251185..1b914a8 100644
--- a/package/dhcp/dhcp.mk
+++ b/package/dhcp/dhcp.mk
@@ -74,6 +74,21 @@ define DHCP_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S80dhcp-relay
 endef
 
+define DHCP_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
+		$(TARGET_DIR)/lib/systemd/system/dhcpd.service
+
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+
+	ln -sf ../../../../lib/systemd/system/dhcpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
+
+	echo "d /var/lib/dhcp 0755 - - - -" > \
+		$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
+	echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
+		$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
+endef
+
 define DHCP_INSTALL_TARGET_CMDS
 	$(DHCP_INSTALL_RELAY)
 	$(DHCP_INSTALL_SERVER)
diff --git a/package/dhcp/dhcpd.service b/package/dhcp/dhcpd.service
new file mode 100644
index 0000000..7b265cb
--- /dev/null
+++ b/package/dhcp/dhcpd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=DHCP server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/dhcpd.pid
+ExecStart=/usr/sbin/dhcpd -q -pf /run/dhcpd.pid $INTERFACES
+KillSignal=SIGINT
+EnvironmentFile=/etc/default/dhcpd.conf
+
+[Install]
+WantedBy=multi-user.target
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-10-29 22:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-15 21:04 [Buildroot] [PATCH] dhcp: add systemd service file Eric Le Bihan
2014-09-21 20:44 ` Yann E. MORIN
2014-09-22 10:52   ` Eric Le Bihan
2014-09-22 17:34     ` Yann E. MORIN
2014-10-27 12:04       ` Eric Le Bihan
2014-10-26 21:13 ` Thomas Petazzoni
2014-10-27 17:14   ` Eric Le Bihan
2014-10-29 22:08 ` Thomas Petazzoni
  -- strict thread matches above, loose matches on Subject: below --
2014-09-15 20:38 Eric Le Bihan
2014-09-15 21:08 ` Eric Le Bihan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox