Drop patches accepted upstream root-FitData-assert-fix.patch root-clang-altivec-vector.patch root-format-fix.patch root-moved-file.patch root-xmlmodify-dep.patch New and improved Python bindings The new Python bindings can be built for both Python 2 and Python 3 out of the box. Dropped the workaround in specfile for this (EPEL 7) Dropped the python3-other packages (EPEL 7) The new Python bindings has split the TPython interface to a separate library. Now in a separate root-tpython package root-tpython and root-tmva-python are now using Python 3 on EPEL 7 New subpackage root-gui-browsable New patches (submitted upstream) Fix too aggressive -Werror replacements Add missing call to TFile::SetCacheFileDir in a TMVA tutorial Adjust stressGraphics.ref Fix off-by-one error in histogram v7 bin iterator Compatibility with python 2.7 versions before 2.7.9 Fix the RNTuple.LargeFile test on 32bit (i386 and armv7hf) Fix doxygen issues Fix bad regex in TProofMgr Compatibility with xrootd 5
139 lines
4.5 KiB
Diff
139 lines
4.5 KiB
Diff
diff -ur root-6.22.00.orig/io/io/src/RRawFileUnix.cxx root-6.22.00/io/io/src/RRawFileUnix.cxx
|
|
--- root-6.22.00.orig/io/io/src/RRawFileUnix.cxx 2020-06-14 17:51:48.000000000 +0200
|
|
+++ root-6.22.00/io/io/src/RRawFileUnix.cxx 2020-07-02 09:02:48.202677798 +0200
|
|
@@ -9,6 +9,8 @@
|
|
* For the list of contributors see $ROOTSYS/README/CREDITS. *
|
|
*************************************************************************/
|
|
|
|
+#include "ROOT/RConfig.hxx"
|
|
+
|
|
#include "ROOT/RRawFileUnix.hxx"
|
|
#include "ROOT/RMakeUnique.hxx"
|
|
|
|
@@ -47,8 +49,13 @@
|
|
|
|
std::uint64_t ROOT::Internal::RRawFileUnix::GetSizeImpl()
|
|
{
|
|
+#ifdef R__SEEK64
|
|
+ struct stat64 info;
|
|
+ int res = fstat64(fFileDes, &info);
|
|
+#else
|
|
struct stat info;
|
|
int res = fstat(fFileDes, &info);
|
|
+#endif
|
|
if (res != 0)
|
|
throw std::runtime_error("Cannot call fstat on '" + fUrl + "', error: " + std::string(strerror(errno)));
|
|
return info.st_size;
|
|
@@ -68,7 +75,11 @@
|
|
|
|
void ROOT::Internal::RRawFileUnix::OpenImpl()
|
|
{
|
|
+#ifdef R__SEEK64
|
|
+ fFileDes = open64(GetLocation(fUrl).c_str(), O_RDONLY);
|
|
+#else
|
|
fFileDes = open(GetLocation(fUrl).c_str(), O_RDONLY);
|
|
+#endif
|
|
if (fFileDes < 0) {
|
|
throw std::runtime_error("Cannot open '" + fUrl + "', error: " + std::string(strerror(errno)));
|
|
}
|
|
@@ -76,8 +87,13 @@
|
|
if (fOptions.fBlockSize >= 0)
|
|
return;
|
|
|
|
+#ifdef R__SEEK64
|
|
+ struct stat64 info;
|
|
+ int res = fstat64(fFileDes, &info);
|
|
+#else
|
|
struct stat info;
|
|
int res = fstat(fFileDes, &info);
|
|
+#endif
|
|
if (res != 0) {
|
|
throw std::runtime_error("Cannot call fstat on '" + fUrl + "', error: " + std::string(strerror(errno)));
|
|
}
|
|
@@ -92,7 +108,11 @@
|
|
{
|
|
size_t total_bytes = 0;
|
|
while (nbytes) {
|
|
+#ifdef R__SEEK64
|
|
+ ssize_t res = pread64(fFileDes, buffer, nbytes, offset);
|
|
+#else
|
|
ssize_t res = pread(fFileDes, buffer, nbytes, offset);
|
|
+#endif
|
|
if (res < 0) {
|
|
if (errno == EINTR)
|
|
continue;
|
|
diff -ur root-6.22.00.orig/tree/ntuple/v7/src/RMiniFile.cxx root-6.22.00/tree/ntuple/v7/src/RMiniFile.cxx
|
|
--- root-6.22.00.orig/tree/ntuple/v7/src/RMiniFile.cxx 2020-06-14 17:51:48.000000000 +0200
|
|
+++ root-6.22.00/tree/ntuple/v7/src/RMiniFile.cxx 2020-07-02 10:06:55.066204147 +0200
|
|
@@ -13,6 +13,8 @@
|
|
* For the list of contributors see $ROOTSYS/README/CREDITS. *
|
|
*************************************************************************/
|
|
|
|
+#include <ROOT/RConfig.hxx>
|
|
+
|
|
#include "ROOT/RMiniFile.hxx"
|
|
|
|
#include <ROOT/RRawFile.hxx>
|
|
@@ -999,7 +1001,11 @@
|
|
R__ASSERT(fFile);
|
|
size_t retval;
|
|
if ((offset >= 0) && (static_cast<std::uint64_t>(offset) != fFilePos)) {
|
|
+#ifdef R__SEEK64
|
|
+ retval = fseeko64(fFile, offset, SEEK_SET);
|
|
+#else
|
|
retval = fseek(fFile, offset, SEEK_SET);
|
|
+#endif
|
|
R__ASSERT(retval == 0);
|
|
fFilePos = offset;
|
|
}
|
|
@@ -1099,7 +1105,11 @@
|
|
if (idxDirSep != std::string::npos) {
|
|
fileName.erase(0, idxDirSep + 1);
|
|
}
|
|
+#ifdef R__SEEK64
|
|
+ FILE *fileStream = fopen64(std::string(path.data(), path.size()).c_str(), "wb");
|
|
+#else
|
|
FILE *fileStream = fopen(std::string(path.data(), path.size()).c_str(), "wb");
|
|
+#endif
|
|
R__ASSERT(fileStream);
|
|
|
|
auto writer = new RNTupleFileWriter(ntupleName);
|
|
@@ -1319,7 +1329,11 @@
|
|
fFileSimple.Write(&strEmpty, strEmpty.GetSize());
|
|
fFileSimple.Write(&fileRoot, fileRoot.GetSize());
|
|
fFileSimple.fFilePos = tail;
|
|
+#ifdef R__SEEK64
|
|
+ auto retval = fseeko64(fFileSimple.fFile, tail, SEEK_SET);
|
|
+#else
|
|
auto retval = fseek(fFileSimple.fFile, tail, SEEK_SET);
|
|
+#endif
|
|
R__ASSERT(retval == 0);
|
|
fFileSimple.fFilePos = tail;
|
|
}
|
|
diff -ur root-6.22.00.orig/tree/ntuple/v7/test/ntuple.cxx root-6.22.00/tree/ntuple/v7/test/ntuple.cxx
|
|
--- root-6.22.00.orig/tree/ntuple/v7/test/ntuple.cxx 2020-06-14 17:51:48.000000000 +0200
|
|
+++ root-6.22.00/tree/ntuple/v7/test/ntuple.cxx 2020-07-02 10:10:54.409737807 +0200
|
|
@@ -1,3 +1,5 @@
|
|
+#include <ROOT/RConfig.hxx>
|
|
+
|
|
#include <ROOT/RColumnModel.hxx>
|
|
#include <ROOT/RDataFrame.hxx>
|
|
#include <ROOT/RNTuple.hxx>
|
|
@@ -891,10 +893,17 @@
|
|
ntuple->Fill();
|
|
}
|
|
}
|
|
+#ifdef R__SEEK64
|
|
+ FILE *file = fopen64(fileGuard.GetPath().c_str(), "rb");
|
|
+ ASSERT_TRUE(file != nullptr);
|
|
+ EXPECT_EQ(0, fseeko64(file, 0, SEEK_END));
|
|
+ EXPECT_GT(ftello64(file), 2048LL * 1024LL * 1024LL);
|
|
+#else
|
|
FILE *file = fopen(fileGuard.GetPath().c_str(), "rb");
|
|
ASSERT_TRUE(file != nullptr);
|
|
EXPECT_EQ(0, fseek(file, 0, SEEK_END));
|
|
EXPECT_GT(ftell(file), 2048LL * 1024LL * 1024LL);
|
|
+#endif
|
|
fclose(file);
|
|
|
|
auto ntuple = RNTupleReader::Open("myNTuple", fileGuard.GetPath());
|