summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorWainer Vandelli2018-05-14 11:12:45 +0200
committerWainer Vandelli2018-05-14 11:12:45 +0200
commit65725a971d9c8be3be9ed548991880852906b8a0 (patch)
tree5d2499a23bc5b53542b062aec4564c490f32a080
parent35043757f27a492f95c9bb93b1ab513285636ef7 (diff)
downloadaur-65725a971d9c8be3be9ed548991880852906b8a0.tar.gz
Move to version 2.5.0
Many changes were required: * the set of externals changed significantly. In addittion it is not possible to disable individual externals one by one. A patch was needed to disable packages available in Arch * the sqlite version shipped with Arch does not support SCRATCH anymore. The cvmfs code needed patching for this * building of the server and caching system was disabled. They entail additional complications with externals. Moreover, for the scope of this package it is not clear the server should be include. It should perhaps be a separate build * the libexec patches seem to have been included upstream. The source package even contain a dedicated environment file for Arch
-rw-r--r--.SRCINFO30
-rw-r--r--PKGBUILD58
-rw-r--r--externals.patch11
-rw-r--r--libexec.patch78
-rw-r--r--settings.cmake21
-rw-r--r--sqlite-scratch.patch13
6 files changed, 73 insertions, 138 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 929342d7298e..31ecee9f74c0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,37 +1,33 @@
-# Generated by mksrcinfo v8
-# Tue Aug 8 13:53:28 UTC 2017
pkgbase = cvmfs
pkgdesc = A client-server file system implemented in FUSE and developed to deliver software distributions onto virtual machines in a fast, scalable, and reliable way.
- pkgver = 2.3.5
- pkgrel = 5
+ pkgver = 2.5.0
+ pkgrel = 1
url = http://cernvm.cern.ch/portal/filesystem
install = cvmfs.install
arch = x86_64
- arch = i686
license = BSD
makedepends = cmake
- makedepends = python
- makedepends = unzip
+ makedepends = make
makedepends = gtest
- makedepends = python-geoip
makedepends = sparsehash
+ makedepends = gmock
depends = fuse2
- depends = sqlite
depends = curl
- depends = python
depends = c-ares
- depends = intel-tbb
depends = leveldb
- depends = openssl-1.0
depends = pacparser
+ depends = sqlite
+ depends = protobuf
options = !emptydirs
backup = etc/cvmfs/default.local
- source = https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.3.5/cvmfs-2.3.5.tar.gz
- source = libexec.patch
+ source = https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.5.0/cvmfs-2.5.0.tar.gz
source = settings.cmake
- md5sums = bd54a1e45ef86d0a3cb6eefa44a89b5b
- md5sums = bc39c58e3aadf32789e6ff51087c7570
- md5sums = 50f8179ff88eb7227b262e8e1c9b10b6
+ source = externals.patch
+ source = sqlite-scratch.patch
+ md5sums = d46705e06267278fd3a65b277a6d9e16
+ md5sums = 20dc60c61077f4a3711463e8686d260d
+ md5sums = 109a95cab95276c1c19bc46b66f0906f
+ md5sums = 0ef4c858aa9648dcd46768991748eb06
pkgname = cvmfs
diff --git a/PKGBUILD b/PKGBUILD
index 2fd1f698fd80..d44313a014f1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,47 +3,53 @@
# Maintainer: Wainer Vandelli <wainer dot vandelli at gmail dot com>
# Contributor: Konstantin Gizdov < arch at kge dot pw >
pkgname=cvmfs
-pkgver=2.3.5
-pkgrel=5
+pkgver=2.5.0
+pkgrel=1
pkgdesc="A client-server file system implemented in FUSE and developed to deliver software distributions onto virtual machines in a fast, scalable, and reliable way."
-arch=('x86_64' 'i686')
+arch=('x86_64')
url="http://cernvm.cern.ch/portal/filesystem"
license=('BSD')
-depends=('fuse2' 'sqlite' 'curl' 'python' 'c-ares' 'intel-tbb' 'leveldb' 'openssl-1.0' 'pacparser')
-makedepends=('cmake' 'python' 'unzip' 'gtest' 'python-geoip' 'sparsehash')
+depends=('fuse2' 'curl' 'c-ares' 'leveldb' 'pacparser' 'sqlite' 'protobuf')
+makedepends=('cmake' 'make' 'gtest' 'sparsehash' 'gmock')
backup=('etc/cvmfs/default.local')
install=cvmfs.install
options=('!emptydirs')
source=("https://ecsft.cern.ch/dist/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz"
- 'libexec.patch'
- 'settings.cmake')
-md5sums=('bd54a1e45ef86d0a3cb6eefa44a89b5b'
- 'bc39c58e3aadf32789e6ff51087c7570'
- '50f8179ff88eb7227b262e8e1c9b10b6')
+ 'settings.cmake'
+ 'externals.patch'
+ 'sqlite-scratch.patch')
+md5sums=('d46705e06267278fd3a65b277a6d9e16'
+ '20dc60c61077f4a3711463e8686d260d'
+ '109a95cab95276c1c19bc46b66f0906f'
+ '0ef4c858aa9648dcd46768991748eb06')
prepare() {
- cd "$srcdir/$pkgname-$pkgver"
- msg2 'Fixing libexec to lib...'
- patch -p1 -i "${srcdir}/libexec.patch"
- msg2 'Fixing /sbin to /usr/bin'
- sed -e "s/\/sbin/\/usr\/bin/g" -i CMakeLists.txt mount/CMakeLists.txt
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Tweak external packages
+ # We remove all those that are provided by Arch/AUR and leave only
+ # the ones not currently available
+ patch -Np1 -i "$srcdir/externals.patch"
+
+ # Sqlite deprecated the SCRATCH configuration option
+ patch -Np1 -i "$srcdir/sqlite-scratch.patch"
}
build() {
- cd "$srcdir/$pkgname-$pkgver"
- mkdir -p build
- cd build
- cmake -C "${srcdir}/settings.cmake" ../
+ cd "$srcdir/$pkgname-$pkgver"
+ mkdir -p build
+ cd build
+ cmake -C "${srcdir}/settings.cmake" ../
- make
+ make
}
package() {
- cd "$srcdir/$pkgname-$pkgver/build"
- make DESTDIR="$pkgdir/" install
- sed -e "s/\/etc\/auto.master/\/etc\/autofs\/auto.master/g" -i $pkgdir/usr/bin/cvmfs_config
- install -Dm644 "${srcdir}/${pkgname}-${pkgver}/COPYING" "${pkgdir}/usr/share/licenses/cvmfs/COPYING"
+ cd "$srcdir/$pkgname-$pkgver/build"
+ make DESTDIR="$pkgdir/" install
+ sed -e "s/\/etc\/auto.master/\/etc\/autofs\/auto.master/g" -i $pkgdir/usr/bin/cvmfs_config
+ install -Dm644 "${srcdir}/${pkgname}-${pkgver}/COPYING" "${pkgdir}/usr/share/licenses/cvmfs/COPYING"
- echo "CVMFS_REPOSITORIES=atlas.cern.ch,atlas-condb.cern.ch,grid.cern.ch,sft.cern.ch,lhcb.cern.ch,lhcbdev.cern.ch" > $pkgdir/etc/cvmfs/default.local
- echo "CVMFS_HTTP_PROXY=DIRECT" >> $pkgdir/etc/cvmfs/default.local
+ echo "CVMFS_REPOSITORIES=atlas.cern.ch,atlas-condb.cern.ch,grid.cern.ch,sft.cern.ch,lhcb.cern.ch,lhcbdev.cern.ch" > $pkgdir/etc/cvmfs/default.local
+ echo "CVMFS_HTTP_PROXY=DIRECT" >> $pkgdir/etc/cvmfs/default.local
}
diff --git a/externals.patch b/externals.patch
new file mode 100644
index 000000000000..0b92b7ae1a7e
--- /dev/null
+++ b/externals.patch
@@ -0,0 +1,11 @@
+--- cvmfs-2.5.0.orig/bootstrap.sh 2018-05-09 10:12:39.413044457 +0200
++++ cvmfs-2.5.0/bootstrap.sh 2018-05-09 10:13:14.543027028 +0200
+@@ -245,7 +245,7 @@
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+ # Build a list of libs that need to be built
+-missing_libs="libcurl pacparser zlib sparsehash leveldb googletest libgeoip protobuf googlebench sqlite3 vjson sha2 sha3 mongoose libarchive"
++missing_libs="vjson sha2 sha3"
+ if [ x"$BUILD_QC_TESTS" != x"" ]; then
+ missing_libs="$missing_libs rapidcheck"
+ fi
diff --git a/libexec.patch b/libexec.patch
deleted file mode 100644
index d4871f19a41a..000000000000
--- a/libexec.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff -aur cvmfs-2.3.5-old/ChangeLog cvmfs-2.3.5-new/ChangeLog
---- cvmfs-2.3.5-old/ChangeLog 2017-03-22 13:31:02.000000000 +0100
-+++ cvmfs-2.3.5-new/ChangeLog 2017-06-12 22:09:24.338401420 +0200
-@@ -272,7 +272,7 @@
- * Apply umask to the mode when creating files on the Stratum 0/1 (CVM-660)
- * Make server transaction handling more robust against failures and
- concurrent operations (CVM-665, CVM-666)
-- * Install auto.cvmfs in /usr/libexec/cvmfs and make /etc/auto.cvmfs a
-+ * Install auto.cvmfs in /usr/lib/cvmfs and make /etc/auto.cvmfs a
- symlink (CVM-645)
- * Restrict the number of in-flight file processing jobs in the server in
- order to not exhaust file descriptor limit
-diff -aur cvmfs-2.3.5-old/cvmfs/CMakeLists.txt cvmfs-2.3.5-new/cvmfs/CMakeLists.txt
---- cvmfs-2.3.5-old/cvmfs/CMakeLists.txt 2017-03-22 13:31:02.000000000 +0100
-+++ cvmfs-2.3.5-new/cvmfs/CMakeLists.txt 2017-06-12 22:08:46.175549530 +0200
-@@ -644,7 +644,7 @@
- install (
- TARGETS cvmfs_allow_helper cvmfs_deny_helper
- RUNTIME
-- DESTINATION libexec/cvmfs/authz
-+ DESTINATION lib/cvmfs/authz
- )
-
- install (
-diff -aur cvmfs-2.3.5-old/cvmfs/cvmfs.cc cvmfs-2.3.5-new/cvmfs/cvmfs.cc
---- cvmfs-2.3.5-old/cvmfs/cvmfs.cc 2017-03-22 13:31:02.000000000 +0100
-+++ cvmfs-2.3.5-new/cvmfs/cvmfs.cc 2017-06-12 22:08:58.402061949 +0200
-@@ -2078,7 +2078,7 @@
- bool shared_cache = false;
- int64_t quota_limit = cvmfs::kDefaultCacheSizeMb;
- string authz_helper = "";
-- string authz_search_path = "/usr/libexec/cvmfs/authz";
-+ string authz_search_path = "/usr/lib/cvmfs/authz";
- string hostname = "";
- string proxies = "";
- string fallback_proxies = "";
-diff -aur cvmfs-2.3.5-old/mount/CMakeLists.txt cvmfs-2.3.5-new/mount/CMakeLists.txt
---- cvmfs-2.3.5-old/mount/CMakeLists.txt 2017-03-22 13:31:02.000000000 +0100
-+++ cvmfs-2.3.5-new/mount/CMakeLists.txt 2017-06-12 22:05:41.331215169 +0200
-@@ -152,7 +152,7 @@
- add_executable (auto.cvmfs ${CVMFS_AUTO_SOURCES})
-
- SET( autofsmap_link /etc/auto.cvmfs)
-- SET( autofsmap_dest /usr/libexec/cvmfs)
-+ SET( autofsmap_dest /usr/lib/cvmfs)
- SET( autofsmap_target ${autofsmap_dest}/auto.cvmfs)
- install (
- TARGETS auto.cvmfs
-diff -aur cvmfs-2.3.5-old/mount/default.d/10-osx.conf cvmfs-2.3.5-new/mount/default.d/10-osx.conf
---- cvmfs-2.3.5-old/mount/default.d/10-osx.conf 2017-03-22 13:31:02.000000000 +0100
-+++ cvmfs-2.3.5-new/mount/default.d/10-osx.conf 2017-06-12 22:04:43.265281323 +0200
-@@ -1,1 +1,1 @@
--CVMFS_AUTHZ_SEARCH_PATH=/usr/local/libexec/cvmfs/authz
-+CVMFS_AUTHZ_SEARCH_PATH=/usr/lib/cvmfs/authz
-diff -aur cvmfs-2.3.5-old/test/src/600-securecvmfs/main cvmfs-2.3.5-new/test/src/600-securecvmfs/main
---- cvmfs-2.3.5-old/test/src/600-securecvmfs/main 2017-03-22 13:31:02.000000000 +0100
-+++ cvmfs-2.3.5-new/test/src/600-securecvmfs/main 2017-06-12 22:07:13.783381879 +0200
-@@ -236,7 +236,7 @@
- echo "create a fresh repository named $CVMFS_TEST_REPO with user $CVMFS_TEST_USER"
- create_empty_repo $CVMFS_TEST_REPO $CVMFS_TEST_USER /dev/stdout -V "x509%cvmfs:/cvmfs" || return $?
- echo "Make sure we don't lock out ourselves when publishing"
-- echo "CVMFS_AUTHZ_HELPER=/usr/libexec/cvmfs/authz/cvmfs_allow_helper" | \
-+ echo "CVMFS_AUTHZ_HELPER=/usr/lib/cvmfs/authz/cvmfs_allow_helper" | \
- sudo tee -a /etc/cvmfs/repositories.d/$CVMFS_TEST_REPO/client.conf
-
- echo "gather information about the just created repo"
-diff -aur cvmfs-2.3.5-old/test/src/632-authzhelpers/main cvmfs-2.3.5-new/test/src/632-authzhelpers/main
---- cvmfs-2.3.5-old/test/src/632-authzhelpers/main 2017-03-22 13:31:02.000000000 +0100
-+++ cvmfs-2.3.5-new/test/src/632-authzhelpers/main 2017-06-12 22:06:45.943733157 +0200
-@@ -46,7 +46,7 @@
- local cache_base="$CVMFS_CACHE_BASE"
-
- echo "Ensure that we can access the repo for editing"
-- sudo sh -c "echo CVMFS_AUTHZ_HELPER=/usr/libexec/cvmfs/authz/cvmfs_allow_helper \
-+ sudo sh -c "echo CVMFS_AUTHZ_HELPER=/usr/lib/cvmfs/authz/cvmfs_allow_helper \
- >> ${spool_dir}/client.local" || return 10
-
- echo "put some stuff into $CVMFS_TEST_REPO"
diff --git a/settings.cmake b/settings.cmake
index 03c6024efa8e..ac83d1fc7789 100644
--- a/settings.cmake
+++ b/settings.cmake
@@ -1,17 +1,4 @@
-set (CMAKE_BUILD_TYPE Release CACHE STRING "" FORCE)
-set (CMAKE_INSTALL_PREFIX /usr CACHE PATH "" FORCE)
-set (CMAKE_INSTALL_LIBDIR /usr/lib CACHE PATH "" FORCE)
-set (CMAKE_INSTALL_LIBEXECDIR /usr/bin CACHE PATH "" FORCE)
-set (CMAKE_INSTALL_SYSCONFDIR /etc CACHE PATH "" FORCE)
-set (CMAKE_INSTALL_DATAROOTDIR /usr/share CACHE PATH "" FORCE)
-set (OPENSSL_ROOT_DIR /usr/lib/openssl-1.0 CACHE PATH "" FORCE)
-set (OPENSSL_INCLUDE_DIR /usr/include/openssl-1.0 CACHE PATH "" FORCE)
-set (SQLITE3_BUILTIN OFF CACHE BOOL "" FORCE)
-set (LIBCURL_BUILTIN OFF CACHE BOOL "" FORCE)
-set (PACPARSER_BUILTIN OFF CACHE BOOL "" FORCE)
-set (ZLIB_BUILTIN OFF CACHE BOOL "" FORCE)
-set (SPARSEHASH_BUILTIN OFF CACHE BOOL "" FORCE)
-set (LEVELDB_BUILTIN OFF CACHE BOOL "" FORCE)
-set (GOOGLETEST_BUILTIN OFF CACHE BOOL "" FORCE)
-set (GEOIP_BUILTIN OFF CACHE BOOL "" FORCE)
-set (TBB_PRIVATE_LIB OFF CACHE BOOL "" FORCE)
+set (BUILD_SERVER OFF CACHE BOOL "" FORCE)
+set (BUILD_RECEIVER OFF CACHE BOOL "" FORCE)
+set (BUILD_LIBCVMFS_CACHE OFF CACHE BOOL "" FORCE)
+set (BUILD_LIBCVMFS OFF CACHE BOOL "" FORCE)
diff --git a/sqlite-scratch.patch b/sqlite-scratch.patch
new file mode 100644
index 000000000000..516f4dae4282
--- /dev/null
+++ b/sqlite-scratch.patch
@@ -0,0 +1,13 @@
+--- cvmfs-2.4.4.orig/cvmfs/sqlitemem.cc 2017-12-11 14:35:17.000000000 +0100
++++ cvmfs-2.4.4/cvmfs/sqlitemem.cc 2018-04-17 13:18:05.036967828 +0200
+@@ -137,10 +137,6 @@
+ if (assigned_) return;
+ int retval;
+
+- retval = sqlite3_config(SQLITE_CONFIG_SCRATCH, scratch_memory_,
+- kScratchSlotSize, kScratchNoSlots);
+- assert(retval == SQLITE_OK);
+-
+ retval = sqlite3_config(SQLITE_CONFIG_PAGECACHE, page_cache_memory_,
+ kPageCacheSlotSize, kPageCacheNoSlots);
+ assert(retval == SQLITE_OK);