bicatali 15/07/31 20:09:57 Added: cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch cvmfs-2.1.20.0_p05-cares-underlink.patch Removed: FindCARes.cmake cvmfs-2.1.10-no-config.patch Findleveldb.cmake cvmfs-2.1.10-openrc.patch Log: Version bump, add geoip dependencies (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 0x13CB1360)
Revision Changes Path 1.1 net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch?rev=1.1&content-type=text/plain Index: cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch =================================================================== --- /dev/null +++ cmake/Modules/FindLibGeoIP.cmake @@ -0,0 +1,68 @@ +# - Try to find GeoIP headers and libraries +# +# Usage of this module as follows: +# +# find_package(LibGeoIP) +# +# Variables used by this module, they can change the default behaviour and need +# to be set before calling find_package: +# +# LibGeoIP_ROOT_DIR Set this variable to the root installation of +# libGeoIP if the module has problems finding the +# proper installation path. +# +# Variables defined by this module: +# +# LIBGEOIP_FOUND System has GeoIP libraries and headers +# LibGeoIP_LIBRARY The GeoIP library +# LibGeoIP_INCLUDE_DIR The location of GeoIP headers +# HAVE_GEOIP_COUNTRY_EDITION_V6 Whether the API support IPv6 country edition +# HAVE_GEOIP_CITY_EDITION_REV0_V6 Whether the API supports IPv6 city edition + +find_path(LibGeoIP_ROOT_DIR + NAMES include/GeoIPCity.h +) + +if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + # the static version of the library is preferred on OS X for the + # purposes of making packages (libGeoIP doesn't ship w/ OS X) + set(libgeoip_names libGeoIp.a GeoIP) +else () + set(libgeoip_names GeoIP) +endif () + +find_library(LibGeoIP_LIBRARY + NAMES ${libgeoip_names} + HINTS ${LibGeoIP_ROOT_DIR}/lib +) + +find_path(LibGeoIP_INCLUDE_DIR + NAMES GeoIPCity.h + HINTS ${LibGeoIP_ROOT_DIR}/include +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(LibGeoIP DEFAULT_MSG + LibGeoIP_LIBRARY + LibGeoIP_INCLUDE_DIR +) + +if (LIBGEOIP_FOUND) + include(CheckCXXSourceCompiles) + set(CMAKE_REQUIRED_INCLUDES ${LibGeoIP_INCLUDE_DIR}) + check_cxx_source_compiles(" + #include <GeoIPCity.h> + int main() { GEOIP_COUNTRY_EDITION_V6; return 0; } + " HAVE_GEOIP_COUNTRY_EDITION_V6) + check_cxx_source_compiles(" + #include <GeoIPCity.h> + int main() { GEOIP_CITY_EDITION_REV0_V6; return 0; } + " HAVE_GEOIP_CITY_EDITION_REV0_V6) + set(CMAKE_REQUIRED_INCLUDES) +endif () + +mark_as_advanced( + LibGeoIP_ROOT_DIR + LibGeoIP_LIBRARY + LibGeoIP_INCLUDE_DIR +) \ No newline at end of file diff --git a/cmake/Modules/FindPythonModule.cmake b/cmake/Modules/FindPythonModule.cmake new file mode 100644 index 0000000..1a29315 --- /dev/null +++ cmake/Modules/FindPythonModule.cmake @@ -0,0 +1,24 @@ +# Find if a Python module is installed +# Found at http://www.cmake.org/pipermail/cmake/2011-January/041666.html +# To use do: find_python_module(PyQt4 REQUIRED) +function(find_python_module module) + string(TOUPPER ${module} module_upper) + if(NOT PYTHON_${module_upper}) + include (FindPythonInterp) + if(ARGC GREATER 1 AND ARGV1 STREQUAL "REQUIRED") + set(PY_${module}_FIND_REQUIRED TRUE) + endif() + # A module's location is usually a directory, but for binary modules + # it's a .so file. + execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" + "import re, ${module}; print(re.compile('/__init__.py.*').sub('',${module}.__file__))" + RESULT_VARIABLE _${module}_status + OUTPUT_VARIABLE _${module}_location + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(${_${module}_status} EQUAL 0) + set(PYTHON_${module_upper} ${_${module}_location} CACHE STRING "Location of Python module ${module}") + endif(${_${module}_status} EQUAL 0) + endif(NOT PYTHON_${module_upper}) + find_package_handle_standard_args(PY_${module} DEFAULT_MSG PYTHON_${module_upper}) +endfunction(find_python_module) \ No newline at end of file diff --git a/cvmfs/CMakeLists.txt b/cvmfs/CMakeLists.txt index cb09b94..44be85e 100644 --- cvmfs/CMakeLists.txt +++ cvmfs/CMakeLists.txt @@ -347,9 +347,9 @@ if (BUILD_SERVER) # create targets with corresponding sources and static link libraries add_executable (cvmfs_swissknife ${CVMFS_SWISSKNIFE_SOURCES}) add_executable (cvmfs_suid_helper ${CVMFS_SUID_HELPER_SOURCES}) - add_custom_target (geoip ALL) if (GEOIP_BUILTIN) + add_custom_target (geoip ALL) add_dependencies (python-geoip libgeoip) add_dependencies (geoip python-geoip) endif (GEOIP_BUILTIN) --- CMakeLists.txt.orig 2015-02-23 13:51:47.000000000 +0000 +++ CMakeLists.txt 2015-07-31 17:57:17.019920094 +0000 @@ -145,6 +145,12 @@ endif (EXISTS "${CMAKE_SOURCE_DIR}/bootstrap.sh") # +# include some common functionality +# +include (FindPythonModule) + + +# # set some default flags # # flags in CMAKE_C**_FLAGS are always passed to the compiler @@ -313,8 +319,8 @@ include (${LIBGEOIP_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt) include (${PYTHON_GEOIP_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt) else (GEOIP_BUILTIN) - find_package (GeoIP REQUIRED) - find_package (python-GeoIP REQUIRED) + find_package (LibGeoIP REQUIRED) + find_python_module (GeoIP REQUIRED) endif (GEOIP_BUILTIN) # required libraries for client and libcvmfs 1.1 net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch?rev=1.1&content-type=text/plain Index: cvmfs-2.1.20.0_p05-cares-underlink.patch =================================================================== diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/cmake/Modules/FindCARES.cmake cvmfs-cvmfs-2.1.20.0-fix05/cmake/Modules/FindCARES.cmake --- cvmfs-cvmfs-2.1.20.0-fix05.orig/cmake/Modules/FindCARES.cmake 1970-01-01 00:00:00.000000000 +0000 +++ cvmfs-cvmfs-2.1.20.0-fix05/cmake/Modules/FindCARES.cmake 2015-07-31 18:35:05.859879354 +0000 @@ -0,0 +1,35 @@ +# +# $Id: cvmfs-2.1.20.0_p05-cares-underlink.patch,v 1.1 2015/07/31 20:09:57 bicatali Exp $ +# +# - Find cares +# Find the native CARES includes and library +# +# CARES_INCLUDE_DIRS - where to find cares.h, etc. +# CARES_LIBRARIES - List of libraries when using cares. +# CARES_FOUND - True if cares found. + + +IF (CARES_INCLUDE_DIRS) + # Already in cache, be silent + SET(CARES_FIND_QUIETLY TRUE) +ENDIF (CARES_INCLUDE_DIRS) + +FIND_PATH(CARES_INCLUDE_DIR ares.h) + +SET(CARES_NAMES cares) +FIND_LIBRARY(CARES_LIBRARY NAMES ${CARES_NAMES} ) + +# handle the QUIETLY and REQUIRED arguments and set CARES_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(CARES DEFAULT_MSG CARES_LIBRARY CARES_INCLUDE_DIR) + +IF(CARES_FOUND) + SET( CARES_LIBRARIES ${CARES_LIBRARY} ) + SET( CARES_INCLUDE_DIRS ${CARES_INCLUDE_DIR} ) +ELSE(CARES_FOUND) + SET( CARES_LIBRARIES ) + SET( CARES_INCLUDE_DIRS ) +ENDIF(CARES_FOUND) + +MARK_AS_ADVANCED( CARES_LIBRARIES CARES_INCLUDE_DIRS ) diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/CMakeLists.txt cvmfs-cvmfs-2.1.20.0-fix05/CMakeLists.txt --- cvmfs-cvmfs-2.1.20.0-fix05.orig/CMakeLists.txt 2015-02-23 13:51:47.000000000 +0000 +++ cvmfs-cvmfs-2.1.20.0-fix05/CMakeLists.txt 2015-07-31 18:32:34.259882076 +0000 @@ -252,9 +252,12 @@ include (${CARES_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt) include (${LIBCURL_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt) set (CURL_LIBRARIES "") + set (CARES_LIBRARIES "") else (LIBCURL_BUILTIN) find_package (CURL REQUIRED) + find_package (CARES REQUIRED) set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${CURL_INCLUDE_DIRS}) + set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${CARES_INCLUDE_DIRS}) if (CURL_INCLUDE_DIRS) find_program(CURL_CONFIG_EXEC NAMES curl-config) if (CURL_CONFIG_EXEC) diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/cvmfs/CMakeLists.txt cvmfs-cvmfs-2.1.20.0-fix05/cvmfs/CMakeLists.txt --- cvmfs-cvmfs-2.1.20.0-fix05.orig/cvmfs/CMakeLists.txt 2015-02-23 13:51:47.000000000 +0000 +++ cvmfs-cvmfs-2.1.20.0-fix05/cvmfs/CMakeLists.txt 2015-07-31 18:34:36.789879876 +0000 @@ -271,7 +271,7 @@ set_target_properties (cvmfs_fuse_debug PROPERTIES VERSION ${CernVM-FS_VERSION_STRING}) # link the stuff (*_LIBRARIES are dynamic link libraries *_archive are static link libraries ... one of them will be empty for each dependency) - set (CVMFS_FUSE_LINK_LIBRARIES ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${LEVELDB_LIBRARIES} ${OPENSSL_LIBRARIES} ${FUSE_LIBRARIES} ${LIBFUSE_ARCHIVE} ${SQLITE3_ARCHIVE} ${LIBCURL_ARCHIVE} ${PACPARSER_ARCHIVE} ${LEVELDB_ARCHIVE} ${CARES_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl) + set (CVMFS_FUSE_LINK_LIBRARIES ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${LEVELDB_LIBRARIES} ${OPENSSL_LIBRARIES} ${FUSE_LIBRARIES} ${LIBFUSE_ARCHIVE} ${SQLITE3_ARCHIVE} ${LIBCURL_ARCHIVE} ${PACPARSER_ARCHIVE} ${LEVELDB_ARCHIVE} ${CARES_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl) target_link_libraries (cvmfs2 ${CVMFS_LOADER_LIBS} ${OPENSSL_LIBRARIES} ${LIBFUSE} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl) target_link_libraries (cvmfs_fuse_debug ${CVMFS2_DEBUG_LIBS} ${CVMFS_FUSE_LINK_LIBRARIES}) @@ -331,7 +331,7 @@ add_dependencies (libcvmfs cvmfs_only) add_executable( test_libcvmfs ${TEST_LIBCVMFS_SOURCES} ) - target_link_libraries( test_libcvmfs ${CMAKE_CURRENT_BINARY_DIR}/libcvmfs.a ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl ) + target_link_libraries( test_libcvmfs ${CMAKE_CURRENT_BINARY_DIR}/libcvmfs.a ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl ) add_dependencies (test_libcvmfs libcvmfs) endif (BUILD_LIBCVMFS) @@ -371,7 +371,7 @@ set_target_properties (cvmfs_swissknife PROPERTIES COMPILE_FLAGS "${CVMFS_SWISSKNIFE_CFLAGS}" LINK_FLAGS "${CVMFS_SWISSKNIFE_LD_FLAGS}") # link the stuff (*_LIBRARIES are dynamic link libraries) - target_link_libraries (cvmfs_swissknife ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${TBB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl) + target_link_libraries (cvmfs_swissknife ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${TBB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl) if (BUILD_SERVER_DEBUG) add_executable (cvmfs_swissknife_debug ${CVMFS_SWISSKNIFE_DEBUG_SOURCES}) @@ -399,7 +399,7 @@ message (WARNING "Debug libraries of TBB were not found. Using the release versions instead.") set (TBB_DEBUG_LIBRARIES ${TBB_LIBRARIES}) endif (NOT TBB_DEBUG_LIBRARIES) - target_link_libraries (cvmfs_swissknife_debug ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${TBB_DEBUG_LIBRARIES} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl) + target_link_libraries (cvmfs_swissknife_debug ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${TBB_DEBUG_LIBRARIES} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl) endif (BUILD_SERVER_DEBUG) endif (BUILD_SERVER) diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/cvmfs/CMakeLists.txt cvmfs-cvmfs-2.1.20.0-fix05/cvmfs/CMakeLists.txt --- cvmfs-cvmfs-2.1.20.0-fix05.orig/test/unittests/CMakeLists.txt.orig 2015-07-31 19:03:06.829849170 +0000 +++ cvmfs-cvmfs-2.1.20.0-fix05/test/unittests/CMakeLists.txt 2015-07-31 19:03:36.459848638 +0000 @@ -212,7 +212,7 @@ endif (BUILD_UNITTESTS_DEBUG) # link the stuff (*_LIBRARIES are dynamic link libraries) -set (UNITTEST_LINK_LIBRARIES ${GTEST_LIBRARIES} ${GOOGLETEST_ARCHIVE} ${OPENSSL_LIBRARIES} +set (UNITTEST_LINK_LIBRARIES ${GTEST_LIBRARIES} ${GOOGLETEST_ARCHIVE} ${OPENSSL_LIBRARIES} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_LIBRARY} ${SQLITE3_ARCHIVE} ${TBB_LIBRARIES} ${ZLIB_LIBRARIES} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${UUID_LIBRARIES}