[OE-core] [PATCH V2 1/1] xinetd: add systemd unit file

Chong Lu Chong.Lu at windriver.com
Fri Oct 17 05:38:41 UTC 2014


Add systemd unit file for xinetd.

Signed-off-by: Chong Lu <Chong.Lu at windriver.com>
---
 meta/recipes-extended/xinetd/xinetd/xinetd.service | 13 +++++++++++++
 meta/recipes-extended/xinetd/xinetd_2.3.15.bb      | 18 +++++++++++++++++-
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/xinetd/xinetd/xinetd.service

diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd.service b/meta/recipes-extended/xinetd/xinetd/xinetd.service
new file mode 100644
index 0000000..2e71d23
--- /dev/null
+++ b/meta/recipes-extended/xinetd/xinetd/xinetd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Xinetd A Powerful Replacement For Inetd
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/xinetd.pid
+EnvironmentFile=- at SYSCONFDIR@/default/xinetd
+ExecStart=@SBINDIR@/xinetd $XINETD_OPTS -pidfile /var/run/xinetd.pid
+ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
index 1928949..4e242ba 100644
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
+++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
@@ -17,12 +17,15 @@ SRC_URI = "http://www.xinetd.org/xinetd-${PV}.tar.gz \
       file://Disable-services-from-inetd.conf-if-a-service-with-t.patch \
       file://xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch \
       file://xinetd-CVE-2013-4342.patch \
+      file://xinetd.service \
       "
 
 SRC_URI[md5sum] = "77358478fd58efa6366accae99b8b04c"
 SRC_URI[sha256sum] = "bf4e060411c75605e4dcbdf2ac57c6bd9e1904470a2f91e01ba31b50a80a5be3"
 
-inherit autotools update-rc.d
+inherit autotools update-rc.d systemd
+
+SYSTEMD_SERVICE_${PN} = "xinetd.service"
 
 INITSCRIPT_NAME = "xinetd"
 INITSCRIPT_PARAMS = "defaults"
@@ -52,6 +55,19 @@ do_install() {
 	install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
 	install -m 755 "${B}/xinetd/xinetd" "${D}${sbindir}"
 	install -m 755 "${B}/xinetd/itox" "${D}${sbindir}"
+
+	# Remove sysinit script if sysvinit is not in DISTRO_FEATURES
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+	    rm -rf ${D}${sysconfdir}/init.d/
+	fi
+
+	# Install systemd unit files
+	install -d ${D}${systemd_unitdir}/system
+	install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system
+	sed -i -e 's, at BASE_BINDIR@,${base_bindir},g' \
+	       -e 's, at SBINDIR@,${sbindir},g' \
+	       -e 's, at SYSCONFDIR@,${sysconfdir},g' \
+	       ${D}${systemd_unitdir}/system/xinetd.service
 }
 
 CONFFILES_${PN} = "${sysconfdir}/xinetd.conf"
-- 
1.9.1




More information about the Openembedded-core mailing list