commit:     d2955fe9aeed2e5373b6e09dc3fd8c4720ed7fcf
Author:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 18 22:52:21 2020 +0000
Commit:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
CommitDate: Fri Jun 19 07:20:24 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2955fe9

net-fs/cvmfs: version bump to 2.7.2

Closes: https://bugs.gentoo.org/647152

Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Guilherme Amadio <amadio <AT> gentoo.org>

 net-fs/cvmfs/Manifest                             |   1 +
 net-fs/cvmfs/cvmfs-2.7.2.ebuild                   | 112 ++++++++++++++++++++++
 net-fs/cvmfs/files/cvmfs-2.7.2-builtins.patch     |  95 ++++++++++++++++++
 net-fs/cvmfs/files/cvmfs-2.7.2-find-package.patch |  41 ++++++++
 net-fs/cvmfs/files/cvmfs-2.7.2-xattr.patch        |  26 +++++
 5 files changed, 275 insertions(+)

diff --git a/net-fs/cvmfs/Manifest b/net-fs/cvmfs/Manifest
index a6cc53c24f9..fbc4c19c412 100644
--- a/net-fs/cvmfs/Manifest
+++ b/net-fs/cvmfs/Manifest
@@ -1 +1,2 @@
 DIST cvmfs-2.3.5.tar.gz 37771779 BLAKE2B 
06366cc1bdc2e133b65ec6f348507ef0d5f752f69b87632b0b27bb5b29e0546922d5a12e406f733341e9c8b7d32f8bd32878e247d98a168d6985a620607720d3
 SHA512 
7f2d05776a747c72d0aa8b5270cfb46f7dc31a458deee65a4a21446718ba813e4c449f6424c7419345e6ffb7cefce3d328dea7b414fe5a5980f9b93ccac0157b
+DIST cvmfs-2.7.2.tar.gz 43121950 BLAKE2B 
3f9b23709f7fd7d21f0c141388df9b3f59c0c9ed8c4b27ae4071cff919e6d04eec1c80fe26a70b421d554969d35cb18f1a700be67f046a1a5d53d73a9e64bbe2
 SHA512 
35f4d949b4f2d002e6ef07e61cd443e55b30031a396f9850fc8d511b2ea3fd37f12e340828878cce151876f7391459f5bb13f0fe325070567f2876eb50185149

diff --git a/net-fs/cvmfs/cvmfs-2.7.2.ebuild b/net-fs/cvmfs/cvmfs-2.7.2.ebuild
new file mode 100644
index 00000000000..3698b92b307
--- /dev/null
+++ b/net-fs/cvmfs/cvmfs-2.7.2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake linux-info bash-completion-r1
+
+DESCRIPTION="HTTP read-only file system for distributing software"
+HOMEPAGE="http://cernvm.cern.ch/portal/filesystem";
+SRC_URI="https://ecsft.cern.ch/dist/cvmfs/${P}/source.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="bash-completion doc server"
+
+CDEPEND="
+       app-arch/libarchive
+       dev-cpp/sparsehash
+       dev-libs/leveldb:0=
+       dev-libs/openssl:0=
+       dev-libs/protobuf:0=
+       net-libs/pacparser:0=
+       sys-apps/attr
+       sys-fs/fuse:0=
+       sys-fs/fuse:3=
+       sys-libs/libcap:0=
+       sys-libs/zlib:0=
+       server? (
+               net-dns/c-ares
+               net-misc/curl:0[adns]
+               dev-db/sqlite:3=
+       )
+"
+
+RDEPEND="${CDEPEND}
+       app-admin/sudo
+       net-fs/autofs
+"
+
+DEPEND="${CDEPEND}
+       virtual/pkgconfig
+       doc? ( app-doc/doxygen[dot] )
+"
+
+PATCHES=(
+               "${FILESDIR}"/${P}-builtins.patch
+               "${FILESDIR}"/${P}-find-package.patch
+               "${FILESDIR}"/${P}-xattr.patch
+)
+
+pkg_setup() {
+       if use server; then
+               CONFIG_CHECK="~OVERLAY_FS"
+               ERROR_AUFS_FS="CONFIG_OVERLAY_FS: is required to be set"
+               linux-info_pkg_setup
+       fi
+}
+
+src_prepare() {
+       cmake_src_prepare
+       # gentoo stuff
+       rm bootstrap.sh || die
+       sed -i -e "s:/usr/bin/systemctl:systemctl:g" cvmfs/cvmfs_config || die
+       sed -i -e 's/COPYING//' -e 
"s:cvmfs-\${CernVM-FS_VERSION_STRING}:${PF}:" \
+               CMakeLists.txt || die
+       eapply_user
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILTIN_EXTERNALS=OFF
+               -DBUILD_CVMFS=ON
+               -DBUILD_LIBCVMFS=OFF # static library used only for development
+               -DBUILD_DOCUMENTATION=$(usex doc)
+               -DBUILD_GEOAPI=OFF # only used for stratum 1 servers
+               -DBUILD_LIBCVMFS_CACHE=OFF # for exotic cache configs
+               -DBUILD_PRELOADER=OFF # special purpose utility for HPCs
+               -DBUILD_RECEIVER=OFF # for distributed publishers only
+               -DBUILD_SERVER=$(usex server)
+               -DINSTALL_BASH_COMPLETION=OFF
+               -DINSTALL_MOUNT_SCRIPTS=ON
+               -DINSTALL_PUBLIC_KEYS=ON
+       )
+
+       cmake_src_configure
+}
+
+src_compile() {
+       cmake_src_compile
+       use doc && cmake_src_compile doc
+}
+
+src_install() {
+       cmake_src_install
+       use bash-completion && \
+               newbashcomp cvmfs/bash_completion/cvmfs.bash_completion cvmfs
+       dodoc doc/*.md
+       if use doc; then
+               insinto /usr/share/doc/${PF}
+               doins -r "${BUILD_DIR}"/html
+               docompress -x /usr/share/doc/${PF}/html
+       fi
+}
+
+pkg_config() {
+       einfo "Setting up CernVM-FS client"
+       cvmfs_config setup
+       einfo "Now edit ${EROOT%/}/etc/cvmfs/default.local"
+       einfo "and restart the autofs service"
+}

diff --git a/net-fs/cvmfs/files/cvmfs-2.7.2-builtins.patch 
b/net-fs/cvmfs/files/cvmfs-2.7.2-builtins.patch
new file mode 100644
index 00000000000..cbc723a7fd7
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.7.2-builtins.patch
@@ -0,0 +1,95 @@
+From 966d98be2d2d6169a29c22eb5565f34fad1c0fb9 Mon Sep 17 00:00:00 2001
+From: Guilherme Amadio <[email protected]>
+Date: Mon, 6 Apr 2020 17:19:19 +0200
+Subject: [PATCH 2/3] Build some externals as part of the regular build
+
+---
+ CMakeLists.txt                     |  9 ++++++---
+ externals/sha2/src/CMakeLists.txt  |  8 ++++++++
+ externals/sha3/src/CMakeLists.txt  | 14 ++++++++++++++
+ externals/vjson/src/CMakeLists.txt |  8 ++++++++
+ 4 files changed, 36 insertions(+), 3 deletions(-)
+ create mode 100644 externals/sha2/src/CMakeLists.txt
+ create mode 100644 externals/sha3/src/CMakeLists.txt
+ create mode 100644 externals/vjson/src/CMakeLists.txt
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a50b603fe..3403ae67b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -320,7 +320,8 @@ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} 
${GTEST_INCLUDE_DIRS})
+ find_package (GMock REQUIRED)
+ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GMOCK_INCLUDE_DIRS})
+ 
+-find_package (VJSON REQUIRED)
++#find_package (VJSON REQUIRED)
++add_subdirectory(externals/vjson/src)
+ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${VJSON_INCLUDE_DIRS})
+ 
+ find_package (LibArchive REQUIRED)
+@@ -333,10 +334,12 @@ if (BUILD_CVMFS OR BUILD_LIBCVMFS OR BUILD_SERVER OR 
BUILD_SERVER_DEBUG OR
+   find_package (ZLIB REQUIRED)
+   set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS})
+ 
+-  find_package (SHA2 REQUIRED)
++  #find_package (SHA2 REQUIRED)
++  add_subdirectory(externals/sha2/src)
+   set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${SHA2_INCLUDE_DIRS})
+ 
+-  find_package (SHA3 REQUIRED)
++  # find_package (SHA3 REQUIRED)
++  add_subdirectory(externals/sha3/src)
+   set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${SHA3_INCLUDE_DIRS})
+ endif (BUILD_CVMFS OR BUILD_LIBCVMFS OR BUILD_SERVER OR BUILD_SERVER_DEBUG OR
+        BUILD_UNITTESTS OR BUILD_UNITTESTS_DEBUG OR BUILD_PRELOADER OR
+diff --git a/externals/sha2/src/CMakeLists.txt 
b/externals/sha2/src/CMakeLists.txt
+new file mode 100644
+index 000000000..091e1ed6b
+--- /dev/null
++++ b/externals/sha2/src/CMakeLists.txt
+@@ -0,0 +1,8 @@
++project(SHA2)
++
++add_library(cvmfs_sha2 STATIC sha2.c)
++set_property(TARGET cvmfs_sha2 PROPERTY POSITION_INDEPENDENT_CODE TRUE)
++target_include_directories(cvmfs_sha2 INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
++
++set(SHA2_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
++set(SHA2_LIBRARIES cvmfs_sha2 PARENT_SCOPE)
+diff --git a/externals/sha3/src/CMakeLists.txt 
b/externals/sha3/src/CMakeLists.txt
+new file mode 100644
+index 000000000..15db012d4
+--- /dev/null
++++ b/externals/sha3/src/CMakeLists.txt
+@@ -0,0 +1,14 @@
++project(SHA3)
++
++add_library(cvmfs_sha3 STATIC #GLOBAL
++  64opt/KeccakF-1600-opt64.c
++  KeccakHash.c
++  KeccakSponge.c
++  SnP-FBWL-default.c
++  )
++
++set_property(TARGET cvmfs_sha3 PROPERTY POSITION_INDEPENDENT_CODE TRUE)
++target_include_directories(cvmfs_sha3 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} 
${CMAKE_CURRENT_SOURCE_DIR}/64opt)
++
++set(SHA3_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} 
${CMAKE_CURRENT_SOURCE_DIR}/64opt PARENT_SCOPE)
++set(SHA3_LIBRARIES cvmfs_sha3 PARENT_SCOPE)
+diff --git a/externals/vjson/src/CMakeLists.txt 
b/externals/vjson/src/CMakeLists.txt
+new file mode 100644
+index 000000000..316ab7617
+--- /dev/null
++++ b/externals/vjson/src/CMakeLists.txt
+@@ -0,0 +1,8 @@
++project(VJSON)
++
++add_library(cvmfs_vjson STATIC block_allocator.cpp json.cpp)
++set_property(TARGET cvmfs_vjson PROPERTY POSITION_INDEPENDENT_CODE TRUE)
++target_include_directories(cvmfs_vjson INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
++
++set(VJSON_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
++set(VJSON_LIBRARIES cvmfs_vjson PARENT_SCOPE)
+-- 
+2.26.0
+

diff --git a/net-fs/cvmfs/files/cvmfs-2.7.2-find-package.patch 
b/net-fs/cvmfs/files/cvmfs-2.7.2-find-package.patch
new file mode 100644
index 00000000000..ce4b85f7921
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.7.2-find-package.patch
@@ -0,0 +1,41 @@
+From 3a4881d1dc211ec358995d6d8501818beedc62ac Mon Sep 17 00:00:00 2001
+From: Guilherme Amadio <[email protected]>
+Date: Mon, 6 Apr 2020 17:26:48 +0200
+Subject: [PATCH 3/3] Comment out unnecessary package lookups
+
+---
+ CMakeLists.txt | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3403ae67b..2895b567a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -295,7 +295,7 @@ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} 
${CMAKE_BINARY_DIR})
+ # set properties for configurable libraries
+ #
+ 
+-find_package (Valgrind)
++# find_package (Valgrind)
+ if (VALGRIND_FOUND)
+   set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${VALGRIND_INCLUDE_DIR})
+   add_definitions(-DHAS_VALGRIND_HEADERS)
+@@ -314,11 +314,11 @@ endif (NOT MACOSX)
+ find_package (OpenSSL REQUIRED)
+ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${OPENSSL_INCLUDE_DIR})
+ 
+-find_package (GTest REQUIRED)
+-set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GTEST_INCLUDE_DIRS})
++# find_package (GTest REQUIRED)
++# set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GTEST_INCLUDE_DIRS})
+ 
+-find_package (GMock REQUIRED)
+-set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GMOCK_INCLUDE_DIRS})
++# find_package (GMock REQUIRED)
++# set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GMOCK_INCLUDE_DIRS})
+ 
+ #find_package (VJSON REQUIRED)
+ add_subdirectory(externals/vjson/src)
+-- 
+2.26.0
+

diff --git a/net-fs/cvmfs/files/cvmfs-2.7.2-xattr.patch 
b/net-fs/cvmfs/files/cvmfs-2.7.2-xattr.patch
new file mode 100644
index 00000000000..e10557923ce
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.7.2-xattr.patch
@@ -0,0 +1,26 @@
+From 44cae128f7478ab81be92cdfc7dec6c2aee26e42 Mon Sep 17 00:00:00 2001
+From: Guilherme Amadio <[email protected]>
+Date: Mon, 6 Apr 2020 17:17:30 +0200
+Subject: [PATCH 1/3] Do not include deprecated attr/xattr.h
+
+---
+ cvmfs/platform_linux.h | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/cvmfs/platform_linux.h b/cvmfs/platform_linux.h
+index 21e7d81fb..9aa0c9051 100644
+--- a/cvmfs/platform_linux.h
++++ b/cvmfs/platform_linux.h
+@@ -9,9 +9,6 @@
+ 
+ #include <sys/types.h>  // contains ssize_t needed inside <attr/xattr.h>
+ #include <sys/xattr.h>
+-#ifdef HAVE_ATTR_XATTR_H
+-#include <attr/xattr.h>  // NOLINT(build/include_alpha)
+-#endif
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-- 
+2.26.0
+

Reply via email to