This adds and installs a simple systemd service for ser2net.
The service is only started in case a non-zero configuration file
/etc/ser2net/ser2net.yaml exists.

Additionally, this configuration file a marked as such in the recipe.

Signed-off-by: Michael Heimpold <m...@heimpold.de>
---
 .../ser2net/files/ser2net.service              | 13 +++++++++++++
 .../ser2net/ser2net_4.6.1.bb                   | 18 ++++++++++++++++--
 2 files changed, 29 insertions(+), 2 deletions(-)
 create mode 100644 meta-oe/recipes-connectivity/ser2net/files/ser2net.service

diff --git a/meta-oe/recipes-connectivity/ser2net/files/ser2net.service 
b/meta-oe/recipes-connectivity/ser2net/files/ser2net.service
new file mode 100644
index 000000000000..13d8ee4ff3e3
--- /dev/null
+++ b/meta-oe/recipes-connectivity/ser2net/files/ser2net.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Serial port to network proxy
+Documentation=man:ser2net(8)
+After=network.target
+Wants=network.target
+ConditionFileNotEmpty=@SYSCONFDIR@/ser2net/ser2net.yaml
+
+[Service]
+Type=exec
+ExecStart=@SBINDIR@/ser2net -n
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb 
b/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb
index 108647bdd6f5..e5ebafa54fc5 100644
--- a/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb
+++ b/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb
@@ -7,10 +7,24 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 DEPENDS = "gensio libyaml"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz \
+    file://ser2net.service \
+"
 
 SRC_URI[sha256sum] = 
"78ffee19d9b97e93ae65b5cec072da2b7b947fc484e9ccb3f535702f36f6ed19"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net";
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig systemd
+
+SYSTEMD_SERVICE:${PN} = "ser2net.service"
+
+CONFFILES:${PN} += "${sysconfdir}/ser2net/ser2net.yaml"
+
+do_install:append() {
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; 
then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/ser2net.service 
${D}${systemd_unitdir}/system/
+        sed -i -e 's,@SBINDIR@,${sbindir},g' -e 
's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/ser2net.service
+    fi
+}
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#109256): 
https://lists.openembedded.org/g/openembedded-devel/message/109256
Mute This Topic: https://lists.openembedded.org/mt/104844030/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to