Compare commits

..

No commits in common. "rawhide" and "f36" have entirely different histories.

7 changed files with 233 additions and 508 deletions

View file

@ -0,0 +1,27 @@
From fdb74096242e76427b64c0f82dba77b05e611ad9 Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Thu, 24 Feb 2022 18:58:20 +0100
Subject: [PATCH] Disable LTO for XrdPosix on 32 bit architectures
---
src/XrdPosix.cmake | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/XrdPosix.cmake b/src/XrdPosix.cmake
index cf3247818..453c20379 100644
--- a/src/XrdPosix.cmake
+++ b/src/XrdPosix.cmake
@@ -60,6 +60,10 @@ add_library(
XrdPosix/XrdPosixExtern.hh
XrdPosix/XrdPosixOsDep.hh )
+if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ target_compile_options(XrdPosixPreload PRIVATE -fno-lto)
+endif()
+
target_link_libraries(
XrdPosixPreload
XrdPosix
--
2.35.1

View file

@ -1,30 +0,0 @@
From 8b924dbc92d3cce474421fbd7974f3d22d64d51c Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Wed, 12 Aug 2026 17:00:45 +0200
Subject: [PATCH] Make documentation self-contained
---
README.md | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/README.md b/README.md
index bafd1112d..167d476e0 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,5 @@
-[![Repology](https://img.shields.io/badge/repology-xrootd-blue)](https://repology.org/project/xrootd/packages)
-[![CDash](https://img.shields.io/badge/CDash-XRootD-limegreen)](https://my.cdash.org/index.php?project=XRootD)
-[![ABI](https://github.com/xrootd/xrootd/actions/workflows/ABI.yml/badge.svg)](https://github.com/xrootd/xrootd/actions/workflows/ABI.yml)
-[![CI](https://github.com/xrootd/xrootd/actions/workflows/CI.yml/badge.svg)](https://github.com/xrootd/xrootd/actions/workflows/CI.yml)
-[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11900/badge)](https://www.bestpractices.dev/projects/11900)
-[![LFX Health Score](https://insights.linuxfoundation.org/api/badge/health-score?project=xrootd)](https://insights.linuxfoundation.org/project/xrootd)
-
<p align="center">
- <img src="https://xrootd.org/images/xrootd-logo.png"/>
+ <img src="xrootd-logo.png"/>
</p>
## XRootD: eXtended ROOT Daemon
--
2.55.0

View file

@ -1,25 +0,0 @@
From cd11f615e749a1fcdd353edd30505c4e8da897db Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Tue, 11 Aug 2026 23:53:15 +0200
Subject: [PATCH] Unbundle gtest
---
cmake/XRootDFindLibs.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/XRootDFindLibs.cmake b/cmake/XRootDFindLibs.cmake
index e47dfb83e..3788f5ed4 100644
--- a/cmake/XRootDFindLibs.cmake
+++ b/cmake/XRootDFindLibs.cmake
@@ -89,7 +89,7 @@ if( ENABLE_XRDOSSARC )
endif()
if( ENABLE_TESTS )
- add_subdirectory(vendor/googletest EXCLUDE_FROM_ALL)
+ find_package( GTest REQUIRED )
set( BUILD_TESTS TRUE )
--
2.55.0

View file

@ -1,62 +0,0 @@
From bd81e2e922bd44c755ad77cf29ca45570cc934ec Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Tue, 21 Apr 2026 00:38:07 +0200
Subject: [PATCH] Unbundle tinyxml
---
cmake/FindTinyXml.cmake | 18 ++++++++++++++++++
src/XrdXml/tinyxml/CMakeLists.txt | 12 ++++++++++++
2 files changed, 30 insertions(+)
create mode 100644 cmake/FindTinyXml.cmake
diff --git a/cmake/FindTinyXml.cmake b/cmake/FindTinyXml.cmake
new file mode 100644
index 000000000..75c752707
--- /dev/null
+++ b/cmake/FindTinyXml.cmake
@@ -0,0 +1,18 @@
+FIND_PATH(TINYXML_INCLUDE_DIR tinyxml.h
+ HINTS
+ ${TINYXML_DIR}
+ $ENV{TINYXML_DIR}
+ /usr
+ PATH_SUFFIXES include
+)
+
+FIND_LIBRARY(TINYXML_LIBRARIES tinyxml
+ HINTS
+ ${TINYXML_DIR}
+ $ENV{TINYXML_DIR}
+ /usr
+ PATH_SUFFIXES lib
+)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TinyXml DEFAULT_MSG TINYXML_LIBRARIES TINYXML_INCLUDE_DIR)
diff --git a/src/XrdXml/tinyxml/CMakeLists.txt b/src/XrdXml/tinyxml/CMakeLists.txt
index db7d4924e..f87ed8f46 100644
--- a/src/XrdXml/tinyxml/CMakeLists.txt
+++ b/src/XrdXml/tinyxml/CMakeLists.txt
@@ -1,3 +1,13 @@
+find_package(TinyXml)
+
+if(TINYXML_FOUND)
+
+add_library(XrdTinyXml INTERFACE IMPORTED GLOBAL)
+set_property(TARGET XrdTinyXml PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${TINYXML_INCLUDE_DIR}")
+set_property(TARGET XrdTinyXml PROPERTY INTERFACE_LINK_LIBRARIES "${TINYXML_LIBRARIES}")
+
+else()
+
add_library(XrdTinyXml OBJECT
tinystr.cpp tinystr.h
tinyxml.cpp tinyxml.h
@@ -13,3 +23,5 @@ set_target_properties(XrdTinyXml
target_include_directories(XrdTinyXml
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
+
+endif()
--
2.53.0

View file

@ -1 +1 @@
SHA512 (xrootd-6.1.1.tar.gz) = ac1286cc54c60611bf17b6140b8cd7ef17a8318a4082cae38e5da040199ce4405490e583b376074c3ed29cf2d87c9bbda5da15c6a3091c83c7877abdc3343ebf
SHA512 (xrootd-5.5.4.tar.gz) = 1bf8fec3e20950e1dfbb5a7914c2f2b1d7d1fc1ce6b419dda129bb6cfb083ae674a14732b7b7330dee2287635749d91f8ee7e16badd71c723d189a1a44c309dd

View file

@ -1,2 +0,0 @@
# Name ID GECOS Home directory Shell
u xrootd 194 "XRootD runtime user" /var/spool/xrootd -

View file

@ -8,25 +8,27 @@
%global ceph 0
%endif
%undefine __cmake_in_source_build
%undefine __cmake3_in_source_build
Name: xrootd
Epoch: 1
Version: 6.1.1
Version: 5.5.4
Release: 1%{?dist}
Summary: Extended ROOT file server
License: LGPL-3.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND curl AND MIT AND Zlib AND Apache-2.0 AND MPL-2.0
URL: https://xrootd.web.cern.ch
Source0: %{url}/download/v%{version}/%{name}-%{version}.tar.gz
Source1: %{name}-sysusers.conf
License: LGPL-3.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND curl AND MIT AND Zlib
URL: https://xrootd.slac.stanford.edu/
Source0: https://xrootd.slac.stanford.edu/download/v%{version}/%{name}-%{version}.tar.gz
# Disable LTO for XrdPosix on 32 bit architectures
Patch0: 0001-Disable-LTO-for-XrdPosix-on-32-bit-architectures.patch
# Unbundle tinyxml library
Patch0: 0001-Unbundle-tinyxml.patch
# Unbundle googletest/googlemock
Patch1: 0001-Unbundle-gtest.patch
# Make documentation self-contained
Patch2: 0001-Make-documentation-self-contained.patch
BuildRequires: cmake
%if %{?rhel}%{!?rhel:0} == 7
BuildRequires: cmake3 >= 3.6
BuildRequires: devtoolset-7-toolchain
%else
BuildRequires: cmake >= 3.6
BuildRequires: gcc-c++
%endif
BuildRequires: make
BuildRequires: pkgconfig
BuildRequires: fuse-devel
@ -34,52 +36,45 @@ BuildRequires: krb5-devel
BuildRequires: libcurl-devel
BuildRequires: tinyxml-devel
BuildRequires: libxml2-devel
BuildRequires: libzip-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: perl-generators
%if %{?fedora}%{!?fedora:0}
# picojson not in RHEL/EPEL
BuildRequires: picojson-devel
%endif
BuildRequires: readline-devel
BuildRequires: zlib-devel
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: selinux-policy-devel
BuildRequires: systemd-rpm-macros
BuildRequires: systemd-devel
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: python3-devel
BuildRequires: python3-pip
BuildRequires: python3-setuptools
BuildRequires: python3-wheel
BuildRequires: python3-sphinx
%endif
%if %{?rhel}%{!?rhel:0} == 7
BuildRequires: python2-devel
BuildRequires: python2-pip
BuildRequires: python2-setuptools
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-pip
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_other_pkgversion}-devel
BuildRequires: python%{python3_other_pkgversion}-pip
BuildRequires: python%{python3_other_pkgversion}-setuptools
BuildRequires: python2-sphinx
%endif
BuildRequires: json-c-devel
BuildRequires: json-devel
BuildRequires: libmacaroons-devel
BuildRequires: libuuid-devel
BuildRequires: voms-devel
BuildRequires: voms-devel >= 2.0.6
BuildRequires: scitokens-cpp-devel
BuildRequires: libxcrypt-devel
BuildRequires: davix-devel
%if %{ceph}
BuildRequires: librados-devel
BuildRequires: libradosstriper-devel
%endif
%ifnarch %{ix86}
BuildRequires: isa-l-devel
%endif
# For documentation
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: python3-sphinx
# For tests
BuildRequires: attr
BuildRequires: curl
BuildRequires: gtest-devel
BuildRequires: gmock-devel
BuildRequires: jq
BuildRequires: krb5-server
BuildRequires: krb5-workstation
BuildRequires: openssl
BuildRequires: procps
BuildRequires: sqlite
Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-selinux = %{epoch}:%{version}-%{release}
@ -104,7 +99,7 @@ Requires: %{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-server-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: expect
Requires: logrotate
%{?sysusers_requires_compat}
Requires(pre): shadow-utils
%{?systemd_requires}
%description server
@ -141,8 +136,6 @@ development.
%package client-libs
Summary: Libraries used by xrootd clients
Provides: xrdcl-http = %{epoch}:%{version}-%{release}
Obsoletes: xrdcl-http < 1:6.0.0
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description client-libs
@ -237,26 +230,58 @@ SciToken passed during a transfer. Configured appropriately, this
allows the XRootD server admin to delegate authorization decisions for
a subset of the namespace to an external issuer.
%package -n xrdcl-http
Summary: HTTP client plugin for XRootD
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description -n xrdcl-http
xrdcl-http is an XRootD client plugin which allows XRootD to interact
with HTTP repositories.
%if %{ceph}
%package ceph
Summary: XRootD plugin for interfacing with the Ceph storage platform
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-server-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description ceph
The xrootd-ceph is an OSS layer plugin for the XRootD server for
interfacing with the Ceph storage platform.
%endif
%package -n python3-%{name}
Summary: Python 3 bindings for xrootd
%py_provides python3-%{name}
%if %{?rhel}%{!?rhel:0} == 7
%package -n python2-%{name}
Summary: Python 2 bindings for xrootd
%py_provides python2-%{name}
Provides: %{name}-python = %{epoch}:%{version}-%{release}
Obsoletes: %{name}-python < 1:4.6.1-6
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description -n python3-%{name}
%description -n python2-%{name}
This package contains Python 2 bindings for xrootd.
%endif
%package -n python%{python3_pkgversion}-%{name}
Summary: Python 3 bindings for xrootd
%py_provides python%{python3_pkgversion}-%{name}
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description -n python%{python3_pkgversion}-%{name}
This package contains Python 3 bindings for xrootd.
%if %{?rhel}%{!?rhel:0} == 7
%package -n python%{?python3_other_pkgversion}-%{name}
Summary: Python 3 bindings for xrootd
%py_provides python%{python3_other_pkgversion}-%{name}
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description -n python%{?python3_other_pkgversion}-%{name}
This package contains Python 3 bindings for xrootd.
%endif
%package doc
Summary: Developer documentation for the xrootd libraries
BuildArch: noarch
@ -266,99 +291,110 @@ This package contains the API documentation of the xrootd libraries.
%prep
%setup -q
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
# Delete bundled dependencies
rm src/XrdXml/tinyxml/tiny*
rm -r vendor/bats
rm -r vendor/googletest
%if %{?fedora}%{!?fedora:0}
# picojson not in RHEL/EPEL
rm -r vendor/picojson
%endif
%patch0 -p1
%build
%cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DFORCE_ENABLED:BOOL=ON \
-DENABLE_TESTS:BOOL=ON \
%if %{ceph}
-DENABLE_CEPH:BOOL=ON \
%if %{?rhel}%{!?rhel:0} == 7
. /opt/rh/devtoolset-7/enable
%endif
%ifnarch %{ix86}
-DENABLE_XRDEC:BOOL=ON \
%endif
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9
-DPIP_OPTIONS="--no-deps --use-pep517 --no-build-isolation --disable-pip-version-check --verbose" \
%else
-DPIP_OPTIONS="--no-deps --disable-pip-version-check --verbose" \
%endif
-DXRD_PYTHON_REQ_VERSION=%{python3_version}
%cmake_build
make -C config -f /usr/share/selinux/devel/Makefile
%if %{?fedora}%{!?fedora:0} >= 36
# Mark some warnings from gcc 12 as not errors
# These are likely bogus - hopefully they can be fixed in gcc updates
%ifarch %{arm}
%set_build_flags
CXXFLAGS="${CXXFLAGS} -Wno-error=stringop-overflow"
%endif
%endif
%cmake3 \
%if %{ceph}
-DXRDCEPH_SUBMODULE:BOOL=ON \
%endif
-DENABLE_XRDCLHTTP:BOOL=ON \
-DPIP_OPTIONS="--no-deps --disable-pip-version-check --verbose" \
%if %{?rhel}%{!?rhel:0} == 7
-DXRD_PYTHON_REQ_VERSION=%{python2_version}
%else
-DXRD_PYTHON_REQ_VERSION=%{python3_version}
%endif
%cmake3_build
make -C packaging/common -f /usr/share/selinux/devel/Makefile
doxygen Doxyfile
cp -p docs/images/xrootd-logo.png doxydoc/html
%install
%cmake_install
%if %{?rhel}%{!?rhel:0} == 7
. /opt/rh/devtoolset-7/enable
%endif
%cmake3_install
rm -f %{buildroot}%{_libdir}/libXrdCephPosix.so
rm -f %{buildroot}%{_bindir}/xrdshmap
rm -f %{buildroot}%{python3_sitearch}/xrootd-*.*-info/direct_url.json
rm -f %{buildroot}%{python3_sitearch}/xrootd-*.*-info/RECORD
[ -r %{buildroot}%{python3_sitearch}/xrootd-*.*-info/INSTALLER ] && \
sed s/pip/rpm/ \
-i %{buildroot}%{python3_sitearch}/xrootd-*.*-info/INSTALLER
rm -f %{buildroot}%{_libdir}/cmake/XRootD/uninstall.cmake
%if %{?rhel}%{!?rhel:0} == 7
%{__python3} -m pip install \
--no-deps --disable-pip-version-check --verbose \
--prefix %{buildroot}%{_prefix} %{_vpath_builddir}/bindings/python
%{__python3_other} -m pip install \
--no-deps --disable-pip-version-check --verbose \
--prefix %{buildroot}%{_prefix} %{_vpath_builddir}/bindings/python
%endif
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
make -C python/docs html
make -C bindings/python/docs html SPHINXBUILD=sphinx-build-3
%endif
%if %{?rhel}%{!?rhel:0} == 7
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
PYTHONPATH=%{buildroot}%{python2_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
make -C bindings/python/docs html
%endif
# Service unit files
mkdir -p %{buildroot}%{_unitdir}
install -m 644 -p systemd/xrootd@.service %{buildroot}%{_unitdir}
install -m 644 -p systemd/xrootd@.socket %{buildroot}%{_unitdir}
install -m 644 -p systemd/xrdhttp@.socket %{buildroot}%{_unitdir}
install -m 644 -p systemd/cmsd@.service %{buildroot}%{_unitdir}
install -m 644 -p systemd/frm_xfrd@.service %{buildroot}%{_unitdir}
install -m 644 -p systemd/frm_purged@.service %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{_sysusersdir}
install -m 644 -p %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf
install -m 644 packaging/common/xrootd@.service %{buildroot}%{_unitdir}
install -m 644 packaging/common/xrootd@.socket %{buildroot}%{_unitdir}
install -m 644 packaging/common/xrdhttp@.socket %{buildroot}%{_unitdir}
install -m 644 packaging/common/cmsd@.service %{buildroot}%{_unitdir}
install -m 644 packaging/common/frm_xfrd@.service %{buildroot}%{_unitdir}
install -m 644 packaging/common/frm_purged@.service %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m 644 packaging/rhel/xrootd.tmpfiles %{buildroot}%{_tmpfilesdir}/%{name}.conf
# Server config
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
install -m 644 -p config/%{name}-clustered.cfg \
install -m 644 -p packaging/common/%{name}-clustered.cfg \
%{buildroot}%{_sysconfdir}/%{name}/%{name}-clustered.cfg
install -m 644 -p config/%{name}-standalone.cfg \
install -m 644 -p packaging/common/%{name}-standalone.cfg \
%{buildroot}%{_sysconfdir}/%{name}/%{name}-standalone.cfg
install -m 644 -p config/%{name}-filecache-clustered.cfg \
install -m 644 -p packaging/common/%{name}-filecache-clustered.cfg \
%{buildroot}%{_sysconfdir}/%{name}/%{name}-filecache-clustered.cfg
install -m 644 -p config/%{name}-filecache-standalone.cfg \
install -m 644 -p packaging/common/%{name}-filecache-standalone.cfg \
%{buildroot}%{_sysconfdir}/%{name}/%{name}-filecache-standalone.cfg
install -m 644 -p config/%{name}-http.cfg \
sed 's!/usr/lib64/!!' packaging/common/%{name}-http.cfg > \
%{buildroot}%{_sysconfdir}/%{name}/%{name}-http.cfg
# Client config
mkdir -p %{buildroot}%{_sysconfdir}/%{name}/client.plugins.d
install -m 644 -p config/client.conf \
install -m 644 -p packaging/common/client.conf \
%{buildroot}%{_sysconfdir}/%{name}/client.conf
install -m 644 -p config/client.plugins.d/http.conf \
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/http.conf
install -m 644 -p config/client.plugins.d/recorder.conf \
sed 's!/usr/lib/!!' packaging/common/client-plugin.conf.example > \
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/client-plugin.conf.example
sed -e 's!/usr/lib64/!!' -e 's!-5!!' packaging/common/recorder.conf > \
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/recorder.conf
install -m 644 -p config/client.plugins.d/s3.conf \
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/s3.conf
sed 's!/usr/lib64/!!' packaging/common/http.client.conf.example > \
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/xrdcl-http-plugin.conf
chmod 644 %{buildroot}%{_datadir}/%{name}/utils/XrdCmsNotify.pm
@ -373,61 +409,32 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/config.d
mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
mkdir -p %{buildroot}%{_localstatedir}/spool/%{name}
mkdir -p %{buildroot}%{_rundir}/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
install -m 644 -p config/%{name}.logrotate \
install -m 644 -p packaging/common/%{name}.logrotate \
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}
mkdir -p %{buildroot}%{_datadir}/selinux/packages/%{name}
install -m 644 -p config/%{name}.pp \
install -m 644 -p packaging/common/%{name}.pp \
%{buildroot}%{_datadir}/selinux/packages/%{name}
# Documentation
mkdir -p %{buildroot}%{_pkgdocdir}
cp -pr doxydoc/html %{buildroot}%{_pkgdocdir}
cp -pr python/docs/build/html %{buildroot}%{_pkgdocdir}/python
cp -pr bindings/python/docs/build/html %{buildroot}%{_pkgdocdir}/python
rm %{buildroot}%{_pkgdocdir}/python/.buildinfo
%check
export HOSTNAME=localhost
%ldconfig_scriptlets libs
# Reduce socket path lengths used during tests
# rpm 4.20 uses a longer path to the build directory than earlier versions
# Tests fail with sockets in the build directory with rpm 4.20
adminpath=$(mktemp -d -p /var/tmp)
trap "rm -rf ${adminpath}" EXIT
%ldconfig_scriptlets client-libs
sed "s!all.adminpath .*!all.adminpath ${adminpath}/XRootD!" \
-i tests/XRootD/common.cfg
for x in authenticated_cluster badredir cluster TPCTests xcachewithcsi ; do
sed "s!all.adminpath .*!all.adminpath ${adminpath}/${x}!" \
-i %{_vpath_builddir}/tests/${x}/common.cfg
done
# The badredir test fails when there is no network - exclude
# The posix test is broken for 32 bit archs ...
# https://github.com/xrootd/xrootd/issues/2559
touch testfile
if ( setfattr -n user.testattr -v testvalue testfile ) ; then
%ctest -- -E \
XRootD::badredir\|\
%ifarch %{ix86} %{arm}
XRootD::posix\|\
%endif
XrdCl::FileSystemTest.PlugInTest\|\
XrdCl::FileTest.PlugInTest
else
echo "Extended file attributes not supported by file system"
echo "*** NOT RUNNING TESTS ***"
fi
rm testfile
%ldconfig_scriptlets server-libs
%pre server
%sysusers_create_compat %{SOURCE1}
getent group %{name} >/dev/null || groupadd -r %{name}
getent passwd %{name} >/dev/null || useradd -r -g %{name} -s /sbin/nologin \
-d %{_localstatedir}/spool/%{name} -c "XRootD runtime user" %{name}
%post server
if [ $1 -eq 1 ] ; then
@ -445,6 +452,8 @@ if [ $1 -eq 0 ] ; then
fi
%postun server
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
if [ $1 -ge 1 ] ; then
systemctl daemon-reload >/dev/null 2>&1 || :
for DAEMON in xrootd cmsd frm_purged frm_xfrd; do
@ -492,7 +501,7 @@ fi
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/utils
%{_unitdir}/*
%{_sysusersdir}/%{name}.conf
%{_tmpfilesdir}/%{name}.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%dir %{_sysconfdir}/%{name}/config.d
%attr(-,xrootd,xrootd) %config(noreplace) %{_sysconfdir}/%{name}/*.cfg
@ -501,7 +510,6 @@ fi
%ghost %attr(-,xrootd,xrootd) %{_rundir}/%{name}
%files selinux
%dir %{_datadir}/selinux/packages/%{name}
%{_datadir}/selinux/packages/%{name}/%{name}.pp
%files libs
@ -511,18 +519,18 @@ fi
%{_libdir}/libXrdUtils.so.*
%{_libdir}/libXrdXml.so.*
# Plugins
%{_libdir}/libXrdCksCalczcrc32-6.so
%{_libdir}/libXrdCryptossl-6.so
%{_libdir}/libXrdSec-6.so
%{_libdir}/libXrdSecProt-6.so
%{_libdir}/libXrdSecgsi-6.so
%{_libdir}/libXrdSecgsiAUTHZVO-6.so
%{_libdir}/libXrdSecgsiGMAPDN-6.so
%{_libdir}/libXrdSeckrb5-6.so
%{_libdir}/libXrdSecpwd-6.so
%{_libdir}/libXrdSecsss-6.so
%{_libdir}/libXrdSecunix-6.so
%{_libdir}/libXrdSecztn-6.so
%{_libdir}/libXrdCksCalczcrc32-5.so
%{_libdir}/libXrdCryptossl-5.so
%{_libdir}/libXrdSec-5.so
%{_libdir}/libXrdSecProt-5.so
%{_libdir}/libXrdSecgsi-5.so
%{_libdir}/libXrdSecgsiAUTHZVO-5.so
%{_libdir}/libXrdSecgsiGMAPDN-5.so
%{_libdir}/libXrdSeckrb5-5.so
%{_libdir}/libXrdSecpwd-5.so
%{_libdir}/libXrdSecsss-5.so
%{_libdir}/libXrdSecunix-5.so
%{_libdir}/libXrdSecztn-5.so
%license COPYING* LICENSE
%files devel
@ -542,14 +550,11 @@ fi
%{_libdir}/libXrdCryptoLite.so
%{_libdir}/libXrdUtils.so
%{_libdir}/libXrdXml.so
%{_libdir}/cmake/XRootD
%{_mandir}/man1/xrootd-config.1*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/cmake
%files client-libs
%{_libdir}/libXrdCl.so.*
%ifnarch %{ix86}
%{_libdir}/libXrdEc.so.*
%endif
%{_libdir}/libXrdFfs.so.*
%{_libdir}/libXrdPosix.so.*
%{_libdir}/libXrdPosixPreload.so.*
@ -558,20 +563,16 @@ fi
%{_libdir}/libXrdSsiLib.so.*
%{_libdir}/libXrdSsiShMap.so.*
# Plugins
%{_libdir}/libXrdClHttp-6.so
%{_libdir}/libXrdClProxyPlugin-6.so
%{_libdir}/libXrdClRecorder-6.so
%{_libdir}/libXrdClS3-6.so
%{_libdir}/libXrdClProxyPlugin-5.so
%{_libdir}/libXrdClRecorder-5.so
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/client.conf
%dir %{_sysconfdir}/%{name}/client.plugins.d
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/http.conf
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/client-plugin.conf.example
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/recorder.conf
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/s3.conf
%files client-devel
%{_includedir}/%{name}/XrdCl
%{_includedir}/%{name}/XrdClHttp
%{_includedir}/%{name}/XrdPosix
%{_libdir}/libXrdCl.so
%{_libdir}/libXrdFfs.so
@ -581,28 +582,23 @@ fi
%{_libdir}/libXrdHttpUtils.so.*
%{_libdir}/libXrdServer.so.*
# Plugins
%{_libdir}/libXrdBlacklistDecision-6.so
%{_libdir}/libXrdBwm-6.so
%{_libdir}/libXrdCmsRedirectLocal-6.so
%{_libdir}/libXrdFileCache-6.so
%{_libdir}/libXrdHttp-6.so
%{_libdir}/libXrdHttpCors-6.so
%{_libdir}/libXrdHttpTPC-6.so
%{_libdir}/libXrdMacaroons-6.so
%{_libdir}/libXrdN2No2p-6.so
%{_libdir}/libXrdOfsPrepGPI-6.so
%{_libdir}/libXrdOssArc-6.so
%{_libdir}/libXrdOssCsi-6.so
%{_libdir}/libXrdOssMirage-6.so
%{_libdir}/libXrdOssSIgpfsT-6.so
%{_libdir}/libXrdOssStats-6.so
%{_libdir}/libXrdPfc-6.so
%{_libdir}/libXrdPfcPurgeQuota-6.so
%{_libdir}/libXrdPss-6.so
%{_libdir}/libXrdSsi-6.so
%{_libdir}/libXrdSsiLog-6.so
%{_libdir}/libXrdThrottle-6.so
%{_libdir}/libXrdXrootd-6.so
%{_libdir}/libXrdBlacklistDecision-5.so
%{_libdir}/libXrdBwm-5.so
%{_libdir}/libXrdCmsRedirectLocal-5.so
%{_libdir}/libXrdFileCache-5.so
%{_libdir}/libXrdHttp-5.so
%{_libdir}/libXrdHttpTPC-5.so
%{_libdir}/libXrdMacaroons-5.so
%{_libdir}/libXrdN2No2p-5.so
%{_libdir}/libXrdOfsPrepGPI-5.so
%{_libdir}/libXrdOssCsi-5.so
%{_libdir}/libXrdOssSIgpfsT-5.so
%{_libdir}/libXrdPfc-5.so
%{_libdir}/libXrdPss-5.so
%{_libdir}/libXrdSsi-5.so
%{_libdir}/libXrdSsiLog-5.so
%{_libdir}/libXrdThrottle-5.so
%{_libdir}/libXrdXrootd-5.so
%files server-devel
%{_includedir}/%{name}/XrdAcc
@ -618,9 +614,6 @@ fi
%files private-devel
%{_includedir}/%{name}/private
%ifnarch %{ix86}
%{_libdir}/libXrdEc.so
%endif
%{_libdir}/libXrdSsiLib.so
%{_libdir}/libXrdSsiShMap.so
@ -649,226 +642,50 @@ fi
%{_mandir}/man1/xrootdfs.1*
%files voms
%{_libdir}/libXrdVoms-6.so
%{_libdir}/libXrdHttpVOMS-6.so
%{_libdir}/libXrdSecgsiVOMS-6.so
%{_libdir}/libXrdVoms-5.so
%{_libdir}/libXrdHttpVOMS-5.so
%{_libdir}/libXrdSecgsiVOMS-5.so
%doc %{_mandir}/man1/libXrdVoms.1*
%doc %{_mandir}/man1/libXrdSecgsiVOMS.1*
%doc src/XrdVoms/README.md
%files scitokens
%{_libdir}/libXrdAccSciTokens-6.so
%{_libdir}/libXrdAccSciTokens-5.so
%doc src/XrdSciTokens/README.md
%files -n xrdcl-http
%{_libdir}/libXrdClHttp-5.so
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/xrdcl-http-plugin.conf
%if %{ceph}
%files ceph
%{_libdir}/libXrdCeph-6.so
%{_libdir}/libXrdCephXattr-6.so
%{_libdir}/libXrdCeph-5.so
%{_libdir}/libXrdCephXattr-5.so
%{_libdir}/libXrdCephPosix.so.*
%endif
%files -n python3-%{name}
%if %{?rhel}%{!?rhel:0} == 7
%files -n python2-%{name}
%{python2_sitearch}/xrootd-*.*-info
%{python2_sitearch}/pyxrootd
%{python2_sitearch}/XRootD
%endif
%files -n python%{python3_pkgversion}-%{name}
%{python3_sitearch}/xrootd-*.*-info
%{python3_sitearch}/pyxrootd
%{python3_sitearch}/XRootD
%if %{?rhel}%{!?rhel:0} == 7
%files -n python%{?python3_other_pkgversion}-%{name}
%{python3_other_sitearch}/xrootd-*.*-info
%{python3_other_sitearch}/pyxrootd
%{python3_other_sitearch}/XRootD
%endif
%files doc
%doc %{_pkgdocdir}
%changelog
* Wed Aug 12 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:6.1.1-1
- Update to version 6.1.1
* Wed Jul 22 2026 Python Maint <python-maint@redhat.com> - 1:6.1.0-3
- Rebuilt for Python 3.15.0b4 ABI change
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Tue Jun 23 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:6.1.0-1
- Update to version 6.1.0
- Drop patches accepted upstream
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1:6.0.3-3
- Rebuilt for openssl 4.0
* Thu Jun 04 2026 Python Maint <python-maint@redhat.com> - 1:6.0.3-2
- Rebuilt for Python 3.15
* Tue Jun 02 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:6.0.3-1
- Update to version 6.0.3
* Thu May 21 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:6.0.2-1
- Update to version 6.0.2
- Adapt to OpenSSL 4.0
- Drop patches accepted upstream
* Sat Apr 11 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:6.0.0-1
- Update to version 6.0.0
* Fri Mar 27 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.9.2-1
- Update to version 5.9.2
- Drop patches accepted upstream or previously backported
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Nov 18 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.9.1-1
- Update to version 5.9.1
* Fri Oct 10 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.9.0-1
- Update to version 5.9.0
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1:5.8.4-4
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1:5.8.4-3
- Rebuilt for Python 3.14.0rc2 bytecode
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.8.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Jul 13 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.8.4-1
- Update to version 5.8.4
* Fri Jun 06 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.8.3-1
- Update to version 5.8.3
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 1:5.8.2-2
- Rebuilt for Python 3.14
* Sun May 11 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.8.2-1
- Update to version 5.8.2
- Use reserved uid and gid 194 for the xrootd user
- https://pagure.io/packaging-committee/issue/1444
- https://src.fedoraproject.org/rpms/setup/pull-request/27
* Wed Apr 16 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.8.1-1
- Update to version 5.8.1
* Sat Mar 22 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.8.0-1
- Update to version 5.8.0
* Sat Mar 08 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.3-4
- Move user/group creation logic to sysusers.d fragment
* Wed Feb 19 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.3-3
- Set HOSTNAME to localhost during testing
* Sat Feb 01 2025 Björn Esser <besser82@fedoraproject.org> - 1:5.7.3-2
- Add explicit BR: libxcrypt-devel
* Wed Jan 29 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.3-1
- Update to version 5.7.3
- Drop patches accepted upstream
* Thu Jan 23 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.2-4
- Use CMAKE_BUILD_TYPE RelWithDebInfo to avoid -Werror in compiler flags
* Sun Jan 19 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.2-3
- Fix compilation errors with GCC 15
* Sun Dec 08 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.2-2
- Fix errors in format strings
* Fri Nov 29 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.2-1
- Update to version 5.7.2
- Drop patches accepted upstream
* Mon Sep 16 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.1-2
- Workaround doxygen non-reproducibility - make doc package noarch again
- Increase client timeouts for XRootD server tests
* Wed Sep 04 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.1-1
- Update to version 5.7.1
- Drop patches accepted upstream
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jul 04 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.0-2
- Fix compilation error due to hidden overloaded virtual
- Make documentation package not noarch due to non-reproducible filenames
* Wed Jul 03 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.0-1
- Update to version 5.7.0
- Drop patches accepted upstream
- Drop EPEL 7 support from spec file (EOL)
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1:5.6.9-3
- Rebuilt for Python 3.13
* Mon Jun 03 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.9-2
- Reduce socket path lengths used by tests for rpm 4.20 compatibility
- Avoid test failures due to using the same port numbers in different tests
* Sat Mar 16 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.9-1
- Update to version 5.6.9
* Sat Feb 24 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.8-1
- Update to version 5.6.8
- Disable tests that require file attributes if the file system doesn't
support them
* Tue Feb 06 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.7-1
- Update to version 5.6.7
* Fri Jan 26 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.6-1
- Update to version 5.6.6
* Mon Jan 22 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.5-1
- Update to version 5.6.5
- Drop patches accepted upstream
* Wed Jan 17 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.4-2
- Fix printf null pointer error
* Mon Dec 11 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.4-1
- Update to version 5.6.4
- Drop patches accepted upstream or previously backported
* Tue Dec 05 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.3-3
- Avoid /tmp when running some tests
- Fail gracefully in case of unsupported extended file attributes
- Avoid null bytes in error message strings
- Fix include path in XRootDConfig.cmake
- Avoid dereferencing unaligned pointers
- Support big endian in XrdZip
* Sun Nov 19 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.3-2
- Enable erasure code support (XrdEc)
* Fri Oct 27 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.3-1
- Update to version 5.6.3
- Drop patches accepted upstream or previously backported
- Enable tests and add check section
* Mon Sep 18 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.2-2
- Backport fix for Authfile parsing regression
* Fri Sep 15 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.2-1
- Update to version 5.6.2
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jul 12 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.1-1
- Update to version 5.6.1
- Add --use-pep517 --no-build-isolation to pip options for Fedora and EPEL 9+
* Sun Jul 02 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.6.0-1
- Update to version 5.6.0
- Drop patches (changes implemented upstream)
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 1:5.5.5-3
- Rebuilt for Python 3.12
* Sun May 21 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.5.5-2
- Fix build failure with latest glibc
* Tue May 09 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.5.5-1
- Update to version 5.5.5
* Fri Mar 24 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.5.4-1
- Update to version 5.5.4