diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6a3a77 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/*.tar.gz diff --git a/dead.package b/dead.package deleted file mode 100644 index 7ed94f4..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -This is a compat package for F19, F20, EPEL5 and EPEL6 only. diff --git a/sources b/sources new file mode 100644 index 0000000..b1e9366 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (xrootd-4.12.6.tar.gz) = c186f7812636a20366001912a423f6913a73ed00ba281452a34e4670d309eed193fc2a486f727d62dcdc72ecd41ce0badf5e07d8f91a54f33985d5a47bf0b0b2 diff --git a/xrootd-compat.spec b/xrootd-compat.spec new file mode 100644 index 0000000..0f34112 --- /dev/null +++ b/xrootd-compat.spec @@ -0,0 +1,304 @@ +Name: xrootd-compat +Version: 4.12.6 +Release: 1%{?dist} +Summary: Extended ROOT file server - compat version 4 + +License: LGPLv3+ +URL: http://xrootd.org/ +Source0: http://xrootd.org/download/v%{version}/xrootd-%{version}.tar.gz + +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: krb5-devel +BuildRequires: libcurl-devel +BuildRequires: libxml2-devel +BuildRequires: ncurses-devel +BuildRequires: openssl-devel +BuildRequires: readline-devel +BuildRequires: zlib-devel +BuildRequires: systemd-devel +BuildRequires: json-c-devel +BuildRequires: libmacaroons-devel +BuildRequires: libuuid-devel +BuildRequires: voms-devel >= 2.0.6 + +%description +The Extended root file server consists of a file server called xrootd +and a cluster management server called cmsd. + +The xrootd server was developed for the root analysis framework to +serve root files. However, the server is agnostic to file types and +provides POSIX-like access to any type of file. + +The cmsd server is the next generation version of the olbd server, +originally developed to cluster and load balance Objectivity/DB AMS +database servers. It provides enhanced capability along with lower +latency and increased throughput. + +This package contains the xrootd 4 version of the server. + +%package -n xrootd4 +Summary: Extended ROOT file server - compat version 4 +Requires: xrootd4-server%{?_isa} = %{version}-%{release} +Requires: xrootd-selinux >= 1:5.0.0 + +%description -n xrootd4 +The Extended root file server consists of a file server called xrootd +and a cluster management server called cmsd. + +The xrootd server was developed for the root analysis framework to +serve root files. However, the server is agnostic to file types and +provides POSIX-like access to any type of file. + +The cmsd server is the next generation version of the olbd server, +originally developed to cluster and load balance Objectivity/DB AMS +database servers. It provides enhanced capability along with lower +latency and increased throughput. + +This package contains the xrootd 4 version of the server. + +%package -n xrootd4-server +Summary: Xrootd server daemons - compat version 4 +Requires: xrootd4-libs%{?_isa} = %{version}-%{release} +Requires: xrootd4-client-libs%{?_isa} = %{version}-%{release} +Requires: xrootd4-server-libs%{?_isa} = %{version}-%{release} +Requires: xrootd-server >= 1:5.0.0 +%{?systemd_requires} + +%description -n xrootd4-server +This package contains the xrootd servers without the SELinux support. +Unless you are installing on a system without SELinux also install the +xrootd-selinux package. + +This package contains the xrootd 4 version of the server. + +%package -n xrootd4-libs +Summary: Libraries used by xrootd servers and clients - compat version 4 +Conflicts: xrootd-libs < 1:5.0.0 + +%description -n xrootd4-libs +This package contains libraries used by the xrootd servers and clients +(compat version 4). + +%package -n xrootd4-client-libs +Summary: Libraries used by xrootd clients - compat version 4 +Requires: xrootd4-libs%{?_isa} = %{version}-%{release} +Conflicts: xrootd-client-libs < 1:5.0.0 + +%description -n xrootd4-client-libs +This package contains libraries used by xrootd clients (compat version 4). + +%package -n xrootd4-server-libs +Summary: Libraries used by xrootd servers - compat version 4 +Requires: xrootd4-libs%{?_isa} = %{version}-%{release} +Requires: xrootd4-client-libs%{?_isa} = %{version}-%{release} +Conflicts: xrootd-server-libs < 1:5.0.0 + +%description -n xrootd4-server-libs +This package contains libraries used by xrootd servers (compat version 4). + +%package -n xrootd4-voms +Summary: VOMS attribute extractor plug-in for XRootD - compat version 4 +Requires: xrootd4-libs%{?_isa} = %{version}-%{release} + +%description -n xrootd4-voms +The VOMS attribute extractor plug-in for XRootD (compat version 4). + +%prep +%setup -q -n xrootd-%{version} + +%build +%cmake \ + -H. -B%{_vpath_builddir} \ + -DUSE_LIBC_SEMAPHORE:BOOL=ON \ + -DENABLE_FUSE:BOOL=OFF \ + -DENABLE_PYTHON:BOOL=OFF +%make_build -C %{_vpath_builddir} + +%install +%make_install -C %{_vpath_builddir} + +# Service unit files +mkdir -p %{buildroot}%{_unitdir} + +sed -e 's!%{_bindir}/xrootd!&4!' \ + < packaging/common/xrootd@.service \ + > %{buildroot}%{_unitdir}/xrootd4@.service + +sed -e 's!xrootd@!xrootd4@!' \ + < packaging/common/xrootd@.socket \ + > %{buildroot}%{_unitdir}/xrootd4@.socket + +sed -e 's!xrootd@!xrootd4@!' \ + < packaging/common/xrdhttp@.socket \ + > %{buildroot}%{_unitdir}/xrdhttp4@.socket + +sed -e 's!%{_bindir}/cmsd!&4!' \ + < packaging/common/cmsd@.service \ + > %{buildroot}%{_unitdir}/cmsd4@.service + +sed -e 's!%{_bindir}/frm_xfrd!&4!' \ + < packaging/common/frm_xfrd@.service \ + > %{buildroot}%{_unitdir}/frm_xfrd4@.service + +sed -e 's!%{_bindir}/frm_purged!&4!' \ + < packaging/common/frm_purged@.service \ + > %{buildroot}%{_unitdir}/frm_purged4@.service + +# Remove server binaries not needed for compat package +rm -rf %{buildroot}%{_datadir} +rm %{buildroot}%{_bindir}/cconfig +rm %{buildroot}%{_bindir}/frm_admin +rm %{buildroot}%{_bindir}/frm_xfragent +rm %{buildroot}%{_bindir}/mpxstats +rm %{buildroot}%{_bindir}/wait41 +rm %{buildroot}%{_bindir}/xrdacctest +rm %{buildroot}%{_bindir}/xrdpfc_print +rm %{buildroot}%{_bindir}/xrdpwdadmin +rm %{buildroot}%{_bindir}/xrdsssadmin + +# Remove client binaries not needed for compat package +rm %{buildroot}%{_bindir}/xprep +rm %{buildroot}%{_bindir}/xrd +rm %{buildroot}%{_bindir}/xrdadler32 +rm %{buildroot}%{_bindir}/xrdcopy +rm %{buildroot}%{_bindir}/xrdcp +rm %{buildroot}%{_bindir}/xrdcp-old +rm %{buildroot}%{_bindir}/xrdfs +rm %{buildroot}%{_bindir}/xrdgsiproxy +rm %{buildroot}%{_bindir}/xrdgsitest +rm %{buildroot}%{_bindir}/xrdmapc +rm %{buildroot}%{_bindir}/xrdstagetool + +# Remove devel files not needed for compat package +rm -rf %{buildroot}%{_includedir} +rm %{buildroot}%{_bindir}/xrootd-config +rm %{buildroot}%{_libdir}/libXrdAppUtils.so +rm %{buildroot}%{_libdir}/libXrdCl.so +rm %{buildroot}%{_libdir}/libXrdClient.so +rm %{buildroot}%{_libdir}/libXrdCrypto.so +rm %{buildroot}%{_libdir}/libXrdCryptoLite.so +rm %{buildroot}%{_libdir}/libXrdFfs.so +rm %{buildroot}%{_libdir}/libXrdHttpUtils.so +rm %{buildroot}%{_libdir}/libXrdPosix.so +rm %{buildroot}%{_libdir}/libXrdPosixPreload.so +rm %{buildroot}%{_libdir}/libXrdServer.so +rm %{buildroot}%{_libdir}/libXrdSsiLib.so +rm %{buildroot}%{_libdir}/libXrdSsiShMap.so +rm %{buildroot}%{_libdir}/libXrdUtils.so +rm %{buildroot}%{_libdir}/libXrdXml.so + +# Rename server binaries to allow parallel install +mv %{buildroot}%{_bindir}/cmsd %{buildroot}%{_bindir}/cmsd4 +mv %{buildroot}%{_bindir}/frm_purged %{buildroot}%{_bindir}/frm_purged4 +mv %{buildroot}%{_bindir}/frm_xfrd %{buildroot}%{_bindir}/frm_xfrd4 +mv %{buildroot}%{_bindir}/xrootd %{buildroot}%{_bindir}/xrootd4 + +%ldconfig_scriptlets -n xrootd4-libs + +%ldconfig_scriptlets -n xrootd4-client-libs + +%ldconfig_scriptlets -n xrootd4-server-libs + +%post -n xrootd4-server +if [ $1 -eq 1 ] ; then + systemctl daemon-reload >/dev/null 2>&1 || : +fi + +%preun -n xrootd4-server +if [ $1 -eq 0 ] ; then + for DAEMON in xrootd4 cmsd4 frm_purged4 frm_xfrd4; 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 -n xrootd4-server +if [ $1 -ge 1 ] ; then + systemctl daemon-reload >/dev/null 2>&1 || : + for DAEMON in xrootd4 cmsd4 frm_purged4 frm_xfrd4; do + for INSTANCE in `systemctl | grep $DAEMON@ | awk '{print $1;}'`; do + systemctl try-restart $INSTANCE >/dev/null 2>&1 || : + done + done +fi + +%files -n xrootd4 +# Empty + +%files -n xrootd4-server +%{_bindir}/cmsd4 +%{_bindir}/frm_purged4 +%{_bindir}/frm_xfrd4 +%{_bindir}/xrootd4 +%{_unitdir}/* + +%files -n xrootd4-libs +%{_libdir}/libXrdAppUtils.so.* +%{_libdir}/libXrdCrypto.so.* +%{_libdir}/libXrdCryptoLite.so.* +%{_libdir}/libXrdUtils.so.* +%{_libdir}/libXrdXml.so.* +# Plugins +%{_libdir}/libXrdCksCalczcrc32-4.so +%{_libdir}/libXrdCryptossl-4.so +%{_libdir}/libXrdSec-4.so +%{_libdir}/libXrdSecProt-4.so +%{_libdir}/libXrdSecgsi-4.so +%{_libdir}/libXrdSecgsiAUTHZVO-4.so +%{_libdir}/libXrdSecgsiGMAPDN-4.so +%{_libdir}/libXrdSeckrb5-4.so +%{_libdir}/libXrdSecpwd-4.so +%{_libdir}/libXrdSecsss-4.so +%{_libdir}/libXrdSecunix-4.so +%license COPYING* LICENSE + +%files -n xrootd4-client-libs +%{_libdir}/libXrdCl.so.* +%{_libdir}/libXrdClient.so.* +%{_libdir}/libXrdFfs.so.* +%{_libdir}/libXrdPosix.so.* +%{_libdir}/libXrdPosixPreload.so.* +%{_libdir}/libXrdSsiLib.so.* +%{_libdir}/libXrdSsiShMap.so.* +# Plugins +%{_libdir}/libXrdClProxyPlugin-4.so + +%files -n xrootd4-server-libs +%{_libdir}/libXrdHttpUtils.so.* +%{_libdir}/libXrdServer.so.* +# Plugins +%{_libdir}/libXrdBlacklistDecision-4.so +%{_libdir}/libXrdBwm-4.so +%{_libdir}/libXrdCmsRedirectLocal-4.so +%{_libdir}/libXrdFileCache-4.so +%{_libdir}/libXrdHttp-4.so +%{_libdir}/libXrdHttpTPC-4.so +%{_libdir}/libXrdMacaroons-4.so +%{_libdir}/libXrdN2No2p-4.so +%{_libdir}/libXrdOssSIgpfsT-4.so +%{_libdir}/libXrdPss-4.so +%{_libdir}/libXrdSsi-4.so +%{_libdir}/libXrdSsiLog-4.so +%{_libdir}/libXrdThrottle-4.so +%{_libdir}/libXrdXrootd-4.so + +%files -n xrootd4-voms +%{_libdir}/libXrdVoms-4.so +%{_libdir}/libXrdSecgsiVOMS-4.so + +%changelog +* Fri Dec 11 2020 Mattias Ellert - 4.12.6-1 +- Update to version 4.12.6 + +* Fri Oct 16 2020 Mattias Ellert - 4.12.5-1 +- Update to version 4.12.5 + +* Fri Sep 04 2020 Mattias Ellert - 4.12.4-1 +- Update to version 4.12.4 +- Drop patches (accepted upstream or previously backported) + +* Wed Aug 26 2020 Mattias Ellert - 4.12.3-1 +- Parallel installable compat package