commit:     004c7f243f47aa1c6e5a2bd61b1ff5f7efedc5f6
Author:     Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 11 21:37:04 2015 +0000
Commit:     Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
CommitDate: Tue Aug 11 21:37:04 2015 +0000
URL:        https://gitweb.gentoo.org/dev/bicatali.git/commit/?id=004c7f24

added net-fs/cvmfs

 net-fs/cvmfs/Manifest                              |   1 +
 net-fs/cvmfs/cvmfs-2.1.20.0_p05-r1.ebuild          | 151 +++++++++++++++++++++
 .../files/cvmfs-2.1.20.0_p05-cares-underlink.patch | 106 +++++++++++++++
 .../cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch   | 151 +++++++++++++++++++++
 .../cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch |  50 +++++++
 net-fs/cvmfs/metadata.xml                          |  23 ++++
 profiles/categories                                |   2 +
 7 files changed, 484 insertions(+)

diff --git a/net-fs/cvmfs/Manifest b/net-fs/cvmfs/Manifest
new file mode 100644
index 0000000..9785eac
--- /dev/null
+++ b/net-fs/cvmfs/Manifest
@@ -0,0 +1 @@
+DIST cvmfs-2.1.20.0-fix05.tar.gz 36877322 SHA256 
83d9358bebdd3987472ed602efb7b0d06b586216030e02bc100a363dc7bbfc20 SHA512 
95dc6d5e433630aecd45e15d59f831b4b1ccd8a439f799ae078a61bd6fd8e4dc10ae72d760352913c1d4d9e50cd5bc71ddd82b40b8b9b59d371d62aa7e62abf6
 WHIRLPOOL 
a9ab8500ddd31466df26c12fbcaf0403e748fc1d52c9b5eefa495bc1aaa1f1c67e5f679407d55143fe161f7de7be0d52284cb947a63ff0e0a3f63ade879bb21c

diff --git a/net-fs/cvmfs/cvmfs-2.1.20.0_p05-r1.ebuild 
b/net-fs/cvmfs/cvmfs-2.1.20.0_p05-r1.ebuild
new file mode 100644
index 0000000..a1fd03b
--- /dev/null
+++ b/net-fs/cvmfs/cvmfs-2.1.20.0_p05-r1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/cvmfs/cvmfs-2.1.20.0_p05.ebuild,v 
1.2 2015/08/07 19:00:39 bicatali Exp $
+
+EAPI=5
+
+inherit cmake-utils linux-info
+
+MYP=${PN}-${PV/_p/-fix}
+
+DESCRIPTION="HTTP read-only file system for distributing software"
+HOMEPAGE="http://cernvm.cern.ch/portal/filesystem";
+SRC_URI="https://github.com/cvmfs/${PN}/archive/${MYP}.tar.gz";
+
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="aufs +client debug doc test server"
+
+CDEPEND="
+       dev-cpp/gtest
+       dev-db/sqlite:3=
+       dev-libs/openssl:0
+       net-libs/pacparser:0=
+       net-misc/curl:0=[adns]
+       sys-apps/attr
+       sys-libs/zlib:0=
+       client? (
+               >=dev-cpp/sparsehash-1.12
+               dev-libs/leveldb:0=
+               sys-fs/fuse:0= )
+       server? (
+               >=dev-python/geoip-python-1.3.1
+               >=dev-cpp/tbb-4.3:0= )"
+
+RDEPEND="${CDEPEND}
+       client? ( net-fs/autofs )
+       aufs? (
+               || (
+                       sys-fs/aufs3
+                       sys-fs/aufs4
+                       sys-kernel/aufs-sources
+               )
+       )"
+
+DEPEND="${CDEPEND}
+       virtual/pkgconfig
+       doc? ( app-doc/doxygen[dot] )"
+
+S="${WORKDIR}/${PN}-${MYP}"
+
+pkg_setup() {
+       if use server; then
+               if use aufs; then
+                       CONFIG_CHECK="
+                       ~AUFS_FS
+                       ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
+               "
+                       ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if 
and only if aufs-sources are used"
+               else
+                       CONFIG_CHECK="~OVERLAY_FS"
+               fi
+               linux-info_pkg_setup
+       fi
+}
+
+PATCHES=(
+       "${FILESDIR}"/${P}-geoip-missing-cmake.patch
+       "${FILESDIR}"/${P}-cares-underlink.patch
+       "${FILESDIR}"/${P}-overlayfs.patch
+)
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       # gentoo stuff
+       sed -i -e 's/COPYING//' CMakeLists.txt || die
+       rm bootstrap.sh || die
+       sed -i \
+               -e "s:cvmfs-\${CernVM-FS_VERSION_STRING}:${PF}:" \
+               CMakeLists.txt || die
+
+       # should be gone in >= 2.2
+       sed -i \
+               -e 's|/etc/auto.master|/etc/autofs/auto.master|g' \
+               -e 's|/etc/sysconfig/autofs|/etc/conf.d/autofs|g' \
+               cvmfs/cvmfs_config || die
+
+       sed -i \
+               -e 's|${res_path}/conf.d|${res_path/modules.d|' \
+               cvmfs/cvmfs_server || die
+
+       # hack for bundled vjson
+       # vjson not worth unbundling, already upstream obsolete
+       # upstream replaced by gason with a new api
+       if use server; then
+               sed -i \
+                       -e 's/g++/$(CXX)/g' \
+                       -e 's/-O2/$(CXXFLAGS)/g' \
+                       -e 's/ar/$(AR)/' \
+                       -e 's/ranlib/$(RANLIB)/' \
+                       externals/vjson/src/Makefile || die
+               mkdir -p "${WORKDIR}/${P}_build"/externals/build_vjson
+               cp externals/vjson/src/* \
+                  "${WORKDIR}/${P}_build"/externals/build_vjson/ || die
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DGEOIP_BUILTIN=OFF
+               -DGOOGLETEST_BUILTIN=OFF
+               -DLEVELDB_BUILTIN=OFF
+               -DLIBCURL_BUILTIN=OFF
+               -DPACPARSER_BUILTIN=OFF
+               -DSPARSEHASH_BUILTIN=OFF
+               -DSQLITE3_BUILTIN=OFF
+               -DTBB_PRIVATE_LIB=OFF
+               -DZLIB_BUILTIN=OFF
+               $(cmake-utils_use debug BUILD_SERVER_DEBUG)
+               $(cmake-utils_use server BUILD_SERVER)
+               $(cmake-utils_use client BUILD_CVMFS)
+               $(cmake-utils_use client BUILD_LIBCVMFS)
+               $(cmake-utils_use client INSTALL_MOUNT_SCRIPTS)
+               $(cmake-utils_use test BUILD_UNITTESTS)
+       )
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+       if use doc; then
+               cd doc
+               doxygen cvmfs.doxy || die
+       fi
+}
+
+src_install() {
+       cmake-utils_src_install
+       use doc && dohtml -r doc/html/*
+}
+
+pkg_config() {
+       if use client; then
+               einfo "Setting up CernVM-FS client"
+               cvmfs_config setup
+               einfo "Now edit ${EROOT%/}/etc/cvmfs/default.local"
+               einfo "and restart the autofs service"
+       fi
+}

diff --git a/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch 
b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch
new file mode 100644
index 0000000..0e67567
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch
@@ -0,0 +1,106 @@
+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}

diff --git a/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch 
b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch
new file mode 100644
index 0000000..e47f61e
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch
@@ -0,0 +1,151 @@
+--- /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-08-04 15:33:53.383868890 +0000
++++ CMakeLists.txt     2015-08-04 15:58:03.133842858 +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
+@@ -309,13 +315,15 @@
+   set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GTEST_INCLUDE_DIRS})
+ endif (GOOGLETEST_BUILTIN)
+ 
++if (BUILD_SERVER OR BUILD_UNITTESTS)
+ if (GEOIP_BUILTIN)
+   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)
++endif (BUILD_SERVER OR BUILD_UNITTESTS)
+ 
+ # required libraries for client and libcvmfs
+ if (BUILD_CVMFS OR BUILD_LIBCVMFS)

diff --git a/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch 
b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch
new file mode 100644
index 0000000..1948bcf
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch
@@ -0,0 +1,50 @@
+--- cvmfs/cvmfs_server.orig    2015-02-23 13:51:47.000000000 +0000
++++ cvmfs/cvmfs_server 2015-08-10 20:49:35.918557033 +0000
+@@ -454,6 +454,7 @@
+ #
+ # @return   0 if the overlayfs kernel module is loaded
+ check_overlayfs() {
++  [ -e /proc/config.gz ] && test x$(zgrep OVERLAY_FS /proc/config.gz | awk -F 
= '{print $2}') = xy && return 0
+   /sbin/modprobe -q overlayfs || test -d /sys/module/overlayfs
+ }
+ 
+@@ -934,7 +939,7 @@
+   local tmpdir
+   tmpdir=$(mktemp -d)
+   mkdir ${tmpdir}/a ${tmpdir}/b ${tmpdir}/c
+-  mount -t overlayfs \
++  mount -t overlay \
+     -o 
upperdir=${tmpdir}/b,lowerdir=${tmpdir}/a,ro,context=system_u:object_r:default_t:s0
 \
+     try_remount_overlayfs ${tmpdir}/c  > /dev/null 2>&1 || return 1
+   mount -o remount,rw ${tmpdir}/c > /dev/null 2>&1 || { _cleanup_tmrc 
$tmpdir; return 2; }
+@@ -1870,8 +1875,9 @@
+   local rdonly_dir="${spool_dir}/rdonly"
+   local temp_dir="${spool_dir}/tmp"
+   local cache_dir="${spool_dir}/cache"
+-
+-  mkdir -p /cvmfs/$name $scratch_dir $rdonly_dir $temp_dir $cache_dir || 
return 1
++  local work_dir="${spool_dir}/work"
++  
++  mkdir -p /cvmfs/$name $scratch_dir $rdonly_dir $temp_dir $cache_dir 
$work_dir || return 1
+   chown -R $CVMFS_USER /cvmfs/$name/ $spool_dir/
+ }
+ 
+@@ -1937,7 +1943,8 @@
+   load_repo_config $name
+   local rdonly_dir="${CVMFS_SPOOL_DIR}/rdonly"
+   local scratch_dir="${CVMFS_SPOOL_DIR}/scratch"
+-
++  local work_dir="${CVMFS_SPOOL_DIR}/work"
++  
+   local selinux_context=""
+   if [ $unionfs = "overlayfs" ]; then
+       echo -n "(overlayfs) "
+@@ -1946,7 +1953,7 @@
+       fi
+       cat >> /etc/fstab << EOF
+ cvmfs2#$name $rdonly_dir fuse 
allow_other,config=/etc/cvmfs/repositories.d/${name}/client.conf:${CVMFS_SPOOL_DIR}/client.local,cvmfs_suid
 0 0 # added by CernVM-FS for $name
+-overlayfs_$name /cvmfs/$name overlayfs 
upperdir=${scratch_dir},lowerdir=${rdonly_dir},ro$selinux_context 0 0 # added 
by CernVM-FS for $name
++overlayfs_$name /cvmfs/$name overlay 
upperdir=${scratch_dir},lowerdir=${rdonly_dir},workdir=${work_dir},ro$selinux_context
 0 0 # added by CernVM-FS for $name
+ EOF
+   else
+       echo -n "(aufs) "

diff --git a/net-fs/cvmfs/metadata.xml b/net-fs/cvmfs/metadata.xml
new file mode 100644
index 0000000..fa44600
--- /dev/null
+++ b/net-fs/cvmfs/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<maintainer>
+  <email>bicat...@gentoo.org</email>
+</maintainer>
+<longdescription lang='en'>
+  The CernVM File System is a client-server file system developed to
+  deliver software stacks onto virtual machines in a fast, scalable,
+  and reliable way. CernVM-FS is implemented as a FUSE module. It
+  makes a specially prepared directory tree stored on a web server
+  look like a local read-only file system on the virtual
+  machine. CernVM-FS uses outgoing HTTP connections only, thereby it
+  avoids most of the firewall issues of other network file systems. It
+  transfers data file by file on demand, verifying the content by
+  SHA-1 keys.
+</longdescription>
+<use>
+  <flag name='client'>Install the cvmfs client programs and autofs 
scripts</flag>
+  <flag name='server'>Install the server and init script (requires apache and 
OverlayFS)</flag>
+  <flag name='aufs'>Use AUFS instead of OverlayFS for older kernels</flag>
+</use>
+</pkgmetadata>

diff --git a/profiles/categories b/profiles/categories
new file mode 100644
index 0000000..7855fde
--- /dev/null
+++ b/profiles/categories
@@ -0,0 +1,2 @@
+net-fs
+

Reply via email to