Compare commits
30 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4ad3a28d2 | ||
|
|
532cdeacb7 | ||
|
|
f904ae3077 | ||
|
|
fac6715ea9 | ||
|
|
11db6b2e2b | ||
|
|
ecd1ba1adf | ||
|
|
c0cfe0cb19 | ||
|
|
8acacae375 | ||
|
|
5ee6a46add | ||
|
|
1bf67be74a | ||
|
|
1ded0f02fb | ||
|
|
db5cfc1332 | ||
|
|
d990e6af59 | ||
|
|
2f40bdab19 | ||
|
|
c6772173e1 | ||
|
|
7410fb1c04 | ||
|
|
e7d8ccb573 | ||
|
|
6a14539323 | ||
|
|
337a27ddf3 | ||
|
|
a1df29a855 | ||
|
|
51e5176cee | ||
|
|
83ce3e63ce | ||
|
|
8fc3e7a48d | ||
|
|
18f68e3bba | ||
|
|
acdcf3a99d |
||
|
|
546174db8d | ||
|
|
c279cfe4c0 | ||
|
|
d77792cf7c | ||
|
|
ccc05e4af5 | ||
|
|
fc28d9f969 |
12 changed files with 366 additions and 376 deletions
|
|
@ -1,40 +0,0 @@
|
||||||
From ca9c703a58c9f3332cfca592481c5f1e694cf536 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
||||||
Date: Mon, 9 Sep 2024 06:58:29 +0200
|
|
||||||
Subject: [PATCH] Change type in XrdSutCacheArg_t to long long
|
|
||||||
|
|
||||||
The XrdSutCacheArg_t type is used to pass arguments of different
|
|
||||||
types. The type used must be wide enough to fit the widest of the
|
|
||||||
types passed. One of the types passed is time_t, which can be 64 bits
|
|
||||||
wide also on 32-bit systems. So a long, which is 32 bits wide on a
|
|
||||||
32-bit system is not sufficient.
|
|
||||||
|
|
||||||
This commit changes the type to long long.
|
|
||||||
|
|
||||||
Fixes: #2272
|
|
||||||
---
|
|
||||||
src/XrdSut/XrdSutCache.hh | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/XrdSut/XrdSutCache.hh b/src/XrdSut/XrdSutCache.hh
|
|
||||||
index b9635d4e1..6c39f87e8 100644
|
|
||||||
--- a/src/XrdSut/XrdSutCache.hh
|
|
||||||
+++ b/src/XrdSut/XrdSutCache.hh
|
|
||||||
@@ -40,10 +40,10 @@
|
|
||||||
|
|
||||||
typedef bool (*XrdSutCacheGet_t)(XrdSutCacheEntry *, void *);
|
|
||||||
typedef struct {
|
|
||||||
- long arg1;
|
|
||||||
- long arg2;
|
|
||||||
- long arg3;
|
|
||||||
- long arg4;
|
|
||||||
+ long long arg1;
|
|
||||||
+ long long arg2;
|
|
||||||
+ long long arg3;
|
|
||||||
+ long long arg4;
|
|
||||||
} XrdSutCacheArg_t;
|
|
||||||
|
|
||||||
class XrdSutCache {
|
|
||||||
--
|
|
||||||
2.46.0
|
|
||||||
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
From ce836985eed0f6e496113b9e5c65c8d4a53a112d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
||||||
Date: Tue, 17 Sep 2024 05:08:21 +0200
|
|
||||||
Subject: [PATCH] Increase client timeouts for XRootD server tests
|
|
||||||
|
|
||||||
The XRootD server tests currently uses very short settings for the
|
|
||||||
client timeouts:
|
|
||||||
|
|
||||||
- XRD_REQUESTTIMEOUT: 2
|
|
||||||
- XRD_STREAMTIMEOUT: 2
|
|
||||||
- XRD_TIMEOUTRESOLUTION: 1
|
|
||||||
|
|
||||||
This is a major reduction from the default values:
|
|
||||||
|
|
||||||
- XRD_REQUESTTIMEOUT: 1800
|
|
||||||
- XRD_STREAMTIMEOUT: 60
|
|
||||||
- XRD_TIMEOUTRESOLUTION: 15
|
|
||||||
|
|
||||||
According to the comment in the test script, this is done in order to
|
|
||||||
"catch errors quickly and prevent the test suite from getting stuck
|
|
||||||
waiting for timeouts while running".
|
|
||||||
|
|
||||||
However, the very short timeouts make some tests fail with timeout
|
|
||||||
errors when run on small or slow systems.
|
|
||||||
|
|
||||||
This commit increases the timeout values to avoid errors:
|
|
||||||
|
|
||||||
- XRD_REQUESTTIMEOUT: 180
|
|
||||||
- XRD_STREAMTIMEOUT: 30
|
|
||||||
- XRD_TIMEOUTRESOLUTION: 10
|
|
||||||
---
|
|
||||||
tests/XRootD/test.sh | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tests/XRootD/test.sh b/tests/XRootD/test.sh
|
|
||||||
index 60a402920..fe001a029 100755
|
|
||||||
--- a/tests/XRootD/test.sh
|
|
||||||
+++ b/tests/XRootD/test.sh
|
|
||||||
@@ -47,9 +47,9 @@ export XRD_LOGLEVEL XRD_LOGFILE
|
|
||||||
# Reduce default timeouts to catch errors quickly and prevent the test
|
|
||||||
# suite from getting stuck waiting for timeouts while running.
|
|
||||||
|
|
||||||
-: "${XRD_REQUESTTIMEOUT:=2}"
|
|
||||||
-: "${XRD_STREAMTIMEOUT:=2}"
|
|
||||||
-: "${XRD_TIMEOUTRESOLUTION:=1}"
|
|
||||||
+: "${XRD_REQUESTTIMEOUT:=180}"
|
|
||||||
+: "${XRD_STREAMTIMEOUT:=30}"
|
|
||||||
+: "${XRD_TIMEOUTRESOLUTION:=10}"
|
|
||||||
|
|
||||||
export XRD_REQUESTTIMEOUT XRD_STREAMTIMEOUT XRD_TIMEOUTRESOLUTION
|
|
||||||
|
|
||||||
--
|
|
||||||
2.46.0
|
|
||||||
|
|
||||||
30
0001-Make-documentation-self-contained.patch
Normal file
30
0001-Make-documentation-self-contained.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
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 @@
|
||||||
|
-[](https://repology.org/project/xrootd/packages)
|
||||||
|
-[](https://my.cdash.org/index.php?project=XRootD)
|
||||||
|
-[](https://github.com/xrootd/xrootd/actions/workflows/ABI.yml)
|
||||||
|
-[](https://github.com/xrootd/xrootd/actions/workflows/CI.yml)
|
||||||
|
-[](https://www.bestpractices.dev/projects/11900)
|
||||||
|
-[](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
|
||||||
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
From 7836a0f2d778b082c632a92846ecf756e78fbb24 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
||||||
Date: Sat, 7 Sep 2024 18:04:26 +0200
|
|
||||||
Subject: [PATCH 1/2] Protect against array index out of bounds
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Seen on hppa Linux where EBADE is 160.
|
|
||||||
|
|
||||||
In function ‘int {anonymous}::initErrTable()’,
|
|
||||||
inlined from ‘void __static_initialization_and_destruction_0()’ at /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:92:28,
|
|
||||||
inlined from ‘(static initializers for /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc)’ at /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:128:1:
|
|
||||||
/<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:70:26: warning: array subscript 160 is above array bounds of ‘const char* [144]’ [-Warray-bounds=]
|
|
||||||
70 | if (Errno2String[EBADE]) {
|
|
||||||
| ~~~~~~~~~~~~~~~~~~^
|
|
||||||
/<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc: In function ‘(static initializers for /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc)’:
|
|
||||||
/<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:48:28: note: while referencing ‘{anonymous}::Errno2String’
|
|
||||||
48 | const char* Errno2String[errSlots] = {0};
|
|
||||||
| ^~~~~~~~~~~~
|
|
||||||
In function ‘int {anonymous}::initErrTable()’,
|
|
||||||
inlined from ‘void __static_initialization_and_destruction_0()’ at /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:92:28,
|
|
||||||
inlined from ‘(static initializers for /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc)’ at /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:128:1:
|
|
||||||
/<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:74:22: warning: array subscript 160 is above array bounds of ‘const char* [144]’ [-Warray-bounds=]
|
|
||||||
74 | Errno2String[EBADE] = "authentication failed - possible invalid exchange";
|
|
||||||
| ~~~~~~~~~~~~~~~~~~^
|
|
||||||
/<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc: In function ‘(static initializers for /<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc)’:
|
|
||||||
/<<PKGBUILDDIR>>/src/XrdSys/XrdSysE2T.cc:48:28: note: while referencing ‘{anonymous}::Errno2String’
|
|
||||||
48 | const char* Errno2String[errSlots] = {0};
|
|
||||||
| ^~~~~~~~~~~~
|
|
||||||
---
|
|
||||||
src/XrdSys/XrdSysE2T.cc | 10 ++++++----
|
|
||||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/XrdSys/XrdSysE2T.cc b/src/XrdSys/XrdSysE2T.cc
|
|
||||||
index 83b62e317..9f615a911 100644
|
|
||||||
--- a/src/XrdSys/XrdSysE2T.cc
|
|
||||||
+++ b/src/XrdSys/XrdSysE2T.cc
|
|
||||||
@@ -67,11 +67,13 @@ int initErrTable()
|
|
||||||
// EAUTH is remapped to EBADE ('invalid exchange'). Given there's no current XRootD use of a
|
|
||||||
// syscall that can return EBADE, we assume EBADE really means authentication denied.
|
|
||||||
#if defined(EBADE)
|
|
||||||
- if (Errno2String[EBADE]) {
|
|
||||||
- free((char*)Errno2String[EBADE]);
|
|
||||||
+ if (EBADE - ERRNOBASE > 0 && EBADE - ERRNOBASE < errSlots) {
|
|
||||||
+ if (Errno2String[EBADE - ERRNOBASE])
|
|
||||||
+ free((char*)Errno2String[EBADE - ERRNOBASE]);
|
|
||||||
+ Errno2String[EBADE - ERRNOBASE] = "authentication failed - possible invalid exchange";
|
|
||||||
+ if (EBADE - ERRNOBASE > lastGood)
|
|
||||||
+ lastGood = EBADE - ERRNOBASE;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- Errno2String[EBADE] = "authentication failed - possible invalid exchange";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Supply generic message for missing ones
|
|
||||||
--
|
|
||||||
2.46.0
|
|
||||||
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
From 6372f261574a13f7a14bd8b55c45d2bedfd5e4c8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
||||||
Date: Fri, 13 Sep 2024 16:24:54 +0200
|
|
||||||
Subject: [PATCH] Reproducible doxygen output.
|
|
||||||
|
|
||||||
The files generated by doxygen whose file names contain the string
|
|
||||||
unnamedN where N is a number are not generated using predictable
|
|
||||||
names.
|
|
||||||
|
|
||||||
This happens when running doxygen using multiple threads.
|
|
||||||
|
|
||||||
Set NUM_PROC_THREADS=1 to work around this issue.
|
|
||||||
|
|
||||||
See: https://github.com/doxygen/doxygen/issues/11138
|
|
||||||
---
|
|
||||||
Doxyfile | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/Doxyfile b/Doxyfile
|
|
||||||
index a85babb7c..f3bc4c524 100644
|
|
||||||
--- a/Doxyfile
|
|
||||||
+++ b/Doxyfile
|
|
||||||
@@ -492,7 +492,7 @@ LOOKUP_CACHE_SIZE = 2
|
|
||||||
# DOT_NUM_THREADS setting.
|
|
||||||
# Minimum value: 0, maximum value: 32, default value: 1.
|
|
||||||
|
|
||||||
-NUM_PROC_THREADS = 0
|
|
||||||
+NUM_PROC_THREADS = 1
|
|
||||||
|
|
||||||
# If the TIMESTAMP tag is set different from NO then each generated page will
|
|
||||||
# contain the date or date and time when the page was generated. Setting this to
|
|
||||||
--
|
|
||||||
2.46.0
|
|
||||||
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
From bdd966dba0b2ad0757811b0b53d5540ae403f16b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
||||||
Date: Thu, 5 Sep 2024 22:05:34 +0200
|
|
||||||
Subject: [PATCH] =?UTF-8?q?[Server]=20Correct=20spelling=20(permision=20?=
|
|
||||||
=?UTF-8?q?=E2=86=92=20permission)?=
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
---
|
|
||||||
src/Xrd/XrdConfig.cc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/Xrd/XrdConfig.cc b/src/Xrd/XrdConfig.cc
|
|
||||||
index e5b51eb59..55b31b841 100644
|
|
||||||
--- a/src/Xrd/XrdConfig.cc
|
|
||||||
+++ b/src/Xrd/XrdConfig.cc
|
|
||||||
@@ -1432,7 +1432,7 @@ int XrdConfig::SetupAPath()
|
|
||||||
//
|
|
||||||
#ifndef WIN32
|
|
||||||
if (chmod(AdminPath, AdminMode & ~S_IWGRP))
|
|
||||||
- {Log.Emsg("Config", errno, "set permision for admin path", AdminPath);
|
|
||||||
+ {Log.Emsg("Config", errno, "set permission for admin path", AdminPath);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.46.0
|
|
||||||
|
|
||||||
25
0001-Unbundle-gtest.patch
Normal file
25
0001-Unbundle-gtest.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
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
|
||||||
|
|
||||||
62
0001-Unbundle-tinyxml.patch
Normal file
62
0001-Unbundle-tinyxml.patch
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
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
|
||||||
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
From f633e0faf13baee78625cf7085bd1442fab39d9c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
||||||
Date: Tue, 10 Sep 2024 15:29:18 +0200
|
|
||||||
Subject: [PATCH 2/2] Add error string to e2sMap if EBADE is out of range
|
|
||||||
|
|
||||||
---
|
|
||||||
src/XrdSys/XrdSysE2T.cc | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/XrdSys/XrdSysE2T.cc b/src/XrdSys/XrdSysE2T.cc
|
|
||||||
index 9f615a911..64daa9827 100644
|
|
||||||
--- a/src/XrdSys/XrdSysE2T.cc
|
|
||||||
+++ b/src/XrdSys/XrdSysE2T.cc
|
|
||||||
@@ -74,6 +74,9 @@ int initErrTable()
|
|
||||||
if (EBADE - ERRNOBASE > lastGood)
|
|
||||||
lastGood = EBADE - ERRNOBASE;
|
|
||||||
}
|
|
||||||
+ else {
|
|
||||||
+ e2sMap[EBADE] = "authentication failed - possible invalid exchange";
|
|
||||||
+ }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Supply generic message for missing ones
|
|
||||||
--
|
|
||||||
2.46.0
|
|
||||||
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
SHA512 (xrootd-5.7.1.tar.gz) = 7b6e802d808950332dd2f99c45f6befbf557a33962e97f6e0846c657fd7ef20001b2b116bd7e235d542cbc7433e6afbe2d4006c92c12e370a7dd4389600e3a27
|
SHA512 (xrootd-6.1.1.tar.gz) = ac1286cc54c60611bf17b6140b8cd7ef17a8318a4082cae38e5da040199ce4405490e583b376074c3ed29cf2d87c9bbda5da15c6a3091c83c7877abdc3343ebf
|
||||||
|
|
|
||||||
2
xrootd-sysusers.conf
Normal file
2
xrootd-sysusers.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Name ID GECOS Home directory Shell
|
||||||
|
u xrootd 194 "XRootD runtime user" /var/spool/xrootd -
|
||||||
379
xrootd.spec
379
xrootd.spec
|
|
@ -8,29 +8,22 @@
|
||||||
%global ceph 0
|
%global ceph 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Needed for EPEL 8
|
|
||||||
%undefine __cmake_in_source_build
|
|
||||||
|
|
||||||
Name: xrootd
|
Name: xrootd
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 5.7.1
|
Version: 6.1.1
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Extended ROOT file server
|
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
|
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
|
URL: https://xrootd.web.cern.ch
|
||||||
Source0: %{url}/download/v%{version}/%{name}-%{version}.tar.gz
|
Source0: %{url}/download/v%{version}/%{name}-%{version}.tar.gz
|
||||||
# https://github.com/xrootd/xrootd/pull/2328
|
Source1: %{name}-sysusers.conf
|
||||||
Patch0: 0001-Server-Correct-spelling-permision-permission.patch
|
|
||||||
# https://github.com/xrootd/xrootd/pull/2329
|
# Unbundle tinyxml library
|
||||||
Patch1: 0001-Protect-against-array-index-out-of-bounds.patch
|
Patch0: 0001-Unbundle-tinyxml.patch
|
||||||
Patch2: 0002-Add-error-string-to-e2sMap-if-EBADE-is-out-of-range.patch
|
# Unbundle googletest/googlemock
|
||||||
# https://github.com/xrootd/xrootd/pull/2330
|
Patch1: 0001-Unbundle-gtest.patch
|
||||||
Patch3: 0001-Change-type-in-XrdSutCacheArg_t-to-long-long.patch
|
# Make documentation self-contained
|
||||||
# https://github.com/xrootd/xrootd/pull/2337
|
Patch2: 0001-Make-documentation-self-contained.patch
|
||||||
# https://github.com/doxygen/doxygen/issues/11138
|
|
||||||
Patch4: 0001-Reproducible-doxygen-output.patch
|
|
||||||
# https://github.com/xrootd/xrootd/pull/2340
|
|
||||||
Patch5: 0001-Increase-client-timeouts-for-XRootD-server-tests.patch
|
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
|
@ -41,13 +34,16 @@ BuildRequires: krb5-devel
|
||||||
BuildRequires: libcurl-devel
|
BuildRequires: libcurl-devel
|
||||||
BuildRequires: tinyxml-devel
|
BuildRequires: tinyxml-devel
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
|
BuildRequires: libzip-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
|
%if %{?fedora}%{!?fedora:0}
|
||||||
|
# picojson not in RHEL/EPEL
|
||||||
|
BuildRequires: picojson-devel
|
||||||
|
%endif
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: doxygen
|
|
||||||
BuildRequires: graphviz
|
|
||||||
BuildRequires: selinux-policy-devel
|
BuildRequires: selinux-policy-devel
|
||||||
BuildRequires: systemd-rpm-macros
|
BuildRequires: systemd-rpm-macros
|
||||||
BuildRequires: systemd-devel
|
BuildRequires: systemd-devel
|
||||||
|
|
@ -55,13 +51,13 @@ BuildRequires: python3-devel
|
||||||
BuildRequires: python3-pip
|
BuildRequires: python3-pip
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
BuildRequires: python3-wheel
|
BuildRequires: python3-wheel
|
||||||
BuildRequires: python3-sphinx
|
|
||||||
BuildRequires: json-c-devel
|
BuildRequires: json-c-devel
|
||||||
|
BuildRequires: json-devel
|
||||||
BuildRequires: libmacaroons-devel
|
BuildRequires: libmacaroons-devel
|
||||||
BuildRequires: libuuid-devel
|
BuildRequires: libuuid-devel
|
||||||
BuildRequires: voms-devel
|
BuildRequires: voms-devel
|
||||||
BuildRequires: scitokens-cpp-devel
|
BuildRequires: scitokens-cpp-devel
|
||||||
BuildRequires: davix-devel
|
BuildRequires: libxcrypt-devel
|
||||||
%if %{ceph}
|
%if %{ceph}
|
||||||
BuildRequires: librados-devel
|
BuildRequires: librados-devel
|
||||||
BuildRequires: libradosstriper-devel
|
BuildRequires: libradosstriper-devel
|
||||||
|
|
@ -69,11 +65,21 @@ BuildRequires: libradosstriper-devel
|
||||||
%ifnarch %{ix86}
|
%ifnarch %{ix86}
|
||||||
BuildRequires: isa-l-devel
|
BuildRequires: isa-l-devel
|
||||||
%endif
|
%endif
|
||||||
|
# For documentation
|
||||||
|
BuildRequires: doxygen
|
||||||
|
BuildRequires: graphviz
|
||||||
|
BuildRequires: python3-sphinx
|
||||||
|
# For tests
|
||||||
BuildRequires: attr
|
BuildRequires: attr
|
||||||
BuildRequires: davix
|
BuildRequires: curl
|
||||||
BuildRequires: gtest-devel
|
BuildRequires: gtest-devel
|
||||||
|
BuildRequires: gmock-devel
|
||||||
|
BuildRequires: jq
|
||||||
|
BuildRequires: krb5-server
|
||||||
|
BuildRequires: krb5-workstation
|
||||||
BuildRequires: openssl
|
BuildRequires: openssl
|
||||||
BuildRequires: procps
|
BuildRequires: procps
|
||||||
|
BuildRequires: sqlite
|
||||||
|
|
||||||
Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-selinux = %{epoch}:%{version}-%{release}
|
Requires: %{name}-selinux = %{epoch}:%{version}-%{release}
|
||||||
|
|
@ -98,7 +104,7 @@ Requires: %{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-server-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-server-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
Requires: expect
|
Requires: expect
|
||||||
Requires: logrotate
|
Requires: logrotate
|
||||||
Requires(pre): shadow-utils
|
%{?sysusers_requires_compat}
|
||||||
%{?systemd_requires}
|
%{?systemd_requires}
|
||||||
|
|
||||||
%description server
|
%description server
|
||||||
|
|
@ -135,6 +141,8 @@ development.
|
||||||
|
|
||||||
%package client-libs
|
%package client-libs
|
||||||
Summary: Libraries used by xrootd clients
|
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}
|
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%description client-libs
|
%description client-libs
|
||||||
|
|
@ -229,19 +237,11 @@ SciToken passed during a transfer. Configured appropriately, this
|
||||||
allows the XRootD server admin to delegate authorization decisions for
|
allows the XRootD server admin to delegate authorization decisions for
|
||||||
a subset of the namespace to an external issuer.
|
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}
|
%if %{ceph}
|
||||||
%package ceph
|
%package ceph
|
||||||
Summary: XRootD plugin for interfacing with the Ceph storage platform
|
Summary: XRootD plugin for interfacing with the Ceph storage platform
|
||||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
Requires: %{name}-server-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%description ceph
|
%description ceph
|
||||||
The xrootd-ceph is an OSS layer plugin for the XRootD server for
|
The xrootd-ceph is an OSS layer plugin for the XRootD server for
|
||||||
|
|
@ -266,22 +266,30 @@ This package contains the API documentation of the xrootd libraries.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%patch -P0 -p1
|
%patch -P0 -p1
|
||||||
%patch -P1 -p1
|
%patch -P1 -p1
|
||||||
%patch -P2 -p1
|
%patch -P2 -p1
|
||||||
%patch -P3 -p1
|
|
||||||
%patch -P4 -p1
|
# Delete bundled dependencies
|
||||||
%patch -P5 -p1
|
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
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake \
|
%cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DFORCE_ENABLED:BOOL=ON \
|
-DFORCE_ENABLED:BOOL=ON \
|
||||||
-DENABLE_TESTS:BOOL=ON \
|
-DENABLE_TESTS:BOOL=ON \
|
||||||
%if %{ceph}
|
%if %{ceph}
|
||||||
-DENABLE_CEPH:BOOL=ON \
|
-DENABLE_CEPH:BOOL=ON \
|
||||||
%endif
|
%endif
|
||||||
%ifarch %{ix86}
|
%ifnarch %{ix86}
|
||||||
-DENABLE_XRDEC:BOOL=OFF \
|
-DENABLE_XRDEC:BOOL=ON \
|
||||||
%endif
|
%endif
|
||||||
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9
|
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9
|
||||||
-DPIP_OPTIONS="--no-deps --use-pep517 --no-build-isolation --disable-pip-version-check --verbose" \
|
-DPIP_OPTIONS="--no-deps --use-pep517 --no-build-isolation --disable-pip-version-check --verbose" \
|
||||||
|
|
@ -291,12 +299,9 @@ This package contains the API documentation of the xrootd libraries.
|
||||||
-DXRD_PYTHON_REQ_VERSION=%{python3_version}
|
-DXRD_PYTHON_REQ_VERSION=%{python3_version}
|
||||||
%cmake_build
|
%cmake_build
|
||||||
|
|
||||||
make -C packaging/common -f /usr/share/selinux/devel/Makefile
|
make -C config -f /usr/share/selinux/devel/Makefile
|
||||||
|
|
||||||
doxygen Doxyfile
|
doxygen Doxyfile
|
||||||
# Use local image instead of remote
|
|
||||||
sed 's!src=".*/xrootd-logo.png"!src="xrootd-logo.png"!' \
|
|
||||||
-i doxydoc/html/index.html
|
|
||||||
cp -p docs/images/xrootd-logo.png doxydoc/html
|
cp -p docs/images/xrootd-logo.png doxydoc/html
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
|
@ -312,45 +317,48 @@ rm -f %{buildroot}%{python3_sitearch}/xrootd-*.*-info/RECORD
|
||||||
sed s/pip/rpm/ \
|
sed s/pip/rpm/ \
|
||||||
-i %{buildroot}%{python3_sitearch}/xrootd-*.*-info/INSTALLER
|
-i %{buildroot}%{python3_sitearch}/xrootd-*.*-info/INSTALLER
|
||||||
|
|
||||||
|
rm -f %{buildroot}%{_libdir}/cmake/XRootD/uninstall.cmake
|
||||||
|
|
||||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
|
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
|
||||||
PYTHONPATH=%{buildroot}%{python3_sitearch} \
|
PYTHONPATH=%{buildroot}%{python3_sitearch} \
|
||||||
PYTHONDONTWRITEBYTECODE=1 \
|
PYTHONDONTWRITEBYTECODE=1 \
|
||||||
make -C bindings/python/docs html
|
make -C python/docs html
|
||||||
|
|
||||||
# Service unit files
|
# Service unit files
|
||||||
mkdir -p %{buildroot}%{_unitdir}
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
install -m 644 packaging/common/xrootd@.service %{buildroot}%{_unitdir}
|
install -m 644 -p systemd/xrootd@.service %{buildroot}%{_unitdir}
|
||||||
install -m 644 packaging/common/xrootd@.socket %{buildroot}%{_unitdir}
|
install -m 644 -p systemd/xrootd@.socket %{buildroot}%{_unitdir}
|
||||||
install -m 644 packaging/common/xrdhttp@.socket %{buildroot}%{_unitdir}
|
install -m 644 -p systemd/xrdhttp@.socket %{buildroot}%{_unitdir}
|
||||||
install -m 644 packaging/common/cmsd@.service %{buildroot}%{_unitdir}
|
install -m 644 -p systemd/cmsd@.service %{buildroot}%{_unitdir}
|
||||||
install -m 644 packaging/common/frm_xfrd@.service %{buildroot}%{_unitdir}
|
install -m 644 -p systemd/frm_xfrd@.service %{buildroot}%{_unitdir}
|
||||||
install -m 644 packaging/common/frm_purged@.service %{buildroot}%{_unitdir}
|
install -m 644 -p systemd/frm_purged@.service %{buildroot}%{_unitdir}
|
||||||
mkdir -p %{buildroot}%{_tmpfilesdir}
|
|
||||||
install -m 644 packaging/rhel/xrootd.tmpfiles %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
mkdir -p %{buildroot}%{_sysusersdir}
|
||||||
|
install -m 644 -p %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf
|
||||||
|
|
||||||
# Server config
|
# Server config
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
||||||
install -m 644 -p packaging/common/%{name}-clustered.cfg \
|
install -m 644 -p config/%{name}-clustered.cfg \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/%{name}-clustered.cfg
|
%{buildroot}%{_sysconfdir}/%{name}/%{name}-clustered.cfg
|
||||||
install -m 644 -p packaging/common/%{name}-standalone.cfg \
|
install -m 644 -p config/%{name}-standalone.cfg \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/%{name}-standalone.cfg
|
%{buildroot}%{_sysconfdir}/%{name}/%{name}-standalone.cfg
|
||||||
install -m 644 -p packaging/common/%{name}-filecache-clustered.cfg \
|
install -m 644 -p config/%{name}-filecache-clustered.cfg \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/%{name}-filecache-clustered.cfg
|
%{buildroot}%{_sysconfdir}/%{name}/%{name}-filecache-clustered.cfg
|
||||||
install -m 644 -p packaging/common/%{name}-filecache-standalone.cfg \
|
install -m 644 -p config/%{name}-filecache-standalone.cfg \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/%{name}-filecache-standalone.cfg
|
%{buildroot}%{_sysconfdir}/%{name}/%{name}-filecache-standalone.cfg
|
||||||
sed 's!/usr/lib64/!!' packaging/common/%{name}-http.cfg > \
|
install -m 644 -p config/%{name}-http.cfg \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/%{name}-http.cfg
|
%{buildroot}%{_sysconfdir}/%{name}/%{name}-http.cfg
|
||||||
|
|
||||||
# Client config
|
# Client config
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/%{name}/client.plugins.d
|
mkdir -p %{buildroot}%{_sysconfdir}/%{name}/client.plugins.d
|
||||||
install -m 644 -p packaging/common/client.conf \
|
install -m 644 -p config/client.conf \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/client.conf
|
%{buildroot}%{_sysconfdir}/%{name}/client.conf
|
||||||
sed 's!/usr/lib/!!' packaging/common/client-plugin.conf.example > \
|
install -m 644 -p config/client.plugins.d/http.conf \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/client-plugin.conf.example
|
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/http.conf
|
||||||
sed -e 's!/usr/lib64/!!' -e 's!-5!!' packaging/common/recorder.conf > \
|
install -m 644 -p config/client.plugins.d/recorder.conf \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/recorder.conf
|
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/recorder.conf
|
||||||
sed 's!/usr/lib64/!!' packaging/common/http.client.conf.example > \
|
install -m 644 -p config/client.plugins.d/s3.conf \
|
||||||
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/xrdcl-http-plugin.conf
|
%{buildroot}%{_sysconfdir}/%{name}/client.plugins.d/s3.conf
|
||||||
|
|
||||||
chmod 644 %{buildroot}%{_datadir}/%{name}/utils/XrdCmsNotify.pm
|
chmod 644 %{buildroot}%{_datadir}/%{name}/utils/XrdCmsNotify.pm
|
||||||
|
|
||||||
|
|
@ -365,63 +373,63 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/config.d
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
|
mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
|
||||||
mkdir -p %{buildroot}%{_localstatedir}/spool/%{name}
|
mkdir -p %{buildroot}%{_localstatedir}/spool/%{name}
|
||||||
|
mkdir -p %{buildroot}%{_rundir}/%{name}
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
||||||
install -m 644 -p packaging/common/%{name}.logrotate \
|
install -m 644 -p config/%{name}.logrotate \
|
||||||
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_datadir}/selinux/packages/%{name}
|
mkdir -p %{buildroot}%{_datadir}/selinux/packages/%{name}
|
||||||
install -m 644 -p packaging/common/%{name}.pp \
|
install -m 644 -p config/%{name}.pp \
|
||||||
%{buildroot}%{_datadir}/selinux/packages/%{name}
|
%{buildroot}%{_datadir}/selinux/packages/%{name}
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
mkdir -p %{buildroot}%{_pkgdocdir}
|
mkdir -p %{buildroot}%{_pkgdocdir}
|
||||||
cp -pr doxydoc/html %{buildroot}%{_pkgdocdir}
|
cp -pr doxydoc/html %{buildroot}%{_pkgdocdir}
|
||||||
|
|
||||||
cp -pr bindings/python/docs/build/html %{buildroot}%{_pkgdocdir}/python
|
cp -pr python/docs/build/html %{buildroot}%{_pkgdocdir}/python
|
||||||
rm %{buildroot}%{_pkgdocdir}/python/.buildinfo
|
rm %{buildroot}%{_pkgdocdir}/python/.buildinfo
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
export HOSTNAME=localhost
|
||||||
|
|
||||||
# Reduce socket path lengths used during tests
|
# Reduce socket path lengths used during tests
|
||||||
# rpm 4.20 uses a longer path to the build directory than earlier versions
|
# 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
|
# Tests fail with sockets in the build directory with rpm 4.20
|
||||||
adminpath=$(mktemp -d -p /var/tmp)
|
adminpath=$(mktemp -d -p /var/tmp)
|
||||||
sed "s!all.adminpath .*!all.adminpath ${adminpath}!" \
|
trap "rm -rf ${adminpath}" EXIT
|
||||||
-i %{_vpath_builddir}/tests/cluster/common.cfg \
|
|
||||||
tests/XRootD/common.cfg
|
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
|
touch testfile
|
||||||
if ( setfattr -n user.testattr -v testvalue testfile ) ; then
|
if ( setfattr -n user.testattr -v testvalue testfile ) ; then
|
||||||
%ctest
|
%ctest -- -E \
|
||||||
|
XRootD::badredir\|\
|
||||||
|
%ifarch %{ix86} %{arm}
|
||||||
|
XRootD::posix\|\
|
||||||
|
%endif
|
||||||
|
XrdCl::FileSystemTest.PlugInTest\|\
|
||||||
|
XrdCl::FileTest.PlugInTest
|
||||||
else
|
else
|
||||||
echo "Extended file attributes not supported by file system"
|
echo "Extended file attributes not supported by file system"
|
||||||
echo "Don't run tests that require them"
|
echo "*** NOT RUNNING TESTS ***"
|
||||||
exclude="\
|
|
||||||
XrdCl::FileCopyTest|\
|
|
||||||
XrdCl::FileSystemTest.PlugInTest|\
|
|
||||||
XrdCl::FileSystemTest.ServerQueryTest|\
|
|
||||||
XrdCl::FileSystemTest.XAttrTest|\
|
|
||||||
XrdCl::FileTest.XAttrTest|\
|
|
||||||
XrdCl::LocalFileHandlerTest.XAttrTest|\
|
|
||||||
XrdCl::ThreadingTest|\
|
|
||||||
XrdCl::WorkflowTest.CheckpointTest|\
|
|
||||||
XrdCl::WorkflowTest.XAttrWorkflowTest|\
|
|
||||||
XrdEc::|\
|
|
||||||
XRootD::cluster::test"
|
|
||||||
%ctest -- -E $exclude
|
|
||||||
fi
|
fi
|
||||||
rm testfile
|
rm testfile
|
||||||
|
|
||||||
rm -rf ${adminpath}
|
|
||||||
|
|
||||||
%pre server
|
%pre server
|
||||||
getent group %{name} >/dev/null || groupadd -r %{name}
|
%sysusers_create_compat %{SOURCE1}
|
||||||
getent passwd %{name} >/dev/null || useradd -r -g %{name} -s /sbin/nologin \
|
|
||||||
-d %{_localstatedir}/spool/%{name} -c "XRootD runtime user" %{name}
|
|
||||||
|
|
||||||
%post server
|
%post server
|
||||||
%tmpfiles_create %{name}.conf
|
|
||||||
|
|
||||||
if [ $1 -eq 1 ] ; then
|
if [ $1 -eq 1 ] ; then
|
||||||
systemctl daemon-reload >/dev/null 2>&1 || :
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
|
|
@ -484,7 +492,7 @@ fi
|
||||||
%dir %{_datadir}/%{name}
|
%dir %{_datadir}/%{name}
|
||||||
%{_datadir}/%{name}/utils
|
%{_datadir}/%{name}/utils
|
||||||
%{_unitdir}/*
|
%{_unitdir}/*
|
||||||
%{_tmpfilesdir}/%{name}.conf
|
%{_sysusersdir}/%{name}.conf
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||||
%dir %{_sysconfdir}/%{name}/config.d
|
%dir %{_sysconfdir}/%{name}/config.d
|
||||||
%attr(-,xrootd,xrootd) %config(noreplace) %{_sysconfdir}/%{name}/*.cfg
|
%attr(-,xrootd,xrootd) %config(noreplace) %{_sysconfdir}/%{name}/*.cfg
|
||||||
|
|
@ -503,18 +511,18 @@ fi
|
||||||
%{_libdir}/libXrdUtils.so.*
|
%{_libdir}/libXrdUtils.so.*
|
||||||
%{_libdir}/libXrdXml.so.*
|
%{_libdir}/libXrdXml.so.*
|
||||||
# Plugins
|
# Plugins
|
||||||
%{_libdir}/libXrdCksCalczcrc32-5.so
|
%{_libdir}/libXrdCksCalczcrc32-6.so
|
||||||
%{_libdir}/libXrdCryptossl-5.so
|
%{_libdir}/libXrdCryptossl-6.so
|
||||||
%{_libdir}/libXrdSec-5.so
|
%{_libdir}/libXrdSec-6.so
|
||||||
%{_libdir}/libXrdSecProt-5.so
|
%{_libdir}/libXrdSecProt-6.so
|
||||||
%{_libdir}/libXrdSecgsi-5.so
|
%{_libdir}/libXrdSecgsi-6.so
|
||||||
%{_libdir}/libXrdSecgsiAUTHZVO-5.so
|
%{_libdir}/libXrdSecgsiAUTHZVO-6.so
|
||||||
%{_libdir}/libXrdSecgsiGMAPDN-5.so
|
%{_libdir}/libXrdSecgsiGMAPDN-6.so
|
||||||
%{_libdir}/libXrdSeckrb5-5.so
|
%{_libdir}/libXrdSeckrb5-6.so
|
||||||
%{_libdir}/libXrdSecpwd-5.so
|
%{_libdir}/libXrdSecpwd-6.so
|
||||||
%{_libdir}/libXrdSecsss-5.so
|
%{_libdir}/libXrdSecsss-6.so
|
||||||
%{_libdir}/libXrdSecunix-5.so
|
%{_libdir}/libXrdSecunix-6.so
|
||||||
%{_libdir}/libXrdSecztn-5.so
|
%{_libdir}/libXrdSecztn-6.so
|
||||||
%license COPYING* LICENSE
|
%license COPYING* LICENSE
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
|
|
@ -535,6 +543,7 @@ fi
|
||||||
%{_libdir}/libXrdUtils.so
|
%{_libdir}/libXrdUtils.so
|
||||||
%{_libdir}/libXrdXml.so
|
%{_libdir}/libXrdXml.so
|
||||||
%{_libdir}/cmake/XRootD
|
%{_libdir}/cmake/XRootD
|
||||||
|
%{_mandir}/man1/xrootd-config.1*
|
||||||
|
|
||||||
%files client-libs
|
%files client-libs
|
||||||
%{_libdir}/libXrdCl.so.*
|
%{_libdir}/libXrdCl.so.*
|
||||||
|
|
@ -549,16 +558,20 @@ fi
|
||||||
%{_libdir}/libXrdSsiLib.so.*
|
%{_libdir}/libXrdSsiLib.so.*
|
||||||
%{_libdir}/libXrdSsiShMap.so.*
|
%{_libdir}/libXrdSsiShMap.so.*
|
||||||
# Plugins
|
# Plugins
|
||||||
%{_libdir}/libXrdClProxyPlugin-5.so
|
%{_libdir}/libXrdClHttp-6.so
|
||||||
%{_libdir}/libXrdClRecorder-5.so
|
%{_libdir}/libXrdClProxyPlugin-6.so
|
||||||
|
%{_libdir}/libXrdClRecorder-6.so
|
||||||
|
%{_libdir}/libXrdClS3-6.so
|
||||||
%dir %{_sysconfdir}/%{name}
|
%dir %{_sysconfdir}/%{name}
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/client.conf
|
%config(noreplace) %{_sysconfdir}/%{name}/client.conf
|
||||||
%dir %{_sysconfdir}/%{name}/client.plugins.d
|
%dir %{_sysconfdir}/%{name}/client.plugins.d
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/client-plugin.conf.example
|
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/http.conf
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/recorder.conf
|
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/recorder.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/client.plugins.d/s3.conf
|
||||||
|
|
||||||
%files client-devel
|
%files client-devel
|
||||||
%{_includedir}/%{name}/XrdCl
|
%{_includedir}/%{name}/XrdCl
|
||||||
|
%{_includedir}/%{name}/XrdClHttp
|
||||||
%{_includedir}/%{name}/XrdPosix
|
%{_includedir}/%{name}/XrdPosix
|
||||||
%{_libdir}/libXrdCl.so
|
%{_libdir}/libXrdCl.so
|
||||||
%{_libdir}/libXrdFfs.so
|
%{_libdir}/libXrdFfs.so
|
||||||
|
|
@ -568,23 +581,28 @@ fi
|
||||||
%{_libdir}/libXrdHttpUtils.so.*
|
%{_libdir}/libXrdHttpUtils.so.*
|
||||||
%{_libdir}/libXrdServer.so.*
|
%{_libdir}/libXrdServer.so.*
|
||||||
# Plugins
|
# Plugins
|
||||||
%{_libdir}/libXrdBlacklistDecision-5.so
|
%{_libdir}/libXrdBlacklistDecision-6.so
|
||||||
%{_libdir}/libXrdBwm-5.so
|
%{_libdir}/libXrdBwm-6.so
|
||||||
%{_libdir}/libXrdCmsRedirectLocal-5.so
|
%{_libdir}/libXrdCmsRedirectLocal-6.so
|
||||||
%{_libdir}/libXrdFileCache-5.so
|
%{_libdir}/libXrdFileCache-6.so
|
||||||
%{_libdir}/libXrdHttp-5.so
|
%{_libdir}/libXrdHttp-6.so
|
||||||
%{_libdir}/libXrdHttpTPC-5.so
|
%{_libdir}/libXrdHttpCors-6.so
|
||||||
%{_libdir}/libXrdMacaroons-5.so
|
%{_libdir}/libXrdHttpTPC-6.so
|
||||||
%{_libdir}/libXrdN2No2p-5.so
|
%{_libdir}/libXrdMacaroons-6.so
|
||||||
%{_libdir}/libXrdOfsPrepGPI-5.so
|
%{_libdir}/libXrdN2No2p-6.so
|
||||||
%{_libdir}/libXrdOssCsi-5.so
|
%{_libdir}/libXrdOfsPrepGPI-6.so
|
||||||
%{_libdir}/libXrdOssSIgpfsT-5.so
|
%{_libdir}/libXrdOssArc-6.so
|
||||||
%{_libdir}/libXrdPfc-5.so
|
%{_libdir}/libXrdOssCsi-6.so
|
||||||
%{_libdir}/libXrdPss-5.so
|
%{_libdir}/libXrdOssMirage-6.so
|
||||||
%{_libdir}/libXrdSsi-5.so
|
%{_libdir}/libXrdOssSIgpfsT-6.so
|
||||||
%{_libdir}/libXrdSsiLog-5.so
|
%{_libdir}/libXrdOssStats-6.so
|
||||||
%{_libdir}/libXrdThrottle-5.so
|
%{_libdir}/libXrdPfc-6.so
|
||||||
%{_libdir}/libXrdXrootd-5.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
|
||||||
|
|
||||||
%files server-devel
|
%files server-devel
|
||||||
%{_includedir}/%{name}/XrdAcc
|
%{_includedir}/%{name}/XrdAcc
|
||||||
|
|
@ -631,25 +649,21 @@ fi
|
||||||
%{_mandir}/man1/xrootdfs.1*
|
%{_mandir}/man1/xrootdfs.1*
|
||||||
|
|
||||||
%files voms
|
%files voms
|
||||||
%{_libdir}/libXrdVoms-5.so
|
%{_libdir}/libXrdVoms-6.so
|
||||||
%{_libdir}/libXrdHttpVOMS-5.so
|
%{_libdir}/libXrdHttpVOMS-6.so
|
||||||
%{_libdir}/libXrdSecgsiVOMS-5.so
|
%{_libdir}/libXrdSecgsiVOMS-6.so
|
||||||
%doc %{_mandir}/man1/libXrdVoms.1*
|
%doc %{_mandir}/man1/libXrdVoms.1*
|
||||||
%doc %{_mandir}/man1/libXrdSecgsiVOMS.1*
|
%doc %{_mandir}/man1/libXrdSecgsiVOMS.1*
|
||||||
%doc src/XrdVoms/README.md
|
%doc src/XrdVoms/README.md
|
||||||
|
|
||||||
%files scitokens
|
%files scitokens
|
||||||
%{_libdir}/libXrdAccSciTokens-5.so
|
%{_libdir}/libXrdAccSciTokens-6.so
|
||||||
%doc src/XrdSciTokens/README.md
|
%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}
|
%if %{ceph}
|
||||||
%files ceph
|
%files ceph
|
||||||
%{_libdir}/libXrdCeph-5.so
|
%{_libdir}/libXrdCeph-6.so
|
||||||
%{_libdir}/libXrdCephXattr-5.so
|
%{_libdir}/libXrdCephXattr-6.so
|
||||||
%{_libdir}/libXrdCephPosix.so.*
|
%{_libdir}/libXrdCephPosix.so.*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
@ -662,6 +676,105 @@ fi
|
||||||
%doc %{_pkgdocdir}
|
%doc %{_pkgdocdir}
|
||||||
|
|
||||||
%changelog
|
%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
|
* 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
|
- Workaround doxygen non-reproducibility - make doc package noarch again
|
||||||
- Increase client timeouts for XRootD server tests
|
- Increase client timeouts for XRootD server tests
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue