[jabberd] removed buildroot and clean section

Adrian Reber adrian at fedoraproject.org
Sat Mar 24 21:09:58 UTC 2012


commit 052ae008576351b39a15ea241809683dd07da8f5
Author: Adrian Reber <adrian at lisas.de>
Date:   Sat Mar 24 22:09:41 2012 +0100

    removed buildroot and clean section
    
    - switched to systemd

 jabberd-c2s.service    |   12 ++++
 jabberd-router.service |   11 +++
 jabberd-s2s.service    |   12 ++++
 jabberd-sm.service     |   11 +++
 jabberd.init           |  161 ------------------------------------------------
 jabberd.pam            |    5 --
 jabberd.service        |   13 ++++
 jabberd.spec           |   80 ++++++++++++++----------
 jabberd.sysconfig      |   18 -----
 9 files changed, 106 insertions(+), 217 deletions(-)
---
diff --git a/jabberd-c2s.service b/jabberd-c2s.service
new file mode 100644
index 0000000..261c11a
--- /dev/null
+++ b/jabberd-c2s.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Jabber Client To Server Connector
+Requires=jabberd-router.service
+After=network.target jabberd-router.service
+BindTo=jabberd.service
+
+[Service]
+User=jabber
+ExecStart=/usr/bin/c2s -c /etc/jabberd/c2s.xml
+
+[Install]
+WantedBy=multi-user.target
diff --git a/jabberd-router.service b/jabberd-router.service
new file mode 100644
index 0000000..bcf9af6
--- /dev/null
+++ b/jabberd-router.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Jabber Router XML Packet Distributior
+After=network.target
+BindTo=jabberd.service
+
+[Service]
+User=jabber
+ExecStart=/usr/bin/router -c /etc/jabberd/router.xml
+
+[Install]
+WantedBy=multi-user.target
diff --git a/jabberd-s2s.service b/jabberd-s2s.service
new file mode 100644
index 0000000..c92121b
--- /dev/null
+++ b/jabberd-s2s.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Jabber Server To Server Connector
+Requires=jabberd-router.service
+After=network.target jabberd-router.service
+BindTo=jabberd.service
+
+[Service]
+User=jabber
+ExecStart=/usr/bin/s2s -c /etc/jabberd/s2s.xml
+
+[Install]
+WantedBy=multi-user.target
diff --git a/jabberd-sm.service b/jabberd-sm.service
new file mode 100644
index 0000000..1016cfe
--- /dev/null
+++ b/jabberd-sm.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Jabber IM Session Manager
+After=network.target
+BindTo=jabberd.service
+
+[Service]
+User=jabber
+ExecStart=/usr/bin/sm -c /etc/jabberd/sm.xml
+
+[Install]
+WantedBy=multi-user.target
diff --git a/jabberd.service b/jabberd.service
new file mode 100644
index 0000000..a4a6dda
--- /dev/null
+++ b/jabberd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Jabber Server
+Requires=jabberd-router.service jabberd-sm.service jabberd-c2s.service jabberd-s2s.service
+After=network.target jabberd-router.service jabberd-sm.service jabberd-c2s.service jabberd-s2s.service
+BindTo=jabberd-router.service jabberd-sm.service jabberd-c2s.service jabberd-s2s.service
+
+[Service]
+Type=oneshot
+ExecStart=/bin/true
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/jabberd.spec b/jabberd.spec
index 6274a7e..f7982c4 100644
--- a/jabberd.spec
+++ b/jabberd.spec
@@ -1,16 +1,18 @@
 Summary:        OpenSource server implementation of the Jabber protocols
 Name:           jabberd
 Version:        2.2.14
-Release:        2%{?dist}
+Release:        3%{?dist}
 License:        GPLv2+
 Group:          System Environment/Daemons
 Source0:        http://ftp.xiaoka.com/jabberd2/releases/jabberd-%{version}.tar.bz2
-Source1:        jabberd.init
-Source2:        jabberd.sysconfig
-Source3:        jabberd.pam
+Source1:        jabberd.service
+Source2:        jabberd-c2s.service
+Source3:        jabberd-s2s.service
+Source4:        jabberd-sm.service
+Source5:        jabberd-router.service
 URL:            http://codex.xiaoka.com/wiki/jabberd2:start
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  openssl-devel libidn-devel expat-devel
+BuildRequires:  systemd-units
 
 %{!?_without_pam:BuildRequires: pam-devel}
 %{!?_without_sqlite:BuildRequires: sqlite-devel}
@@ -20,10 +22,10 @@ BuildRequires:  openssl-devel libidn-devel expat-devel
 %{!?_without_postgresql:BuildRequires: postgresql-devel}
 
 BuildRequires:          libgsasl-devel udns-devel
-Requires(post):         openssl chkconfig /sbin/service
+Requires(post):         openssl systemd-units systemd-sysv
 Requires(pre):          shadow-utils
-Requires(preun):        chkconfig shadow-utils /sbin/service
-Requires(postun):       chkconfig /sbin/service
+Requires(preun):        shadow-utils systemd-units
+Requires(postun):       systemd-units
 
 %description
 The jabberd project aims to provide an open-source server implementation of
@@ -82,6 +84,12 @@ install -dpm 700 $RPM_BUILD_ROOT/%{_var}/lib/%{name}/{log,pid,db}
 install -dpm 755 $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/
 install -Dpm 644 tools/pam_jabberd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/%{name}
 
+install -Dpm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/`basename %{SOURCE1}`
+install -Dpm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/`basename %{SOURCE2}`
+install -Dpm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/`basename %{SOURCE3}`
+install -Dpm 644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/`basename %{SOURCE4}`
+install -Dpm 644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/`basename %{SOURCE5}`
+
 install -dpm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/
 # install any tool in tools/ to /usr/share/jabberd/, but skip Makefile-stuff
 # and unneccessary scripts
@@ -97,15 +105,6 @@ for i in `ls tools`; do
 done
 
 install -dpm 755 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
-install -Dpm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/%{name}
-install -Dpm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
-
-sed -i -e "s,__BINDIR__,%{_bindir},g" \
-       -e "s,__ETCDIR__,%{_sysconfdir}/%{name}/,g" \
-       -e "s,__PIDDIR__,%{_var}/lib/%{name}/pid,g" \
-       -e "s,__SYSCONF__,%{_sysconfdir}/sysconfig,g" \
-          $RPM_BUILD_ROOT%{_initrddir}/%{name} \
-          $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
 
 # remove static libraries
 find $RPM_BUILD_ROOT -name "*.la" -delete
@@ -132,9 +131,6 @@ rm -f $RPM_BUILD_ROOT%{_bindir}/jabberd
 # we have our own start script
 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/jabberd.cfg*
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %pre
 #creating jabber user
 getent group jabber >/dev/null || groupadd -r jabber
@@ -143,10 +139,11 @@ useradd -r -g jabber -d %{_var}/lib/%{name} -s /sbin/nologin \
         -c "Jabber Server" jabber
 exit 0
 
-
 %post
-if [ "$1" -eq "1" ]; then
-        /sbin/chkconfig --add %{name}
+if [ $1 -eq 1 ] ; then 
+        # Initial installation 
+        /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+
         #replace default passwords, yet another hack
         export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
                                 | sha1sum | awk '{print $1}' )
@@ -169,21 +166,39 @@ if [ ! -s server.pem ]; then
 fi
 
 %preun
-if [ "$1" -eq "0" ]; then
-        /sbin/service %{name} stop > /dev/null 2>&1
-        /sbin/chkconfig --del %{name}
+if [ $1 -eq 0 ] ; then
+        # Package removal, not upgrade
+        /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || :
+        /bin/systemctl stop %{name}.service > /dev/null 2>&1 || :
 fi
 
 %postun
-if [ "$1" -eq "1" ]; then
-        /sbin/service %{name} condrestart > /dev/null 2>&1
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+        # Package upgrade, not uninstall
+        /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
 fi
 
+%triggerun -- jabberd < 2.2.14-3
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply jabberd
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save %{name} >/dev/null 2>&1 ||:
+
+# If the package is allowed to autostart:
+/bin/systemctl --no-reload enable %{name}.service >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del %{name} >/dev/null 2>&1 || :
+/bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
+
+
 %files
 %defattr(-,root,root,-)
 %doc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO UPGRADE
 %{_mandir}/man8/*
 %{_bindir}/*
+%{_unitdir}/*
 %{_libdir}/%{name}/
 %attr(750, jabber, jabber) %dir %{_sysconfdir}/%{name}
 %attr(750, jabber, jabber) %dir %{_sysconfdir}/%{name}/templates
@@ -192,15 +207,14 @@ fi
 %attr(640, jabber, jabber) %config(noreplace) %{_sysconfdir}/%{name}/templates/*xml*
 %dir %{_datadir}/%{name}/
 %attr(644,root,root) %{_datadir}/%{name}/*
-%attr(755,root,root) %{_datadir}/%{name}/*.pl
-%attr(755,root,root) %{_datadir}/%{name}/*.rb
-%attr(755,root,root) %{_datadir}/%{name}/%{name}
-%{_initrddir}/%{name}
 %config(noreplace) %{_sysconfdir}/pam.d/%{name}
-%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %attr(700, jabber, jabber) %{_var}/lib/%{name}
 
 %changelog
+* Sat Mar 24 2012 Adrian Reber <adrian at lisas.de> - 2.2.14-3
+- removed buildroot and clean section
+- switched to systemd
+
 * Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.2.14-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 


More information about the scm-commits mailing list