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}