summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--btimed.service6
-rw-r--r--btimed.socket9
-rw-r--r--btimed.xinetd13
-rw-r--r--qarsh.spec28
-rw-r--r--qarsh.xinetd18
-rw-r--r--qarshd.socket9
-rw-r--r--qarshd@.service6
8 files changed, 54 insertions, 41 deletions
diff --git a/Makefile b/Makefile
index e14dc3c..89bdeb2 100644
--- a/Makefile
+++ b/Makefile
@@ -20,10 +20,12 @@ install: all
install -D qacp $(INSTROOT)/usr/bin/qacp
install -D qarsh $(INSTROOT)/usr/bin/qarsh
install -D qarshd $(INSTROOT)/usr/sbin/qarshd
- install -D qarsh.xinetd $(INSTROOT)/etc/xinetd.d/qarsh
+ install -D qarshd.socket $(INSTROOT)/usr/lib/systemd/system/qarshd.socket
+ install -D qarshd@.service $(INSTROOT)/usr/lib/systemd/system/qarshd@.service
install -D btimed $(INSTROOT)/usr/sbin/btimed
+ install -D btimed.socket $(INSTROOT)/usr/lib/systemd/system/btimed.socket
+ install -D btimed.service $(INSTROOT)/usr/lib/systemd/system/btimed.service
install -D btimec $(INSTROOT)/usr/bin/btimec
- install -D btimed.xinetd $(INSTROOT)/etc/xinetd.d/btimed
install -D qarsh.1 $(INSTROOT)/usr/share/man/man1/qarsh.1
install -D qacp.1 $(INSTROOT)/usr/share/man/man1/qacp.1
install -D btimec.1 $(INSTROOT)/usr/share/man/man1/btimec.1
diff --git a/btimed.service b/btimed.service
new file mode 100644
index 0000000..498f754
--- /dev/null
+++ b/btimed.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=btimed - boot time daemon service
+
+[Service]
+ExecStart=/usr/sbin/btimed
+StandardInput=socket
diff --git a/btimed.socket b/btimed.socket
new file mode 100644
index 0000000..6988e63
--- /dev/null
+++ b/btimed.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=btimed - boot time daemon socket
+
+[Socket]
+ListenDatagram=23456
+Accept=false
+
+[Install]
+WantedBy=sockets.target
diff --git a/btimed.xinetd b/btimed.xinetd
deleted file mode 100644
index ab8d1ff..0000000
--- a/btimed.xinetd
+++ /dev/null
@@ -1,13 +0,0 @@
-# default: on
-# description: btimed
-
-service btimed
-{
- type = UNLISTED
- disable = no
- port = 23456
- socket_type = dgram
- wait = yes
- user = root
- server = /usr/sbin/btimed
-}
diff --git a/qarsh.spec b/qarsh.spec
index e635565..b4278a6 100644
--- a/qarsh.spec
+++ b/qarsh.spec
@@ -5,7 +5,7 @@ Release: 1%{?dist}
Group: Applications/Internet
License: GPL
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
-BuildRequires: libxml2-devel
+BuildRequires: libxml2-devel, systemd
Source0: qarsh-%{version}.tar.bz2
@@ -20,7 +20,10 @@ interactive commands.
%package server
Group: System Environment/Daemons
Summary: QA Remote Shell Server
-Requires: xinetd
+Requires: systemd
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
%description server
qarsh is an rsh/ssh replacement designed for a testing environment. That means
@@ -60,12 +63,22 @@ make install INSTROOT=$RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT
%post server
-/sbin/service xinetd reload > /dev/null 2>&1 || :
+%systemd_post btimed.service
+%systemd_post btimed.socket
+%systemd_post qarshd@.service
+%systemd_post qarshd.socket
+
+%preun server
+%systemd_preun btimed.service
+%systemd_preun btimed.socket
+%systemd_preun qarshd@.service
+%systemd_preun qarshd.socket
%postun server
-if [ $1 = 0 ]; then
- /sbin/service xinetd reload > /dev/null 2>&1 || :
-fi
+%systemd_postun_with_restart btimed.service
+%systemd_postun_with_restart btimed.socket
+%systemd_postun_with_restart qarshd@.service
+%systemd_postun_with_restart qarshd.socket
%post selinux
cd %{_docdir}/qarsh-selinux-%{version} && sh rebuild-policy.sh
@@ -87,8 +100,7 @@ fi
%defattr(-,root,root)
/usr/sbin/qarshd
/usr/sbin/btimed
-%config /etc/xinetd.d/qarsh
-%config /etc/xinetd.d/btimed
+%{_unitdir}/*
%doc %{_mandir}/man8/*
%files selinux
diff --git a/qarsh.xinetd b/qarsh.xinetd
deleted file mode 100644
index a2132c0..0000000
--- a/qarsh.xinetd
+++ /dev/null
@@ -1,18 +0,0 @@
-# default: off
-# description: qarsh is a remote shell for testing. It should not be running
-# or installed on a system outside of a firewall.
-
-service qarsh
-{
- type = UNLISTED
- disable = no
- port = 5008
- socket_type = stream
- protocol = tcp
- wait = no
- user = root
- server = /usr/sbin/qarshd
- cps = 500 2
- per_source = UNLIMITED
- instances = UNLIMITED
-}
diff --git a/qarshd.socket b/qarshd.socket
new file mode 100644
index 0000000..8d9f3f8
--- /dev/null
+++ b/qarshd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=qarsh Socket for Per-Connection Servers
+
+[Socket]
+ListenStream=5008
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/qarshd@.service b/qarshd@.service
new file mode 100644
index 0000000..3a5417d
--- /dev/null
+++ b/qarshd@.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=qarsh Per-Connection Server
+
+[Service]
+ExecStart=/usr/sbin/qarshd
+StandardInput=socket