Add dhclient.service. This service file mainly comes from meta-systemd,
with a few modifications.

Signed-off-by: Chen Qi <[email protected]>
---
 meta/recipes-connectivity/dhcp/dhcp.inc               | 11 ++++++++---
 meta/recipes-connectivity/dhcp/files/dhclient.service | 15 +++++++++++++++
 2 files changed, 23 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-connectivity/dhcp/files/dhclient.service

diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc 
b/meta/recipes-connectivity/dhcp/dhcp.inc
index 4949e02..b975d40 100644
--- a/meta/recipes-connectivity/dhcp/dhcp.inc
+++ b/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -17,17 +17,20 @@ SRC_URI = 
"ftp://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \
            file://init-relay file://default-relay \
            file://init-server file://default-server \
            file://dhclient.conf file://dhcpd.conf \
-           file://dhcpd.service file://dhcrelay.service"
+           file://dhcpd.service file://dhcrelay.service 
file://dhclient.service"
 
 inherit autotools systemd
 
-SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay"
+SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay ${PN}-client"
 SYSTEMD_SERVICE_${PN}-server = "dhcpd.service"
 SYSTEMD_AUTO_ENABLE_${PN}-server = "disable"
 
 SYSTEMD_SERVICE_${PN}-relay = "dhcrelay.service"
 SYSTEMD_AUTO_ENABLE_${PN}-relay = "disable"
 
+SYSTEMD_SERVICE_${PN}-client = "dhclient.service"
+SYSTEMD_AUTO_ENABLE_${PN}-client = "disable"
+
 TARGET_CFLAGS += "-D_GNU_SOURCE"
 EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \
                 --with-srv6-lease-file=${localstatedir}/lib/dhcp/dhcpd6.leases 
\
@@ -64,8 +67,10 @@ do_install_append () {
        install -d ${D}${systemd_unitdir}/system
        install -m 0644 ${WORKDIR}/dhcpd.service ${D}${systemd_unitdir}/system
        install -m 0644 ${WORKDIR}/dhcrelay.service 
${D}${systemd_unitdir}/system
+       install -m 0644 ${WORKDIR}/dhclient.service 
${D}${systemd_unitdir}/system
        sed -i -e 's,@SBINDIR@,${sbindir},g' 
${D}${systemd_unitdir}/system/dhcpd.service 
${D}${systemd_unitdir}/system/dhcrelay.service
-       sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' 
${D}${systemd_unitdir}/system/dhcpd.service
+       sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' 
${D}${systemd_unitdir}/system/dhcpd.service 
${D}${systemd_unitdir}/system/dhclient.service
+       sed -i -e 's,@BASE_SBINDIR@,${base_sbindir},g' 
${D}${systemd_unitdir}/system/dhclient.service
 }
 
 PACKAGES += "dhcp-server dhcp-server-config dhcp-client dhcp-relay 
dhcp-omshell"
diff --git a/meta/recipes-connectivity/dhcp/files/dhclient.service 
b/meta/recipes-connectivity/dhcp/files/dhclient.service
new file mode 100644
index 0000000..d3d9785
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/dhclient.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Dynamic Host Configuration Protocol (DHCP)
+Wants=network.target
+Before=network.target
+After=systemd-udevd.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/dhclient.pid
+EnvironmentFile=-@SYSCONFDIR@/default/dhcp-client
+ExecStart=@BASE_SBINDIR@/dhclient -cf @SYSCONFDIR@/dhcp/dhclient.conf -q -lf 
/var/lib/dhcp/dhclient.leases $INTERFACES
+
+[Install]
+WantedBy=multi-user.target
+
-- 
1.9.1

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to