summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO287
-rw-r--r--PKGBUILD350
-rw-r--r--ceph.sysusers1
3 files changed, 442 insertions, 196 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fbc2b54cf915..b3d1d00c91dd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,90 +1,237 @@
pkgbase = ceph-git
pkgdesc = Distributed, fault-tolerant storage platform delivering object, block, and file system
- pkgver = 12.1.0.1018.g171104cb93
+ pkgver = 17.0.0.12062.g396ff7b7026
pkgrel = 1
epoch = 1
url = http://ceph.com/
- install = ceph.install
arch = x86_64
- arch = i686
license = GPL
- makedepends = git
+ makedepends = bash
+ makedepends = bc
makedepends = boost
makedepends = boost-libs
- makedepends = babeltrace
- makedepends = gperf
- makedepends = yasm
+ makedepends = bzip2
+ makedepends = c-ares
makedepends = cmake
- makedepends = python-sphinx
- makedepends = cython2
+ makedepends = coreutils
+ makedepends = coffeescript
+ makedepends = cpio
+ makedepends = cryptsetup
+ makedepends = cunit
+ makedepends = curl
+ makedepends = cython
+ makedepends = expat
+ makedepends = fcgi
+ makedepends = fontconfig
+ makedepends = fuse2
+ makedepends = fuse3
+ makedepends = fmt
+ makedepends = gcc
+ makedepends = gcc-libs
+ makedepends = git
+ makedepends = glibc
+ makedepends = gmock
+ makedepends = gnutls
+ makedepends = gperf
+ makedepends = gperftools
+ makedepends = gptfdisk
+ makedepends = gtest
+ makedepends = hwloc
+ makedepends = inetutils
+ makedepends = java-runtime
+ makedepends = jq
+ makedepends = jre11-openjdk-headless
+ makedepends = junit
+ makedepends = keyutils
+ makedepends = leveldb
+ makedepends = libaio
+ makedepends = libatomic_ops
+ makedepends = libcap
+ makedepends = libcap-ng
+ makedepends = libcroco
+ makedepends = libcurl-compat
+ makedepends = libedit
+ makedepends = libgudev
+ makedepends = libnl
+ makedepends = librabbitmq-c
+ makedepends = libtool
+ makedepends = util-linux
+ makedepends = libuv
+ makedepends = libxml2
+ makedepends = librdkafka
+ makedepends = libpciaccess
+ makedepends = lsb-release
+ makedepends = lz4
+ makedepends = ncurses
makedepends = nss
- depends = libedit
- depends = libsigc++
- depends = gtkmm
- depends = btrfs-progs
- depends = crypto++
- depends = gperftools>=1.8.3-2
- depends = python2
- depends = python2-prettytable
- depends = fuse
- depends = keyutils
- depends = libatomic_ops
- depends = curl
- depends = libaio
- depends = fcgi
- depends = expat
- depends = boost
- depends = leveldb
- depends = xfsprogs
- provides = ceph
- conflicts = ceph
+ makedepends = numactl
+ makedepends = oath-toolkit
+ makedepends = openssl
+ makedepends = parted
+ makedepends = pcre
+ makedepends = pcre2
+ makedepends = pkgconf
+ makedepends = protobuf
+ makedepends = procps-ng
+ makedepends = python-astroid
+ makedepends = python-attrs
+ makedepends = python-bcrypt
+ makedepends = python-cheroot
+ makedepends = python-cherrypy
+ makedepends = python-coverage
+ makedepends = python-dateutil
+ makedepends = python-elasticsearch
+ makedepends = python-flask
+ makedepends = python-flask-restful
+ makedepends = python-google-api-python-client
+ makedepends = python-google-auth
+ makedepends = python-google-auth-httplib2
+ makedepends = python-grpcio
+ makedepends = python-isort
+ makedepends = python-jinja
+ makedepends = python-lazy-object-proxy
+ makedepends = python-mccabe
+ makedepends = python-isodate
+ makedepends = python-defusedxml
+ makedepends = python-pkgconfig
+ makedepends = python-protobuf
+ makedepends = python-lxml
+ makedepends = python-xmlsec
+ makedepends = python-yaml
+ makedepends = python-more-itertools
+ makedepends = python-numpy
+ makedepends = python-pbr
+ makedepends = python-pecan
+ makedepends = python-pip
+ makedepends = python-pluggy
+ makedepends = python-portend
+ makedepends = python-prettytable
+ makedepends = python-prometheus_client
+ makedepends = python-py
+ makedepends = python-pycparser
+ makedepends = python-pyjwt
+ makedepends = python-pyopenssl
+ makedepends = python-pytz
+ makedepends = python-requests
+ makedepends = python-routes
+ makedepends = python-scikit-learn
+ makedepends = python-scipy
+ makedepends = python-setuptools
+ makedepends = python-six
+ makedepends = python-sphinx
+ makedepends = python-tempora
+ makedepends = python-virtualenv
+ makedepends = python-werkzeug
+ makedepends = python-wrapt
+ makedepends = rabbitmq
+ makedepends = sed
+ makedepends = snappy
+ makedepends = socat
+ makedepends = systemd
+ makedepends = systemd-libs
+ makedepends = valgrind
+ makedepends = xfsprogs
+ makedepends = xmlstarlet
+ makedepends = xmlsec
+ makedepends = xxhash
+ makedepends = yaml-cpp
+ makedepends = yasm
+ makedepends = zlib
+ makedepends = ninja
options = !emptydirs
source = git+https://github.com/ceph/ceph.git
- source = git+https://github.com/ceph/ceph-object-corpus.git
- source = git+https://github.com/ceph/civetweb
- source = git+https://github.com/ceph/jerasure.git
- source = git+https://github.com/ceph/gf-complete.git
- source = git+https://github.com/ceph/rocksdb
- source = git+https://github.com/ceph/ceph-erasure-code-corpus.git
- source = git+https://github.com/ceph/googletest
- source = git+https://github.com/ceph/spdk.git
- source = git+https://github.com/ceph/xxHash.git
- source = git+https://github.com/ceph/isa-l
- source = git+https://github.com/ceph/lua.git
- source = git+https://github.com/ceph/Beast.git
- source = git+https://github.com/boostorg/boost.git
- source = git+https://github.com/ceph/dpdk
- source = git+https://github.com/facebook/zstd
- source = git+https://github.com/01org/isa-l_crypto
- source = git+https://github.com/ceph/blkin
- source = git+https://github.com/ceph/rapidjson
+ source = ceph.sysusers
source = ceph-osd@.service
source = ceph-mon@.service
source = ceph-mds@.service
source = ceph.install
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = 29483c0f6718e8830cf52c0d31e391fb52dc1b460bcb65cf9c72dfab83e5b5ce
- sha256sums = a50811ce62fd6cdcc17d8f1e4d9700c1889ab4bfc5e9a22155bd725a27715e3c
- sha256sums = b8239a04cc42e3e4ced2e141df6804e61e875131a5c95d6bcbfc3b44f388d44b
- sha256sums = 9d713eca6096b28319cfd83eafee1486ece75e2f14fb505f86fe18027606a6bd
+ sha512sums = SKIP
+ sha512sums = 4354001c1abd9a0c385ba7bd529e3638fb6660b6a88d4e49706d4ac21c81b8e829303a20fb5445730bdac18c4865efb10bc809c1cd56d743c12aa9a52e160049
+ sha512sums = 39acff4ecc8ad445fa7a2ace9e5ea1ab52cc1fcceb2a91e6a6e80554782751cc6d692e436b1932847f8369ac5a50d60604f988cc5266857023c3233da3ff2a58
+ sha512sums = bd5e4e80f2d4503598177bce9a9939434f9015f7e6582708d55a1552f022dbf9185bd99623d281d622bf61a129d4ef818615dd5a573adff1d800b4c5a960364e
+ sha512sums = bfaea76402f4e136a0ee2088647380dcf895922a7693e8b10c2ab178265ca2b9622f87eced61d6fa6d929a31c92db2eb5ca62add53d349bb3b083aa1356c8663
+ sha512sums = 91141bac8a334251bf12b8e6da6ce91112bcd6b3529080bd230a614f58771d4bdc81bd239fb1e9680dc370a156b34ad753a07f15cae10aa8a811518199447336
pkgname = ceph-git
+ depends = ceph-libs-git=17.0.0.12062.g396ff7b7026-1
+ depends = boost-libs
+ depends = curl
+ depends = fuse2
+ depends = fuse3
+ depends = fmt
+ depends = glibc
+ depends = gperftools
+ depends = java-runtime
+ depends = keyutils
+ depends = leveldb
+ depends = libaio
+ depends = libutil-linux
+ depends = librdkafka
+ depends = lsb-release
+ depends = ncurses
+ depends = nss
+ depends = oath-toolkit
+ depends = python
+ depends = python-bcrypt
+ depends = python-setuptools
+ depends = python-prettytable
+ depends = python-cmd2
+ depends = python-dateutil
+ depends = snappy
+ depends = sudo
+ depends = systemd-libs
+ depends = python-flask
+ depends = python-pecan
+ depends = python-pyopenssl
+ depends = python-requests
+ depends = python-werkzeug
+ depends = xfsprogs
+ depends = python-yaml
+ depends = python-pyaml
+ provides = ceph
+ conflicts = ceph
+
+pkgname = ceph-libs-git
+ depends = boost-libs
+ depends = curl
+ depends = glibc
+ depends = keyutils
+ depends = libutil-linux
+ depends = bzip2
+ depends = lz4
+ depends = nss
+ depends = oath-toolkit
+ depends = python
+ depends = snappy
+ depends = systemd-libs
+ depends = fmt
+ provides = ceph-libs
+ conflicts = ceph-libs
+pkgname = ceph-mgr-git
+ depends = ceph-git=17.0.0.12062.g396ff7b7026-1
+ depends = ceph-libs-git=17.0.0.12062.g396ff7b7026-1
+ depends = bash
+ depends = boost-libs
+ depends = coffeescript
+ depends = curl
+ depends = gperftools
+ depends = nodejs
+ depends = nss
+ depends = python
+ depends = python-cherrypy
+ depends = python-flask-restful
+ depends = python-pecan
+ depends = python-pyjwt
+ depends = python-routes
+ depends = python-jsonpatch
+ depends = python-more-itertools
+ depends = python-numpy
+ depends = python-scipy
+ depends = python-six
+ optdepends = python-influxdb: influx module
+ optdepends = python-kubernetes: rook module
+ optdepends = python-prometheus_client: prometheus module
+ optdepends = python-remoto: ssh module
+ provides = ceph-mgr
+ conflicts = ceph-mgr
diff --git a/PKGBUILD b/PKGBUILD
index 88e51019cf1a..859a34689fc3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -13,171 +13,269 @@
# Contributor: Joe Julian <me@joejulian.name>
#
-pkgname=ceph-git
-pkgver=12.1.0.1018.g171104cb93
+pkgbase='ceph-git'
+pkgname=('ceph-git' 'ceph-libs-git' 'ceph-mgr-git')
+pkgver=17.0.0.12062.g396ff7b7026
pkgrel=1
epoch=1
pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
-arch=('x86_64'
- 'i686')
+arch=('x86_64')
url='http://ceph.com/'
license=('GPL')
-depends=('libedit'
- 'libsigc++'
- 'gtkmm'
- 'btrfs-progs'
- 'crypto++'
- 'gperftools>=1.8.3-2'
- 'python2'
- 'python2-prettytable'
- 'fuse'
- 'keyutils'
- 'libatomic_ops'
- 'curl'
- 'libaio'
- 'fcgi'
- 'expat'
- 'boost'
- 'leveldb'
- 'xfsprogs')
-makedepends=('git'
- 'boost'
- 'boost-libs'
- 'babeltrace'
- 'gperf'
- 'yasm'
- 'cmake'
- 'python-sphinx'
- 'cython2'
- 'nss')
-install=ceph.install
+makedepends=(
+ 'bash' 'bc' 'boost' 'boost-libs' 'bzip2' 'c-ares' 'cmake' 'coreutils' 'coffeescript'
+ 'cpio' 'cryptsetup' 'cunit' 'curl' 'cython' 'expat'
+ 'fcgi' 'fontconfig' 'fuse2' 'fuse3' 'fmt' 'gcc' 'gcc-libs' 'git' 'glibc' 'gmock' 'gnutls'
+ 'gperf' 'gperftools' 'gptfdisk' 'gtest' 'hwloc' 'inetutils' 'java-runtime'
+ 'jq' 'jre11-openjdk-headless' 'junit' 'keyutils' 'leveldb' 'libaio'
+ 'libatomic_ops' 'libcap' 'libcap-ng' 'libcroco' 'libcurl-compat'
+ 'libedit' 'libgudev' 'libnl' 'librabbitmq-c' 'libtool' 'util-linux'
+ 'libuv' 'libxml2' 'librdkafka' 'libpciaccess' 'lsb-release' 'lz4' 'ncurses'
+ 'nss' 'numactl' 'oath-toolkit' 'openssl' 'parted' 'pcre' 'pcre2' 'pkgconf' 'protobuf'
+ 'procps-ng' 'python-astroid' 'python-attrs' 'python-bcrypt'
+ 'python-cheroot' 'python-cherrypy' 'python-coverage' 'python-dateutil'
+ 'python-elasticsearch' 'python-flask' 'python-flask-restful'
+ 'python-google-api-python-client' 'python-google-auth'
+ 'python-google-auth-httplib2' 'python-grpcio' 'python-isort'
+ 'python-jinja' 'python-lazy-object-proxy' 'python-mccabe'
+ 'python-isodate' 'python-defusedxml' 'python-pkgconfig' 'python-protobuf'
+ 'python-lxml' 'python-xmlsec' 'python-yaml'
+ 'python-more-itertools' 'python-numpy' 'python-pbr' 'python-pecan'
+ 'python-pip' 'python-pluggy' 'python-portend' 'python-prettytable'
+ 'python-prometheus_client' 'python-py' 'python-pycparser'
+ 'python-pyjwt' 'python-pyopenssl' 'python-pytz' 'python-requests'
+ 'python-routes' 'python-scikit-learn' 'python-scipy'
+ 'python-setuptools' 'python-six' 'python-sphinx' 'python-tempora'
+ 'python-virtualenv' 'python-werkzeug' 'python-wrapt' 'rabbitmq'
+ 'sed' 'snappy' 'socat' 'systemd' 'systemd-libs' 'valgrind'
+ 'xfsprogs' 'xmlstarlet' 'xmlsec' 'xxhash' 'yaml-cpp' 'yasm' 'zlib'
+ 'ninja'
+)
options=('!emptydirs')
-provides=('ceph')
-conflicts=('ceph')
source=("git+https://github.com/ceph/ceph.git"
- "git+https://github.com/ceph/ceph-object-corpus.git"
- "git+https://github.com/ceph/civetweb"
- "git+https://github.com/ceph/jerasure.git"
- "git+https://github.com/ceph/gf-complete.git"
- "git+https://github.com/ceph/rocksdb"
- "git+https://github.com/ceph/ceph-erasure-code-corpus.git"
- "git+https://github.com/ceph/googletest"
- "git+https://github.com/ceph/spdk.git"
- "git+https://github.com/ceph/xxHash.git"
- "git+https://github.com/ceph/isa-l"
- "git+https://github.com/ceph/lua.git"
- "git+https://github.com/ceph/Beast.git"
- "git+https://github.com/boostorg/boost.git"
- "git+https://github.com/ceph/dpdk"
- "git+https://github.com/facebook/zstd"
- "git+https://github.com/01org/isa-l_crypto"
- "git+https://github.com/ceph/blkin"
- "git+https://github.com/ceph/rapidjson"
+ "ceph.sysusers"
"ceph-osd@.service"
"ceph-mon@.service"
"ceph-mds@.service"
"ceph.install")
-sha256sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- '29483c0f6718e8830cf52c0d31e391fb52dc1b460bcb65cf9c72dfab83e5b5ce'
- 'a50811ce62fd6cdcc17d8f1e4d9700c1889ab4bfc5e9a22155bd725a27715e3c'
- 'b8239a04cc42e3e4ced2e141df6804e61e875131a5c95d6bcbfc3b44f388d44b'
- '9d713eca6096b28319cfd83eafee1486ece75e2f14fb505f86fe18027606a6bd')
+sha512sums=('SKIP'
+ '4354001c1abd9a0c385ba7bd529e3638fb6660b6a88d4e49706d4ac21c81b8e829303a20fb5445730bdac18c4865efb10bc809c1cd56d743c12aa9a52e160049'
+ '39acff4ecc8ad445fa7a2ace9e5ea1ab52cc1fcceb2a91e6a6e80554782751cc6d692e436b1932847f8369ac5a50d60604f988cc5266857023c3233da3ff2a58'
+ 'bd5e4e80f2d4503598177bce9a9939434f9015f7e6582708d55a1552f022dbf9185bd99623d281d622bf61a129d4ef818615dd5a573adff1d800b4c5a960364e'
+ 'bfaea76402f4e136a0ee2088647380dcf895922a7693e8b10c2ab178265ca2b9622f87eced61d6fa6d929a31c92db2eb5ca62add53d349bb3b083aa1356c8663'
+ '91141bac8a334251bf12b8e6da6ce91112bcd6b3529080bd230a614f58771d4bdc81bd239fb1e9680dc370a156b34ad753a07f15cae10aa8a811518199447336')
+
+# -fno-plt causes linker errors (undefined reference to internal methods)
+# https://tracker.ceph.com/issues/40745
+# similar issue: https://bugs.archlinux.org/task/54845
+# https://github.com/intel/media-driver/commit/d95d8f7ab7ac94a2e0f4ee6a4b4794898dc2d3b7
+# as of today (2019-07-12) the upstream maintainers do not consider this a bug in their code
+# (IMHO rightfully so) and thus we strip the option here
+export CFLAGS="${CFLAGS/-fno-plt/}"
+export CXXFLAGS="${CXXFLAGS/-fno-plt/}"
pkgver() {
- cd "${srcdir}/${pkgname%%-git}"
+ cd "${srcdir}/${pkgbase%%-git}"
#printf "%s" "$(git describe --long --tags | sed 's/v//; s/-/./g')"
git describe --long --tags | sed 's/^v//; s/-/./g'
}
prepare() {
- cd "${srcdir}/${pkgname%%-git}"
-
- # put all submodules in the right places
- SRC_SUBMODULES=($(awk '/^\[submodule/ {print substr($2,2,length($2)-3)}' ${srcdir}/${pkgname%%-git}/.gitmodules | xargs -L1 basename))
- for SUBMODULE in ${SRC_SUBMODULES[@]}; do
- SUBMODULE_PATH=$(awk "/path\s*=.*${SUBMODULE}$/ {print \$3}" "${srcdir}/${pkgname%%-git}/.gitmodules")
- rm -fr "${srcdir}/${pkgname%%-git}/${SUBMODULE_PATH}"
- mv "${srcdir}/${SUBMODULE}" "${srcdir}/${pkgname%%-git}/${SUBMODULE_PATH}"
- done
-
- git submodule update --init
+ cd "${srcdir}/${pkgbase%%-git}"
+ git submodule update --init --recursive
}
build() {
- cd "${srcdir}/${pkgname%%-git}"
-
- test -d build && rm -rf build
- mkdir build
+ cd "${srcdir}/${pkgbase%%-git}"
- # fix python scripts to use python2
- #alias python=python2
+ export CFLAGS+=" ${CPPFLAGS}"
+ export CXXFLAGS+=" ${CPPFLAGS}"
+ export PYTHON_VERSION="$(python --version | awk '{print $2}')"
+ export PYTHON_INCLUDE_DIR="$(python -c "from sysconfig import get_path; print(get_path('include'))")"
+ export CMAKE_WARN_UNUSED_CLI=no
- cd "${srcdir}/${pkgname%%-git}/build"
- # list of options defaults: grep ^option CMakeLists.txt
+ # list of options w/ defaults: cmake -LH src/ceph
cmake \
+ -B build \
+ -GNinja \
+ -DCMAKE_BUILD_TYPE='RelWithDebInfo' \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_SBINDIR=/usr/bin \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DCEPH_SYSTEMD_ENV_DIR=/etc/default \
-DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \
- -DSPHINX_BUILD=/usr/bin/sphinx-build2 \
- -DWITH_SYSTEM_BOOST=ON \
- -DWITH_SYSTEMD=ON \
- -DWITH_EMBEDDED=OFF \
- -DWITH_OPENLDAP=OFF \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DENABLE_GIT_VERSION=ON \
+ -DWITH_PYTHON3="${PYTHON_VERSION}" \
+ -DWITH_BABELTRACE=OFF \
-DWITH_LTTNG=OFF \
- -DHAVE_BABELTRACE=OFF \
- -DWITH_TESTS=OFF \
- ..
- make
+ -DWITH_OPENLDAP=OFF \
+ -DWITH_RDMA=OFF \
+ -DWITH_OCF=OFF \
+ -DWITH_DPDK=OFF \
+ -DWITH_SPDK=OFF \
+ -DWITH_CEPHFS=ON \
+ -DWITH_CEPHFS_JAVA=ON \
+ -DWITH_CEPHFS_SHELL=ON \
+ -DWITH_FUSE=ON \
+ -DWITH_LZ4=ON \
+ -DWITH_XFS=ON \
+ -DWITH_MGR=ON \
+ -DWITH_MGR_DASHBOARD_FRONTEND=ON \
+ -DDASHBOARD_FRONTEND_LANGS="ALL" \
+ -DWITH_RADOSGW=ON \
+ -DWITH_RADOSGW_BEAST_OPENSSL=ON \
+ -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
+ -DWITH_SYSTEMD=ON \
+ -DWITH_SYSTEM_BOOST=ON \
+ -DWITH_SYSTEM_GTEST=OFF \
+ -DWITH_SYSTEM_NPM=OFF \
+ -DENABLE_SHARED=ON \
+ -DWITH_TESTS=ON \
+ -Wno-dev
+
+ cd build
+ ninja
+}
+
+package_ceph-libs-git() {
+ depends=('boost-libs' 'curl' 'glibc' 'keyutils' 'libutil-linux' 'bzip2' 'lz4' 'nss'
+ 'oath-toolkit' 'python' 'snappy' 'systemd-libs' 'fmt')
+ provides=('ceph-libs')
+ conflicts=('ceph-libs')
+
+ cd "${srcdir}/${pkgbase%%-git}/build"
+
+ # main install
+ DESTDIR="${pkgdir}" ninja install
+
+ # remove stuff that goes into the ceph and ceph-mgr packages
+ rm -rf "${pkgdir}"/usr/lib/{ceph/mgr,systemd,sysusers.d,tmpfiles.d}
+ rm -rf "${pkgdir}/usr/share"
+ rm -rf "${pkgdir}/usr/sbin"
+ rm -rf "${pkgdir}/usr/bin"
+ rm -rf "${pkgdir}/etc"
+ rm -rf "${pkgdir}/var"
}
-package() {
- cd "${srcdir}/${pkgname%%-git}/build"
+package_ceph-git() {
+ depends=("ceph-libs-git=${pkgver}-${pkgrel}"
+ 'boost-libs' 'curl' 'fuse2' 'fuse3' 'fmt' 'glibc' 'gperftools' 'java-runtime'
+ 'keyutils' 'leveldb' 'libaio' 'libutil-linux' 'librdkafka'
+ 'lsb-release' 'ncurses'
+ 'nss' 'oath-toolkit' 'python' 'python-bcrypt' 'python-setuptools'
+ 'python-prettytable' 'python-cmd2' 'python-dateutil' 'snappy' 'sudo' 'systemd-libs'
+ 'python-flask' 'python-pecan' 'python-pyopenssl' 'python-requests' 'python-werkzeug' 'xfsprogs'
+ 'python-yaml' 'python-pyaml')
+ provides=('ceph')
+ conflicts=('ceph')
- make DESTDIR="${pkgdir}" install
+ cd "${srcdir}/${pkgbase%%-git}/build"
- cd "${pkgdir}"
+ # main install
+ DESTDIR="${pkgdir}" ninja install
- # install tmpfiles.d
- install -D -m 644 "${srcdir}"/${pkgname%%-git}/systemd/ceph.tmpfiles.d \
- usr/lib/tmpfiles.d/${pkgname%%-git}.conf
- #install -D -m 644 "${srcdir}"/ceph.sysusers \
- # usr/lib/sysusers.d/${pkgname%%-git}.conf
+ # fix sbin dir (cmake opt seems to have no effect)
+ mv "${pkgdir}"/usr/sbin/* "${pkgdir}/usr/bin/"
+ rm -rf "${pkgdir}/usr/sbin"
- # fix sbin path
- msg2 'Fix sbin paths'
- mv -v usr/sbin/* usr/bin
+ # remove stuff that is in the ceph-libs package
+ find "${pkgdir}/usr/lib" -maxdepth 1 -type f -delete
+ find "${pkgdir}/usr/lib" -maxdepth 1 -type l -delete
+ find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type f -delete
+ find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type l -delete
+ # could possibly just rm -rf "${pkgdir}"/usr/lib/ceph
+ rm -rf "${pkgdir}"/usr/lib/{ceph/{compressor,crypto,denc,erasure-code,librbd},rados-classes}
+ rm -rf "${pkgdir}"/usr/lib/python*
+ rm -rf "${pkgdir}/usr/include"
+
+ # remove stuff that is in the ceph-mgr package
+ rm -rf "${pkgdir}"/usr/{bin/ceph-mgr,share/ceph/mgr,lib/systemd/system/ceph-mgr*}
+
+ # remove _test_ binaries from the package, not needed
+ find "${pkgdir}/usr/bin" -maxdepth 1 -type f -iname 'ceph_test_*' -delete
+
+ # install tmpfiles.d and sysusers.d stuff
+ install -Dm644 "${srcdir}/${pkgbase%%-git}/systemd/ceph.tmpfiles.d" \
+ "${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}.conf"
+ install -Dm644 "${srcdir}/ceph.sysusers" \
+ "${pkgdir}/usr/lib/sysusers.d/${pkgbase}.conf"
+
+ __common
# fix bash completions path
- msg2 'Fix bash completion path'
- install -d -m 755 usr/share/bash-completion
- mv -v etc/bash_completion.d usr/share/bash-completion/completions
+ install -d -m 755 "${pkgdir}/usr/share/bash-completion"
+ mv "${pkgdir}"/{etc/bash_completion.d,usr/share/bash-completion/completions}
+
+ # fix EnvironmentFile location in systemd service files
+ sed -i 's|/etc/sysconfig/|/etc/conf.d/|g' "${pkgdir}"/usr/lib/systemd/system/*.service
+
+ # prepare some paths and set correct permissions
+ install -D -d -m750 -o 0 -g 340 "${pkgdir}/etc/ceph"
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/log/ceph"
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph"
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-mds"
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-osd"
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-rgw"
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mon"
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/osd"
+
+ # https://bugs.archlinux.org/task/68439
+ install -D -d -m750 -o 0 -g 0 "${pkgdir}/etc/logrotate.d"
+ install -D -m644 -o 0 -g 0 ../src/logrotate.conf "${pkgdir}/etc/logrotate.d/ceph"
+}
- # remove debian init
- rm -v etc/init.d/ceph
+package_ceph-mgr-git() {
+ depends=("ceph-git=${pkgver}-${pkgrel}" "ceph-libs-git=${pkgver}-${pkgrel}"
+ 'bash' 'boost-libs' 'coffeescript' 'curl' 'gperftools' 'nodejs' 'nss'
+ 'python' 'python-cherrypy' 'python-flask-restful' 'python-pecan'
+ 'python-pyjwt' 'python-routes' 'python-jsonpatch' 'python-more-itertools' 'python-numpy'
+ 'python-scipy' 'python-six')
+ optdepends=('python-influxdb: influx module'
+ 'python-kubernetes: rook module'
+ 'python-prometheus_client: prometheus module'
+ 'python-remoto: ssh module')
+ provides=('ceph-mgr')
+ conflicts=('ceph-mgr')
- # fix python2 shebang
- msg2 'Fix python2 shebang'
- find usr/bin -type f -executable -exec \
- sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+ cd "${srcdir}/${pkgbase%%-git}/build"
+
+ # main install
+ DESTDIR="${pkgdir}" ninja install
+
+ # fix sbin dir (cmake opt seems to have no effect)
+ mv "${pkgdir}"/usr/sbin/* "${pkgdir}/usr/bin/"
+ rm -rf "${pkgdir}/usr/sbin"
+
+ # remove everything except mgr related stuff, rest is in ceph/ceph-libs
+ rm -rf "${pkgdir}"/usr/lib/{ceph/{compressor,crypto,erasure-code},rados-classes}
+ rm -rf "${pkgdir}/usr/include"
+ find "${pkgdir}/usr/bin" -maxdepth 1 -type f -not -name 'ceph-mgr' -delete
+ find "${pkgdir}"/usr/lib/systemd/system -maxdepth 1 -type f -not -iname 'ceph-mgr*' -delete
+ find "${pkgdir}"/usr/lib -maxdepth 1 -type f -delete
+ find "${pkgdir}"/usr/lib -maxdepth 1 -type l -delete
+ rm -rf "${pkgdir}"/etc
+ rm -rf "${pkgdir}"/var
+ rm -rf "${pkgdir}"/usr/lib/{ceph,sysusers.d,tmpfiles.d}
+ rm -rf "${pkgdir}"/usr/lib/python*
+ rm -rf "${pkgdir}"/usr/share/{bash-completion,doc,java,man}
+
+ __common
+
+ # fix EnvironmentFile location in systemd service files
+ sed -i 's|/etc/sysconfig/|/etc/conf.d/|g' "${pkgdir}"/usr/lib/systemd/system/*.service
+
+ # prepare some paths and set correct permissions
+ install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mgr"
}
+__common() {
+ # remove debian init script
+ rm -rf "${pkgdir}/etc/init.d"
+
+ # remove drop.ceph.com ssh stuff
+ rm -f "${pkgdir}"/usr/share/ceph/id_rsa_drop.ceph.com
+ rm -f "${pkgdir}"/usr/share/ceph/id_rsa_drop.ceph.com.pub
+ rm -f "${pkgdir}"/usr/share/ceph/known_hosts_drop.ceph.com
+}
diff --git a/ceph.sysusers b/ceph.sysusers
new file mode 100644
index 000000000000..0cf6e7a6b6ec
--- /dev/null
+++ b/ceph.sysusers
@@ -0,0 +1 @@
+u ceph 340 - /run/ceph