Compare commits
No commits in common. "rawhide" and "f37" have entirely different histories.
19 changed files with 1126 additions and 441 deletions
171
0001-Avoid-bus-errors.patch
Normal file
171
0001-Avoid-bus-errors.patch
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
From 9fddb12566049e6e89d06b94a28d60ff5409b27c Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Mon, 4 Dec 2023 13:00:07 +0100
|
||||
Subject: [PATCH] Avoid bus errors
|
||||
|
||||
Do not dereference unaligned pointers.
|
||||
---
|
||||
src/XProtocol/XProtocol.cc | 4 ++--
|
||||
src/XrdCl/XrdClXRootDMsgHandler.cc | 4 ++--
|
||||
src/XrdZip/XrdZipCDFH.hh | 32 +++++++++++++++---------------
|
||||
src/XrdZip/XrdZipEOCD.hh | 14 ++++++-------
|
||||
src/XrdZip/XrdZipZIP64EOCD.hh | 18 ++++++++---------
|
||||
src/XrdZip/XrdZipZIP64EOCDL.hh | 6 +++---
|
||||
6 files changed, 39 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/src/XProtocol/XProtocol.cc b/src/XProtocol/XProtocol.cc
|
||||
index e5a7df3dd..da9e74613 100644
|
||||
--- a/src/XProtocol/XProtocol.cc
|
||||
+++ b/src/XProtocol/XProtocol.cc
|
||||
@@ -204,7 +204,7 @@ char* ClientFattrRequest::VVecInsert( const char *value, char *buffer )
|
||||
//
|
||||
char* ClientFattrRequest::NVecRead( char* buffer, kXR_unt16 &rc )
|
||||
{
|
||||
- rc = *reinterpret_cast<const kXR_unt16*>( buffer );
|
||||
+ memcpy(&rc, buffer, sizeof(kXR_unt16));
|
||||
rc = htons( rc );
|
||||
buffer += sizeof( kXR_unt16 );
|
||||
return buffer;
|
||||
@@ -223,7 +223,7 @@ char* ClientFattrRequest::NVecRead( char* buffer, char *&name )
|
||||
//
|
||||
char* ClientFattrRequest::VVecRead( char* buffer, kXR_int32 &len )
|
||||
{
|
||||
- len = *reinterpret_cast<const kXR_int32*>( buffer );
|
||||
+ memcpy(&len, buffer, sizeof(kXR_int32));
|
||||
len = htonl( len );
|
||||
buffer += sizeof( kXR_int32 );
|
||||
return buffer;
|
||||
diff --git a/src/XrdCl/XrdClXRootDMsgHandler.cc b/src/XrdCl/XrdClXRootDMsgHandler.cc
|
||||
index 81e41d21b..da6513872 100644
|
||||
--- a/src/XrdCl/XrdClXRootDMsgHandler.cc
|
||||
+++ b/src/XrdCl/XrdClXRootDMsgHandler.cc
|
||||
@@ -2445,10 +2445,10 @@ namespace XrdCl
|
||||
{
|
||||
if( sizeof( T ) > buflen ) return Status( stError, errDataError );
|
||||
|
||||
- result = *reinterpret_cast<T*>( buffer );
|
||||
+ memcpy(&result, buffer, sizeof(T));
|
||||
|
||||
buffer += sizeof( T );
|
||||
- buflen -= sizeof( T );
|
||||
+ buflen -= sizeof( T );
|
||||
|
||||
return Status();
|
||||
}
|
||||
diff --git a/src/XrdZip/XrdZipCDFH.hh b/src/XrdZip/XrdZipCDFH.hh
|
||||
index 96851ea35..e6dbb36f2 100644
|
||||
--- a/src/XrdZip/XrdZipCDFH.hh
|
||||
+++ b/src/XrdZip/XrdZipCDFH.hh
|
||||
@@ -194,22 +194,22 @@ namespace XrdZip
|
||||
//-------------------------------------------------------------------------
|
||||
CDFH( const char *buffer, const uint32_t maxSize = 0 )
|
||||
{
|
||||
- zipVersion = *reinterpret_cast<const uint16_t*>( buffer + 4 );
|
||||
- minZipVersion = *reinterpret_cast<const uint16_t*>( buffer + 6 );
|
||||
- generalBitFlag = *reinterpret_cast<const uint16_t*>( buffer + 8 );
|
||||
- compressionMethod = *reinterpret_cast<const uint16_t*>( buffer + 10 );
|
||||
- timestmp.time = *reinterpret_cast<const uint16_t*>( buffer + 12 );
|
||||
- timestmp.date = *reinterpret_cast<const uint16_t*>( buffer + 14 );
|
||||
- ZCRC32 = *reinterpret_cast<const uint32_t*>( buffer + 16 );
|
||||
- compressedSize = *reinterpret_cast<const uint32_t*>( buffer + 20 );
|
||||
- uncompressedSize = *reinterpret_cast<const uint32_t*>( buffer + 24 );
|
||||
- filenameLength = *reinterpret_cast<const uint16_t*>( buffer + 28 );
|
||||
- extraLength = *reinterpret_cast<const uint16_t*>( buffer + 30 );
|
||||
- commentLength = *reinterpret_cast<const uint16_t*>( buffer + 32 );
|
||||
- nbDisk = *reinterpret_cast<const uint16_t*>( buffer + 34 );
|
||||
- internAttr = *reinterpret_cast<const uint16_t*>( buffer + 36 );
|
||||
- externAttr = *reinterpret_cast<const uint32_t*>( buffer + 38 );
|
||||
- offset = *reinterpret_cast<const uint32_t*>( buffer + 42 );
|
||||
+ zipVersion = to<uint16_t>(buffer + 4);
|
||||
+ minZipVersion = to<uint16_t>(buffer + 6);
|
||||
+ generalBitFlag = to<uint16_t>(buffer + 8);
|
||||
+ compressionMethod = to<uint16_t>(buffer + 10);
|
||||
+ timestmp.time = to<uint16_t>(buffer + 12);
|
||||
+ timestmp.date = to<uint16_t>(buffer + 14);
|
||||
+ ZCRC32 = to<uint32_t>(buffer + 16);
|
||||
+ compressedSize = to<uint32_t>(buffer + 20);
|
||||
+ uncompressedSize = to<uint32_t>(buffer + 24);
|
||||
+ filenameLength = to<uint16_t>(buffer + 28);
|
||||
+ extraLength = to<uint16_t>(buffer + 30);
|
||||
+ commentLength = to<uint16_t>(buffer + 32);
|
||||
+ nbDisk = to<uint16_t>(buffer + 34);
|
||||
+ internAttr = to<uint16_t>(buffer + 36);
|
||||
+ externAttr = to<uint32_t>(buffer + 38);
|
||||
+ offset = to<uint32_t>(buffer + 42);
|
||||
if(maxSize > 0 && (uint32_t)(cdfhBaseSize+filenameLength + extraLength + commentLength) > maxSize){
|
||||
throw bad_data();
|
||||
}
|
||||
diff --git a/src/XrdZip/XrdZipEOCD.hh b/src/XrdZip/XrdZipEOCD.hh
|
||||
index d38a6a1c8..575a300bc 100644
|
||||
--- a/src/XrdZip/XrdZipEOCD.hh
|
||||
+++ b/src/XrdZip/XrdZipEOCD.hh
|
||||
@@ -53,13 +53,13 @@ namespace XrdZip
|
||||
//-------------------------------------------------------------------------
|
||||
EOCD( const char *buffer, uint32_t maxSize = 0 )
|
||||
{
|
||||
- nbDisk = *reinterpret_cast<const uint16_t*>( buffer + 4 );
|
||||
- nbDiskCd = *reinterpret_cast<const uint16_t*>( buffer + 6 );
|
||||
- nbCdRecD = *reinterpret_cast<const uint16_t*>( buffer + 8 );
|
||||
- nbCdRec = *reinterpret_cast<const uint16_t*>( buffer + 10 );
|
||||
- cdSize = *reinterpret_cast<const uint32_t*>( buffer + 12 );
|
||||
- cdOffset = *reinterpret_cast<const uint32_t*>( buffer + 16 );
|
||||
- commentLength = *reinterpret_cast<const uint16_t*>( buffer + 20 );
|
||||
+ nbDisk = to<uint16_t>(buffer + 4);
|
||||
+ nbDiskCd = to<uint16_t>(buffer + 6);
|
||||
+ nbCdRecD = to<uint16_t>(buffer + 8);
|
||||
+ nbCdRec = to<uint16_t>(buffer + 10);
|
||||
+ cdSize = to<uint32_t>(buffer + 12);
|
||||
+ cdOffset = to<uint32_t>(buffer + 16);
|
||||
+ commentLength = to<uint16_t>(buffer + 20);
|
||||
if(maxSize > 0 && (uint32_t)(eocdBaseSize + commentLength) > maxSize)
|
||||
throw bad_data();
|
||||
comment = std::string( buffer + 22, commentLength );
|
||||
diff --git a/src/XrdZip/XrdZipZIP64EOCD.hh b/src/XrdZip/XrdZipZIP64EOCD.hh
|
||||
index c7ab0a3bb..09e5ecc4f 100644
|
||||
--- a/src/XrdZip/XrdZipZIP64EOCD.hh
|
||||
+++ b/src/XrdZip/XrdZipZIP64EOCD.hh
|
||||
@@ -28,15 +28,15 @@ namespace XrdZip
|
||||
ZIP64_EOCD( const char* buffer ):
|
||||
extensibleDataLength( 0 )
|
||||
{
|
||||
- zip64EocdSize = *reinterpret_cast<const uint64_t*>( buffer + 4 );
|
||||
- zipVersion = *reinterpret_cast<const uint16_t*>( buffer + 12 );
|
||||
- minZipVersion = *reinterpret_cast<const uint16_t*>( buffer + 14 );
|
||||
- nbDisk = *reinterpret_cast<const uint32_t*>( buffer + 16 );
|
||||
- nbDiskCd = *reinterpret_cast<const uint32_t*>( buffer + 20 );
|
||||
- nbCdRecD = *reinterpret_cast<const uint64_t*>( buffer + 24 );
|
||||
- nbCdRec = *reinterpret_cast<const uint64_t*>( buffer + 32 );
|
||||
- cdSize = *reinterpret_cast<const uint64_t*>( buffer + 40 );
|
||||
- cdOffset = *reinterpret_cast<const uint64_t*>( buffer + 48 );
|
||||
+ zip64EocdSize = to<uint64_t>(buffer + 4);
|
||||
+ zipVersion = to<uint16_t>(buffer + 12);
|
||||
+ minZipVersion = to<uint16_t>(buffer + 14);
|
||||
+ nbDisk = to<uint32_t>(buffer + 16);
|
||||
+ nbDiskCd = to<uint32_t>(buffer + 20);
|
||||
+ nbCdRecD = to<uint64_t>(buffer + 24);
|
||||
+ nbCdRec = to<uint64_t>(buffer + 32);
|
||||
+ cdSize = to<uint64_t>(buffer + 40);
|
||||
+ cdOffset = to<uint64_t>(buffer + 48);
|
||||
|
||||
zip64EocdTotalSize = zip64EocdBaseSize + extensibleDataLength;
|
||||
}
|
||||
diff --git a/src/XrdZip/XrdZipZIP64EOCDL.hh b/src/XrdZip/XrdZipZIP64EOCDL.hh
|
||||
index d2cea2edc..cceca756a 100644
|
||||
--- a/src/XrdZip/XrdZipZIP64EOCDL.hh
|
||||
+++ b/src/XrdZip/XrdZipZIP64EOCDL.hh
|
||||
@@ -26,9 +26,9 @@ namespace XrdZip
|
||||
//-------------------------------------------------------------------------
|
||||
ZIP64_EOCDL( const char *buffer )
|
||||
{
|
||||
- nbDiskZip64Eocd = *reinterpret_cast<const uint32_t*>( buffer + 4 );
|
||||
- zip64EocdOffset = *reinterpret_cast<const uint64_t*>( buffer + 8 );
|
||||
- totalNbDisks = *reinterpret_cast<const uint32_t*>( buffer + 16 );
|
||||
+ nbDiskZip64Eocd = to<uint32_t>(buffer + 4);
|
||||
+ zip64EocdOffset = to<uint64_t>(buffer + 8);
|
||||
+ totalNbDisks = to<uint32_t>(buffer + 16);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
--
|
||||
2.43.0
|
||||
|
||||
105
0001-Avoid-tmp-when-running-some-tests.patch
Normal file
105
0001-Avoid-tmp-when-running-some-tests.patch
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
From 2c256ffaf44d8d811398c6dfe0ea754ae55672eb Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Wed, 22 Nov 2023 06:20:19 +0100
|
||||
Subject: [PATCH] Avoid /tmp when running some tests
|
||||
|
||||
Many features in xrootd require file system support for extended file
|
||||
attributes. Tests that run tests on these features fail if the file
|
||||
system does not support them. The /tmp directory in many Linux
|
||||
installations is using a tmpfs partition. The tmpfs file system does
|
||||
not support extended file attributes, so some tests that use /tmp to
|
||||
store files fail.
|
||||
|
||||
This commit changes some affected tests so that they create the
|
||||
temporary directory containing the test files in the current working
|
||||
directory instead of /tmp.
|
||||
|
||||
Example of failure:
|
||||
|
||||
17/34 Test #20: XrdEc::AlignedWriteTest ...................................................***Failed 0.07 sec
|
||||
You have selected:
|
||||
|
||||
Selected tests/
|
||||
Selected tests/MicroTest::AlignedWriteTest
|
||||
|
||||
Running:
|
||||
|
||||
.F
|
||||
|
||||
MicroTest.cc:506:Assertion
|
||||
Test name: MicroTest::AlignedWriteTest
|
||||
assertion failed
|
||||
- Expression: _st.IsOK()
|
||||
- [*status]: [ERROR] Internal error: std::bad_alloc
|
||||
|
||||
Failures !!!
|
||||
Run: 1 Failure total: 1 Failures: 1 Errors: 0
|
||||
|
||||
The following tests FAILED:
|
||||
20 - XrdEc::AlignedWriteTest (Failed)
|
||||
21 - XrdEc::SmallWriteTest (Failed)
|
||||
22 - XrdEc::BigWriteTest (Failed)
|
||||
23 - XrdEc::VectorReadTest (Failed)
|
||||
24 - XrdEc::IllegalVectorReadTest (Failed)
|
||||
25 - XrdEc::AlignedWrite1MissingTest (Failed)
|
||||
26 - XrdEc::AlignedWrite2MissingTest (Failed)
|
||||
27 - XrdEc::AlignedWriteTestIsalCrcNoMt (Failed)
|
||||
28 - XrdEc::SmallWriteTestIsalCrcNoMt (Failed)
|
||||
29 - XrdEc::BigWriteTestIsalCrcNoMt (Failed)
|
||||
30 - XrdEc::AlignedWrite1MissingTestIsalCrcNoMt (Failed)
|
||||
31 - XrdEc::AlignedWrite2MissingTestIsalCrcNoMt (Failed)
|
||||
|
||||
In addition to addressing the above failures, the commit also
|
||||
addresses the following warnings during the XRootD::smoke-test test:
|
||||
|
||||
34: setfattr: /tmp/xrdfs-test-ChGSEb/01.ref: Operation not supported
|
||||
34: Extended attributes not supported, using downloaded checksums for server checks
|
||||
34: setfattr: /tmp/xrdfs-test-ChGSEb/02.ref: Operation not supported
|
||||
34: Extended attributes not supported, using downloaded checksums for server checks
|
||||
34: setfattr: /tmp/xrdfs-test-ChGSEb/03.ref: Operation not supported
|
||||
34: Extended attributes not supported, using downloaded checksums for server checks
|
||||
---
|
||||
tests/XRootD/smoke.sh | 2 +-
|
||||
tests/XrdEcTests/MicroTest.cc | 6 +++++-
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/XRootD/smoke.sh b/tests/XRootD/smoke.sh
|
||||
index 58e0f93f0..76ae67fd9 100755
|
||||
--- a/tests/XRootD/smoke.sh
|
||||
+++ b/tests/XRootD/smoke.sh
|
||||
@@ -39,7 +39,7 @@ ${XRDFS} ${HOST} statvfs /
|
||||
${XRDFS} ${HOST} spaceinfo /
|
||||
|
||||
# create local temporary directory
|
||||
-TMPDIR=$(mktemp -d /tmp/xrdfs-test-XXXXXX)
|
||||
+TMPDIR=$(mktemp -d ${PWD}/xrdfs-test-XXXXXX)
|
||||
|
||||
# cleanup after ourselves if something fails
|
||||
trap "rm -rf ${TMPDIR}" EXIT
|
||||
diff --git a/tests/XrdEcTests/MicroTest.cc b/tests/XrdEcTests/MicroTest.cc
|
||||
index d02743351..5b375c6fe 100644
|
||||
--- a/tests/XrdEcTests/MicroTest.cc
|
||||
+++ b/tests/XrdEcTests/MicroTest.cc
|
||||
@@ -34,6 +34,8 @@
|
||||
|
||||
#include "XrdZip/XrdZipCDFH.hh"
|
||||
|
||||
+#include "XrdSys/XrdSysPlatform.hh"
|
||||
+
|
||||
#include <string>
|
||||
#include <memory>
|
||||
#include <limits>
|
||||
@@ -280,7 +282,9 @@ void MicroTest::Init( bool usecrc32c )
|
||||
objcfg.reset( new ObjCfg( "test.txt", nbdata, nbparity, chsize, usecrc32c, true ) );
|
||||
rawdata.clear();
|
||||
|
||||
- char tmpdir[32] = "/tmp/xrootd-xrdec-XXXXXX";
|
||||
+ char tmpdir[MAXPATHLEN];
|
||||
+ CPPUNIT_ASSERT( getcwd(tmpdir, MAXPATHLEN - 21) );
|
||||
+ strcat(tmpdir, "/xrootd-xrdec-XXXXXX");
|
||||
// create the data directory
|
||||
CPPUNIT_ASSERT( mkdtemp(tmpdir) );
|
||||
datadir = tmpdir;
|
||||
--
|
||||
2.42.0
|
||||
|
||||
27
0001-CMake-Trace-actual-variables.patch
Normal file
27
0001-CMake-Trace-actual-variables.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
From 896f95c382b3bde7d7c6d184649a7e145d9f3419 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Hahnfeld <jonas.hahnfeld@cern.ch>
|
||||
Date: Mon, 4 Dec 2023 11:51:44 +0100
|
||||
Subject: [PATCH 1/2] [CMake] Trace actual variables
|
||||
|
||||
---
|
||||
cmake/XRootDConfig.cmake.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cmake/XRootDConfig.cmake.in b/cmake/XRootDConfig.cmake.in
|
||||
index 971b415a7..0f95a8f54 100644
|
||||
--- a/cmake/XRootDConfig.cmake.in
|
||||
+++ b/cmake/XRootDConfig.cmake.in
|
||||
@@ -174,8 +174,8 @@ message(TRACE "XRootD_VERSION_NUMBER = '${XRootD_VERSION_NUMBER}'")
|
||||
|
||||
message(TRACE "XRootD_FOUND = '${XRootD_FOUND}'")
|
||||
message(TRACE "XRootD_INSTALL_PREFIX = '@CMAKE_INSTALL_PREFIX@'")
|
||||
-message(TRACE "XRootD_INCLUDE_DIR = '@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@'")
|
||||
-message(TRACE "XRootD_LIBRARY_DIR = '@PACKAGE_CMAKE_INSTALL_LIBDIR@'")
|
||||
+message(TRACE "XRootD_INCLUDE_DIR = '${XRootD_INCLUDE_DIR}'")
|
||||
+message(TRACE "XRootD_LIBRARY_DIR = '${XRootD_LIBRARY_DIR}'")
|
||||
message(TRACE "XRootD_LIBRARIES = '${XRootD_LIBRARIES}'")
|
||||
|
||||
foreach(COMPONENT UTILS CLIENT SERVER HTTP POSIX SSI)
|
||||
--
|
||||
2.43.0
|
||||
|
||||
34
0001-Fix-maybe-uninitialized-warning.patch
Normal file
34
0001-Fix-maybe-uninitialized-warning.patch
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
From b853ff8e86ecc82fc5be87d95fe6bcf28bfaa469 Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Sun, 19 Nov 2023 09:55:54 +0100
|
||||
Subject: [PATCH] Fix maybe-uninitialized warning
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
.../src/XrdEc/XrdEcReader.cc:934:72: error: ‘info’ may be used uninitialized [-Werror=maybe-uninitialized]
|
||||
934 | blockMap[blkid]->stripes[strpid].resize( info ->GetSize() );
|
||||
| ^
|
||||
.../src/XrdEc/XrdEcReader.cc:932:42: note: ‘info’ was declared here
|
||||
932 | XrdCl::StatInfo* info;
|
||||
| ^
|
||||
---
|
||||
src/XrdEc/XrdEcReader.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/XrdEc/XrdEcReader.cc b/src/XrdEc/XrdEcReader.cc
|
||||
index 62dcb0461..9ac55b538 100644
|
||||
--- a/src/XrdEc/XrdEcReader.cc
|
||||
+++ b/src/XrdEc/XrdEcReader.cc
|
||||
@@ -929,7 +929,7 @@ namespace XrdEc
|
||||
}
|
||||
|
||||
blockMap[blkid]->state[strpid] = block_t::Loading;
|
||||
- XrdCl::StatInfo* info;
|
||||
+ XrdCl::StatInfo* info = nullptr;
|
||||
if(dataarchs[url]->Stat(objcfg.GetFileName(blkid, strpid), info).IsOK())
|
||||
blockMap[blkid]->stripes[strpid].resize( info ->GetSize() );
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From fde7669ff9006495034a493386c72d080158f027 Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Wed, 22 Nov 2023 19:29:12 +0100
|
||||
Subject: [PATCH] If extended attributes are not supported xattr->Get() returns
|
||||
-ENOTSUP. When this small negative value is cast to a size_t in the call to
|
||||
new on the following line it becomes a very large integer and the request to
|
||||
allocate this enormous memory block fails with a std::bad_alloc exception.
|
||||
|
||||
This commit adds a check on the returned size and returns an error if
|
||||
it is negative avoiding triggering the std::bad_alloc exception.
|
||||
---
|
||||
src/XrdCl/XrdClLocalFileHandler.cc | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/XrdCl/XrdClLocalFileHandler.cc b/src/XrdCl/XrdClLocalFileHandler.cc
|
||||
index e25d8f2a2..42cce9a30 100644
|
||||
--- a/src/XrdCl/XrdClLocalFileHandler.cc
|
||||
+++ b/src/XrdCl/XrdClLocalFileHandler.cc
|
||||
@@ -664,6 +664,12 @@ namespace XrdCl
|
||||
std::unique_ptr<char[]> buffer;
|
||||
|
||||
int size = xattr->Get( name.c_str(), 0, 0, 0, fd );
|
||||
+ if( size < 0 )
|
||||
+ {
|
||||
+ XRootDStatus status( stError, errLocalError, -size );
|
||||
+ response.push_back( XAttr( *itr, "", status ) );
|
||||
+ continue;
|
||||
+ }
|
||||
buffer.reset( new char[size] );
|
||||
int ret = xattr->Get( name.c_str(), buffer.get(), size, 0, fd );
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
||||
|
|
@ -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 @@
|
||||
-[](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
|
||||
|
||||
80
0001-Posix-open-called-with-wrong-flags-in-test.patch
Normal file
80
0001-Posix-open-called-with-wrong-flags-in-test.patch
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
From 190c09059122542971530169746effff769e583a Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Sat, 28 Oct 2023 15:54:24 +0200
|
||||
Subject: [PATCH 1/3] Posix open() called with wrong flags in test
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
OpenFlags::Flags should not be used for the flags argument in a posix
|
||||
open() call, since they use different values.
|
||||
|
||||
The OpenFlags::Flags values are defined in src/XrdCl/XrdClFileSystem.hh:
|
||||
|
||||
MakePath = kXR_mkpath, //!< Create directory path if it does not
|
||||
//!< already exist
|
||||
New = kXR_new, //!< Open the file only if it does not already
|
||||
Update = kXR_open_updt, //!< Open for reading and writing
|
||||
|
||||
The kXR_* values are defined in src/XProtocol/XProtocol.hh:
|
||||
kXR_new = 0x0008, // 8
|
||||
kXR_mkpath = 0x0100, // 256
|
||||
kXR_open_updt= 0x0020, // 32
|
||||
|
||||
As can be seen these do not correspond to the O_* values used in the
|
||||
posix open() call. What they actually mean depends on the system and
|
||||
varies between architectures.
|
||||
|
||||
On hppa Linux O_CREAT is defind in /usr/include/hppa-linux-gnu/asm/fcntl.h:
|
||||
|
||||
#define O_CREAT 000000400 /* not fcntl */
|
||||
|
||||
Since 0o400 = 0x100 = 256 this by chance matches kXR_mkpath and
|
||||
triggers the error below. On other architectures the wrong flags are
|
||||
just silently accepted.
|
||||
|
||||
In file included from /usr/include/fcntl.h:342,
|
||||
from /<<PKGBUILDDIR>>/tests/XrdClTests/LocalFileHandlerTest.cc:25:
|
||||
In function ‘int open(const char*, int, ...)’,
|
||||
inlined from ‘void LocalFileHandlerTest::WriteMkdirTest()’ at /<<PKGBUILDDIR>>/tests/XrdClTests/LocalFileHandlerTest.cc:210:17:
|
||||
/usr/include/hppa-linux-gnu/bits/fcntl2.h:50:31: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
|
||||
50 | __open_missing_mode ();
|
||||
| ~~~~~~~~~~~~~~~~~~~~^~
|
||||
---
|
||||
tests/XrdClTests/LocalFileHandlerTest.cc | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tests/XrdClTests/LocalFileHandlerTest.cc b/tests/XrdClTests/LocalFileHandlerTest.cc
|
||||
index 0a58ed6ef..f8618c14f 100644
|
||||
--- a/tests/XrdClTests/LocalFileHandlerTest.cc
|
||||
+++ b/tests/XrdClTests/LocalFileHandlerTest.cc
|
||||
@@ -142,7 +142,7 @@ void LocalFileHandlerTest::WriteTest(){
|
||||
//----------------------------------------------------------------------------
|
||||
// Read file with POSIX calls to confirm correct write
|
||||
//----------------------------------------------------------------------------
|
||||
- int fd = open( targetURL.c_str(), flags );
|
||||
+ int fd = open( targetURL.c_str(), O_RDWR );
|
||||
int rc = read( fd, buffer, int( writeSize ) );
|
||||
CPPUNIT_ASSERT_EQUAL( rc, int( writeSize ) );
|
||||
std::string read( (char *)buffer, writeSize );
|
||||
@@ -176,7 +176,7 @@ void LocalFileHandlerTest::WriteWithOffsetTest(){
|
||||
//----------------------------------------------------------------------------
|
||||
// Read file with POSIX calls to confirm correct write
|
||||
//----------------------------------------------------------------------------
|
||||
- int fd = open( targetURL.c_str(), flags );
|
||||
+ int fd = open( targetURL.c_str(), O_RDWR );
|
||||
int rc = read( fd, buffer, offset );
|
||||
CPPUNIT_ASSERT_EQUAL( rc, int( offset ) );
|
||||
std::string read( (char *)buffer, offset );
|
||||
@@ -207,7 +207,7 @@ void LocalFileHandlerTest::WriteMkdirTest(){
|
||||
//----------------------------------------------------------------------------
|
||||
// Read file with POSIX calls to confirm correct write
|
||||
//----------------------------------------------------------------------------
|
||||
- int fd = open( targetURL.c_str(), flags );
|
||||
+ int fd = open( targetURL.c_str(), O_RDWR );
|
||||
int rc = read( fd, buffer, writeSize );
|
||||
CPPUNIT_ASSERT_EQUAL( rc, int( writeSize ) );
|
||||
std::string read( buffer, writeSize );
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
From fe2224d33b0c310e19d497e6e795f779c8e88001 Mon Sep 17 00:00:00 2001
|
||||
From: Guilherme Amadio <amadio@cern.ch>
|
||||
Date: Thu, 30 Nov 2023 10:02:03 +0100
|
||||
Subject: [PATCH] Reapply "[XrdCl] Make sure error message does not include a
|
||||
null-character."
|
||||
|
||||
This reverts commit 5a832596a59d1055f59620d43fbb740955ce6787.
|
||||
Even though commit 9987b4b41990df69ae611a523acb76c69eeccbbb did fix
|
||||
an error message that had a second null termination character, reverting
|
||||
this change was a mistake, as this change is actually still needed to
|
||||
avoid the single terminating null byte in error messages from appearing
|
||||
in the output of the client.
|
||||
|
||||
Closes: #2138
|
||||
---
|
||||
src/XrdCl/XrdClXRootDMsgHandler.cc | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/XrdCl/XrdClXRootDMsgHandler.cc b/src/XrdCl/XrdClXRootDMsgHandler.cc
|
||||
index 1bd60a3e3..81e41d21b 100644
|
||||
--- a/src/XrdCl/XrdClXRootDMsgHandler.cc
|
||||
+++ b/src/XrdCl/XrdClXRootDMsgHandler.cc
|
||||
@@ -1202,7 +1202,9 @@ namespace XrdCl
|
||||
if( pStatus.code == errErrorResponse )
|
||||
{
|
||||
st->errNo = rsp->body.error.errnum;
|
||||
- std::string errmsg( rsp->body.error.errmsg, rsp->hdr.dlen-4 );
|
||||
+ // omit the last character as the string returned from the server
|
||||
+ // (acording to protocol specs) should be null-terminated
|
||||
+ std::string errmsg( rsp->body.error.errmsg, rsp->hdr.dlen-5 );
|
||||
if( st->errNo == kXR_noReplicas && !pLastError.IsOK() )
|
||||
errmsg += " Last seen error: " + pLastError.ToString();
|
||||
st->SetErrorMessage( errmsg );
|
||||
--
|
||||
2.43.0
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
From e00f462610c8d0b1798a79ebbab7bc7561b42d2b Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Tue, 31 Oct 2023 09:45:58 +0100
|
||||
Subject: [PATCH] The installed cmake files are now generated and contain
|
||||
architecture dependent information. Installing them in datadir (/usr/share)
|
||||
now results in conflicts if packages for more than one architecture is
|
||||
installed in parallel. Move the installed cmake files to libdir
|
||||
(/usr/lib(64)?, /usr/lib/<architecture>).
|
||||
|
||||
Found by Debian's MultiArch hinter.
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
packaging/debian/libxrootd-dev.install | 2 +-
|
||||
packaging/rhel/xrootd.spec.in | 2 +-
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 36a7f62b5..438ff5666 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -68,7 +68,7 @@ configure_package_config_file(cmake/${PROJECT_NAME}Config.cmake.in cmake/${PROJE
|
||||
INSTALL_PREFIX
|
||||
${CMAKE_INSTALL_PREFIX}
|
||||
INSTALL_DESTINATION
|
||||
- ${CMAKE_INSTALL_DATADIR}/xrootd/cmake
|
||||
+ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
PATH_VARS
|
||||
CMAKE_INSTALL_INCLUDEDIR
|
||||
CMAKE_INSTALL_LIBDIR
|
||||
@@ -76,7 +76,7 @@ configure_package_config_file(cmake/${PROJECT_NAME}Config.cmake.in cmake/${PROJE
|
||||
)
|
||||
|
||||
install(DIRECTORY ${PROJECT_BINARY_DIR}/cmake/
|
||||
- DESTINATION ${CMAKE_INSTALL_DATADIR}/xrootd/cmake)
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Configure an 'uninstall' target
|
||||
diff --git a/packaging/debian/libxrootd-dev.install b/packaging/debian/libxrootd-dev.install
|
||||
index c92412235..e6ffeaa6b 100644
|
||||
--- a/packaging/debian/libxrootd-dev.install
|
||||
+++ b/packaging/debian/libxrootd-dev.install
|
||||
@@ -13,4 +13,4 @@ usr/lib/*/libXrdCrypto.so
|
||||
usr/lib/*/libXrdCryptoLite.so
|
||||
usr/lib/*/libXrdUtils.so
|
||||
usr/lib/*/libXrdXml.so
|
||||
-usr/share/xrootd/cmake/XRootDConfig.cmake
|
||||
+usr/lib/*/cmake/XRootD
|
||||
diff --git a/packaging/rhel/xrootd.spec.in b/packaging/rhel/xrootd.spec.in
|
||||
index 449de06a3..4a6af8f18 100644
|
||||
--- a/packaging/rhel/xrootd.spec.in
|
||||
+++ b/packaging/rhel/xrootd.spec.in
|
||||
@@ -919,7 +919,7 @@ fi
|
||||
%{_libdir}/libXrdUtils.so
|
||||
%{_libdir}/libXrdXml.so
|
||||
%{_includedir}/xrootd/XrdXml/XrdXmlReader.hh
|
||||
-%{_datadir}/xrootd/cmake
|
||||
+%{_libdir}/cmake/XRootD
|
||||
|
||||
%files client-libs
|
||||
%defattr(-,root,root,-)
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
61
0001-XrdZip-Include-cstdint-for-standard-int-types.patch
Normal file
61
0001-XrdZip-Include-cstdint-for-standard-int-types.patch
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
From d414b2951855d2dbcba952ec9f271d918865e391 Mon Sep 17 00:00:00 2001
|
||||
From: Guilherme Amadio <amadio@cern.ch>
|
||||
Date: Thu, 2 Nov 2023 17:09:28 +0100
|
||||
Subject: [PATCH] [XrdZip] Include <cstdint> for standard int types
|
||||
|
||||
---
|
||||
src/XrdZip/XrdZipDataDescriptor.hh | 2 ++
|
||||
src/XrdZip/XrdZipExtra.hh | 3 +++
|
||||
src/XrdZip/XrdZipUtils.hh | 6 +++---
|
||||
3 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/XrdZip/XrdZipDataDescriptor.hh b/src/XrdZip/XrdZipDataDescriptor.hh
|
||||
index 22e76b5e1..9e48b2446 100644
|
||||
--- a/src/XrdZip/XrdZipDataDescriptor.hh
|
||||
+++ b/src/XrdZip/XrdZipDataDescriptor.hh
|
||||
@@ -25,6 +25,8 @@
|
||||
#ifndef SRC_XRDZIP_XRDZIPDATADESCRIPTOR_HH_
|
||||
#define SRC_XRDZIP_XRDZIPDATADESCRIPTOR_HH_
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace XrdZip
|
||||
{
|
||||
//---------------------------------------------------------------------------
|
||||
diff --git a/src/XrdZip/XrdZipExtra.hh b/src/XrdZip/XrdZipExtra.hh
|
||||
index c415faa7e..041b50ec2 100644
|
||||
--- a/src/XrdZip/XrdZipExtra.hh
|
||||
+++ b/src/XrdZip/XrdZipExtra.hh
|
||||
@@ -27,6 +27,9 @@
|
||||
|
||||
#include "XrdZip/XrdZipUtils.hh"
|
||||
|
||||
+#include <cstdint>
|
||||
+#include <sys/types.h>
|
||||
+
|
||||
namespace XrdZip
|
||||
{
|
||||
//---------------------------------------------------------------------------
|
||||
diff --git a/src/XrdZip/XrdZipUtils.hh b/src/XrdZip/XrdZipUtils.hh
|
||||
index 1d48e543d..619f16daf 100644
|
||||
--- a/src/XrdZip/XrdZipUtils.hh
|
||||
+++ b/src/XrdZip/XrdZipUtils.hh
|
||||
@@ -25,12 +25,12 @@
|
||||
#ifndef SRC_XRDZIP_XRDZIPUTILS_HH_
|
||||
#define SRC_XRDZIP_XRDZIPUTILS_HH_
|
||||
|
||||
+#include <algorithm>
|
||||
+#include <cstdint>
|
||||
#include <cstring>
|
||||
-
|
||||
#include <ctime>
|
||||
-#include <vector>
|
||||
-#include <algorithm>
|
||||
#include <iterator>
|
||||
+#include <vector>
|
||||
|
||||
namespace XrdZip
|
||||
{
|
||||
--
|
||||
2.43.0
|
||||
|
||||
102
0001-XrdZip-Support-Big-Endian.patch
Normal file
102
0001-XrdZip-Support-Big-Endian.patch
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
From 8764acdd57aa98a1fa48706ddb1bc857ae021299 Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Mon, 4 Dec 2023 19:07:19 +0100
|
||||
Subject: [PATCH] [XrdZip] Support Big Endian
|
||||
|
||||
---
|
||||
src/XrdZip/XrdZipLFH.hh | 3 ++-
|
||||
src/XrdZip/XrdZipUtils.hh | 35 ++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 36 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/XrdZip/XrdZipLFH.hh b/src/XrdZip/XrdZipLFH.hh
|
||||
index 972f373a4..aac99848e 100644
|
||||
--- a/src/XrdZip/XrdZipLFH.hh
|
||||
+++ b/src/XrdZip/XrdZipLFH.hh
|
||||
@@ -80,7 +80,8 @@ namespace XrdZip
|
||||
from_buffer( minZipVersion, buffer );
|
||||
from_buffer( generalBitFlag, buffer );
|
||||
from_buffer( compressionMethod, buffer );
|
||||
- from_buffer( timestmp, buffer );
|
||||
+ from_buffer( timestmp.time, buffer );
|
||||
+ from_buffer( timestmp.date, buffer );
|
||||
from_buffer( ZCRC32, buffer );
|
||||
from_buffer( compressedSize, buffer );
|
||||
from_buffer( uncompressedSize, buffer );
|
||||
diff --git a/src/XrdZip/XrdZipUtils.hh b/src/XrdZip/XrdZipUtils.hh
|
||||
index 619f16daf..892771875 100644
|
||||
--- a/src/XrdZip/XrdZipUtils.hh
|
||||
+++ b/src/XrdZip/XrdZipUtils.hh
|
||||
@@ -27,13 +27,36 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstdint>
|
||||
+#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
||||
#include <iterator>
|
||||
#include <vector>
|
||||
|
||||
+#if defined(__APPLE__)
|
||||
+#include <libkern/OSByteOrder.h>
|
||||
+#else
|
||||
+#include <byteswap.h>
|
||||
+#endif
|
||||
+
|
||||
+#if defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || \
|
||||
+ defined(__IEEE_BIG_ENDIAN) || \
|
||||
+ (defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN)
|
||||
+#define XrdZip_Big_Endian
|
||||
+#endif
|
||||
+
|
||||
namespace XrdZip
|
||||
{
|
||||
+#if defined(__APPLE__)
|
||||
+ inline static uint16_t BSwap(uint16_t x) { return OSSwapInt16(x); }
|
||||
+ inline static uint32_t BSwap(uint32_t x) { return OSSwapInt32(x); }
|
||||
+ inline static uint64_t BSwap(uint64_t x) { return OSSwapInt64(x); }
|
||||
+#else
|
||||
+ inline static uint16_t BSwap(uint16_t x) { return bswap_16(x); }
|
||||
+ inline static uint32_t BSwap(uint32_t x) { return bswap_32(x); }
|
||||
+ inline static uint64_t BSwap(uint64_t x) { return bswap_64(x); }
|
||||
+#endif
|
||||
+
|
||||
//---------------------------------------------------------------------------
|
||||
// Exception indicating corrupted data
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -61,7 +84,11 @@ namespace XrdZip
|
||||
{
|
||||
const char *begin = reinterpret_cast<const char*>( &value );
|
||||
const char *end = begin + sizeof( INT );
|
||||
+#ifdef XrdZip_Big_Endian
|
||||
+ std::reverse_copy( begin, end, std::back_inserter( buffer ) );
|
||||
+#else
|
||||
std::copy( begin, end, std::back_inserter( buffer ) );
|
||||
+#endif
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -72,6 +99,9 @@ namespace XrdZip
|
||||
inline static void from_buffer( INT &var, const char *&buffer )
|
||||
{
|
||||
memcpy( &var, buffer, sizeof( INT ) );
|
||||
+#ifdef XrdZip_Big_Endian
|
||||
+ var = BSwap(var);
|
||||
+#endif
|
||||
buffer += sizeof( INT );
|
||||
}
|
||||
|
||||
@@ -82,7 +112,10 @@ namespace XrdZip
|
||||
inline static INT to( const char *buffer )
|
||||
{
|
||||
INT value;
|
||||
- memcpy( &value, buffer, sizeof( INT) );
|
||||
+ memcpy( &value, buffer, sizeof( INT ) );
|
||||
+#ifdef XrdZip_Big_Endian
|
||||
+ value = BSwap(value);
|
||||
+#endif
|
||||
return value;
|
||||
}
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
||||
28
0002-CMake-Fix-include-path-in-XRootDConfig.cmake.patch
Normal file
28
0002-CMake-Fix-include-path-in-XRootDConfig.cmake.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
From ccedaabc377e668280eec8bb22f0dbb76550beec Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Hahnfeld <jonas.hahnfeld@cern.ch>
|
||||
Date: Mon, 4 Dec 2023 11:52:44 +0100
|
||||
Subject: [PATCH 2/2] [CMake] Fix include path in XRootDConfig.cmake
|
||||
|
||||
Headers are installed into the subdirectory xrootd/. This was broken
|
||||
with commit c6e0e598ce ("[CMake] Find only XRootD matching
|
||||
XRootDConfig.cmake installation path") released with version 5.6.3.
|
||||
---
|
||||
cmake/XRootDConfig.cmake.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cmake/XRootDConfig.cmake.in b/cmake/XRootDConfig.cmake.in
|
||||
index 0f95a8f54..0a4ce3fe5 100644
|
||||
--- a/cmake/XRootDConfig.cmake.in
|
||||
+++ b/cmake/XRootDConfig.cmake.in
|
||||
@@ -50,7 +50,7 @@ SET( XROOTD_SSI_FOUND FALSE )
|
||||
|
||||
set_and_check(XRootD_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}")
|
||||
set_and_check(XRootD_DATA_DIR "@PACKAGE_CMAKE_INSTALL_DATADIR@")
|
||||
-set_and_check(XRootD_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||
+set_and_check(XRootD_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/xrootd")
|
||||
set_and_check(XRootD_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
||||
|
||||
set(XRootD_INCLUDE_DIRS "${XRootD_INCLUDE_DIR};${XRootD_INCLUDE_DIR}/private")
|
||||
--
|
||||
2.43.0
|
||||
|
||||
64
0002-PATH_MAX-MAXPATHLEN-might-be-undefined.patch
Normal file
64
0002-PATH_MAX-MAXPATHLEN-might-be-undefined.patch
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
From 08e2bede433a2f513aba0b28686a31cb0b769079 Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Sat, 28 Oct 2023 17:55:58 +0200
|
||||
Subject: [PATCH 2/3] PATH_MAX / MAXPATHLEN might be undefined
|
||||
|
||||
XrdSys/XrdSysPlatform.hh defines MAXPATHLEN if needed.
|
||||
|
||||
/<<PKGBUILDDIR>>/tests/XrdCl/XrdClURL.cc: In member function 'virtual void URLTest_LocalURLs_Test::TestBody()':
|
||||
/<<PKGBUILDDIR>>/tests/XrdCl/XrdClURL.cc:17:12: error: 'PATH_MAX' was not declared in this scope
|
||||
17 | char url[PATH_MAX];
|
||||
| ^~~~~~~~
|
||||
/<<PKGBUILDDIR>>/tests/XrdCl/XrdClURL.cc:21:18: error: 'url' was not declared in this scope
|
||||
21 | snprintf(url, sizeof(url), "%s%s%s", protocol, path, params);
|
||||
| ^~~
|
||||
/<<PKGBUILDDIR>>/tests/XrdCl/XrdClURL.cc: In member function 'virtual void URLTest_RemoteURLs_Test::TestBody()':
|
||||
/<<PKGBUILDDIR>>/tests/XrdCl/XrdClURL.cc:47:12: error: 'PATH_MAX' was not declared in this scope
|
||||
47 | char url[PATH_MAX];
|
||||
| ^~~~~~~~
|
||||
/<<PKGBUILDDIR>>/tests/XrdCl/XrdClURL.cc:57:26: error: 'url' was not declared in this scope
|
||||
57 | snprintf(url, sizeof(url), "%s%s%s%s%s%s%s%s%s%s%s%s",
|
||||
| ^~~
|
||||
/<<PKGBUILDDIR>>/tests/XrdCl/XrdClURL.cc:63:26: error: 'path_params' was not declared in this scope
|
||||
63 | snprintf(path_params, sizeof(path_params), "%s%s", *path == '/' ? path+1 : path, params);
|
||||
| ^~~~~~~~~~~
|
||||
---
|
||||
tests/XrdCl/XrdClURL.cc | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tests/XrdCl/XrdClURL.cc b/tests/XrdCl/XrdClURL.cc
|
||||
index 24e7fdc2a..046f41a8c 100644
|
||||
--- a/tests/XrdCl/XrdClURL.cc
|
||||
+++ b/tests/XrdCl/XrdClURL.cc
|
||||
@@ -1,6 +1,8 @@
|
||||
#undef NDEBUG
|
||||
|
||||
#include <XrdCl/XrdClURL.hh>
|
||||
+#include "XrdSys/XrdSysPlatform.hh"
|
||||
+
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <climits>
|
||||
@@ -14,7 +16,7 @@ class URLTest : public ::testing::Test {};
|
||||
|
||||
TEST(URLTest, LocalURLs)
|
||||
{
|
||||
- char url[PATH_MAX];
|
||||
+ char url[MAXPATHLEN];
|
||||
for (const auto& protocol : { "", "file://" }) {
|
||||
for (const auto& path : { "/dev", "/dev/", "/dev/null" }) {
|
||||
for (const auto& params : { "", "?param=value", "?param1=value1¶m2=value2" }) {
|
||||
@@ -44,8 +46,8 @@ TEST(URLTest, LocalURLs)
|
||||
|
||||
TEST(URLTest, RemoteURLs)
|
||||
{
|
||||
- char url[PATH_MAX];
|
||||
- char path_params[PATH_MAX];
|
||||
+ char url[MAXPATHLEN];
|
||||
+ char path_params[MAXPATHLEN];
|
||||
for (const char *protocol : { "", "http", "root", "https", "roots" }) {
|
||||
int default_port = *protocol == 'h' ? (strlen(protocol) == 4 ? 80 : 443) : 1094;
|
||||
for (const char *user : { "", "alice", "bob", "user_123", "xrootd" }) {
|
||||
--
|
||||
2.41.0
|
||||
|
||||
63
0003-Don-t-try-to-enable-TCP_CORK-in-GNU-Hurd.patch
Normal file
63
0003-Don-t-try-to-enable-TCP_CORK-in-GNU-Hurd.patch
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
From 6a381c776976c21161fa279c75b6fa2c0ce4774f Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||
Date: Tue, 31 Oct 2023 18:17:23 +0100
|
||||
Subject: [PATCH 3/3] Don't try to enable TCP_CORK in GNU/Hurd
|
||||
|
||||
The "man tcp" says about TCP_CORK: "This option should not be used in
|
||||
code intended to be portable". So, it should not be expected to be
|
||||
working everywhere.
|
||||
|
||||
The failure below is from Debian GNU/Hurd:
|
||||
|
||||
test 22
|
||||
Start 22: XRootD::smoke-test
|
||||
|
||||
22: Test command: /usr/bin/sh "-c" "/<<PKGBUILDDIR>>/tests/XRootD/smoke.sh"
|
||||
22: Working Directory: /<<PKGBUILDDIR>>/obj-i686-gnu/tests/XRootD
|
||||
22: Environment variables:
|
||||
22: XRDCP=/<<PKGBUILDDIR>>/obj-i686-gnu/src/XrdCl/xrdcp
|
||||
22: XRDFS=/<<PKGBUILDDIR>>/obj-i686-gnu/src/XrdCl/xrdfs
|
||||
22: CRC32C=/<<PKGBUILDDIR>>/obj-i686-gnu/src/xrdcrc32c
|
||||
22: ADLER32=/<<PKGBUILDDIR>>/obj-i686-gnu/src/xrdadler32
|
||||
22: HOST=root://localhost:10940
|
||||
22: Test timeout computed to be: 10000000
|
||||
22: Using /usr/bin/openssl: OpenSSL 3.0.12 24 Oct 2023 (Library: OpenSSL 3.0.12 24 Oct 2023)
|
||||
22: v5.6.3
|
||||
22: Using /<<PKGBUILDDIR>>/obj-i686-gnu/src/XrdCl/xrdcp:
|
||||
22: [FATAL] Socket opt error: no message of desired type
|
||||
21/22 Test #22: XRootD::smoke-test ........................................................***Failed 0.13 sec
|
||||
Using /usr/bin/openssl: OpenSSL 3.0.12 24 Oct 2023 (Library: OpenSSL 3.0.12 24 Oct 2023)
|
||||
v5.6.3
|
||||
Using /<<PKGBUILDDIR>>/obj-i686-gnu/src/XrdCl/xrdcp:
|
||||
[FATAL] Socket opt error: no message of desired type
|
||||
---
|
||||
src/XrdCl/XrdClSocket.cc | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/XrdCl/XrdClSocket.cc b/src/XrdCl/XrdClSocket.cc
|
||||
index a94eb4b48..a2cb47c12 100644
|
||||
--- a/src/XrdCl/XrdClSocket.cc
|
||||
+++ b/src/XrdCl/XrdClSocket.cc
|
||||
@@ -781,7 +781,8 @@ namespace XrdCl
|
||||
//------------------------------------------------------------------------
|
||||
XRootDStatus Socket::Cork()
|
||||
{
|
||||
-#if defined(TCP_CORK) // it's not defined on mac, we might want explore the possibility of using TCP_NOPUSH
|
||||
+#if defined(TCP_CORK) && !defined(__GNU__)
|
||||
+ // it's not defined on mac, we might want explore the possibility of using TCP_NOPUSH
|
||||
if( pCorked ) return XRootDStatus();
|
||||
|
||||
int state = 1;
|
||||
@@ -798,7 +799,8 @@ namespace XrdCl
|
||||
//------------------------------------------------------------------------
|
||||
XRootDStatus Socket::Uncork()
|
||||
{
|
||||
-#if defined(TCP_CORK) // it's not defined on mac, we might want explore the possibility of using TCP_NOPUSH
|
||||
+#if defined(TCP_CORK) && !defined(__GNU__)
|
||||
+ // it's not defined on mac, we might want explore the possibility of using TCP_NOPUSH
|
||||
if( !pCorked ) return XRootDStatus();
|
||||
|
||||
int state = 0;
|
||||
--
|
||||
2.41.0
|
||||
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (xrootd-6.1.1.tar.gz) = ac1286cc54c60611bf17b6140b8cd7ef17a8318a4082cae38e5da040199ce4405490e583b376074c3ed29cf2d87c9bbda5da15c6a3091c83c7877abdc3343ebf
|
||||
SHA512 (xrootd-5.6.3.tar.gz) = 72a875064181225deef57eae89c651696a083896d7bd26099c7dd321097c2b90acef42dc1c4ef55334f0ff9b6d33bf0a82e3c9d92511b69b955fbdadeff4b625
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
# Name ID GECOS Home directory Shell
|
||||
u xrootd 194 "XRootD runtime user" /var/spool/xrootd -
|
||||
571
xrootd.spec
571
xrootd.spec
|
|
@ -8,25 +8,66 @@
|
|||
%global ceph 0
|
||||
%endif
|
||||
|
||||
%undefine __cmake_in_source_build
|
||||
%undefine __cmake3_in_source_build
|
||||
|
||||
Name: xrootd
|
||||
Epoch: 1
|
||||
Version: 6.1.1
|
||||
Release: 1%{?dist}
|
||||
Version: 5.6.3
|
||||
Release: 3%{?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
|
||||
|
||||
# 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
|
||||
# Fixes for test issues
|
||||
# https://github.com/xrootd/xrootd/pull/2115
|
||||
Patch0: 0001-Posix-open-called-with-wrong-flags-in-test.patch
|
||||
Patch1: 0002-PATH_MAX-MAXPATHLEN-might-be-undefined.patch
|
||||
Patch2: 0003-Don-t-try-to-enable-TCP_CORK-in-GNU-Hurd.patch
|
||||
|
||||
# Installed CMake files are architecture dependent
|
||||
# https://github.com/xrootd/xrootd/pull/2116
|
||||
Patch3: 0001-The-installed-cmake-files-are-now-generated-and-cont.patch
|
||||
|
||||
# Fix maybe-uninitialized warning
|
||||
# https://github.com/xrootd/xrootd/pull/2124
|
||||
Patch4: 0001-Fix-maybe-uninitialized-warning.patch
|
||||
|
||||
# Avoid /tmp when running some tests
|
||||
# https://github.com/xrootd/xrootd/pull/2129
|
||||
Patch5: 0001-Avoid-tmp-when-running-some-tests.patch
|
||||
|
||||
# Fail gracefully in case of unsupported extended file attributes
|
||||
# https://github.com/xrootd/xrootd/pull/2130
|
||||
Patch6: 0001-If-extended-attributes-are-not-supported-xattr-Get-r.patch
|
||||
|
||||
# Avoid null bytes in error message strings
|
||||
# https://github.com/xrootd/xrootd/pull/2138
|
||||
Patch7: 0001-Reapply-XrdCl-Make-sure-error-message-does-not-inclu.patch
|
||||
|
||||
# Fix include path in XRootDConfig.cmake
|
||||
# https://github.com/root-project/root/issues/12631
|
||||
# https://github.com/xrootd/xrootd/pull/2142
|
||||
Patch8: 0001-CMake-Trace-actual-variables.patch
|
||||
Patch9: 0002-CMake-Fix-include-path-in-XRootDConfig.cmake.patch
|
||||
|
||||
# Avoid dereferencing unaligned pointers
|
||||
# https://github.com/xrootd/xrootd/pull/2144
|
||||
Patch10: 0001-Avoid-bus-errors.patch
|
||||
|
||||
# Support big endian in XrdZip
|
||||
# https://github.com/xrootd/xrootd/pull/2145
|
||||
Patch11: 0001-XrdZip-Include-cstdint-for-standard-int-types.patch
|
||||
Patch12: 0001-XrdZip-Support-Big-Endian.patch
|
||||
|
||||
%if %{?rhel}%{!?rhel:0} == 7
|
||||
BuildRequires: cmake3
|
||||
BuildRequires: devtoolset-7-toolchain
|
||||
%else
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: make
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: fuse-devel
|
||||
|
|
@ -34,30 +75,41 @@ 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: scitokens-cpp-devel
|
||||
BuildRequires: libxcrypt-devel
|
||||
BuildRequires: davix-devel
|
||||
%if %{ceph}
|
||||
BuildRequires: librados-devel
|
||||
BuildRequires: libradosstriper-devel
|
||||
|
|
@ -65,21 +117,10 @@ BuildRequires: libradosstriper-devel
|
|||
%ifnarch %{ix86}
|
||||
BuildRequires: isa-l-devel
|
||||
%endif
|
||||
# For documentation
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: python3-sphinx
|
||||
# For tests
|
||||
BuildRequires: attr
|
||||
BuildRequires: curl
|
||||
BuildRequires: cppunit-devel
|
||||
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 +145,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 +182,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 +276,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,50 +337,67 @@ 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
|
||||
%patch -P 0 -p1
|
||||
%patch -P 1 -p1
|
||||
%patch -P 2 -p1
|
||||
%patch -P 3 -p1
|
||||
%patch -P 4 -p1
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6 -p1
|
||||
%patch -P 7 -p1
|
||||
%patch -P 8 -p1
|
||||
%patch -P 9 -p1
|
||||
%patch -P 10 -p1
|
||||
%patch -P 11 -p1
|
||||
%patch -P 12 -p1
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
%if %{?rhel}%{!?rhel:0} == 7
|
||||
. /opt/rh/devtoolset-7/enable
|
||||
%endif
|
||||
|
||||
%cmake3 \
|
||||
-DFORCE_ENABLED:BOOL=ON \
|
||||
-DENABLE_TESTS:BOOL=ON \
|
||||
%if %{ceph}
|
||||
-DENABLE_CEPH:BOOL=ON \
|
||||
-DXRDCEPH_SUBMODULE:BOOL=ON \
|
||||
%endif
|
||||
%ifnarch %{ix86}
|
||||
-DENABLE_XRDEC:BOOL=ON \
|
||||
-DUSE_SYSTEM_ISAL: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
|
||||
%if %{?rhel}%{!?rhel:0} == 7
|
||||
-DXRD_PYTHON_REQ_VERSION=%{python2_version}
|
||||
%else
|
||||
-DXRD_PYTHON_REQ_VERSION=%{python3_version}
|
||||
%cmake_build
|
||||
%endif
|
||||
%cmake3_build
|
||||
|
||||
make -C config -f /usr/share/selinux/devel/Makefile
|
||||
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}/test-runner
|
||||
rm -f %{buildroot}%{_bindir}/xrdshmap
|
||||
rm -f %{buildroot}%{_libdir}/libXrdCephTests.so
|
||||
rm -f %{buildroot}%{_libdir}/libXrdClTestMonitor-5.so
|
||||
rm -f %{buildroot}%{_libdir}/libXrdClTests.so
|
||||
rm -f %{buildroot}%{_libdir}/libXrdClTestsHelper.so
|
||||
rm -f %{buildroot}%{_libdir}/libXrdEcTests.so
|
||||
|
||||
rm -f %{buildroot}%{python3_sitearch}/xrootd-*.*-info/direct_url.json
|
||||
rm -f %{buildroot}%{python3_sitearch}/xrootd-*.*-info/RECORD
|
||||
|
|
@ -317,48 +405,62 @@ rm -f %{buildroot}%{python3_sitearch}/xrootd-*.*-info/RECORD
|
|||
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 +475,35 @@ 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
|
||||
%ctest3
|
||||
|
||||
# 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 libs
|
||||
|
||||
sed "s!all.adminpath .*!all.adminpath ${adminpath}/XRootD!" \
|
||||
-i tests/XRootD/common.cfg
|
||||
%ldconfig_scriptlets client-libs
|
||||
|
||||
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 +521,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 +570,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
|
||||
|
|
@ -511,18 +589,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
|
||||
|
|
@ -543,7 +621,6 @@ fi
|
|||
%{_libdir}/libXrdUtils.so
|
||||
%{_libdir}/libXrdXml.so
|
||||
%{_libdir}/cmake/XRootD
|
||||
%{_mandir}/man1/xrootd-config.1*
|
||||
|
||||
%files client-libs
|
||||
%{_libdir}/libXrdCl.so.*
|
||||
|
|
@ -558,20 +635,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 +654,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
|
||||
|
|
@ -649,184 +717,51 @@ 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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue