From f6a6605923a1d7819888d68dc37450aa57509ec8 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Feb 26 2016 14:59:11 +0000 Subject: Update to version 4.3.0 - Drop patches accected upstream or that were previously backported: xrootd-selinux.patch, xrootd-pth-cancel.patch, xrootd-link.patch, xrootd-c++11.patch, xrootd-doxygen.patch, xrootd-autoptr.patch, xrootd-indent.patch, xrootd-throw-dtor.patch and xrootd-sockaddr.patch --- diff --git a/sources b/sources index ceba6bc..9f652fc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7b04ae82684e165bf57d05cfe7e7e33d xrootd-4.2.3.tar.gz +39c2fab9f632f35e12ff607ccaf9e16c xrootd-4.3.0.tar.gz diff --git a/xrootd-autoptr.patch b/xrootd-autoptr.patch deleted file mode 100644 index d734655..0000000 --- a/xrootd-autoptr.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/XrdClient/XrdClientSock.cc b/src/XrdClient/XrdClientSock.cc -index 9aac778..8d8b290 100644 ---- a/src/XrdClient/XrdClientSock.cc -+++ b/src/XrdClient/XrdClientSock.cc -@@ -61,6 +61,12 @@ - #include - #endif - -+#if __cplusplus >= 201103L -+#define XRDCL_SMART_PTR_T std::unique_ptr -+#else -+#define XRDCL_SMART_PTR_T std::auto_ptr -+#endif -+ - //_____________________________________________________________________________ - XrdClientSock::XrdClientSock(XrdClientUrlInfo Host, int windowsize, int fd) - { -@@ -400,7 +406,7 @@ int XrdClientSock::TryConnect_low(bool isUnix, int altport, int windowsz) - Info(XrdClientDebug::kHIDEBUG, "ClientSock::TryConnect_low", "Trying SOCKS4 host " << - host << ":" << port); - -- std::auto_ptr s(new XrdNetSocket()); -+ XRDCL_SMART_PTR_T s(new XrdNetSocket()); - - // Log the attempt - // diff --git a/xrootd-c++11.patch b/xrootd-c++11.patch deleted file mode 100644 index 512e155..0000000 --- a/xrootd-c++11.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/XrdCeph.cmake b/src/XrdCeph.cmake -index ace2f59..b692b90 100644 ---- a/src/XrdCeph.cmake -+++ b/src/XrdCeph.cmake -@@ -18,7 +18,15 @@ add_library( - # needed during the transition between ceph giant and ceph hammer - # for object listing API - set_property(SOURCE XrdCeph/XrdCephPosix.cc -- PROPERTY COMPILE_FLAGS " -Wno-deprecated-declarations") -+ PROPERTY COMPILE_FLAGS " -Wno-deprecated-declarations") -+ -+# needed for librados when as C++11 is enabled -+include(CheckCXXCompilerFlag) -+CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) -+IF (COMPILER_SUPPORTS_CXX11) -+ set_property(SOURCE XrdCeph/XrdCephPosix.cc APPEND_STRING -+ PROPERTY COMPILE_FLAGS " -std=c++11") -+ENDIF() - - target_link_libraries( - XrdCephPosix -diff --git a/src/XrdCeph/XrdCephPosix.cc b/src/XrdCeph/XrdCephPosix.cc -index 99bacef..644490c 100644 ---- a/src/XrdCeph/XrdCephPosix.cc -+++ b/src/XrdCeph/XrdCephPosix.cc -@@ -220,15 +220,15 @@ static int fillCephStripeUnit(const std::string ¶ms, unsigned int offset, Xr - if (NULL != env) { - char* cStripeUnit = env->Get("cephStripeUnit"); - if (0 != cStripeUnit) { -- file.stripeUnit = stoull(cStripeUnit); -+ file.stripeUnit = ::stoull(cStripeUnit); - } - } - } else { -- file.stripeUnit = stoull(params.substr(offset)); -+ file.stripeUnit = ::stoull(params.substr(offset)); - } - return params.size(); - } else { -- file.stripeUnit = stoull(params.substr(offset, comPos-offset)); -+ file.stripeUnit = ::stoull(params.substr(offset, comPos-offset)); - return comPos+1; - } - } -@@ -244,11 +244,11 @@ static void fillCephObjectSize(const std::string ¶ms, unsigned int offset, X - if (NULL != env) { - char* cObjectSize = env->Get("cephObjectSize"); - if (0 != cObjectSize) { -- file.objectSize = stoull(cObjectSize); -+ file.objectSize = ::stoull(cObjectSize); - } - } - } else { -- file.objectSize = stoull(params.substr(offset)); -+ file.objectSize = ::stoull(params.substr(offset)); - } - } - diff --git a/xrootd-doxygen.patch b/xrootd-doxygen.patch deleted file mode 100644 index fd625b8..0000000 --- a/xrootd-doxygen.patch +++ /dev/null @@ -1,446 +0,0 @@ -diff --git a/src/Xrd/XrdLink.hh b/src/Xrd/XrdLink.hh -index 1f1c569..05569d3 100644 ---- a/src/Xrd/XrdLink.hh -+++ b/src/Xrd/XrdLink.hh -@@ -81,7 +81,7 @@ XrdNetAddrInfo *AddrInfo() {return (XrdNetAddrInfo *)&Addr;} - //! Allocate a new link object. - //! - //! @param peer The connection information for the endpoint. --//! opts Processing options: -+//! @param opts Processing options: - //! XRDLINK_NOCLOSE - do not close the FD upon recycling. - //! XRDLINK_RDLOCK - obtain a lock prior to reading data. - //! -diff --git a/src/XrdCks/XrdCks.hh b/src/XrdCks/XrdCks.hh -index 9dc51ce..b036d13 100644 ---- a/src/XrdCks/XrdCks.hh -+++ b/src/XrdCks/XrdCks.hh -@@ -56,7 +56,7 @@ public: - //! @param Pfn The physical name of the file to be checksumed. - //! @param Cks For input, it specifies the checksum algorithm to be used. - //! For output, the checksum value is returned upon success. --//! @param doset When true, the new value must replace any existing value -+//! @param doSet When true, the new value must replace any existing value - //! in the Pfn's extended file attributes. - //! - //! @return Success: zero with Cks structure holding the checksum value. -@@ -168,7 +168,7 @@ XrdCksCalc *Object(const char *name) - //------------------------------------------------------------------------------ - //! Get the binary length of the checksum with the corresponding name. - //! --//! @param name. The checksum algorithm name. If null, use the default name. -+//! @param Name The checksum algorithm name. If null, use the default name. - //! - //! @return Success: checksum length. - //! Failure: Zero if the checksum name does not exist. -diff --git a/src/XrdCl/XrdClCopyProcess.hh b/src/XrdCl/XrdClCopyProcess.hh -index f297226..d853e15 100644 ---- a/src/XrdCl/XrdClCopyProcess.hh -+++ b/src/XrdCl/XrdClCopyProcess.hh -@@ -62,6 +62,7 @@ namespace XrdCl - //------------------------------------------------------------------------ - //! Notify when the previous job has finished - //! -+ //! @param jobNum job number - //! @param result result of the job - //------------------------------------------------------------------------ - virtual void EndJob( uint16_t jobNum, -@@ -73,6 +74,7 @@ namespace XrdCl - //------------------------------------------------------------------------ - //! Notify about the progress of the current job - //! -+ //! @param jobNum job number - //! @param bytesProcessed bytes processed by the current job - //! @param bytesTotal total number of bytes to be processed by the - //! current job -diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh -index 5332ae4..0ea025c 100644 ---- a/src/XrdCl/XrdClMonitor.hh -+++ b/src/XrdCl/XrdClMonitor.hh -@@ -73,7 +73,7 @@ namespace XrdCl - sTOD.tv_sec = 0; sTOD.tv_usec = 0; - eTOD.tv_sec = 0; eTOD.tv_usec = 0; - } -- std::string server; //!< user@host:port -+ std::string server; //!< user\@host:port - std::string auth; //!< authentication protocol used or empty if none - timeval sTOD; //!< gettimeofday() when login started - timeval eTOD; //!< gettimeofday() when login ended -@@ -87,7 +87,7 @@ namespace XrdCl - { - DisconnectInfo(): rBytes(0), sBytes(0), cTime(0) - {} -- std::string server; //!< user@host:port -+ std::string server; //!< user\@host:port - uint64_t rBytes; //!< Number of bytes received - uint64_t sBytes; //!< Number of bytes sent - time_t cTime; //!< Seconds connected to the server -@@ -195,7 +195,7 @@ namespace XrdCl - { - CheckSumInfo(): oTime(0), tTime(0), isOK(false) {} - TransferInfo transfer; //!< The transfer in question -- std::string cksum; //!< Checksum as : -+ std::string cksum; //!< Checksum as \:\ - uint64_t oTime; //!< Microseconds to obtain cksum from origin - uint64_t tTime; //!< Microseconds to obtain cksum from target - bool isOK; //!< True if checksum matched, false otherwise -@@ -221,8 +221,8 @@ namespace XrdCl - //------------------------------------------------------------------------ - //! Inform the monitor of an event. - //! -- //! @parm evCode is the event that occurred (see enum evNum) -- //! @parm evInfo is the event information structure describing the event -+ //! @param evCode is the event that occurred (see enum evNum) -+ //! @param evData is the event information structure describing the event - //! it is cast to (void *) so that one method can be used - //! and should be recast to the correct corresponding struct - //------------------------------------------------------------------------ -diff --git a/src/XrdCl/XrdClPostMaster.hh b/src/XrdCl/XrdClPostMaster.hh -index 2e15be1..ed8e179 100644 ---- a/src/XrdCl/XrdClPostMaster.hh -+++ b/src/XrdCl/XrdClPostMaster.hh -@@ -86,7 +86,7 @@ namespace XrdCl - //! - //! @param url recipient of the message - //! @param msg message to be sent -- //! @param statful physical stream disconnection causes an error -+ //! @param stateful physical stream disconnection causes an error - //! @param expires unix timestamp after which a failure should be - //! reported if sending was unsuccessful - //! @return success if the message has been pushed through the wire, -diff --git a/src/XrdCl/XrdClXRootDResponses.hh b/src/XrdCl/XrdClXRootDResponses.hh -index 5ae1ec4..4543be5 100644 ---- a/src/XrdCl/XrdClXRootDResponses.hh -+++ b/src/XrdCl/XrdClXRootDResponses.hh -@@ -841,7 +841,7 @@ namespace XrdCl - //! @param status status of the request - //! @param response an object associated with the response - //! (request dependent) -- //! @param urlList list of hosts the request was redirected to -+ //! @param hostList list of hosts the request was redirected to - //------------------------------------------------------------------------ - virtual void HandleResponseWithHosts( XRootDStatus *status, - AnyObject *response, -diff --git a/src/XrdClient/XrdClientAbs.hh b/src/XrdClient/XrdClientAbs.hh -index a83a868..67a0b63 100644 ---- a/src/XrdClient/XrdClientAbs.hh -+++ b/src/XrdClient/XrdClientAbs.hh -@@ -99,12 +99,16 @@ public: - - // Asks for the value of some parameter - //--------------------------------------------------------------------------- -+ //! @param ReqCode request code -+ //! @param Args arguments - //! @param Resp a prealocated buffer - //! @param MaxResplen size of the buffer - //--------------------------------------------------------------------------- - bool Query(kXR_int16 ReqCode, const kXR_char *Args, kXR_char *Resp, kXR_int32 MaxResplen); - - //--------------------------------------------------------------------------- -+ //! @param ReqCode request code -+ //! @param Args arguments - //! @param Resp pointer to a preallocated buffer or a pointer to 0 if a - //! sufficiently large buffer should be allocated automagically, - //! in which case the buffer needs to be freed with free() -diff --git a/src/XrdCms/XrdCmsClient.hh b/src/XrdCms/XrdCmsClient.hh -index 220e75f..2c7c209 100644 ---- a/src/XrdCms/XrdCmsClient.hh -+++ b/src/XrdCms/XrdCmsClient.hh -@@ -159,6 +159,7 @@ virtual int Configure(const char *cfn, char *Parms, XrdOucEnv *EnvInfo) = 0; - //! @param Env2 Associated environmental information for arg2 (e.g., cgi info - //! which can be retrieved by Env1->Env()). - //! -+//! - //! cmd arg1 arg2 cmd arg1 arg2 - //! -------- ------ ------ -------- ------ ------ - //! [+]chmod [+]rmdir 0 -@@ -166,7 +167,7 @@ virtual int Configure(const char *cfn, char *Parms, XrdOucEnv *EnvInfo) = 0; - //! [+]mkpath [+]trunc - //! [+]rm 0 - //! --//! @Return: As explained under "return conventions". -+//! @return As explained under "return conventions". - //------------------------------------------------------------------------------ - - virtual int Forward(XrdOucErrInfo &Resp, const char *cmd, -diff --git a/src/XrdFileCache/XrdFileCacheDecision.hh b/src/XrdFileCache/XrdFileCacheDecision.hh -index b59bf8d..d85b07a 100644 ---- a/src/XrdFileCache/XrdFileCacheDecision.hh -+++ b/src/XrdFileCache/XrdFileCacheDecision.hh -@@ -51,11 +51,11 @@ namespace XrdFileCache - //------------------------------------------------------------------------------ - //! Parse configuration arguments. - //! -- //! @param char* configuration parameters -+ //! @param params configuration parameters - //! - //! @return status of configuration - //------------------------------------------------------------------------------ -- virtual bool ConfigDecision(const char*) { return true; } -+ virtual bool ConfigDecision(const char* params) { return true; } - }; - } - -diff --git a/src/XrdOss/XrdOssStatInfo.hh b/src/XrdOss/XrdOssStatInfo.hh -index 019d6a6..1fe4857 100644 ---- a/src/XrdOss/XrdOssStatInfo.hh -+++ b/src/XrdOss/XrdOssStatInfo.hh -@@ -108,7 +108,7 @@ typedef int (*XrdOssStatInfo2_t)(const char *path, struct stat *buff, - - An alternate entry point may be defined in lieu of the previous entry point. - This normally identified by a version option in the configuration file (e.g. -- oss.statlib -2 ). It differs in that an extra parameter is passed and -+ oss.statlib -2 \). It differs in that an extra parameter is passed and - if returns a function that accepts an extra parameter. - - @param envP - Pointer to the environment containing implementation -@@ -128,10 +128,10 @@ typedef int (*XrdOssStatInfo2_t)(const char *path, struct stat *buff, - //! your plug-in. Include the code shown below at file level in your source. - //------------------------------------------------------------------------------ - --/*! #include "XrdVersion.hh" -- XrdVERSIONINFO(XrdOssStatInfoInit,); -+/*! #include "XrdVersion.hh" -+ XrdVERSIONINFO(XrdOssStatInfoInit,); - -- where is a 1- to 15-character unquoted name identifying your plugin. -+ where \ is a 1- to 15-character unquoted name identifying your plugin. - */ - - //------------------------------------------------------------------------------ -diff --git a/src/XrdOuc/XrdOucErrInfo.hh b/src/XrdOuc/XrdOucErrInfo.hh -index e08caf5..6f873ed 100644 ---- a/src/XrdOuc/XrdOucErrInfo.hh -+++ b/src/XrdOuc/XrdOucErrInfo.hh -@@ -239,6 +239,7 @@ inline XrdOucEICB *getErrCB(unsigned long long &ap) - - inline int getErrInfo() {return ErrInfo.code;} - -+/* - //----------------------------------------------------------------------------- - //! Get a copy of the error information. - //! -@@ -246,7 +247,6 @@ inline int getErrInfo() {return ErrInfo.code;} - //! - //! @return The error code that was previously set. - //----------------------------------------------------------------------------- --/* - inline int getErrInfo(XrdOucEI &errParm) - {errParm = ErrInfo; return ErrInfo.code;} - */ -@@ -439,7 +439,7 @@ inline void setUCap(int ucval) {ErrInfo.ucap = ucval;} - //! Constructor - //! - //! @param user - Pointer to he user string in stable storage. --//! @param MonId - The monitoring identifier. -+//! @param MonID - The monitoring identifier. - //! @param uc - The user capabilities. - //----------------------------------------------------------------------------- - -@@ -494,7 +494,7 @@ public: - //! function after the actual callback message is sent. This - //! allows the callback requestor to do post-processing and be - //! asynchronous being assured that the callback completed. --//! Path - Optionally, the path related to thid request. It is used -+//! @param Path - Optionally, the path related to thid request. It is used - //! for tracing and detailed monitoring purposes. - //----------------------------------------------------------------------------- - -diff --git a/src/XrdPosix/XrdPosixXrootd.hh b/src/XrdPosix/XrdPosixXrootd.hh -index 1fde8ab..3ce4bb0 100644 ---- a/src/XrdPosix/XrdPosixXrootd.hh -+++ b/src/XrdPosix/XrdPosixXrootd.hh -@@ -85,7 +85,7 @@ static int Closedir(DIR *dirp); - //! endPoint() is a POSIX extension and returns the location of an open file. - //! - //! @param FD File descriptor of an open file in question. --//! @param Buff Pointer to the buffer to receive ':' of the server. -+//! @param Buff Pointer to the buffer to receive '\:\' of the server. - //! @param Blen Size of the buffer, it must be big enough for the result. - //! - //! @return >= 0 The numeric port number of the data server. -diff --git a/src/XrdSec/XrdSecInterface.hh b/src/XrdSec/XrdSecInterface.hh -index 6e144cb..83a5c95 100644 ---- a/src/XrdSec/XrdSecInterface.hh -+++ b/src/XrdSec/XrdSecInterface.hh -@@ -190,9 +190,9 @@ virtual XrdSecCredentials *getCredentials(XrdSecParameters *parm=0, - //! The caller is responsible for deleting the returned object. - //------------------------------------------------------------------------------ - --virtual int Encrypt(const char * /*inbuff*/, // Data to be encrypted -- int /*inlen*/, // Length of data in inbuff -- XrdSecBuffer ** /*outbuff*/ // Returns encrypted data -+virtual int Encrypt(const char *inbuff, // Data to be encrypted -+ int inlen, // Length of data in inbuff -+ XrdSecBuffer **outbuff // Returns encrypted data - ) {return -ENOTSUP;} - - //------------------------------------------------------------------------------ -@@ -207,9 +207,9 @@ virtual int Encrypt(const char * /*inbuff*/, // Data to be encrypted - //! The caller is responsible for deleting the returned object. - //------------------------------------------------------------------------------ - --virtual int Decrypt(const char * /*inbuff*/, // Data to be decrypted -- int /*inlen*/, // Length of data in inbuff -- XrdSecBuffer ** /*outbuff*/ // Buffer for decrypted data -+virtual int Decrypt(const char *inbuff, // Data to be decrypted -+ int inlen, // Length of data in inbuff -+ XrdSecBuffer **outbuff // Buffer for decrypted data - ) {return -ENOTSUP;} - - //------------------------------------------------------------------------------ -@@ -224,9 +224,9 @@ virtual int Decrypt(const char * /*inbuff*/, // Data to be decrypted - //! The caller is responsible for deleting the returned object. - //------------------------------------------------------------------------------ - --virtual int Sign(const char * /*inbuff*/, // Data to be signed -- int /*inlen*/, // Length of data in inbuff -- XrdSecBuffer ** /*outbuff*/ // Buffer for the signature -+virtual int Sign(const char *inbuff, // Data to be signed -+ int inlen, // Length of data in inbuff -+ XrdSecBuffer **outbuff // Buffer for the signature - ) {return -ENOTSUP;} - - //------------------------------------------------------------------------------ -@@ -242,10 +242,10 @@ virtual int Sign(const char * /*inbuff*/, // Data to be signed - //! > 0 Failed to verify, signature does not match inbuff data. - //------------------------------------------------------------------------------ - --virtual int Verify(const char * /*inbuff*/, // Data to be decrypted -- int /*inlen*/, // Length of data in inbuff -- const char * /*sigbuff*/, // Buffer for signature -- int /*siglen*/) // Length if signature -+virtual int Verify(const char *inbuff, // Data to be decrypted -+ int inlen, // Length of data in inbuff -+ const char *sigbuff, // Buffer for signature -+ int siglen) // Length if signature - {return -ENOTSUP;} - - //------------------------------------------------------------------------------ -@@ -261,7 +261,7 @@ virtual int Verify(const char * /*inbuff*/, // Data to be decrypted - //! - //------------------------------------------------------------------------------ - --virtual int getKey(char * /*buff*/=0, int /*size*/=0) {return -ENOTSUP;} -+virtual int getKey(char *buff = 0, int size = 0) {return -ENOTSUP;} - - //------------------------------------------------------------------------------ - //! Set the current encryption key -@@ -273,7 +273,7 @@ virtual int getKey(char * /*buff*/=0, int /*size*/=0) {return -ENOTSUP;} - //! = 0 The new key has been set. - //------------------------------------------------------------------------------ - --virtual int setKey(char * /*buff*/, int /*size*/) {return -ENOTSUP;} -+virtual int setKey(char *buff, int size) {return -ENOTSUP;} - - //------------------------------------------------------------------------------ - //! Delete the protocol object. DO NOT use C++ delete() on this object. -@@ -368,15 +368,17 @@ virtual ~XrdSecProtocol() {} - //! a client. - //! 2) This function must be thread-safe. - //! 3) Additionally, you *should* declare the xrootd version you used --//! to compile your plug-in using XrdVERSIONINFO where is -+//! to compile your plug-in using XrdVERSIONINFO where \ is - //! the 1- to 15-character unquoted name of your plugin. This is a - //! mandatory requirement! - //------------------------------------------------------------------------------ - --/*! #include "XrdVersion.hh" -- XrdVERSIONINFO(XrdSecProtocol

Object,); -+/*! Example: - -- extern "C" XrdSecProtocol *XrdSecProtocol

Object -+ #include "XrdVersion.hh" -+ XrdVERSIONINFO(XrdSecProtocol

Object,); -+ -+ extern "C" XrdSecProtocol *XrdSecProtocol

Object - (const char who, - const char *hostname, - XrdnetAddrInfo &endPoint, -@@ -428,7 +430,7 @@ virtual ~XrdSecProtocol() {} - //! 4) When replacing the default implementation with a plug-in the - //! extern "C" function below must exist in your shared library. - //! 5) Additionally, you *should* declare the xrootd version you used --//! to compile your plug-in using XrdVERSIONINFO where is -+//! to compile your plug-in using XrdVERSIONINFO where \ is - //! the 1- to 15-character unquoted name of your plugin. This is a - //! mandatory requirement! - //------------------------------------------------------------------------------ -@@ -442,11 +444,13 @@ typedef XrdSecProtocol *(*XrdSecGetProt_t)(const char *, - XrdSecParameters &, - XrdOucErrInfo *); - --/*! --#include "XrdVersion.hh" --XrdVERSIONINFO(XrdSecGetProtocol,); -+/*! Example: -+ -+ #include "XrdVersion.hh" -+ XrdVERSIONINFO(XrdSecGetProtocol,); - --extern "C" XrdSecProtocol *XrdSecGetProtocol(const char *hostname, -+ extern "C" XrdSecProtocol *XrdSecGetProtocol -+ (const char *hostname, - XrdNetAddrInfo &endPoint, - XrdSecParameters §oken, - XrdOucErrInfo *einfo=0) -@@ -555,7 +559,7 @@ virtual ~XrdSecService() {} - //! own plugin, the extern "C" function below must be defined in - //! your plugin shared library. - //! 3) Additionally, you *should* declare the xrootd version you used --//! to compile your plug-in using XrdVERSIONINFO where is -+//! to compile your plug-in using XrdVERSIONINFO where \ is - //! the 1- to 15-character unquoted name of your plugin. This is a - //! mandatory requirement! - //------------------------------------------------------------------------------ -@@ -568,10 +572,11 @@ virtual ~XrdSecService() {} - class XrdSysLogger; - typedef XrdSecService *(*XrdSecGetServ_t)(XrdSysLogger *, const char *); - --/*! --#include "XrdVersion.hh" --XrdVERSIONINFO(XrdSecgetService,); -+/*! Example: -+ -+ #include "XrdVersion.hh" -+ XrdVERSIONINFO(XrdSecgetService,); - --extern "C" XrdSecService *XrdSecgetService(XrdSysLogger *lp, const char *cfn) -+ extern "C" XrdSecService *XrdSecgetService(XrdSysLogger *lp, const char *cfn) - */ - #endif -diff --git a/src/XrdSys/XrdSysIOEvents.hh b/src/XrdSys/XrdSysIOEvents.hh -index 79abec3..8e5bc67 100644 ---- a/src/XrdSys/XrdSysIOEvents.hh -+++ b/src/XrdSys/XrdSysIOEvents.hh -@@ -251,7 +251,7 @@ enum EventCode {readEvents = 0x01, //!< Read and Read Timeouts - //! Get the callback object and argument associated with this channel. - //! - //! @param cbP Place where the pointer is to be returned. --//! @param caP Place where the callback argument is to be returned. -+//! @param cbArg Place where the callback argument is to be returned. - //----------------------------------------------------------------------------- - - void GetCallBack(CallBack **cbP, void **cbArg); -diff --git a/src/XrdSys/XrdSysLogger.hh b/src/XrdSys/XrdSysLogger.hh -index 18a0efc..97799d8 100644 ---- a/src/XrdSys/XrdSysLogger.hh -+++ b/src/XrdSys/XrdSysLogger.hh -@@ -54,7 +54,7 @@ public: - //----------------------------------------------------------------------------- - //! Constructor - //! --//! @param errFD is the filedescriptor of where error messages normally -+//! @param ErrFD is the filedescriptor of where error messages normally - //! go if this class is not used. Default is stderr. - //! @param xrotate when not zero performs internal log rotatation. Otherwise, - //! log rotation is suppressed. See also setRotate(). -@@ -146,7 +146,7 @@ int originalFD() {return baseFD;} - //! Parse the keep option argument. - //! - //! @param arg Pointer to the argument. The argument syntax is: --//! | | fifo | -+//! \ | \ | fifo | \ - //! - //! @return !0 Parsing succeeded. The return value is the argument that - //! must be passed as the lfh parameter to Bind(). diff --git a/xrootd-indent.patch b/xrootd-indent.patch deleted file mode 100644 index cb1b8de..0000000 --- a/xrootd-indent.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/XRootDOSDefs.cmake b/cmake/XRootDOSDefs.cmake -index 85f7583..81a654e 100644 ---- a/cmake/XRootDOSDefs.cmake -+++ b/cmake/XRootDOSDefs.cmake -@@ -24,6 +24,10 @@ if( CMAKE_COMPILER_IS_GNUCXX ) - AND GCC_VERSION VERSION_LESS 4.2 ) - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-strict-aliasing" ) - endif() -+ # gcc 6.0 is more pedantic -+ if( GCC_VERSION VERSION_GREATER 6.0 OR GCC_VERSION VERSION_EQUAL 6.0 ) -+ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=misleading-indentation" ) -+ endif() - endif() - - #------------------------------------------------------------------------------- diff --git a/xrootd-link.patch b/xrootd-link.patch deleted file mode 100644 index e403d25..0000000 --- a/xrootd-link.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ur xrootd-4.2.3.orig/src/XrdCeph.cmake xrootd-4.2.3/src/XrdCeph.cmake ---- xrootd-4.2.3.orig/src/XrdCeph.cmake 2015-09-02 11:48:29.000000000 +0200 -+++ xrootd-4.2.3/src/XrdCeph.cmake 2015-12-21 08:25:11.334476387 +0100 -@@ -22,6 +22,7 @@ - - target_link_libraries( - XrdCephPosix -+ XrdUtils - ${RADOS_LIBS} ) - - set_target_properties( diff --git a/xrootd-pth-cancel.patch b/xrootd-pth-cancel.patch deleted file mode 100644 index 360e0c3..0000000 --- a/xrootd-pth-cancel.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/XrdCl/XrdClUglyHacks.hh b/src/XrdCl/XrdClUglyHacks.hh -index 610841e..e5c32b0 100644 ---- a/src/XrdCl/XrdClUglyHacks.hh -+++ b/src/XrdCl/XrdClUglyHacks.hh -@@ -28,9 +28,15 @@ - #include "XrdSys/XrdSysLinuxSemaphore.hh" - #include "XrdSys/XrdSysPthread.hh" - -+#if defined(__GLIBC__) && defined(__GLIBC_MINOR__) -+#define USE_LIBC_SEMAPHORE (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 21)) // in libc >= 2.21 the semaphore problem has been fixed -+#else -+#define USE_LIBC_SEMAPHORE 0 -+#endif -+ - namespace XrdCl - { --#if defined(__linux__) && defined(HAVE_ATOMICS) -+#if defined(__linux__) && defined(HAVE_ATOMICS) && !USE_LIBC_SEMAPHORE - typedef XrdSys::LinuxSemaphore Semaphore; - #else - typedef XrdSysSemaphore Semaphore; diff --git a/xrootd-selinux.patch b/xrootd-selinux.patch deleted file mode 100644 index 9709b68..0000000 --- a/xrootd-selinux.patch +++ /dev/null @@ -1,53 +0,0 @@ -From b0a54330e206fbef5bd9b9be228e2929d866ab7a Mon Sep 17 00:00:00 2001 -From: Lukas Vrabec -Date: Fri, 31 Jul 2015 17:11:59 +0200 -Subject: [PATCH] Fix selinux policy for xrootd due to new SELinux change - https://fedoraproject.org/wiki/Changes/SELinuxPolicyStoreMigration - ---- - packaging/common/xrootd.te | 35 +++++++++++++++++++---------------- - 1 file changed, 19 insertions(+), 16 deletions(-) - -diff --git a/packaging/common/xrootd.te b/packaging/common/xrootd.te -index 5fa024c..3f47fad 100644 ---- a/packaging/common/xrootd.te -+++ b/packaging/common/xrootd.te -@@ -1,19 +1,22 @@ --module xrootd 4; -+policy_module(xrootd, 4) - --require { -- type logrotate_t; -- type var_log_t; -- type ptmx_t; -- type tmpfs_t; -- type devpts_t; -- class fifo_file { write open getattr }; -- class chr_file { open read write ioctl getattr }; -- class filesystem getattr; --} - - #============= logrotate_t ============== --allow logrotate_t var_log_t:fifo_file { write open getattr }; --allow logrotate_t ptmx_t:chr_file { open read write ioctl }; --allow logrotate_t tmpfs_t:filesystem getattr; --allow logrotate_t devpts_t:filesystem getattr; --allow logrotate_t devpts_t:chr_file { getattr open read write ioctl }; -+optional_policy(` -+ -+ gen_require(` -+ type logrotate_t; -+ type var_log_t; -+ type ptmx_t; -+ type tmpfs_t; -+ type devpts_t; -+ class fifo_file { write open getattr }; -+ class chr_file { open read write ioctl getattr }; -+ class filesystem getattr; -+ ') -+ allow logrotate_t var_log_t:fifo_file { write open getattr }; -+ allow logrotate_t ptmx_t:chr_file { open read write ioctl }; -+ allow logrotate_t tmpfs_t:filesystem getattr; -+ allow logrotate_t devpts_t:filesystem getattr; -+ allow logrotate_t devpts_t:chr_file { getattr open read write ioctl }; -+') diff --git a/xrootd-sockaddr.patch b/xrootd-sockaddr.patch deleted file mode 100644 index b661f6c..0000000 --- a/xrootd-sockaddr.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/src/XrdSys/XrdSysDNS.cc b/src/XrdSys/XrdSysDNS.cc -index 0dd1059..e36e99a 100644 ---- a/src/XrdSys/XrdSysDNS.cc -+++ b/src/XrdSys/XrdSysDNS.cc -@@ -184,7 +184,8 @@ int XrdSysDNS::getAddrName(const char *InetName, - - // The name - char *names[1] = {0}; -- int hn = getHostName((struct sockaddr &)ip[i], names, 1, errtxt); -+ struct sockaddr *ipaddr = (struct sockaddr *)&ip[i]; -+ int hn = getHostName(*ipaddr, names, 1, errtxt); - if (hn) - Name[i] = strdup(names[0]); - else -@@ -519,7 +520,8 @@ int XrdSysDNS::Host2Dest(const char *hostname, - - // Convert hostname to an ip address - // -- if (!getHostAddr(hbuff, (struct sockaddr &)InetAddr, errtxt)) return 0; -+ struct sockaddr *ip = (struct sockaddr *)&InetAddr; -+ if (!getHostAddr(hbuff, *ip, errtxt)) return 0; - - // Insert port number in address - // -@@ -547,7 +549,8 @@ int XrdSysDNS::Host2IP(const char *hname, unsigned int *ipaddr) - - // Convert hostname to an ascii ip address - // -- if (!getHostAddr(hname, (struct sockaddr &)InetAddr)) return 0; -+ struct sockaddr *ip = (struct sockaddr *)&InetAddr; -+ if (!getHostAddr(hname, *ip)) return 0; - if (ipaddr) memcpy(ipaddr, &InetAddr.sin_addr, sizeof(unsigned int)); - return 1; - } diff --git a/xrootd-throw-dtor.patch b/xrootd-throw-dtor.patch deleted file mode 100644 index ea763a1..0000000 --- a/xrootd-throw-dtor.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh -index 5132530..22a81d6 100644 ---- a/src/XrdSys/XrdSysPthread.hh -+++ b/src/XrdSys/XrdSysPthread.hh -@@ -119,9 +119,9 @@ inline void UnLock() {if (cnd) {cnd->UnLock(); cnd = 0;}} - {if (CndVar) CndVar->Lock(); - cnd = CndVar; - } -- XrdSysCondVarHelper(XrdSysCondVar &CndVar) { -- CndVar.Lock(); -- cnd = &CndVar; -+ XrdSysCondVarHelper(XrdSysCondVar &CndVar) -+ {CndVar.Lock(); -+ cnd = &CndVar; - } - - ~XrdSysCondVarHelper() {if (cnd) UnLock();} -@@ -204,9 +204,9 @@ inline void UnLock() {if (mtx) {mtx->UnLock(); mtx = 0;}} - {if (mutex) mutex->Lock(); - mtx = mutex; - } -- XrdSysMutexHelper(XrdSysMutex &mutex) { -- mutex.Lock(); -- mtx = &mutex; -+ XrdSysMutexHelper(XrdSysMutex &mutex) -+ {mutex.Lock(); -+ mtx = &mutex; - } - - ~XrdSysMutexHelper() {if (mtx) UnLock();} -@@ -350,11 +350,11 @@ inline void Wait() {while (sem_wait(&h_semaphore)) - - XrdSysSemaphore(int semval=1, const char * =0) - {if (sem_init(&h_semaphore, 0, semval)) -- {throw "sem_init() failed";} -+ {throw "sem_init() failed";} - } - ~XrdSysSemaphore() {if (sem_destroy(&h_semaphore)) -- {throw "sem_destroy() failed";} -- } -+ {abort();} -+ } - - private: - -diff --git a/src/XrdSys/XrdSysXSLock.cc b/src/XrdSys/XrdSysXSLock.cc -index 3a4df53..e8d0bc0 100644 ---- a/src/XrdSys/XrdSysXSLock.cc -+++ b/src/XrdSys/XrdSysXSLock.cc -@@ -43,7 +43,7 @@ XrdSysXSLock::~XrdSysXSLock() - LockContext.Lock(); - if (cur_count || shr_wait || exc_wait) - {LockContext.UnLock(); -- throw "XSLock_delete: Lock object is still active."; -+ abort(); - } - LockContext.UnLock(); - } diff --git a/xrootd.spec b/xrootd.spec index 173b962..dae7273 100644 --- a/xrootd.spec +++ b/xrootd.spec @@ -9,40 +9,18 @@ Name: xrootd Epoch: 1 -Version: 4.2.3 -Release: 6%{?dist} +Version: 4.3.0 +Release: 1%{?dist} Summary: Extended ROOT file server Group: System Environment/Daemons License: LGPLv3+ URL: http://xrootd.org/ Source0: http://xrootd.org/download/v%{version}/%{name}-%{version}.tar.gz -# https://github.com/xrootd/xrootd/pull/272 (rhbz 1249137) -Patch0: %{name}-selinux.patch -# https://github.com/xrootd/xrootd/pull/321 (rhbz 1278968) -Patch1: %{name}-pth-cancel.patch -# https://github.com/xrootd/xrootd/pull/322 -Patch2: %{name}-link.patch -# https://github.com/xrootd/xrootd/pull/318 -Patch3: %{name}-c++11.patch -# https://github.com/xrootd/xrootd/pull/323 -Patch4: %{name}-doxygen.patch -# Use std::unique_ptr instead of std::auto_ptr (c++11) -# (backport from upstream git) -Patch5: %{name}-autoptr.patch -# Don't treat misleading-indentation warnings as errors -# (backport from upstream git) -Patch6: %{name}-indent.patch -# https://github.com/xrootd/xrootd/pull/334 -Patch7: %{name}-throw-dtor.patch -# https://github.com/xrootd/xrootd/pull/336 -# Strict aliasing issues with struct sockaddr -Patch8: %{name}-sockaddr.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake BuildRequires: krb5-devel -BuildRequires: libevent-devel BuildRequires: libxml2-devel BuildRequires: ncurses-devel BuildRequires: openssl-devel @@ -257,15 +235,6 @@ This package contains the API documentation of the xrootd libraries. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 %if %{?fedora}%{!?fedora:0} <= 9 && %{?rhel}%{!?rhel:0} <= 5 # Older versions of SELinux do not have policy for open @@ -528,6 +497,7 @@ fi %{_libdir}/libXrdCrypto.so.* %{_libdir}/libXrdCryptoLite.so.* %{_libdir}/libXrdUtils.so.* +%{_libdir}/libXrdXml.so.* # Plugins %{_libdir}/libXrdCksCalczcrc32-4.so %{_libdir}/libXrdCryptossl-4.so @@ -544,11 +514,13 @@ fi %{_includedir}/%{name}/XrdOuc %{_includedir}/%{name}/XrdSec %{_includedir}/%{name}/XrdSys +%{_includedir}/%{name}/XrdXml %{_includedir}/%{name}/XrdVersion.hh %{_libdir}/libXrdAppUtils.so %{_libdir}/libXrdCrypto.so %{_libdir}/libXrdCryptoLite.so %{_libdir}/libXrdUtils.so +%{_libdir}/libXrdXml.so %files client-libs %{_libdir}/libXrdCl.so.* @@ -575,6 +547,7 @@ fi %files server-libs %{_libdir}/libXrdServer.so.* # Plugins +%{_libdir}/libXrdBlacklistDecision-4.so %{_libdir}/libXrdBwm-4.so %{_libdir}/libXrdFileCache-4.so %{_libdir}/libXrdHttp-4.so @@ -633,6 +606,13 @@ fi %doc %{_pkgdocdir} %changelog +* Fri Feb 26 2016 Mattias Ellert - 1:4.3.0-1 +- Update to version 4.3.0 +- Drop patches accected upstream or that were previously backported: + xrootd-selinux.patch, xrootd-pth-cancel.patch, xrootd-link.patch, + xrootd-c++11.patch, xrootd-doxygen.patch, xrootd-autoptr.patch, + xrootd-indent.patch, xrootd-throw-dtor.patch and xrootd-sockaddr.patch + * Wed Feb 17 2016 Mattias Ellert - 1:4.2.3-6 - Fix strict aliasing issues with struct sockaddr