[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