[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