[rsh] systemd: migrate from xinetd activation
Michal Sekletar
msekleta at fedoraproject.org
Mon Apr 15 13:19:03 UTC 2013
commit 46a45360ca6c6ae76dc2610d0e5460e25726ff01
Author: Michal Sekletar <msekleta at redhat.com>
Date: Wed Apr 10 17:31:12 2013 +0200
systemd: migrate from xinetd activation
xinetd configuration files are now replaced by configuration for
systemd. Resolves RHBZ #737244 and some specfile nitpicks.
Signed-off-by: Michal Sekletar <msekleta at redhat.com>
rexec-xinetd | 14 --------
rexec.socket | 9 +++++
rexec at .service | 7 ++++
rlogin-xinetd | 14 --------
rlogin.socket | 9 +++++
rlogin at .service | 7 ++++
rsh-xinetd | 15 ---------
rsh.socket | 9 +++++
rsh.spec | 91 +++++++++++++++++++++++++++++++++----------------------
rsh at .service | 7 ++++
10 files changed, 103 insertions(+), 79 deletions(-)
---
diff --git a/rexec.socket b/rexec.socket
new file mode 100644
index 0000000..2ea67b1
--- /dev/null
+++ b/rexec.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Remote Execution Facilities Activation Socket
+
+[Socket]
+ListenStream=512
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/rexec at .service b/rexec at .service
new file mode 100644
index 0000000..a568758
--- /dev/null
+++ b/rexec at .service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Remote Execution Facilities Server
+After=local-fs.target
+
+[Service]
+ExecStart=-/usr/sbin/in.rexecd
+StandardInput=socket
diff --git a/rlogin.socket b/rlogin.socket
new file mode 100644
index 0000000..c8c276c
--- /dev/null
+++ b/rlogin.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Remote Login Facilities Activation Socket
+
+[Socket]
+ListenStream=513
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/rlogin at .service b/rlogin at .service
new file mode 100644
index 0000000..790e63c
--- /dev/null
+++ b/rlogin at .service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Remote Login Facilities Server
+After=local-fs.target
+
+[Service]
+ExecStart=-/usr/sbin/in.rlogind
+StandardInput=socket
diff --git a/rsh.socket b/rsh.socket
new file mode 100644
index 0000000..4d44b99
--- /dev/null
+++ b/rsh.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Remote Shell Facilities Activation Socket
+
+[Socket]
+ListenStream=514
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/rsh.spec b/rsh.spec
index 90da8d6..86185c2 100644
--- a/rsh.spec
+++ b/rsh.spec
@@ -5,19 +5,21 @@ Release: 70%{?dist}
License: BSD
Group: Applications/Internet
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: perl, ncurses-devel, pam-devel, audit-libs-devel
+BuildRequires: perl, ncurses-devel, pam-devel, audit-libs-devel, systemd
URL: ftp://ftp.uk.linux.org/pub/linux/Networking/netkit
-Source0 ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-rsh-%{version}.tar.gz
+Source0: ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-rsh-%{version}.tar.gz
Source1: rexec.pam
Source2: rlogin.pam
Source3: rsh.pam
# Source is no longer publicly available.
Source4: rexec-1.5.tar.gz
-Source5: rsh-xinetd
-Source6: rlogin-xinetd
-Source7: rexec-xinetd
+Source5: rsh at .service
+Source6: rsh.socket
+Source7: rlogin at .service
+Source8: rlogin.socket
+Source9: rexec at .service
+Source10: rexec.socket
Patch1: netkit-rsh-0.17-sectty.patch
# Make rexec installation process working
@@ -92,7 +94,10 @@ machines
%package server
Summary: Servers for remote access commands (rsh, rlogin, rcp)
Group: System Environment/Daemons
-Requires: pam, /etc/pam.d/system-auth, xinetd
+Requires: pam, /etc/pam.d/system-auth
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
%description server
The rsh-server package contains a set of programs which allow users
@@ -101,8 +106,8 @@ files between machines (rsh, rlogin and rcp). All three of these
commands use rhosts style authentication. This package contains the
servers needed for all of these services. It also contains a server
for rexec, an alternate method of executing remote commands.
-All of these servers are run by xinetd and configured using
-/etc/xinet.d/ and PAM.
+All of these servers are run by systemd and configured using
+systemd units and PAM.
The rsh-server package should be installed to enable remote access
from other machines
@@ -175,44 +180,58 @@ sh configure --with-c-compiler=gcc
make %{?_smp_mflags}
%install
-rm -rf ${RPM_BUILD_ROOT}
-mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
-mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
-mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man{1,5,8}
-mkdir -p ${RPM_BUILD_ROOT}/etc/pam.d
-
-make INSTALLROOT=${RPM_BUILD_ROOT} BINDIR=%{_bindir} MANDIR=%{_mandir} install
-
-install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}/etc/pam.d/rexec
-install -m 644 %SOURCE2 ${RPM_BUILD_ROOT}/etc/pam.d/rlogin
-install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}/etc/pam.d/rsh
-
-mkdir -p ${RPM_BUILD_ROOT}/etc/xinetd.d/
-install -m644 %SOURCE5 ${RPM_BUILD_ROOT}/etc/xinetd.d/rsh
-install -m644 %SOURCE6 ${RPM_BUILD_ROOT}/etc/xinetd.d/rlogin
-install -m644 %SOURCE7 ${RPM_BUILD_ROOT}/etc/xinetd.d/rexec
-
-%clean
-rm -rf ${RPM_BUILD_ROOT}
+mkdir -p %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{_sbindir}
+mkdir -p %{buildroot}%{_mandir}/man{1,5,8}
+mkdir -p %{buildroot}%{_sysconfdir}/pam.d
+
+make INSTALLROOT=%{buildroot} BINDIR=%{_bindir} MANDIR=%{_mandir} install
+
+install -m 644 %SOURCE1 %{buildroot}%{_sysconfdir}/pam.d/rexec
+install -m 644 %SOURCE2 %{buildroot}%{_sysconfdir}/pam.d/rlogin
+install -m 644 %SOURCE3 %{buildroot}%{_sysconfdir}/pam.d/rsh
+
+mkdir -p %{buildroot}%{_unitdir}
+install -m644 %SOURCE5 %{buildroot}%{_unitdir}/rsh at .service
+install -m644 %SOURCE6 %{buildroot}%{_unitdir}/rsh.socket
+install -m644 %SOURCE7 %{buildroot}%{_unitdir}/rlogin at .service
+install -m644 %SOURCE8 %{buildroot}%{_unitdir}/rlogin.socket
+install -m644 %SOURCE9 %{buildroot}%{_unitdir}/rexec at .service
+install -m644 %SOURCE10 %{buildroot}%{_unitdir}/rexec.socket
+
+%post server
+%systemd_post rsh.socket
+%systemd_post rlogin.socket
+%systemd_post rexec.socket
+
+%preun server
+%systemd_preun rsh.socket
+%systemd_preun rlogin.socket
+%systemd_preun rexec.socket
+
+%postun server
+%systemd_postun_with_restart rsh.socket
+%systemd_postun_with_restart rlogin.socket
+%systemd_postun_with_restart rexec.socket
%files
%defattr(-,root,root,-)
%doc README BUGS
-%attr(0755,root,root) %caps(cap_net_bind_service=pe) %{_bindir}/rcp
+%attr(0755,root,root) %caps(cap_net_bind_service=pe) %{_bindir}/rcp
%{_bindir}/rexec
-%attr(0755,root,root) %caps(cap_net_bind_service=pe) %{_bindir}/rlogin
-%attr(0755,root,root) %caps(cap_net_bind_service=pe) %{_bindir}/rsh
+%attr(0755,root,root) %caps(cap_net_bind_service=pe) %{_bindir}/rlogin
+%attr(0755,root,root) %caps(cap_net_bind_service=pe) %{_bindir}/rsh
%{_mandir}/man1/*.1*
%files server
%defattr(-,root,root,-)
-%config(noreplace) /etc/pam.d/rsh
-%config(noreplace) /etc/pam.d/rlogin
-%config(noreplace) /etc/pam.d/rexec
+%config(noreplace) %{_sysconfdir}/pam.d/rsh
+%config(noreplace) %{_sysconfdir}/pam.d/rlogin
+%config(noreplace) %{_sysconfdir}/pam.d/rexec
%{_sbindir}/in.rexecd
%{_sbindir}/in.rlogind
%{_sbindir}/in.rshd
-%config(noreplace) /etc/xinetd.d/*
+%config %{_unitdir}/*
%{_mandir}/man8/*.8*
%changelog
@@ -558,7 +577,7 @@ rm -rf ${RPM_BUILD_ROOT}
- clarify protocol in rexecd.8.
- add rexec client from contrib.
-* Sun Mar 21 1999 Cristian Gafton <gafton at redhat.com>
+* Sun Mar 21 1999 Cristian Gafton <gafton at redhat.com>
- auto rebuild in the new build environment (release 22)
* Mon Mar 15 1999 Jeff Johnson <jbj at redhat.com>
diff --git a/rsh at .service b/rsh at .service
new file mode 100644
index 0000000..8cde5ed
--- /dev/null
+++ b/rsh at .service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Remote Shell Facilities Server
+After=local-fs.target
+
+[Service]
+ExecStart=-/usr/sbin/in.rshd
+StandardInput=socket
More information about the scm-commits
mailing list