[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