[xrootd/epel7] Update to version 4.1.0
Mattias Ellert
ellert at fedoraproject.org
Fri Nov 28 18:11:24 UTC 2014
commit 5e99a835055413882c8c2399a46a0276afb65c17
Author: Mattias Ellert <mattias.ellert at fysast.uu.se>
Date: Fri Nov 28 19:10:16 2014 +0100
Update to version 4.1.0
- Install systemd unit files (F21+, EPEL7+)
sources | 2 +-
xrootd.spec | 145 +++++++++++++++++++++++++++++++++++++++++-----------------
2 files changed, 103 insertions(+), 44 deletions(-)
---
diff --git a/sources b/sources
index 44a9d94..31f2457 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-da171c06e50673760fc1d648811253de xrootd-4.0.4.tar.gz
+e6a674d664a3be411ac1ae46ca241e5b xrootd-4.1.0.tar.gz
diff --git a/xrootd.spec b/xrootd.spec
index a33e410..a2806e9 100644
--- a/xrootd.spec
+++ b/xrootd.spec
@@ -1,8 +1,14 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
+%if %{?fedora}%{!?fedora:0} >= 21 || %{?rhel}%{!?rhel:0} >= 7
+%global use_systemd 1
+%else
+%global use_systemd 0
+%endif
+
Name: xrootd
Epoch: 1
-Version: 4.0.4
+Version: 4.1.0
Release: 1%{?dist}
Summary: Extended ROOT file server
@@ -27,10 +33,13 @@ BuildRequires: graphviz
BuildRequires: graphviz-gd
%endif
BuildRequires: selinux-policy-devel
+%if %{use_systemd}
+BuildRequires: systemd
+%endif
Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-selinux = %{epoch}:%{version}-%{release}
-Obsoletes: %{name}-server < 1:4.0.0
+Obsoletes: %{name} < 1:4.0.0
%description
The Extended root file server consists of a file server called xrootd
@@ -53,11 +62,18 @@ Requires: %{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-server-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: expect
Requires(pre): shadow-utils
+%if %{use_systemd}
+Requires(pre): systemd
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+%else
Requires(pre): chkconfig
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
+%endif
%description server
This package contains the xrootd servers without the SELinux support.
@@ -217,35 +233,38 @@ pushd build
make install DESTDIR=%{buildroot}
popd
-# Service start-up scripts et al.
+# Service start-up scripts / unit files
+%if %{use_systemd}
+mkdir -p %{buildroot}%{_unitdir}
+install -m 644 packaging/common/xrootd at .service %{buildroot}%{_unitdir}
+install -m 644 packaging/common/cmsd at .service %{buildroot}%{_unitdir}
+install -m 644 packaging/common/frm_xfrd at .service %{buildroot}%{_unitdir}
+install -m 644 packaging/common/frm_purged at .service %{buildroot}%{_unitdir}
+%else
mkdir -p %{buildroot}%{_initrddir}
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
-mkdir -p %{buildroot}%{_sysconfdir}/%{name}
-
+install -p packaging/rhel/xrootd.init %{buildroot}%{_initrddir}/xrootd
install -p packaging/rhel/cmsd.init %{buildroot}%{_initrddir}/cmsd
install -p packaging/rhel/frm_purged.init %{buildroot}%{_initrddir}/frm_purged
install -p packaging/rhel/frm_xfrd.init %{buildroot}%{_initrddir}/frm_xfrd
-install -p packaging/rhel/%{name}.init %{buildroot}%{_initrddir}/%{name}
-
sed s/%{name}.functions/%{name}-functions/ -i %{buildroot}%{_initrddir}/*
-
install -m 644 -p packaging/rhel/%{name}.functions \
%{buildroot}%{_initrddir}/%{name}-functions
-
install -m 644 -p packaging/rhel/%{name}.sysconfig \
%{buildroot}%{_sysconfdir}/sysconfig/%{name}
+%endif
+# Server config
+mkdir -p %{buildroot}%{_sysconfdir}/%{name}
install -m 644 -p packaging/common/%{name}-clustered.cfg \
%{buildroot}%{_sysconfdir}/%{name}/%{name}-clustered.cfg
install -m 644 -p packaging/common/%{name}-standalone.cfg \
%{buildroot}%{_sysconfdir}/%{name}/%{name}-standalone.cfg
# Client config
+mkdir -p %{buildroot}%{_sysconfdir}/%{name}/client.plugins.d
install -m 644 -p packaging/common/client.conf \
%{buildroot}%{_sysconfdir}/%{name}/client.conf
-
-# Client plug-in config
-mkdir -p %{buildroot}%{_sysconfdir}/%{name}/client.plugins.d
install -m 644 -p packaging/common/client-plugin.conf.example \
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d
@@ -295,9 +314,50 @@ getent passwd %{name} >/dev/null || useradd -r -g %{name} -s /sbin/nologin \
/sbin/service olbd stop >/dev/null 2>&1 || :
/sbin/chkconfig --del olbd >/dev/null 2>&1 || :
+%if %{use_systemd}
+# Remove old init config when systemd is used
+/sbin/service xrootd stop >/dev/null 2>&1 || :
+/sbin/service cmsd stop >/dev/null 2>&1 || :
+/sbin/service frm_purged stop >/dev/null 2>&1 || :
+/sbin/service frm_xfrd stop >/dev/null 2>&1 || :
+/sbin/chkconfig --del xrootd 2>&1 || :
+/sbin/chkconfig --del cmsd 2>&1 || :
+/sbin/chkconfig --del frm_purged 2>&1 || :
+/sbin/chkconfig --del frm_xfrd 2>&1 || :
+%endif
+
+%if %{use_systemd}
+
+%post server
+if [ $1 -eq 1 ] ; then
+ systemctl daemon-reload >/dev/null 2>&1 || :
+fi
+
+%preun server
+if [ $1 -eq 0 ] ; then
+ for DAEMON in xrootd cmsd frm_purged frm xfrd; do
+ for INSTANCE in `systemctl | grep $DAEMON@ | awk '{print $1;}'`; do
+ systemctl --no-reload disable $INSTANCE > /dev/null 2>&1 || :
+ systemctl stop $INSTANCE > /dev/null 2>&1 || :
+ done
+ done
+fi
+
+%postun server
+if [ $1 -ge 1 ] ; then
+ systemctl daemon-reload >/dev/null 2>&1 || :
+ for DAEMON in xrootd cmsd frm_purged frm xfrd; do
+ for INSTANCE in `systemctl | grep $DAEMON@ | awk '{print $1;}'`; do
+ systemctl try-restart $INSTANCE >/dev/null 2>&1 || :
+ done
+ done
+fi
+
+%else
+
%post server
if [ $1 -eq 1 ]; then
- /sbin/chkconfig --add %{name}
+ /sbin/chkconfig --add xrootd
/sbin/chkconfig --add cmsd
/sbin/chkconfig --add frm_purged
/sbin/chkconfig --add frm_xfrd
@@ -305,11 +365,11 @@ fi
%preun server
if [ $1 -eq 0 ]; then
- /sbin/service %{name} stop >/dev/null 2>&1 || :
+ /sbin/service xrootd stop >/dev/null 2>&1 || :
/sbin/service cmsd stop >/dev/null 2>&1 || :
/sbin/service frm_purged stop >/dev/null 2>&1 || :
/sbin/service frm_xfrd stop >/dev/null 2>&1 || :
- /sbin/chkconfig --del %{name}
+ /sbin/chkconfig --del xrootd
/sbin/chkconfig --del cmsd
/sbin/chkconfig --del frm_purged
/sbin/chkconfig --del frm_xfrd
@@ -317,12 +377,14 @@ fi
%postun server
if [ $1 -ge 1 ]; then
- /sbin/service %{name} condrestart >/dev/null 2>&1 || :
+ /sbin/service xrootd condrestart >/dev/null 2>&1 || :
/sbin/service cmsd condrestart >/dev/null 2>&1 || :
/sbin/service frm_purged condrestart >/dev/null 2>&1 || :
/sbin/service frm_xfrd condrestart >/dev/null 2>&1 || :
fi
+%endif
+
%post selinux
/usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp >/dev/null 2>&1 || :
@@ -345,9 +407,10 @@ fi
%{_bindir}/mpxstats
%{_bindir}/wait41
%{_bindir}/XrdCnsd
+%{_bindir}/xrdmapc
%{_bindir}/xrdpwdadmin
%{_bindir}/xrdsssadmin
-%{_bindir}/%{name}
+%{_bindir}/xrootd
%{_mandir}/man8/cmsd.8*
%{_mandir}/man8/cns_ssi.8*
%{_mandir}/man8/frm_admin.8*
@@ -358,10 +421,14 @@ fi
%{_mandir}/man8/XrdCnsd.8*
%{_mandir}/man8/xrdpwdadmin.8*
%{_mandir}/man8/xrdsssadmin.8*
-%{_mandir}/man8/%{name}.8*
+%{_mandir}/man8/xrootd.8*
%{_datadir}/%{name}
+%if %{use_systemd}
+%{_unitdir}/*
+%else
%{_initrddir}/*
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
+%endif
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%attr(-,xrootd,xrootd) %config(noreplace) %{_sysconfdir}/%{name}/*.cfg
%attr(-,xrootd,xrootd) %{_localstatedir}/log/%{name}
@@ -372,19 +439,17 @@ fi
%files libs
%{_libdir}/libXrdAppUtils.so.*
-%{_libdir}/libXrdCksCalczcrc32.so.*
%{_libdir}/libXrdCrypto.so.*
%{_libdir}/libXrdCryptoLite.so.*
-%{_libdir}/libXrdCryptossl.so.*
-%{_libdir}/libXrdSec*.so.*
%{_libdir}/libXrdUtils.so.*
-# Some of the libraries are used as plugins - need the .so symlink at runtime
-%{_libdir}/libXrdCksCalczcrc32.so
-%{_libdir}/libXrdCryptossl.so
-%{_libdir}/libXrdSec*.so
+# Plugins
+%{_libdir}/libXrdCksCalczcrc32-4.so
+%{_libdir}/libXrdCryptossl-4.so
+%{_libdir}/libXrdSec*-4.so
%doc COPYING* LICENSE
%files devel
+%{_bindir}/xrootd-config
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/XProtocol
%{_includedir}/%{name}/Xrd
@@ -394,8 +459,6 @@ fi
%{_includedir}/%{name}/XrdSec
%{_includedir}/%{name}/XrdSys
%{_includedir}/%{name}/XrdVersion.hh
-%{_includedir}/%{name}/XrdVersionPlugin.hh
-# These libraries are not used as plugins
%{_libdir}/libXrdAppUtils.so
%{_libdir}/libXrdCrypto.so
%{_libdir}/libXrdCryptoLite.so
@@ -407,7 +470,7 @@ fi
%{_libdir}/libXrdFfs.so.*
%{_libdir}/libXrdPosix.so.*
%{_libdir}/libXrdPosixPreload.so.*
-# Some of the libraries are used as plugins - need the .so symlink at runtime
+# This lib may be used for LD_PRELOAD so the .so link needs to be included
%{_libdir}/libXrdPosixPreload.so
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/client.conf
@@ -418,26 +481,20 @@ fi
%{_includedir}/%{name}/XrdCl
%{_includedir}/%{name}/XrdClient
%{_includedir}/%{name}/XrdPosix
-# These libraries are not used as plugins
%{_libdir}/libXrdCl.so
%{_libdir}/libXrdClient.so
%{_libdir}/libXrdFfs.so
%{_libdir}/libXrdPosix.so
%files server-libs
-%{_libdir}/libXrdBwm.so.*
-%{_libdir}/libXrdFileCache.so.*
-%{_libdir}/libXrdHttp.so.*
-%{_libdir}/libXrdOfs.so.*
-%{_libdir}/libXrdPss.so.*
%{_libdir}/libXrdServer.so.*
-%{_libdir}/libXrdXrootd.so.*
-# Some of the libraries are used as plugins - need the .so symlink at runtime
-%{_libdir}/libXrdBwm.so
-%{_libdir}/libXrdFileCache.so
-%{_libdir}/libXrdHttp.so
-%{_libdir}/libXrdPss.so
-%{_libdir}/libXrdXrootd.so
+# Plugins
+%{_libdir}/libXrdBwm-4.so
+%{_libdir}/libXrdFileCache-4.so
+%{_libdir}/libXrdHttp-4.so
+%{_libdir}/libXrdOssSIgpfsT-4.so
+%{_libdir}/libXrdPss-4.so
+%{_libdir}/libXrdXrootd-4.so
%files server-devel
%{_includedir}/%{name}/XrdAcc
@@ -446,8 +503,6 @@ fi
%{_includedir}/%{name}/XrdSfs
%{_includedir}/%{name}/XrdXrootd
%{_includedir}/%{name}/XrdHttp
-# These libraries are not used as plugins
-%{_libdir}/libXrdOfs.so
%{_libdir}/libXrdServer.so
%files private-devel
@@ -481,6 +536,10 @@ fi
%doc %{_pkgdocdir}
%changelog
+* Fri Nov 28 2014 Mattias Ellert <mattias.ellert at fysast.uu.se> - 1:4.1.0-1
+- Update to version 4.1.0
+- Install systemd unit files (F21+, EPEL7+)
+
* Sat Nov 01 2014 Mattias Ellert <mattias.ellert at fysast.uu.se> - 1:4.0.4-1
- Update to version 4.0.4
More information about the scm-commits
mailing list