summaryrefslogtreecommitdiff
path: root/sys-cluster/ceph
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/ceph')
-rw-r--r--sys-cluster/ceph/Manifest14
-rw-r--r--sys-cluster/ceph/ceph-14.2.11-r1.ebuild401
-rw-r--r--sys-cluster/ceph/ceph-14.2.13.ebuild400
-rw-r--r--sys-cluster/ceph/ceph-14.2.16-r3.ebuild (renamed from sys-cluster/ceph/ceph-14.2.16-r1.ebuild)33
-rw-r--r--sys-cluster/ceph/ceph-15.2.9-r1.ebuild (renamed from sys-cluster/ceph/ceph-14.2.15-r1.ebuild)69
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch26
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch31
-rw-r--r--sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch22
-rw-r--r--sys-cluster/ceph/files/rbdmap.initd-r1122
9 files changed, 198 insertions, 920 deletions
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index af5a04a64ec8..e3572ca48d2b 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -9,8 +9,6 @@ AUX ceph-14.2.0-dpdk-cflags.patch 1171 BLAKE2B a6815317d3828cee8d2476d6cc77b60d0
AUX ceph-14.2.0-link-crc32-statically.patch 428 BLAKE2B d324855dab736eeecf5835e79c4f2fad9ea4d10aa29b2b03ab6274efa2f54a5cfdad710552662a49d5f61466e1cd9d6c2fc8a42373961e3334f39b806e647feb SHA512 3efe70f826ebc207f1ce8744483c9a82ebbf8f3cfa81c9cbb3152b40f5b540cc9cc21e6bd3370197bee9a27a01c3e3725754d044069bb760c3dbfbc97fe4276d
AUX ceph-14.2.0-mgr-python-version.patch 685 BLAKE2B fbd36e0f5fe45be7cc58cf11b2b83613c2f7f7fdfd64d4f04729c36e5ebc110341aa4c5521d9be590bfb7a7812525130e773a346827461df0a108fbde359b161 SHA512 af0851913cf8b42bad71ece4e41017f71e91db19aeeebb5ea0306055d6d6d9e7eb9ba34224bb2583ca437d44827de8852727e8a9dd809d942d4c277ec3da3214
AUX ceph-14.2.10-build-without-mgr.patch 3248 BLAKE2B a0d435b1e5572d29f5d961bdb5e27da10060777d02c07616cd57abf0a734af0595093f3ead54be6ea74e450543917df55657b08d5f04681468d166c7dd0570ab SHA512 e03cd8dd9f08f348805d04e554e8a4c9bb2d83e931d1ba27c4265084b899031ddee12e3cc289aa927994c35b75a1bc383a0ee6648c7f8fee6864d775bb800fbf
-AUX ceph-14.2.10-missing-includes.patch 634 BLAKE2B 2c12c908e74a93de06a8d554057a2b45cbf3969c0eee51402e31f713ecae7394d195e0a85433d90be944b9df4aee93259fd8a50663cad1c3a7a798defb71f5de SHA512 4b5cf3201b03e9c92260bf01966aa4f6992fe9ba76f2b2f4c3211bcd2f978a76e9b7d4820d79dfbbf9e3f98ccda1929ae92343397db29724120047ce0bbd25d2
-AUX ceph-14.2.10-python-warnings.patch 1536 BLAKE2B 49ce59204096e02f9e10037dcd365fdc6e95cabf69602592019470cc069835b139b6ac2664aff94ddf6226998fa63337db751b9daa7c9ec87eb4729063a34f4e SHA512 c9ebdfaa9d93ca8e287059f817df01294d0a523831e4212e534cfbcabfc70d4e11d154fce42931f8e65926cb7e5cff09dc9c8165268bf24010533e471e370aa1
AUX ceph-14.2.11-systemd-unit-fix.patch 1110 BLAKE2B 6964fb2e9e09fef25020b8c0f3bdfc225864f3840c63349355111626260116a25c6eff9f3e34a1cdc7d5ddbf2517b8df768f4fb83a9f7d2088393c7dc6a91848 SHA512 c9d43af2d02e77c163b457603d0a519a0849eca4109b828a4e000b5e428679e81396f842f91a521d688f6c5867420a40fe893f529f9bbea9624bbcc4400377fb
AUX ceph-14.2.3-dpdk-compile-fix-1.patch 4729 BLAKE2B 96e709b592a7ea9324f54acf75ac3f78334a0d2b155f6d4b5360df8b13e2c9c8e5f6d6b19da5ddb7760c56d9307e056db9aeecec1926dddec88b6b685eb55374 SHA512 d0849fa120b3d7c26106e75bd830874854ee4214ac867b577f4486e4a033b2f555fa6745910f90d26f7fa5280bff01f5880eda9a2bc6edc856400a5756a8346b
AUX ceph-14.2.4-python-executable.patch 922 BLAKE2B a5c9e8c70de62a974ea0bea4159874447d725a566d75a026ca125a7db0f24a8d92212d067c8dd91b75ec1e2aab12e46da464f320c7e696cc916e29a4e0d28f93 SHA512 b263de28897f05fc3a201622b90a222bb2c6605d4e6d8921d3c8101247a41a44e1f9da4242f208e1ef4d10ae028917510f4390cc69595b77b723545f0f72eeb2
@@ -23,6 +21,7 @@ AUX ceph-15.2.3-spdk-compile.patch 376 BLAKE2B 073cee321c1a99f9a161fbec8f9e33bb1
AUX ceph-15.2.4-system-uring.patch 2170 BLAKE2B aabfb8c5085de8d69c9afedd20cb99161fd556148f1e6c88c35ed1bdb83dafe28ddbe75ac1e579e23d0728856bb2c650895ab4c0791b0f8e6acf2652822b14f1 SHA512 8258661e56b5360f4260fdd29b07bac4d415068a112b61ca8c55c529fb1593d8d61a0d59a4eec8f1567b97167c058082198d008f55f8ee701cb46489df5f7823
AUX ceph-15.2.5-glibc-2.32.patch 511 BLAKE2B d2327c3108355d6b25bd020539cb938e5969def1c0b6392cba546b0aa8b555388f5cab6534aebfde17a55e59baf8a0b6cbea2be77cbac5062b7f89c296a53a60 SHA512 491c4a8d4120c6620960d349effd76fcc780995c7a0ed4e9264642e40970a05c4238952a2b8355ad35268f0a9410be9bc38f6c77ddb8f55ad72adf294a0043c6
AUX ceph-15.2.5-missing-includes.patch 435 BLAKE2B 66c4b30629203694bd0d5c82f5977a0576c67b3cb14d678e6ab60bc7a933e65306b122e253856bae7862637564e14a93b9cd2c48c9b510e01cc316fc7be9f218 SHA512 84de66f64ea96cd59b40dfb5b8c5d093fe49df1139b45ad9d1bd6b9ebd2f1200b6e931adcf032639a4995af322cf05c1ef9050eb1cb6673e29e040d4e348b3d5
+AUX ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch 901 BLAKE2B 63c2fa7df27a1e60a88a7a3c3509aa834f4d67b1935958aa821db1c2136146819bfa8ae51a3156ba9ae4669c09eee8103181a4dc6a313fb2aee6e2804b6066a9 SHA512 1b681f50d646c04b7e22b214884bcee52866576b22370c32dec034d2119bd86cf767f48f2699ad482686c79c7b2e6b8d8f699f5ee1a58431dd6f1d0f2170b3ec
AUX ceph-mds_at.service 282 BLAKE2B 3a51e5d5e0490c021282a37961824d650891c2d84c077c6479a9ee733f8a16fbe65cf204aa74e30ddd24dc01f32740037a6bd137a40464d57e1afeba5a49f893 SHA512 3a37e187f925e1a5fb672ac90937f544f3b98ed5a30b6a6b931a600f9d6a245373085ed61b40e0c64b30dbfac51dd99cbeaeb7538b5f23953bc0dde1df94742d
AUX ceph-mds_at.service.conf 115 BLAKE2B aaaa28074bf47ee98272337b536e6ca89dbbbb0443d7774c38f62da4b210a5b2ffbb53fa2b7f20dffbee08206a0868e33d381a89b613a25b88f897dd32753fd5 SHA512 e0b51882ec864271a6468141fdd185e24cafcd677f312a7658880a30c00fd58d9043b2651548ab23bd01e54be248a1e8c03545a8fda0b699ca051de7ceb925d8
AUX ceph-osd_at.service 362 BLAKE2B 7ccbf3428d687d1dfc3a8e10d56083802bba621d7cc9b965b55677e7ae8ce19bd178d31be687e47ed4ae21eef017c8913339cb465822ceadecd2e90cf84d692d SHA512 99c932fa99679a26b288ad57ca725a50847199915368a07ae1bb589ca777cd6e6a68e84f4d506a1097a06ace06eede176ea573e694bcbe43b434381116d63300
@@ -35,15 +34,12 @@ AUX ceph.logrotate-r2 545 BLAKE2B ef7dab92aa5fbbe7f5d5418feaae1a1f4400dce08ca448
AUX envd-tcmalloc 48 BLAKE2B 4a0799ac6bbedfe5e701eead67600312d86f06143dbfd11d2c594c03d09bf13dfa645e5a0bde1189211ad20036dc4fcfce6758d3a5829d943eb337cc65783af9 SHA512 d180b1a888ec6d870ff523a3b10fd00eca479ee2586a236458af5ffaba21c84e7b8098da6d4bc08fb86c82c61a861dd3c3596a01063d734c329a92808682fc8c
AUX make-node-frontend-tarball.bash 3196 BLAKE2B 1779c8fe924d8a341bcf922da310c9e3543dd9875db79b2f08fd99419fc2a693e24a5d0c36e7db7b9c46f02bb78b51359e844c8265ff266e8a931a32b877b665 SHA512 4c13ebc9f2a7ba3d45a01cd72135a57b2dc6ad3edfe06a05645957c5522a053be940782f1148c117d8bf785937655083d3d1c74668e8c72d75ae000888a65d85
AUX rbdmap.initd 2373 BLAKE2B b88d79efc722e2de3d1f0269664a976ed45fbb0a1c9d46fcfd058ea64d3ae7fe27d13455f2ac5ca06663d77cfac1d2f9d86d12bba926541042ac09a8778a3a52 SHA512 bbd48d6987e52eaf6d02bccf3aecd06596465af4d3ac93063f9a814106de162a27bf1a33ae1646e669efb3c754f3ba57f395523293ad643b0d81ee588252216b
+AUX rbdmap.initd-r1 2372 BLAKE2B dee62cc3e92425bccfce86009be0fbecc84d55923a7dde302727d42f5f7703642121c690bdf079878c31b71d4c6c200ae6a7f595ede2dfe0bc46d8f6f9f5dd01 SHA512 d249d2299ef8dc4bbd12237cfe6ef626704872130b1092ab96d05894f04df09418364552433b264b80e49ee7e1587ebee71c1131fbbcd7d858cfadf1fe6357d5
AUX sysctld 57 BLAKE2B 840eec3d188df4998c7ba8fb923777636ae9d2aa342545b69c12e5ea8aa98ae97349b42b56c65a531b207c5f970f873a79c41789941cdd10b279e38f1616f84d SHA512 410f5d721c6cfcc5d7ddaff4f348345140d4b8e1b8fddccb537118bfc59f573ecad63db448598423c9a58fcfdb4cef90e6af27b838e6b77955dfd47673f0f52a
-DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
-DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a327a4c62219105a4e9576fa46643c12b936c3eaa003a78677c4ef401ef6bd73fe150604e8031482f1d237d483ff1 SHA512 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12
-DIST ceph-14.2.15.tar.gz 129254705 BLAKE2B bb30f04ace31c2175c6678a9f252fc31951fd32f47362fb460ed9b8edec3a6535752d28214530e9b996c384a6e6a23eebce5caa89cb2746a2e258f5a1e1f8a3c SHA512 20ac9244974cc1312b7c642acf00142f5b7f59b09ae338f73b6c8e1ee2054b4ebd62701b18653cc792ca575a77b98644903ebb11bee6a9f1ab3aec6b37a2ef1b
DIST ceph-14.2.16.tar.gz 130220625 BLAKE2B 30fcf971dd3ebaad8decf0d8d3ade1b554c0f97844db037ca618fd3f133964c08248067dc82c525cbc7deb04949a3a3d07850a5f56e75bcb8e359957d31df85f SHA512 94cab2c9711f5ee2c826ee27b474676c7bb8507c0761ed8d0a520a7e5182c4b353402061ffafbe9b95ac45603f023015752bffbbe0936f4835dfafc9476d3275
DIST ceph-15.2.8.tar.gz 149565241 BLAKE2B 5b484734c0149aae95a5df2d4481c44e30bf23cdd25aa082084a7a69e5d3398711d45e7d634f98dc99d16a77d85456c13fe3fe0d241087a990e1524664597892 SHA512 66c7322575165b4747955ac9de34f9f9e2d4361c8cd8498819383883045601b92f786c4336c79369d6f019db1c4524c492faa40cdceed7fc1b2b373ca6ab5065
-EBUILD ceph-14.2.11-r1.ebuild 10616 BLAKE2B 46e4c789193ae9122e78a9bd79af3cb2235fb9044c90e365d43df2b5ee4c713a416979d87959e9ace0753a0cd96daa7c802183abbf4439b57a5128c0ea288083 SHA512 89a25b4c4ddd64e6d92efd8069da63b34e8759047eca57446f115d95472bf98181147fbeccd3f6dc4a0757cc085376f0fbfee9888a063d4f6522794e995bcb88
-EBUILD ceph-14.2.13.ebuild 10564 BLAKE2B 3f3c1c4a9b95761a21c9bfbce0663c97b4b3b979f2c3ea4d7dd0771ff877e0808c890461b4d148068029a68e0f723671988c74ce1bd6a7831621ca72ca6f55e4 SHA512 bd3a3769eb810a1daddecff0ac19c3aad34500a2faaa1c6850e8fa44791d06684d7362ed149bc72c4fd44492067843605bf982fc6d3da913acece790b9e66c07
-EBUILD ceph-14.2.15-r1.ebuild 10618 BLAKE2B 2e3a2e5b07c584445ea89d0b4e6e948476de9c074f334ec21bdaa7375a8b49b9b0503dabd110038dbf7394a01427345e7d8995ef0dcfed671b977e4865f22e1b SHA512 ad749bf4b1e1fd969ffb8a0ab3d32aa0d3f1883087525dfdd36f7ffb734dcf2caafada6b72d5311cb4b174de943ac8897fc82ef0be1cdbe32f2145d3ce15e2ff
-EBUILD ceph-14.2.16-r1.ebuild 10560 BLAKE2B 5edc60e3dfc25ee6fcdaa98703c6950fe206aff9544be8e292bd4e12cc14461803bf9e46973eca3732ff624c4ddfacda669c09c4840ba4fa2a692013d6fff7e5 SHA512 62a4f4bdd1438ea36b25a5a0f482d4b7a46775461fa3dbabfc64bb5a147f2004a2f4a80326f00662beecec0134c5a1e3e193dfbdb527b0dfd9a481d6d680f67a
+DIST ceph-15.2.9.tar.gz 149518360 BLAKE2B 3d1d2cf7e356587d77c1ca3e6b05078a3de656607007d38ff0369f5a76fb9e12a3f06929bcbf19ed5d3de7c8e402dc0972c0b3c7245f64e6f5d94a4a78bb1d00 SHA512 1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff
+EBUILD ceph-14.2.16-r3.ebuild 10514 BLAKE2B d4f43c7ccba4ea386f6ca7f68b143ec55115c1c21a6cc170b8925de8a314d4a5529581727b873ca5507e037033688d6d25506f9ebae9700dff710160ee82fca6 SHA512 d15fcdecd4e79c990edb1a04df8330282b3b861fe525f8620e7a48fdaeb411649deabfaab4d8c4fa874a2614aa24b10b98251b14071462baf1e502ccb3d58331
EBUILD ceph-15.2.8-r1.ebuild 10839 BLAKE2B a3c4799a2bf7820bd804aa89235d1d810a93d6183dbb6763f83ca94b2bf2ca98f4368e198ac52e1c781225d8f33332b4644057b13dfbe4e1329d76a0f6abede1 SHA512 1d86affdad406dc3e36995b4cbe5fde081cb36c1fc1301becd1ec45707e535119c678c54184084454d5fd5982ea5e51eb033625562e3f6863f51d69a3f262eb8
+EBUILD ceph-15.2.9-r1.ebuild 10868 BLAKE2B 16bb7344e46c891c4727c85b9d345f62d92b61ffea615a67cc4e28426b1b1c652bfcdb36f81f429fe17086fda8ce85e8350bdaeb668bebaa193669fa55b91d75 SHA512 61116b159396fac0d65b9810722f32cb1c9ee4a07b9c909f44b82169dd430a2635491d337f56b0b98b0899bc72fb6cfb06279f1fdcb605abbf17cf080ed2a040
MISC metadata.xml 2044 BLAKE2B f9a309d38c66cfb87071206331a6e2ba88366ed09802e949cb4499f1a0b2ee7a3ceca7df5653d1955c76ad2daf900aeee166265a2ced9c0b393e609f397dd563 SHA512 c051bacbbc9e64f0774714c1f6f8cf99990e1669de0ca1633173d870c03e04827cae993fd5e6846b310d838eead8471d2181a0678693ea43423e08795dfc0a47
diff --git a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
deleted file mode 100644
index 8db677fdf916..000000000000
--- a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
+++ /dev/null
@@ -1,401 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
- spdk system-boost systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/xmlsec:=[!openssl?,!libressl?]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- openssl? (
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- libressl? (
- dev-libs/libressl:=
- net-misc/curl:=[curl_ssl_libressl]
- )
- )
- ssl? (
- openssl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- ^^ ( openssl libressl )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
- "${FILESDIR}/ceph-14.2.10-missing-includes.patch"
- "${FILESDIR}/ceph-14.2.10-python-warnings.patch"
- "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
- "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- src/bash_completion/CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-14.2.13.ebuild b/sys-cluster/ceph/ceph-14.2.13.ebuild
deleted file mode 100644
index 687247066aaf..000000000000
--- a/sys-cluster/ceph/ceph-14.2.13.ebuild
+++ /dev/null
@@ -1,400 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
- spdk system-boost systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/xmlsec:=[!openssl?,!libressl?]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- openssl? (
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- libressl? (
- dev-libs/libressl:=
- net-misc/curl:=[curl_ssl_libressl]
- )
- )
- ssl? (
- openssl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- ^^ ( openssl libressl )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
- "${FILESDIR}/ceph-14.2.10-python-warnings.patch"
- "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
- "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- src/bash_completion/CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-14.2.16-r1.ebuild b/sys-cluster/ceph/ceph-14.2.16-r3.ebuild
index 940625cd484e..dd17dadcdbb7 100644
--- a/sys-cluster/ceph/ceph-14.2.16-r1.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.16-r3.ebuild
@@ -29,8 +29,8 @@ SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
- spdk system-boost systemd +tcmalloc test xfs zfs"
+ kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
+ systemd +tcmalloc test xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
DEPEND="
@@ -44,12 +44,12 @@ DEPEND="
app-shells/bash:0
app-misc/jq:=
dev-libs/crypto++:=
- <dev-libs/rocksdb-6.15:=
dev-libs/leveldb:=[snappy,tcmalloc(-)?]
dev-libs/libaio:=
dev-libs/libnl:3=
dev-libs/libxml2:=
- dev-libs/xmlsec:=[!openssl?,!libressl?]
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/xmlsec:=[openssl]
dev-cpp/yaml-cpp:=
dev-libs/nss:=
dev-libs/protobuf:=
@@ -79,19 +79,10 @@ DEPEND="
rabbitmq? ( net-libs/rabbitmq-c:= )
radosgw? (
dev-libs/expat:=
- openssl? (
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- libressl? (
- dev-libs/libressl:=
- net-misc/curl:=[curl_ssl_libressl]
- )
- )
- ssl? (
- openssl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
+ dev-libs/openssl:=
+ net-misc/curl:=[curl_ssl_openssl]
)
+ ssl? ( dev-libs/openssl:= )
system-boost? ( dev-libs/boost[threads,context,python,${PYTHON_USEDEP}] )
xfs? ( sys-fs/xfsprogs:= )
zfs? ( sys-fs/zfs:= )
@@ -146,7 +137,7 @@ RDEPEND="${DEPEND}
mgr? (
dev-python/more-itertools[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
+ <dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/routes[${PYTHON_USEDEP}]
diskprediction? (
@@ -161,7 +152,6 @@ RDEPEND="${DEPEND}
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
?? ( jemalloc tcmalloc )
- ^^ ( openssl libressl )
diskprediction? ( mgr !python_targets_python3_8 )
kafka? ( radosgw )
mgr? ( cephfs )
@@ -197,6 +187,7 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
"${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
+ "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
)
check-reqs_export_vars() {
@@ -228,8 +219,10 @@ src_prepare() {
-e 's|[Bb]oost_boost|boost_system|g' -i || die
fi
- sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- src/bash_completion/CMakeLists.txt || die
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
if ! use diskprediction; then
rm -rf src/pybind/mgr/diskprediction_local || die
diff --git a/sys-cluster/ceph/ceph-14.2.15-r1.ebuild b/sys-cluster/ceph/ceph-15.2.9-r1.ebuild
index 73ca58b4b9ef..2772dbbadd51 100644
--- a/sys-cluster/ceph/ceph-14.2.15-r1.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.9-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
+PYTHON_COMPAT=( python3_{7..9} )
DISTUTILS_USE_SETUPTOOLS=rdepend
CMAKE_MAKEFILE_GENERATOR=emake
@@ -17,7 +17,7 @@ if [[ ${PV} == *9999* ]]; then
SRC_URI=""
else
SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64"
+ KEYWORDS="~amd64 ~arm64 ~ppc64"
fi
DESCRIPTION="Ceph distributed filesystem"
@@ -29,8 +29,8 @@ SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
- spdk system-boost systemd +tcmalloc test xfs zfs"
+ kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
+ system-boost systemd +tcmalloc test uring xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
DEPEND="
@@ -44,12 +44,14 @@ DEPEND="
app-shells/bash:0
app-misc/jq:=
dev-libs/crypto++:=
- <dev-libs/rocksdb-6.15:=
+ dev-cpp/gflags:=
dev-libs/leveldb:=[snappy,tcmalloc(-)?]
dev-libs/libaio:=
+ dev-libs/libfmt:=
dev-libs/libnl:3=
dev-libs/libxml2:=
- dev-libs/xmlsec:=[!openssl?,!libressl?]
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/xmlsec:=[openssl]
dev-cpp/yaml-cpp:=
dev-libs/nss:=
dev-libs/protobuf:=
@@ -76,23 +78,17 @@ DEPEND="
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
lttng? ( dev-util/lttng-ust:= )
+ pmdk? ( dev-libs/pmdk:= )
rabbitmq? ( net-libs/rabbitmq-c:= )
radosgw? (
dev-libs/expat:=
- openssl? (
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- libressl? (
- dev-libs/libressl:=
- net-misc/curl:=[curl_ssl_libressl]
- )
- )
- ssl? (
- openssl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
+ dev-libs/openssl:=
+ net-misc/curl:=[curl_ssl_openssl]
)
- system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ ssl? ( dev-libs/openssl:= )
+ system-boost? ( >=dev-libs/boost-1.72[threads,context,python,${PYTHON_USEDEP}] )
+ uring? ( sys-libs/liburing:= )
xfs? ( sys-fs/xfsprogs:= )
zfs? ( sys-fs/zfs:= )
${PYTHON_DEPS}
@@ -128,6 +124,7 @@ RDEPEND="${DEPEND}
app-admin/sudo
net-misc/socat
sys-apps/gptfdisk
+ sys-apps/nvme-cli
>=sys-apps/smartmontools-7.0
sys-block/parted
sys-fs/cryptsetup
@@ -136,6 +133,7 @@ RDEPEND="${DEPEND}
virtual/awk
dev-python/bcrypt[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/flask[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/pecan[${PYTHON_USEDEP}]
@@ -144,9 +142,10 @@ RDEPEND="${DEPEND}
dev-python/requests[${PYTHON_USEDEP}]
dev-python/werkzeug[${PYTHON_USEDEP}]
mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/more-itertools[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
+ <dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/routes[${PYTHON_USEDEP}]
diskprediction? (
@@ -161,7 +160,6 @@ RDEPEND="${DEPEND}
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
?? ( jemalloc tcmalloc )
- ^^ ( openssl libressl )
diskprediction? ( mgr !python_targets_python3_8 )
kafka? ( radosgw )
mgr? ( cephfs )
@@ -186,22 +184,21 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.0-cflags.patch"
"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
"${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
- "${FILESDIR}/ceph-14.2.10-python-warnings.patch"
- "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
- "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
+ "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
+ "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+ "${FILESDIR}/ceph-15.2.4-system-uring.patch"
+ "${FILESDIR}/ceph-15.2.5-missing-includes.patch"
+ "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
)
check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
+ CHECKREQS_DISK_BUILD="5400M"
CHECKREQS_DISK_USR="510M"
export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
@@ -229,8 +226,10 @@ src_prepare() {
-e 's|[Bb]oost_boost|boost_system|g' -i || die
fi
- sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- src/bash_completion/CMakeLists.txt || die
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
if ! use diskprediction; then
rm -rf src/pybind/mgr/diskprediction_local || die
@@ -244,6 +243,7 @@ ceph_src_configure() {
local flag
local mycmakeargs=(
-DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM=$(usex pmdk)
-DWITH_CEPHFS=$(usex cephfs)
-DWITH_CEPHFS_SHELL=$(usex cephfs)
-DWITH_DPDK=$(usex dpdk)
@@ -260,13 +260,16 @@ ceph_src_configure() {
-DWITH_RADOSGW=$(usex radosgw)
-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+ -DWITH_RBD_RWL=$(usex rbd-rwl)
-DWITH_SSL=$(usex ssl)
-DWITH_SYSTEMD=$(usex systemd)
-DWITH_TESTS=$(usex test)
+ -DWITH_LIBURING=$(usex uring)
-DWITH_XFS=$(usex xfs)
-DWITH_ZFS=$(usex zfs)
-DENABLE_SHARED="ON"
-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-DWITH_SYSTEM_BOOST=$(usex system-boost)
-DBOOST_J=$(makeopts_jobs)
-DWITH_SYSTEM_ROCKSDB=ON
@@ -355,7 +358,7 @@ src_install() {
fowners -R ceph:ceph /var/log/ceph
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
diff --git a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
deleted file mode 100644
index aaa6ee080a33..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/common/bit_str.h b/src/common/bit_str.h
-index c4c24f6a75..b5631e8b84 100644
---- a/src/common/bit_str.h
-+++ b/src/common/bit_str.h
-@@ -14,6 +14,8 @@
- #ifndef CEPH_COMMON_BIT_STR_H
- #define CEPH_COMMON_BIT_STR_H
-
-+#include <cstdint>
-+#include <iosfwd>
- #include <functional>
-
- namespace ceph {
-diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
-index 977ce3638d..8d982879aa 100644
---- a/src/librbd/api/PoolMetadata.h
-+++ b/src/librbd/api/PoolMetadata.h
-@@ -8,6 +8,8 @@
- #include "include/rados/librados_fwd.hpp"
-
- #include <map>
-+#include <string>
-+#include <cstdint>
-
- namespace librbd {
-
diff --git a/sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch b/sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch
deleted file mode 100644
index 8be3e509a1cf..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/src/pybind/ceph_volume_client.py b/src/pybind/ceph_volume_client.py
-index 7d7e5b49e4..9a1ba80e69 100644
---- a/src/pybind/ceph_volume_client.py
-+++ b/src/pybind/ceph_volume_client.py
-@@ -355,7 +355,7 @@ class CephFSVolumeClient(object):
- continue
-
- (group_id, volume_id) = volume.split('/')
-- group_id = group_id if group_id is not 'None' else None
-+ group_id = group_id if group_id != 'None' else None
- volume_path = VolumePath(group_id, volume_id)
- access_level = volume_data['access_level']
-
-@@ -378,7 +378,7 @@ class CephFSVolumeClient(object):
- if vol_meta['auths'][auth_id] == want_auth:
- continue
-
-- readonly = True if access_level is 'r' else False
-+ readonly = True if access_level == 'r' else False
- self._authorize_volume(volume_path, auth_id, readonly)
-
- # Recovered from partial auth updates for the auth ID's access
-@@ -1120,7 +1120,7 @@ class CephFSVolumeClient(object):
-
- # Construct auth caps that if present might conflict with the desired
- # auth caps.
-- unwanted_access_level = 'r' if want_access_level is 'rw' else 'rw'
-+ unwanted_access_level = 'r' if want_access_level == 'rw' else 'rw'
- unwanted_mds_cap = 'allow {0} path={1}'.format(unwanted_access_level, path)
- if namespace:
- unwanted_osd_cap = 'allow {0} pool={1} namespace={2}'.format(
diff --git a/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch b/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch
new file mode 100644
index 000000000000..e9439a630185
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch
@@ -0,0 +1,22 @@
+diff --git a/src/compressor/zlib/ZlibCompressor.cc b/src/compressor/zlib/ZlibCompressor.cc
+index e3064d2a21..c86b19da6c 100644
+--- a/src/compressor/zlib/ZlibCompressor.cc
++++ b/src/compressor/zlib/ZlibCompressor.cc
+@@ -107,7 +107,7 @@ int ZlibCompressor::zlib_compress(const bufferlist &in, bufferlist &out)
+ return 0;
+ }
+
+-#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64)
++#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64) && defined(HAVE_INTEL_SSE4_1)
+ int ZlibCompressor::isal_compress(const bufferlist &in, bufferlist &out)
+ {
+ int ret;
+@@ -167,7 +167,7 @@ int ZlibCompressor::compress(const bufferlist &in, bufferlist &out)
+ if (qat_enabled)
+ return qat_accel.compress(in, out);
+ #endif
+-#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64)
++#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64) && defined(HAVE_INTEL_SSE4_1)
+ if (isal_enabled)
+ return isal_compress(in, out);
+ else
diff --git a/sys-cluster/ceph/files/rbdmap.initd-r1 b/sys-cluster/ceph/files/rbdmap.initd-r1
new file mode 100644
index 000000000000..f3f2ea526e4b
--- /dev/null
+++ b/sys-cluster/ceph/files/rbdmap.initd-r1
@@ -0,0 +1,122 @@
+#!/sbin/openrc-run
+
+DESC="RBD Mapping:"
+RBDMAPFILE="/etc/ceph/rbdmap"
+
+extra_started_commands="reload"
+
+depend() {
+ need localmount net
+ before netmount
+}
+
+start() {
+
+ if [ ! -f "${RBDMAPFILE}" ]; then
+ ewarn "$DESC : No ${RBDMAPFILE} found."
+ exit 0
+ fi
+
+ RET=0
+ # Read /etc/ceph/rbdmap to create non-existant mapping
+ while read DEV PARAMS; do
+ case "$DEV" in
+ ""|\#*)
+ continue
+ ;;
+ */*)
+ ;;
+ *)
+ DEV=rbd/$DEV
+ ;;
+ esac
+ ebegin "${DESC} '${DEV}'"
+ newrbd=""
+ MAP_RV=""
+ RET_OP=0
+ OIFS=$IFS
+ IFS=','
+ for PARAM in ${PARAMS}; do
+ CMDPARAMS="${CMDPARAMS} --$(printf '%s\n' "${PARAM}" | tr '=' ' ')"
+ done
+ IFS=$OIFS
+ if [ ! -b /dev/rbd/${DEV} ]; then
+ MAP_RV=$(rbd map ${DEV} ${CMDPARAMS} 2>&1)
+ if [ $? -eq 0 ]; then
+ newrbd="yes"
+ else
+ RET=$((${RET}+$?))
+ RET_OP=1
+ fi
+ fi
+ eend ${RET_OP} "${MAP_RV}"
+
+ if [ "$newrbd" ]; then
+ ## Mount new rbd
+ MNT_RV=""
+ mount --fake /dev/rbd/${DEV} >>/dev/null 2>&1 \
+ && MNT_RV=$(mount -vn /dev/rbd/${DEV} 2>&1)
+ [ -n "${MNT_RV}" ] && einfo "mount: ${MNT_RV}"
+
+ ## post-mapping
+ if [ -x "/etc/ceph/rbd.d/${DEV}" ]; then
+ einfo "RBD Running post-map hook '/etc/ceph/rbd.d/${DEV}'"
+ /etc/ceph/rbd.d/${DEV} map "/dev/rbd/${DEV}"
+ fi
+ fi
+ done < ${RBDMAPFILE}
+ eend ${RET}
+}
+
+stop() {
+
+ RET=0
+ ## Unmount and unmap all rbd devices
+ if ls /dev/rbd[0-9]* >/dev/null 2>&1; then
+ for DEV in /dev/rbd[0-9]*; do
+ ## pre-unmapping
+ for L in $(find /dev/rbd -type l); do
+ LL="${L##/dev/rbd/}"
+ if [ "$(readlink -f $L)" = "${DEV}" ] \
+ && [ -x "/etc/ceph/rbd.d/${LL}" ]; then
+ einfo "RBD pre-unmap: '${DEV}' hook '/etc/ceph/rbd.d/${LL}'"
+ /etc/ceph/rbd.d/${LL} unmap "$L"
+ break
+ fi
+ done
+
+ ebegin "Unmapping RBD device: '${DEV}'"
+ UMNT_RV=""
+ UMAP_RV=""
+ RET_OP=0
+ MNT=$(findmnt --mtab --source ${DEV} --noheadings | awk '{print $1'})
+ if [ -n "${MNT}" ]; then
+ einfo "un-mounting '${MNT}'"
+ UMNT_RV=$(umount "${MNT}" 2>&1)
+ fi
+ if mountpoint -q "${MNT}"; then
+ ## Un-mounting failed.
+ RET_OP=1
+ RET=$((${RET}+1))
+ else
+ ## Un-mapping.
+ UMAP_RV=$(rbd unmap $DEV 2>&1)
+ if [ $? -ne 0 ]; then
+ RET=$((${RET}+$?))
+ RET_OP=1
+ fi
+ fi
+ eend ${RET_OP} "${UMAP_RV}"
+ [ -n "${UMNT_RV}" ] && einfo "${UMNT_RV}"
+ done
+ fi
+ eend ${RET}
+}
+
+reload() {
+ start
+}
+
+status() {
+ rbd showmapped
+}