Update to 5.34.06
- Drop patches root-gviz.patch, root-ruby-version.patch, root-rev48681.patch and root-rev48831.patch
This commit is contained in:
parent
d7c587d5ba
commit
9820501d6a
7 changed files with 15 additions and 1021 deletions
|
|
@ -1,9 +1,9 @@
|
|||
diff -ur root-5.34.05.orig/io/gfal/Module.mk root-5.34.05/io/gfal/Module.mk
|
||||
--- root-5.34.05.orig/io/gfal/Module.mk 2013-02-14 23:27:54.000000000 +0100
|
||||
+++ root-5.34.05/io/gfal/Module.mk 2013-02-26 20:58:00.150088502 +0100
|
||||
@@ -71,3 +71,5 @@
|
||||
@@ -71,4 +71,5 @@
|
||||
$(GFALO) $(GFALDO): CXXFLAGS := $(filter-out -Wshadow,$(CXXFLAGS))
|
||||
$(GFALO): CXXFLAGS += $(GFALINCDIR:%=-I%)
|
||||
$(GFALO): CXXFLAGS += $(SRMIFCEINCDIR:%=-I%)
|
||||
+$(GFALO): CXXFLAGS += $(shell pkg-config --cflags glib-2.0)
|
||||
+$(GFALO): CXXFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
$(GFALO): CXXFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
|
|
|
|||
116
root-gviz.patch
116
root-gviz.patch
|
|
@ -1,116 +0,0 @@
|
|||
diff -ur root-5.34.05.orig/configure root-5.34.05/configure
|
||||
--- root-5.34.05.orig/configure 2013-02-14 23:27:56.000000000 +0100
|
||||
+++ root-5.34.05/configure 2013-03-07 19:40:36.108220359 +0100
|
||||
@@ -3639,7 +3639,7 @@
|
||||
gvizlib1=$found_lib
|
||||
gvizlib1raw=$found_raw_lib
|
||||
gvizlibir=$found_dir
|
||||
- check_library "libgraph graph" "no" "$gvizlibdir" \
|
||||
+ check_library "libgraph graph libcgraph cgraph" "no" "$gvizlibdir" \
|
||||
$GVIZ ${GVIZ:+$GVIZ/lib/graphviz} ${GVIZ:+$GVIZ/lib} ${GVIZ:+$GVIZ/.libs} \
|
||||
${finkdir:+$finkdir/lib} \
|
||||
/usr/local/lib /usr/lib
|
||||
diff -ur root-5.34.05.orig/graf2d/gviz/inc/TGraphEdge.h root-5.34.05/graf2d/gviz/inc/TGraphEdge.h
|
||||
--- root-5.34.05.orig/graf2d/gviz/inc/TGraphEdge.h 2013-02-14 23:27:53.000000000 +0100
|
||||
+++ root-5.34.05/graf2d/gviz/inc/TGraphEdge.h 2013-03-07 19:35:10.936220359 +0100
|
||||
@@ -20,8 +20,13 @@
|
||||
#include "TAttLine.h"
|
||||
#endif
|
||||
|
||||
+#if !defined(__CINT__)
|
||||
+#include <types.h>
|
||||
+#else
|
||||
struct Agraph_t;
|
||||
struct Agedge_t;
|
||||
+#endif
|
||||
+
|
||||
class TGraphNode;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
diff -ur root-5.34.05.orig/graf2d/gviz/inc/TGraphNode.h root-5.34.05/graf2d/gviz/inc/TGraphNode.h
|
||||
--- root-5.34.05.orig/graf2d/gviz/inc/TGraphNode.h 2013-02-14 23:27:53.000000000 +0100
|
||||
+++ root-5.34.05/graf2d/gviz/inc/TGraphNode.h 2013-03-07 19:35:10.946220359 +0100
|
||||
@@ -28,9 +28,12 @@
|
||||
#include "TAttLine.h"
|
||||
#endif
|
||||
|
||||
+#if !defined(__CINT__)
|
||||
+#include <types.h>
|
||||
+#else
|
||||
struct Agraph_t;
|
||||
struct Agnode_t;
|
||||
-
|
||||
+#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
diff -ur root-5.34.05.orig/graf2d/gviz/inc/TGraphStruct.h root-5.34.05/graf2d/gviz/inc/TGraphStruct.h
|
||||
--- root-5.34.05.orig/graf2d/gviz/inc/TGraphStruct.h 2013-02-14 23:27:53.000000000 +0100
|
||||
+++ root-5.34.05/graf2d/gviz/inc/TGraphStruct.h 2013-03-07 19:35:10.954220359 +0100
|
||||
@@ -25,7 +25,12 @@
|
||||
#include "TList.h"
|
||||
#endif
|
||||
|
||||
+#if !defined(__CINT__)
|
||||
+#include <types.h>
|
||||
+#else
|
||||
struct Agraph_t;
|
||||
+#endif
|
||||
+
|
||||
struct GVC_s;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
diff -ur root-5.34.05.orig/graf2d/gviz/Module.mk root-5.34.05/graf2d/gviz/Module.mk
|
||||
--- root-5.34.05.orig/graf2d/gviz/Module.mk 2013-02-14 23:27:53.000000000 +0100
|
||||
+++ root-5.34.05/graf2d/gviz/Module.mk 2013-03-07 19:35:10.921220359 +0100
|
||||
@@ -68,4 +68,4 @@
|
||||
distclean:: distclean-$(MODNAME)
|
||||
|
||||
##### extra rules ######
|
||||
-$(GVIZO): CXXFLAGS += $(GRAPHVIZINCDIR:%=-I%) $(GRAPHVIZCFLAGS)
|
||||
+$(GVIZO) $(GVIZDO): CXXFLAGS += $(GRAPHVIZINCDIR:%=-I%) $(GRAPHVIZCFLAGS)
|
||||
diff -ur root-5.34.05.orig/graf2d/gviz/src/TGraphEdge.cxx root-5.34.05/graf2d/gviz/src/TGraphEdge.cxx
|
||||
--- root-5.34.05.orig/graf2d/gviz/src/TGraphEdge.cxx 2013-02-14 23:27:53.000000000 +0100
|
||||
+++ root-5.34.05/graf2d/gviz/src/TGraphEdge.cxx 2013-03-07 19:35:10.892220359 +0100
|
||||
@@ -81,7 +81,11 @@
|
||||
if (gv) {
|
||||
Agnode_t *n1 = fNode1->GetGVNode();
|
||||
Agnode_t *n2 = fNode2->GetGVNode();
|
||||
+#ifdef WITH_CGRAPH
|
||||
+ fGVEdge = agedge(gv, n1, n2, NULL, 1);
|
||||
+#else
|
||||
fGVEdge = agedge(gv, n1, n2);
|
||||
+#endif
|
||||
} else {
|
||||
Error("CreateGVEdge","Invalid graphviz graph");
|
||||
}
|
||||
diff -ur root-5.34.05.orig/graf2d/gviz/src/TGraphNode.cxx root-5.34.05/graf2d/gviz/src/TGraphNode.cxx
|
||||
--- root-5.34.05.orig/graf2d/gviz/src/TGraphNode.cxx 2013-02-14 23:27:53.000000000 +0100
|
||||
+++ root-5.34.05/graf2d/gviz/src/TGraphNode.cxx 2013-03-07 19:35:10.904220359 +0100
|
||||
@@ -65,7 +65,11 @@
|
||||
// Create the GraphViz node into the GraphViz data structure gv.
|
||||
|
||||
if (gv) {
|
||||
+#ifdef WITH_CGRAPH
|
||||
+ fGVNode = agnode(gv, (char *)GetName(), 1);
|
||||
+#else
|
||||
fGVNode = agnode(gv, (char *)GetName());
|
||||
+#endif
|
||||
} else {
|
||||
Error("CreateGVNode","Invalid graphviz graph");
|
||||
}
|
||||
diff -ur root-5.34.05.orig/graf2d/gviz/src/TGraphStruct.cxx root-5.34.05/graf2d/gviz/src/TGraphStruct.cxx
|
||||
--- root-5.34.05.orig/graf2d/gviz/src/TGraphStruct.cxx 2013-02-14 23:27:53.000000000 +0100
|
||||
+++ root-5.34.05/graf2d/gviz/src/TGraphStruct.cxx 2013-03-07 19:35:10.913220359 +0100
|
||||
@@ -226,7 +226,11 @@
|
||||
gvFreeLayout(fGVC,fGVGraph);
|
||||
agclose(fGVGraph);
|
||||
}
|
||||
+#ifdef WITH_CGRAPH
|
||||
+ fGVGraph = agopen((char*)"GVGraph", Agdirected, 0);
|
||||
+#else
|
||||
fGVGraph = agopen((char*)"GVGraph", AGDIGRAPH);
|
||||
+#endif
|
||||
|
||||
// Put the GV nodes into the GV graph
|
||||
if (fNodes) {
|
||||
|
|
@ -1,199 +0,0 @@
|
|||
Index: proof/proofd/src/XrdProofdProofServMgr.cxx
|
||||
===================================================================
|
||||
--- proof/proofd/src/XrdProofdProofServMgr.cxx (revision 48680)
|
||||
+++ proof/proofd/src/XrdProofdProofServMgr.cxx (revision 48681)
|
||||
@@ -32,8 +32,7 @@
|
||||
#include "XrdOuc/XrdOucRash.hh"
|
||||
#include "XrdOuc/XrdOucStream.hh"
|
||||
#include "XrdSys/XrdSysPriv.hh"
|
||||
-#include "XrdSut/XrdSutAux.hh"
|
||||
-
|
||||
+#include "XrdSys/XrdSysPlugin.hh"
|
||||
#include "XrdProofdClient.h"
|
||||
#include "XrdProofdClientMgr.h"
|
||||
#include "XrdProofdManager.h"
|
||||
@@ -287,6 +286,8 @@
|
||||
fCurrentSessions = 0;
|
||||
|
||||
fSeqSessionN = 0;
|
||||
+
|
||||
+ fCredsSaver = 0;
|
||||
|
||||
// Defaults can be changed via 'proofservmgr'
|
||||
fCheckFrequency = 30;
|
||||
@@ -3091,22 +3092,13 @@
|
||||
ev[len] = 0;
|
||||
putenv(ev);
|
||||
TRACE(DBG, "XrdSecCREDS set");
|
||||
-
|
||||
- // If 'pwd', save AFS key, if any
|
||||
- if (!strncmp(p->AuthProt()->Entity.prot, "pwd", 3)) {
|
||||
+ if (fCredsSaver) {
|
||||
XrdOucString credsdir = udir;
|
||||
credsdir += "/.creds";
|
||||
// Make sure the directory exists
|
||||
if (!XrdProofdAux::AssertDir(credsdir.c_str(), p->Client()->UI(), fMgr->ChangeOwn())) {
|
||||
- if (SaveAFSkey(creds, credsdir.c_str(), p->Client()->UI()) == 0) {
|
||||
- len = strlen("ROOTPROOFAFSCREDS=")+credsdir.length()+strlen("/.afs")+2;
|
||||
- ev = new char[len];
|
||||
- snprintf(ev, len, "ROOTPROOFAFSCREDS=%s/.afs", credsdir.c_str());
|
||||
- putenv(ev);
|
||||
- fprintf(fenv, "ROOTPROOFAFSCREDS has been set\n");
|
||||
- TRACE(DBG, ev);
|
||||
- } else {
|
||||
- TRACE(DBG, "problems in saving AFS key");
|
||||
+ if ((*fCredsSaver)(creds, credsdir.c_str(), p->Client()->UI()) != 0) {
|
||||
+ TRACE(DBG, "problems in saving authentication creds under "<<credsdir);
|
||||
}
|
||||
} else {
|
||||
TRACE(XERR, "unable to create creds dir: "<<credsdir);
|
||||
@@ -3114,6 +3106,7 @@
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
+ fclose(fenv);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3568,21 +3561,13 @@
|
||||
PutEnv(ev, in->fOld);
|
||||
TRACE(DBG, "XrdSecCREDS set");
|
||||
|
||||
- // If 'pwd', save AFS key, if any
|
||||
- if (!strncmp(p->AuthProt()->Entity.prot, "pwd", 3)) {
|
||||
+ if (fCredsSaver) {
|
||||
XrdOucString credsdir = p->Client()->Sandbox()->Dir();
|
||||
credsdir += "/.creds";
|
||||
// Make sure the directory exists
|
||||
if (!XrdProofdAux::AssertDir(credsdir.c_str(), p->Client()->UI(), fMgr->ChangeOwn())) {
|
||||
- if (SaveAFSkey(creds, credsdir.c_str(), p->Client()->UI()) == 0) {
|
||||
- len = strlen("ROOTPROOFAFSCREDS=")+credsdir.length()+strlen("/.afs")+2;
|
||||
- ev = new char[len];
|
||||
- snprintf(ev, len, "ROOTPROOFAFSCREDS=%s/.afs", credsdir.c_str());
|
||||
- fprintf(fenv, "ROOTPROOFAFSCREDS has been set\n");
|
||||
- TRACE(DBG, ev);
|
||||
- PutEnv(ev, in->fOld);
|
||||
- } else {
|
||||
- TRACE(DBG, "problems in saving AFS key");
|
||||
+ if ((*fCredsSaver)(creds, credsdir.c_str(), p->Client()->UI()) != 0) {
|
||||
+ TRACE(DBG, "problems in saving authentication creds under "<<credsdir);
|
||||
}
|
||||
} else {
|
||||
TRACE(XERR, "unable to create creds dir: "<<credsdir);
|
||||
@@ -3590,6 +3575,7 @@
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
+ fclose(fenv);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4582,76 +4568,6 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
-//______________________________________________________________________________
|
||||
-int XrdProofdProofServMgr::SaveAFSkey(XrdSecCredentials *c,
|
||||
- const char *dir, XrdProofUI ui)
|
||||
-{
|
||||
- // Save the AFS key, if any, for usage in proofserv in file 'dir'/.afs .
|
||||
- // Return 0 on success, -1 on error.
|
||||
- XPDLOC(SMGR, "ProofServMgr::SaveAFSkey")
|
||||
-
|
||||
- // Check file name
|
||||
- if (!dir || strlen(dir) <= 0) {
|
||||
- TRACE(XERR, "dir name undefined");
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- // Check credentials
|
||||
- if (!c) {
|
||||
- TRACE(XERR, "credentials undefined");
|
||||
- return -1;
|
||||
- }
|
||||
- TRACE(REQ, "dir: "<<dir);
|
||||
-
|
||||
- // Decode credentials
|
||||
- int lout = 0;
|
||||
- char *out = new char[c->size];
|
||||
- if (XrdSutFromHex(c->buffer, out, lout) != 0) {
|
||||
- TRACE(XERR, "problems unparsing hex string");
|
||||
- delete [] out;
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- // Locate the key
|
||||
- char *key = out + 5;
|
||||
- if (strncmp(key, "afs:", 4)) {
|
||||
- TRACE(DBG, "string does not contain an AFS key");
|
||||
- delete [] out;
|
||||
- return 0;
|
||||
- }
|
||||
- key += 4;
|
||||
-
|
||||
- // Save to file, if not existing already
|
||||
- XrdOucString fn = dir;
|
||||
- fn += "/.afs";
|
||||
- int rc = 0;
|
||||
-
|
||||
- // Open the file, truncating if already existing
|
||||
- int fd = open(fn.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0600);
|
||||
- if (fd < 0) {
|
||||
- TRACE(XERR, "problems creating file - errno: " << errno);
|
||||
- delete [] out;
|
||||
- return -1;
|
||||
- }
|
||||
- // Write out the key
|
||||
- int lkey = lout - 9;
|
||||
- if (XrdProofdAux::Write(fd, key, lkey) != lkey) {
|
||||
- TRACE(XERR, "problems writing to file - errno: " << errno);
|
||||
- rc = -1;
|
||||
- }
|
||||
-
|
||||
- // Cleanup
|
||||
- delete [] out;
|
||||
- close(fd);
|
||||
-
|
||||
- // Make sure the file is owned by the user
|
||||
- if (XrdProofdAux::ChangeOwn(fn.c_str(), ui) != 0) {
|
||||
- TRACE(XERR, "can't change ownership of "<<fn);
|
||||
- }
|
||||
-
|
||||
- return rc;
|
||||
-}
|
||||
-
|
||||
//__________________________________________________________________________
|
||||
XrdProofdProofServ *XrdProofdProofServMgr::GetActiveSession(int pid)
|
||||
{
|
||||
Index: proof/proofd/inc/XrdProofdProofServMgr.h
|
||||
===================================================================
|
||||
--- proof/proofd/inc/XrdProofdProofServMgr.h (revision 48680)
|
||||
+++ proof/proofd/inc/XrdProofdProofServMgr.h (revision 48681)
|
||||
@@ -42,6 +42,9 @@
|
||||
#define PSMMAXCNTS 3
|
||||
#define PSMCNTOK(t) (t >= 0 && t < PSMMAXCNTS)
|
||||
|
||||
+// Security handle
|
||||
+typedef int (*XrdSecCredsSaver_t)(XrdSecCredentials *, const char *fn, const XrdProofUI &ui);
|
||||
+
|
||||
// Aux structure for session set env inputs
|
||||
typedef struct {
|
||||
XrdProofdProofServ *fPS;
|
||||
@@ -161,6 +164,8 @@
|
||||
|
||||
std::map<XrdProofdProtocol*,int> fDestroyTimes; // Tracks destroyed sessions
|
||||
|
||||
+ XrdSecCredsSaver_t fCredsSaver; // If defined, function to be used to save the credentials
|
||||
+
|
||||
int DoDirectiveProofServMgr(char *, XrdOucStream *, bool);
|
||||
int DoDirectivePutEnv(char *, XrdOucStream *, bool);
|
||||
int DoDirectivePutRc(char *, XrdOucStream *, bool);
|
||||
@@ -268,8 +273,6 @@
|
||||
|
||||
int SetProofServEnv(XrdProofdProtocol *p, void *in);
|
||||
int SetProofServEnvOld(XrdProofdProtocol *p, void *in);
|
||||
-
|
||||
- int SaveAFSkey(XrdSecCredentials *c, const char *fn, XrdProofUI ui);
|
||||
int SetUserEnvironment(XrdProofdProtocol *p);
|
||||
|
||||
static int SetProofServEnv(XrdProofdManager *m, XrdROOT *r);
|
||||
|
|
@ -1,619 +0,0 @@
|
|||
Index: cmake/modules/FindXROOTD.cmake
|
||||
===================================================================
|
||||
--- cmake/modules/FindXROOTD.cmake (revision 48830)
|
||||
+++ cmake/modules/FindXROOTD.cmake (revision 48831)
|
||||
@@ -28,32 +28,37 @@
|
||||
)
|
||||
|
||||
if (XROOTD_INCLUDE_DIR)
|
||||
- file(STRINGS ${XROOTD_INCLUDE_DIR}/XrdVersion.hh xrdvers REGEX "^#define XrdVERSION")
|
||||
+ file(STRINGS ${XROOTD_INCLUDE_DIR}/XrdVersion.hh xrdvers REGEX "^#define XrdVERSION ")
|
||||
string(REGEX REPLACE "#define[ ]+XrdVERSION[ ]+" "" xrdvers ${xrdvers})
|
||||
string(REGEX REPLACE "[^v\\.]+" "" xrdversdots ${xrdvers})
|
||||
if (${xrdversdots} STREQUAL "v..")
|
||||
# Regular version string; parse it out
|
||||
string(REGEX MATCH "[0-9\\.]+" xrdvers ${xrdvers})
|
||||
- string(REGEX MATCH "[0-9]" xrdversmajor ${xrdvers})
|
||||
- string(REPLACE "${xrdversmajor}." "" xrdversminor ${xrdvers})
|
||||
- string(REGEX MATCH "[0-9]" xrdversminor ${xrdversminor})
|
||||
- string(REPLACE "${xrdversmajor}.${xrdversminor}." "" xrdverspatch ${xrdvers})
|
||||
- string(REGEX MATCH "[0-9]+" xrdverspatch ${xrdverspatch})
|
||||
+ string(REGEX REPLACE "^([^.]*)\\.(.*)\\.(.*)" "\\1" xrdversmajor ${xrdvers})
|
||||
+ string(REGEX REPLACE "^([^.]*)\\.(.*)\\.(.*)" "\\2" xrdversminor ${xrdvers})
|
||||
+ string(REGEX REPLACE "^([^.]*)\\.(.*)\\.(.*)" "\\3" xrdverspatch ${xrdvers})
|
||||
math(EXPR xrdversnum ${xrdversmajor}*100000000+${xrdversminor}*10000+${xrdverspatch})
|
||||
else ()
|
||||
# Old version string: we keep only the first numerics, i.e. the date
|
||||
string(REGEX REPLACE "[v\"]" "" xrdvers ${xrdvers})
|
||||
- message(STATUS "Found Xrootd version ${xrdvers}")
|
||||
- string(REGEX REPLACE "[^0-9-]+" " " xrdvers ${xrdvers})
|
||||
string(SUBSTRING ${xrdvers} 0 8 xrdversnum)
|
||||
endif ()
|
||||
+ if ( ${xrdversnum} EQUAL 300030000 )
|
||||
+ SET(XROOTD_FOUND FALSE)
|
||||
+ message(WARNING " >>> Cannot build with XRootD version 3.3.0: please install >=3.3.1 or <= 3.2.x")
|
||||
+ else()
|
||||
+ SET(XROOTD_FOUND TRUE)
|
||||
+ endif ()
|
||||
+endif()
|
||||
+
|
||||
+if(XROOTD_FOUND)
|
||||
# This we used as a compiler macro variable
|
||||
if(NOT XROOTD_FIND_QUIETLY )
|
||||
- message(STATUS "Found Xrootd version num: ${xrdvers}")
|
||||
+ message(STATUS "Found Xrootd version num: ${xrdvers} (setting -DROOTXRDVERS=${xrdversnum})")
|
||||
endif()
|
||||
SET(XROOTD_CFLAGS "-DROOTXRDVERS=${xrdversnum}")
|
||||
|
||||
- if ( ${xrdversnum} LESS 300010000 )
|
||||
+ if ( ${xrdversnum} LESS 300010000 AND ${xrdversnum} LESS 20111022)
|
||||
SET(XROOTD_OLDPACK TRUE)
|
||||
message(STATUS "Setting OLDPACK TRUE")
|
||||
else()
|
||||
@@ -72,14 +77,16 @@
|
||||
XrdOuc/XrdOucPthread.hh
|
||||
XrdOuc/XrdOucSemWait.hh
|
||||
XrdOuc/XrdOucTimer.hh
|
||||
+ PATHS
|
||||
${XROOTD_INCLUDE_DIR}
|
||||
)
|
||||
else()
|
||||
- if ( ${xrdversnum} LESS 300010000 )
|
||||
+ if ( ${xrdversnum} LESS 300010000 AND ${xrdversnum} LESS 20111022)
|
||||
# DNS stuff was under XrdNet
|
||||
find_path(XROOTD_INCLUDE_DIR
|
||||
NAMES
|
||||
XrdNet/XrdNetDNS.hh
|
||||
+ PATHS
|
||||
${XROOTD_INCLUDE_DIR}
|
||||
)
|
||||
else ()
|
||||
@@ -87,6 +94,7 @@
|
||||
find_path(XROOTD_INCLUDE_DIR
|
||||
NAMES
|
||||
XrdSys/XrdSysDNS.hh
|
||||
+ PATHS
|
||||
${XROOTD_INCLUDE_DIR}
|
||||
)
|
||||
endif ()
|
||||
@@ -101,9 +109,20 @@
|
||||
XrdSys/XrdSysPthread.hh
|
||||
XrdSys/XrdSysSemWait.hh
|
||||
XrdSys/XrdSysTimer.hh
|
||||
+ PATHS
|
||||
${XROOTD_INCLUDE_DIR}
|
||||
)
|
||||
endif()
|
||||
+
|
||||
+ if (XROOTD_INCLUDE_DIR)
|
||||
+ # Check for additional headers in new directories
|
||||
+ find_path(XROOTD_PRIVATE_INCLUDE_DIR
|
||||
+ NAMES
|
||||
+ XrdSys/XrdSysPriv.hh
|
||||
+ PATHS
|
||||
+ ${XROOTD_INCLUDE_DIR}/private
|
||||
+ )
|
||||
+ endif()
|
||||
endif()
|
||||
if (XROOTD_INCLUDE_DIR)
|
||||
SET(XROOTD_FOUND TRUE)
|
||||
@@ -152,7 +171,7 @@
|
||||
if(XROOTD_LIBRARIES)
|
||||
set(XROOTD_FOUND TRUE)
|
||||
if(NOT XROOTD_FIND_QUIETLY )
|
||||
- message(STATUS " include_dir: ${XROOTD_INCLUDE_DIR}")
|
||||
+ message(STATUS " include_dir: ${XROOTD_INCLUDE_DIR} ${XROOTD_PRIVATE_INCLUDE_DIR}")
|
||||
message(STATUS " libraries: ${XROOTD_LIBRARIES}")
|
||||
endif()
|
||||
else ()
|
||||
@@ -160,7 +179,8 @@
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
-mark_as_advanced(XROOTD_INCLUDE_DIR
|
||||
+mark_as_advanced(XROOTD_INCLUDE_DIR
|
||||
+ XROOTD_PRIVATE_INCLUDE_DIR
|
||||
XROOTD_XrdMain_LIBRARY
|
||||
XROOTD_XrdUtils_LIBRARY
|
||||
XROOTD_XrdClient_LIBRARY
|
||||
Index: configure
|
||||
===================================================================
|
||||
--- configure (revision 48830)
|
||||
+++ configure (revision 48831)
|
||||
@@ -4577,9 +4577,16 @@
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
- echo "$xrdver"
|
||||
+ # Protect against 3.3.0, first version with 'include/xrootd/private'
|
||||
+ if [ $decver -eq 300030000 ] ; then
|
||||
+ echo "Cannot build against version $xrdver (missing headers)"
|
||||
+ enable_xrootd="no"
|
||||
+ else
|
||||
+ echo "$xrdver"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
+xrdincprivate="no"
|
||||
if test "x$enable_xrootd" = "xyes" ; then
|
||||
|
||||
extraxrdflags="-DROOTXRDVERS=$decver"
|
||||
@@ -4635,6 +4642,15 @@
|
||||
fi
|
||||
|
||||
#
|
||||
+ # Check also if 'include/private' exists: we need to signal this to the build modules
|
||||
+ # for correct location of some headers available form the dlevel packages for version >= 3.3.x
|
||||
+ if test "x$enable_xrootd" = "xyes"; then
|
||||
+ if test -d "$xrdincdir/private"; then
|
||||
+ xrdincprivate="yes"
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ #
|
||||
# Check if bonjour is available for code potentially using it ...
|
||||
if test "x$enable_xrootd" = "xyes"; then
|
||||
xrdlibdir="$tmpxrdlibdir"
|
||||
@@ -6730,6 +6746,7 @@
|
||||
-e "s|@xpmlibdir@|$xpmlibdir|" \
|
||||
-e "s|@xrdlibdir@|$xrdlibdir|" \
|
||||
-e "s|@xrdincdir@|$xrdincdir|" \
|
||||
+ -e "s|@xrdincprivate@|$xrdincprivate|" \
|
||||
-e "s|@xrdversion@|$decver|" \
|
||||
-e "s|@hasxrdutils@|$hasxrdutils|" \
|
||||
-e "s|@cfitsioincdir@|$cfitsioincdir|" \
|
||||
Index: proof/proofd/src/XrdProofConn.cxx
|
||||
===================================================================
|
||||
--- proof/proofd/src/XrdProofConn.cxx (revision 48830)
|
||||
+++ proof/proofd/src/XrdProofConn.cxx (revision 48831)
|
||||
@@ -32,7 +32,6 @@
|
||||
|
||||
#include "XrdClient/XrdClientConnMgr.hh"
|
||||
#include "XrdClient/XrdClientConst.hh"
|
||||
-#include "XrdClient/XrdClientDebug.hh"
|
||||
#include "XrdClient/XrdClientEnv.hh"
|
||||
#include "XrdClient/XrdClientLogConnection.hh"
|
||||
#include "XrdClient/XrdClientPhyConnection.hh"
|
||||
@@ -41,6 +40,7 @@
|
||||
#include "XrdOuc/XrdOucErrInfo.hh"
|
||||
#include "XrdOuc/XrdOucString.hh"
|
||||
#include "XrdSec/XrdSecInterface.hh"
|
||||
+#include "XrdSys/XrdSysLogger.hh"
|
||||
#include "XrdSys/XrdSysPlatform.hh"
|
||||
|
||||
// Dynamic libs
|
||||
Index: proof/proofd/src/XpdObject.cxx
|
||||
===================================================================
|
||||
--- proof/proofd/src/XpdObject.cxx (revision 0)
|
||||
+++ proof/proofd/src/XpdObject.cxx (revision 48831)
|
||||
@@ -0,0 +1,125 @@
|
||||
+// @(#)root/proofd:$Id$
|
||||
+// Author: Gerardo Ganis Feb 2013
|
||||
+
|
||||
+/*************************************************************************
|
||||
+ * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
|
||||
+ * All rights reserved. *
|
||||
+ * *
|
||||
+ * For the licensing terms see $ROOTSYS/LICENSE. *
|
||||
+ * For the list of contributors see $ROOTSYS/README/CREDITS. *
|
||||
+ *************************************************************************/
|
||||
+
|
||||
+//////////////////////////////////////////////////////////////////////////
|
||||
+// //
|
||||
+// XpdObject //
|
||||
+// //
|
||||
+// Authors: G. Ganis, CERN, 2013 //
|
||||
+// //
|
||||
+// Auxilliary class to stack protocols. //
|
||||
+// //
|
||||
+//////////////////////////////////////////////////////////////////////////
|
||||
+
|
||||
+#include "XpdObject.h"
|
||||
+#include "XrdProofdAux.h"
|
||||
+#include "XrdProofdProtocol.h"
|
||||
+#include "Xrd/XrdScheduler.hh"
|
||||
+#include "XrdOuc/XrdOucTrace.hh"
|
||||
+
|
||||
+//_______________________________________________________________________
|
||||
+XrdProofdProtocol *XpdObjectQ::Pop()
|
||||
+{
|
||||
+ // Pop up a protocol object
|
||||
+
|
||||
+ XpdObject *node;
|
||||
+ fQMutex.Lock();
|
||||
+ if ((node = fFirst)) {
|
||||
+ fFirst = fFirst->fNext;
|
||||
+ fCount--;
|
||||
+ }
|
||||
+ fQMutex.UnLock();
|
||||
+ if (node) return node->fItem;
|
||||
+ return (XrdProofdProtocol *)0;
|
||||
+}
|
||||
+
|
||||
+//_______________________________________________________________________
|
||||
+void XpdObjectQ::Push(XpdObject *node)
|
||||
+{
|
||||
+ // Push back a protocol
|
||||
+
|
||||
+ node->fQTime = fCurage;
|
||||
+ fQMutex.Lock();
|
||||
+ if (fCount >= fMaxinQ) {
|
||||
+ delete node->fItem;
|
||||
+ } else {
|
||||
+ node->fNext = fFirst;
|
||||
+ fFirst = node;
|
||||
+ fCount++;
|
||||
+ }
|
||||
+ fQMutex.UnLock();
|
||||
+}
|
||||
+
|
||||
+//_______________________________________________________________________
|
||||
+void XpdObjectQ::Set(int inQMax, time_t agemax)
|
||||
+{
|
||||
+ // Lock the data area and set the values
|
||||
+
|
||||
+ fQMutex.Lock();
|
||||
+ fMaxinQ = inQMax; fMaxage = agemax;
|
||||
+ if (!(fMininQ = inQMax/2)) fMininQ = 1;
|
||||
+ fQMutex.UnLock();
|
||||
+
|
||||
+ // Schedule ourselves using the new values
|
||||
+ if (agemax > 0)
|
||||
+ fSched->Schedule((XrdJob *)this, agemax + time(0));
|
||||
+}
|
||||
+
|
||||
+//_______________________________________________________________________
|
||||
+void XpdObjectQ::DoIt()
|
||||
+{
|
||||
+ // Process method
|
||||
+
|
||||
+ XpdObject *pp, *p;
|
||||
+ int oldcnt, agemax;
|
||||
+
|
||||
+ // Lock the anchor and see if we met the threshold for deletion
|
||||
+ //
|
||||
+ fQMutex.Lock();
|
||||
+ agemax = fMaxage;
|
||||
+ if ((oldcnt = fCount) > fMininQ) {
|
||||
+
|
||||
+ // Prepare to scan down the queue.
|
||||
+ if ((pp = fFirst)) {
|
||||
+ p = pp->fNext;
|
||||
+ } else { p = 0; }
|
||||
+
|
||||
+ // Find the first object that's been idle for too long
|
||||
+ while(p && (p->fQTime >= fCurage)) { pp = p; p = p->fNext;}
|
||||
+
|
||||
+ // Now delete half of the idle objects. The object queue element must be
|
||||
+ // part of the actual object being deleted for this to properly work.
|
||||
+ if (pp) {
|
||||
+ while (p) {
|
||||
+ pp->fNext = p->fNext;
|
||||
+ delete p->fItem;
|
||||
+ fCount--;
|
||||
+ p = ((pp = pp->fNext) ? pp->fNext : 0);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Increase the age and unlock the queue
|
||||
+ fCurage++;
|
||||
+ fQMutex.UnLock();
|
||||
+
|
||||
+ // Trace as needed
|
||||
+ if (fTraceON && fTrace->Tracing(fTraceON))
|
||||
+ {fTrace->Beg(fTraceID);
|
||||
+ cerr <<Comment <<" trim done; " <<fCount <<" of " <<oldcnt <<" kept";
|
||||
+ fTrace->End();
|
||||
+ }
|
||||
+
|
||||
+ // Reschedule ourselves if we must do so
|
||||
+ if (agemax > 0)
|
||||
+ fSched->Schedule((XrdJob *)this, agemax+time(0));
|
||||
+}
|
||||
+
|
||||
|
||||
Egenskapsändringar för: proof/proofd/src/XpdObject.cxx
|
||||
___________________________________________________________________
|
||||
Added: svn:eol-style
|
||||
## -0,0 +1 ##
|
||||
+LF
|
||||
\ No newline at end of property
|
||||
Added: svn:keywords
|
||||
## -0,0 +1 ##
|
||||
+Id
|
||||
\ No newline at end of property
|
||||
Index: proof/proofd/src/XrdProofdProtocol.cxx
|
||||
===================================================================
|
||||
--- proof/proofd/src/XrdProofdProtocol.cxx (revision 48830)
|
||||
+++ proof/proofd/src/XrdProofdProtocol.cxx (revision 48831)
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include "XrdVersion.hh"
|
||||
#include "Xrd/XrdBuffer.hh"
|
||||
+#include "Xrd/XrdScheduler.hh"
|
||||
|
||||
#include "XrdProofdClient.h"
|
||||
#include "XrdProofdClientMgr.h"
|
||||
@@ -54,8 +55,7 @@
|
||||
//
|
||||
// Static area: general protocol managing section
|
||||
int XrdProofdProtocol::fgCount = 0;
|
||||
-XrdObjectQ<XrdProofdProtocol>
|
||||
- XrdProofdProtocol::fgProtStack("ProtStack",
|
||||
+XpdObjectQ XrdProofdProtocol::fgProtStack("ProtStack",
|
||||
"xproofd protocol anchor");
|
||||
XrdSysRecMutex XrdProofdProtocol::fgBMutex; // Buffer management mutex
|
||||
XrdBuffManager *XrdProofdProtocol::fgBPool = 0;
|
||||
@@ -542,8 +542,12 @@
|
||||
// Schedule protocol object cleanup; the maximum number of objects
|
||||
// and the max age are taken from XrdXrootdProtocol: this may need
|
||||
// some optimization in the future.
|
||||
+#if 1
|
||||
fgProtStack.Set(pi->Sched, XrdProofdTrace, TRACE_MEM);
|
||||
fgProtStack.Set((pi->ConnMax/3 ? pi->ConnMax/3 : 30), 60*60);
|
||||
+#else
|
||||
+ fgProtStack.Set(pi->Sched, 3600);
|
||||
+#endif
|
||||
|
||||
// Default tracing options: always trace logins and errors for all
|
||||
// domains; if the '-d' option was specified on the command line then
|
||||
@@ -789,6 +793,13 @@
|
||||
|
||||
// Push ourselves on the stack
|
||||
fgProtStack.Push(&fProtLink);
|
||||
+#if 0
|
||||
+ if(fgProtStack.Push(&fProtLink) != 0) {
|
||||
+ XrdProofdProtocol *xp = fProtLink.objectItem();
|
||||
+ fProtLink.setItem(0);
|
||||
+ delete xp;
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
//______________________________________________________________________________
|
||||
Index: proof/proofd/inc/XrdProofdProtocol.h
|
||||
===================================================================
|
||||
--- proof/proofd/inc/XrdProofdProtocol.h (revision 48830)
|
||||
+++ proof/proofd/inc/XrdProofdProtocol.h (revision 48831)
|
||||
@@ -38,10 +38,10 @@
|
||||
#include "XpdSysPthread.h"
|
||||
|
||||
#include "Xrd/XrdLink.hh"
|
||||
-#include "Xrd/XrdObject.hh"
|
||||
#include "Xrd/XrdProtocol.hh"
|
||||
#include "XrdOuc/XrdOucString.hh"
|
||||
#include "XrdSec/XrdSecInterface.hh"
|
||||
+#include "XpdObject.h"
|
||||
#include "XProofProtocol.h"
|
||||
|
||||
class XrdBuffer;
|
||||
@@ -131,7 +131,7 @@
|
||||
//
|
||||
// Protocol variables
|
||||
|
||||
- XrdObject<XrdProofdProtocol> fProtLink;
|
||||
+ XpdObject fProtLink;
|
||||
XrdBuffer *fArgp;
|
||||
|
||||
XrdLink *fLink;
|
||||
@@ -176,7 +176,7 @@
|
||||
//
|
||||
static bool fgConfigDone;
|
||||
static int fgCount;
|
||||
- static XrdObjectQ<XrdProofdProtocol> fgProtStack;
|
||||
+ static XpdObjectQ fgProtStack;
|
||||
static XrdBuffManager *fgBPool; // Buffer manager
|
||||
static int fgMaxBuffsz; // Maximum buffer size we can have
|
||||
static XrdSysRecMutex fgBMutex; // Buffer management mutex
|
||||
Index: proof/proofd/inc/XpdObject.h
|
||||
===================================================================
|
||||
--- proof/proofd/inc/XpdObject.h (revision 0)
|
||||
+++ proof/proofd/inc/XpdObject.h (revision 48831)
|
||||
@@ -0,0 +1,100 @@
|
||||
+// @(#)root/proofd:$Id$
|
||||
+// Author: Gerardo Ganis Feb 2013
|
||||
+
|
||||
+/*************************************************************************
|
||||
+ * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
|
||||
+ * All rights reserved. *
|
||||
+ * *
|
||||
+ * For the licensing terms see $ROOTSYS/LICENSE. *
|
||||
+ * For the list of contributors see $ROOTSYS/README/CREDITS. *
|
||||
+ *************************************************************************/
|
||||
+
|
||||
+//////////////////////////////////////////////////////////////////////////
|
||||
+// //
|
||||
+// XpdObject //
|
||||
+// //
|
||||
+// Authors: G. Ganis, CERN, 2013 //
|
||||
+// //
|
||||
+// Auxilliary class to stack protocols. //
|
||||
+// Adapted version of XrdObject. //
|
||||
+// //
|
||||
+//////////////////////////////////////////////////////////////////////////
|
||||
+
|
||||
+#ifndef ROOT_XpdObject
|
||||
+#define ROOT_XpdObject
|
||||
+
|
||||
+#include <string.h>
|
||||
+#include <strings.h>
|
||||
+#include <time.h>
|
||||
+#include <sys/types.h>
|
||||
+#include "Xrd/XrdJob.hh"
|
||||
+#include "XrdOuc/XrdOucTrace.hh"
|
||||
+#include "XrdSys/XrdSysPthread.hh"
|
||||
+
|
||||
+class XpdObjectQ;
|
||||
+class XrdProofdProtocol;
|
||||
+class XrdScheduler;
|
||||
+
|
||||
+class XpdObject {
|
||||
+public:
|
||||
+ friend class XpdObjectQ;
|
||||
+
|
||||
+ // Item() supplies the item value associated with itself (used with Next()).
|
||||
+ XrdProofdProtocol *objectItem() { return fItem; }
|
||||
+
|
||||
+ // Next() supplies the next list node.
|
||||
+ XpdObject *nextObject() { return fNext; }
|
||||
+
|
||||
+ // Set the item pointer
|
||||
+ void setItem(XrdProofdProtocol *ival) { fItem = ival; }
|
||||
+
|
||||
+ XpdObject(XrdProofdProtocol *ival=0) { fNext = 0; fItem = ival; fQTime = 0; }
|
||||
+ ~XpdObject() {}
|
||||
+
|
||||
+private:
|
||||
+ XpdObject *fNext;
|
||||
+ XrdProofdProtocol *fItem;
|
||||
+ time_t fQTime; // Only used for time-managed objects
|
||||
+};
|
||||
+
|
||||
+/******************************************************************************/
|
||||
+/* x r d _ O b j e c t Q */
|
||||
+/******************************************************************************/
|
||||
+
|
||||
+// Note to properly cleanup this type of queue you must call Set() at least
|
||||
+// once to cause the time element to be sceduled.
|
||||
+
|
||||
+class XrdOucTrace;
|
||||
+
|
||||
+class XpdObjectQ : public XrdJob {
|
||||
+public:
|
||||
+
|
||||
+ XrdProofdProtocol *Pop();
|
||||
+ void Push(XpdObject *Node);
|
||||
+ void Set(int inQMax, time_t agemax=1800);
|
||||
+ void Set(XrdScheduler *sp, XrdOucTrace *tp, int traceChk = 0)
|
||||
+ {fSched = sp; fTrace = tp; fTraceON = traceChk;}
|
||||
+ void DoIt();
|
||||
+
|
||||
+ XpdObjectQ(const char *id, const char *desc) : XrdJob(desc)
|
||||
+ {fCurage = fCount = 0; fMaxage = 0; fTraceID = id;
|
||||
+ fMaxinQ = 32; fMininQ = 16; fFirst = 0; }
|
||||
+
|
||||
+ ~XpdObjectQ() {}
|
||||
+
|
||||
+private:
|
||||
+
|
||||
+ XrdSysMutex fQMutex;
|
||||
+ XpdObject *fFirst;
|
||||
+ int fCount;
|
||||
+ int fCurage;
|
||||
+ int fMininQ;
|
||||
+ int fMaxinQ;
|
||||
+ time_t fMaxage;
|
||||
+ XrdOucTrace *fTrace;
|
||||
+ XrdScheduler *fSched;
|
||||
+ int fTraceON;
|
||||
+ const char *fTraceID;
|
||||
+};
|
||||
+
|
||||
+#endif
|
||||
|
||||
Egenskapsändringar för: proof/proofd/inc/XpdObject.h
|
||||
___________________________________________________________________
|
||||
Added: svn:keywords
|
||||
## -0,0 +1 ##
|
||||
+Id
|
||||
\ No newline at end of property
|
||||
Added: svn:eol-style
|
||||
## -0,0 +1 ##
|
||||
+LF
|
||||
\ No newline at end of property
|
||||
Index: proof/proofd/Module.mk
|
||||
===================================================================
|
||||
--- proof/proofd/Module.mk (revision 48830)
|
||||
+++ proof/proofd/Module.mk (revision 48831)
|
||||
@@ -127,7 +127,11 @@
|
||||
ifeq ($(HASXRD),yes)
|
||||
XPDINCEXTRA := $(XROOTDDIRI:%=-I%)
|
||||
XPDINCEXTRA += $(PROOFDDIRI:%=-I%)
|
||||
+ifeq ($(XRDINCPRIVATE),yes)
|
||||
+XPDINCEXTRA += -I$(XRDINCDIR)/private
|
||||
+endif
|
||||
|
||||
+
|
||||
ifeq ($(HASXRDUTILS),no)
|
||||
|
||||
XPDLIBEXTRA += $(XROOTDDIRL) -lXrdClient -lXrdNet -lXrdOuc \
|
||||
Index: proof/proofd/CMakeLists.txt
|
||||
===================================================================
|
||||
--- proof/proofd/CMakeLists.txt (revision 48830)
|
||||
+++ proof/proofd/CMakeLists.txt (revision 48831)
|
||||
@@ -7,7 +7,7 @@
|
||||
ROOT_USE_PACKAGE(net/rpdutils)
|
||||
ROOT_USE_PACKAGE(net/auth)
|
||||
|
||||
-include_directories(${XROOTD_INCLUDE_DIR})
|
||||
+include_directories(${XROOTD_INCLUDE_DIR} ${XROOTD_PRIVATE_INCLUDE_DIR})
|
||||
add_definitions(${XROOTD_CFLAGS})
|
||||
|
||||
if(WIN32)
|
||||
Index: proof/proofx/Module.mk
|
||||
===================================================================
|
||||
--- proof/proofx/Module.mk (revision 48830)
|
||||
+++ proof/proofx/Module.mk (revision 48831)
|
||||
@@ -63,6 +63,9 @@
|
||||
PROOFXINCEXTRA := $(PROOFXDIRI:%=-I%)
|
||||
PROOFXINCEXTRA += $(XROOTDDIRI:%=-I%)
|
||||
PROOFXINCEXTRA += $(PROOFDDIRI:%=-I%)
|
||||
+ifeq ($(XRDINCPRIVATE),yes)
|
||||
+PROOFXINCEXTRA += -I$(XRDINCDIR)/private
|
||||
+endif
|
||||
|
||||
# Xrootd client libs
|
||||
ifeq ($(PLATFORM),win32)
|
||||
Index: proof/proofx/CMakeLists.txt
|
||||
===================================================================
|
||||
--- proof/proofx/CMakeLists.txt (revision 48830)
|
||||
+++ proof/proofx/CMakeLists.txt (revision 48831)
|
||||
@@ -16,7 +16,7 @@
|
||||
ROOT_GLOB_SOURCES(sources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cxx)
|
||||
endif()
|
||||
|
||||
-include_directories(${XROOTD_INCLUDE_DIR})
|
||||
+include_directories(${XROOTD_INCLUDE_DIR} ${XROOTD_PRIVATE_INCLUDE_DIR})
|
||||
link_directories(${XROOTD_LIBRARY_DIR})
|
||||
add_definitions(${XROOTD_CFLAGS})
|
||||
|
||||
Index: net/netx/Module.mk
|
||||
===================================================================
|
||||
--- net/netx/Module.mk (revision 48830)
|
||||
+++ net/netx/Module.mk (revision 48831)
|
||||
@@ -55,6 +55,9 @@
|
||||
ifneq ($(EXTRA_XRDFLAGS),)
|
||||
NETXINCEXTRA += -I$(ROOT_SRCDIR)/proof/proofd/inc
|
||||
endif
|
||||
+ifeq ($(XRDINCPRIVATE),yes)
|
||||
+NETXINCEXTRA += -I$(XRDINCDIR)/private
|
||||
+endif
|
||||
|
||||
# Xrootd client libs
|
||||
ifeq ($(PLATFORM),win32)
|
||||
Index: net/netx/CMakeLists.txt
|
||||
===================================================================
|
||||
--- net/netx/CMakeLists.txt (revision 48830)
|
||||
+++ net/netx/CMakeLists.txt (revision 48831)
|
||||
@@ -6,7 +6,7 @@
|
||||
ROOT_USE_PACKAGE(net/net)
|
||||
ROOT_USE_PACKAGE(proof/proofd)
|
||||
|
||||
-include_directories(${XROOTD_INCLUDE_DIR})
|
||||
+include_directories(${XROOTD_INCLUDE_DIR} ${XROOTD_PRIVATE_INCLUDE_DIR})
|
||||
add_definitions(${XROOTD_CFLAGS})
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
Index: config/Makefile.in
|
||||
===================================================================
|
||||
--- config/Makefile.in (revision 48830)
|
||||
+++ config/Makefile.in (revision 48831)
|
||||
@@ -255,6 +255,7 @@
|
||||
EXTRA_XRDFLAGS := @extraxrdflags@
|
||||
XRDVERSION := @xrdversion@
|
||||
HASXRDUTILS := @hasxrdutils@
|
||||
+XRDINCPRIVATE := @xrdincprivate@
|
||||
|
||||
SRPLIBDIR := @srplibdir@
|
||||
SRPLIB := @srplib@
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
diff -ur root-5.34.05.orig/bindings/ruby/src/drr.cxx root-5.34.05/bindings/ruby/src/drr.cxx
|
||||
--- root-5.34.05.orig/bindings/ruby/src/drr.cxx 2013-02-14 23:27:40.000000000 +0100
|
||||
+++ root-5.34.05/bindings/ruby/src/drr.cxx 2013-03-22 17:06:56.516498395 +0100
|
||||
@@ -163,36 +163,6 @@
|
||||
return arr;
|
||||
}
|
||||
|
||||
-void * rr_parse_void (VALUE o)
|
||||
-{
|
||||
- VALUE *i;
|
||||
-
|
||||
- switch (TYPE(o))
|
||||
- {
|
||||
- case T_STRING:
|
||||
- return (void *) RSTRING_PTR(o);
|
||||
- case T_FLOAT:
|
||||
- return (void *) &RFLOAT_VALUE(o);
|
||||
- case T_FIXNUM:
|
||||
- /* FIXME: Memory leak until I find the correct way. Until
|
||||
- * then please use integers in TTrees with care. --elathan
|
||||
- */
|
||||
- i = (VALUE*) malloc (sizeof(VALUE));
|
||||
- *i = (int) (o>>1);
|
||||
- return (void *) i;
|
||||
- case T_OBJECT:
|
||||
- RRGRAB(o, void *, res);
|
||||
- return res;
|
||||
- default:
|
||||
- VALUE tmp = CLASS_OF(o);
|
||||
- rb_fatal ("Failed convertion of %d to void *.\n",
|
||||
- StringValuePtr(tmp));
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- return (void *) NULL;
|
||||
-}
|
||||
-
|
||||
VALUE rr_bool (Bool_t q)
|
||||
{
|
||||
VALUE res = Qnil;
|
||||
diff -ur root-5.34.05.orig/bindings/ruby/src/rrcommon.h root-5.34.05/bindings/ruby/src/rrcommon.h
|
||||
--- root-5.34.05.orig/bindings/ruby/src/rrcommon.h 2013-02-14 23:27:40.000000000 +0100
|
||||
+++ root-5.34.05/bindings/ruby/src/rrcommon.h 2013-03-22 17:06:25.969498395 +0100
|
||||
@@ -97,8 +97,6 @@
|
||||
VALUE rr_arrayd_new (const TArrayD *a);
|
||||
VALUE rr_seqcollection_new (TSeqCollection *sc);
|
||||
|
||||
-void * rr_parse_void (VALUE o);
|
||||
-
|
||||
/* mod convertions */
|
||||
void rr_tattfill_conv(void **ptr, VALUE klass);
|
||||
void rr_tattline_conv(void **ptr, VALUE klass);
|
||||
diff -ur root-5.34.05.orig/configure root-5.34.05/configure
|
||||
--- root-5.34.05.orig/configure 2013-02-14 23:27:56.000000000 +0100
|
||||
+++ root-5.34.05/configure 2013-03-22 17:05:56.299498395 +0100
|
||||
@@ -6850,9 +6850,10 @@
|
||||
|
||||
if test ! "x$enable_ruby" = "xno"; then
|
||||
echo "" >> RConfigOptions-out.tmp
|
||||
- ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]' | \
|
||||
- sed 's/^\([0-9]\)\.\([0-9]\).*$/#define R__RUBY_MAJOR \1@#define R__RUBY_MINOR \2/' | \
|
||||
- tr '@' '\n' >> RConfigOptions-out.tmp
|
||||
+ RUBY_MAJOR=`ruby -rrbconfig -e 'puts RbConfig::CONFIG["MAJOR"]'`
|
||||
+ RUBY_MINOR=`ruby -rrbconfig -e 'puts RbConfig::CONFIG["MINOR"]'`
|
||||
+ echo "#define R__RUBY_MAJOR $RUBY_MAJOR" >> RConfigOptions-out.tmp
|
||||
+ echo "#define R__RUBY_MINOR $RUBY_MINOR" >> RConfigOptions-out.tmp
|
||||
fi
|
||||
|
||||
# only update $CONFIGOPTOUT when different
|
||||
27
root.spec
27
root.spec
|
|
@ -30,9 +30,9 @@
|
|||
%endif
|
||||
|
||||
Name: root
|
||||
Version: 5.34.05
|
||||
Version: 5.34.06
|
||||
%global libversion %(cut -d. -f 1-2 <<< %{version})
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: Numerical data analysis framework
|
||||
|
||||
Group: Applications/Engineering
|
||||
|
|
@ -70,13 +70,6 @@ Patch5: %{name}-gfal-bits.patch
|
|||
Patch6: %{name}-thtml-revert.patch
|
||||
# Don't save in all image formats:
|
||||
Patch7: %{name}-no-extra-formats.patch
|
||||
# Graphviz libgraph deprecated:
|
||||
Patch8: %{name}-gviz.patch
|
||||
# Don't use ruby_version - it is not portable
|
||||
Patch9: %{name}-ruby-version.patch
|
||||
# Backport xrootd 3.3 support:
|
||||
Patch10: %{name}-rev48681.patch
|
||||
Patch11: %{name}-rev48831.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
# The build segfaults on ppc64 during an invocation of cint:
|
||||
# https://savannah.cern.ch/bugs/index.php?70542
|
||||
|
|
@ -1073,10 +1066,10 @@ fi
|
|||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p0
|
||||
%patch11 -p0
|
||||
#%patch8 -p1
|
||||
#%patch9 -p1
|
||||
#%patch10 -p0
|
||||
#%patch11 -p0
|
||||
|
||||
find . '(' -name '*.cxx' -o -name '*.cpp' -o -name '*.C' -o -name '*.c' -o \
|
||||
-name '*.h' -o -name '*.hh' -o -name '*.hi' -o -name '*.py' -o \
|
||||
|
|
@ -2196,8 +2189,7 @@ fi
|
|||
%{_datadir}/%{name}/plugins/TApplication/P020_TApplicationServer.C
|
||||
%{_datadir}/%{name}/plugins/TFile/P010_TWebFile.C
|
||||
%{_datadir}/%{name}/plugins/TFile/P120_TNetFile.C
|
||||
%{_datadir}/%{name}/plugins/TFile/P130_TAS3File.C
|
||||
%{_datadir}/%{name}/plugins/TFile/P140_TGSFile.C
|
||||
%{_datadir}/%{name}/plugins/TFile/P150_TS3WebFile.C
|
||||
%{_datadir}/%{name}/plugins/TFileStager/P020_TNetFileStager.C
|
||||
%{_datadir}/%{name}/plugins/TSystem/P050_TWebSystem.C
|
||||
%{_datadir}/%{name}/plugins/TSystem/P070_TNetSystem.C
|
||||
|
|
@ -2337,6 +2329,11 @@ fi
|
|||
%{emacs_lispdir}/root/*.el
|
||||
|
||||
%changelog
|
||||
* Sat Apr 27 2013 Mattias Ellert <mattias.ellert@fysast.uu.se> - 5.34.06-1
|
||||
- Update to 5.34.06
|
||||
- Drop patches root-gviz.patch, root-ruby-version.patch,
|
||||
root-rev48681.patch and root-rev48831.patch
|
||||
|
||||
* Wed Mar 20 2013 Mattias Ellert <mattias.ellert@fysast.uu.se> - 5.34.05-2
|
||||
- Rebuild for ruby 2.0
|
||||
- Rebuild for cfitsio 3.330
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
0dd415d539f5bb8ec21c9f49b2f9c5fd root-5.34.05.tar.gz
|
||||
16c6a60c4a5361cf7ee6dfa4598dd3e8 root-5.34.06.tar.gz
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue