summaryrefslogtreecommitdiff
path: root/sys-cluster/ceph
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
commit0f558761aa2dee1017b4751e4017205e015a9560 (patch)
tree037df795519468a25d9362b4e95cdaeb84eb1cf9 /sys-cluster/ceph
parent752d6256e5204b958b0ef7905675a940b5e9172f (diff)
gentoo resync : 29.12.2022
Diffstat (limited to 'sys-cluster/ceph')
-rw-r--r--sys-cluster/ceph/Manifest18
-rw-r--r--sys-cluster/ceph/ceph-16.2.9.ebuild (renamed from sys-cluster/ceph/ceph-14.2.22-r1.ebuild)328
-rw-r--r--sys-cluster/ceph/ceph-17.2.1.ebuild457
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch17
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch27
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch32
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-cflags.patch25
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch39
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch13
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch111
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch29
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch76
-rw-r--r--sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch82
-rw-r--r--sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch68
14 files changed, 817 insertions, 505 deletions
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index a164bc4fe028..bf14ddf35ed8 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -6,15 +6,6 @@ AUX ceph-13.2.2-dont-install-sysvinit-script.patch 471 BLAKE2B 85ef94f4940849636
AUX ceph-14.2.0-cflags.patch 545 BLAKE2B 0f5c4e509b2252de7a4b914b99fb4abe13010a1c21b2b701530f6a29dcd41924e3b81841cb65b7b949af42b168ce9fe756b0551c31babf9c9498d394b2ea6aa8 SHA512 9e6bb46d5bbdc5d93f4f026b2a8d6bdb692d9ea6e7018c1bb0188d95ea8574c76238d968b340fd67ddaa3d8183b310e393e3549dc3a63a795fde696413b0ca94
AUX ceph-14.2.0-cython-0.29.patch 946 BLAKE2B c251b6a171e5e0bab3f8716b79eb3138a177c1f39e7cf433ba52d03d73de4b45abc2db6742237c8044519337297025cf577d210ace81457ff05325073aa5bb43 SHA512 82c1608928ee669ef60b8930ce82c443152c446e669e7bde9ce32f78571afb19a9620c3818b69ac8cb3ea33e7d7ac40f77c89162c71b19b157336d907fa23e3d
AUX ceph-14.2.0-dpdk-cflags.patch 1171 BLAKE2B a6815317d3828cee8d2476d6cc77b60d089db5b5ab0b30fd24c0ac10270ce930ce3049f1b22af71e5b39a6e323c672245fb78753e7ed901055afac8371cbcb9f SHA512 ece01fcaf0b82c441618eea1f37fc2658aa356de1128121d368769fdbf6316b226ea15a781353b115c0a81921c8872bb3d003ecbb1e8f1b456bb8cf6db8f091e
-AUX ceph-14.2.0-mgr-python-version.patch 685 BLAKE2B fbd36e0f5fe45be7cc58cf11b2b83613c2f7f7fdfd64d4f04729c36e5ebc110341aa4c5521d9be590bfb7a7812525130e773a346827461df0a108fbde359b161 SHA512 af0851913cf8b42bad71ece4e41017f71e91db19aeeebb5ea0306055d6d6d9e7eb9ba34224bb2583ca437d44827de8852727e8a9dd809d942d4c277ec3da3214
-AUX ceph-14.2.11-systemd-unit-fix.patch 1110 BLAKE2B 6964fb2e9e09fef25020b8c0f3bdfc225864f3840c63349355111626260116a25c6eff9f3e34a1cdc7d5ddbf2517b8df768f4fb83a9f7d2088393c7dc6a91848 SHA512 c9d43af2d02e77c163b457603d0a519a0849eca4109b828a4e000b5e428679e81396f842f91a521d688f6c5867420a40fe893f529f9bbea9624bbcc4400377fb
-AUX ceph-14.2.22-build-without-mgr.patch 880 BLAKE2B e18113744dd499e773f730564fc97ae1d4d194b6a88f99aa6a1a47035047aa9491221ca292eaed850db0a5a808380ddc2f3b373e6688472b4e4abf797042ac25 SHA512 d261f641b3ef0298efa622a8eb7db152e617584cfcf5f92a6b61c732de50a3a9c76fe98440e8459aff191a69d87f3bd042663001f505bfef6498b1fb1f409c70
-AUX ceph-14.2.22-cflags.patch 981 BLAKE2B be9729419323db95927264b6ba8db6243bea812889a61041fa5d27e453a5c7b153a4adf322fc6fa5eb91b18dc8907cff50eb2da099fdad10b42fa80947ff1bc7 SHA512 bc9957948d538bf7a014053f588b0162aad2d8ffdf61f20fbcebe3f163c695d46cb7b485941f91e03c2dcedc691133babd55e1ba060eb0a571a72e735edbba22
-AUX ceph-14.2.22-no-virtualenvs.patch 2166 BLAKE2B ef890bbe39597774577d11873004038888d83bd81abfd81ea959d00225f826bec712d32cc5c36b5e1d1588d9364fded4dcdb7fd17836379ff5f0a5c7979d9f1e SHA512 c5dcc5183a889ac8a5ecb25b0c5345dbeba388a8a31fb5eddb7531a72c6a3dd018c53b2ec95140c124d6025285b345c0c5541e8055f9b4d91bd678dfbbaf2cd7
-AUX ceph-14.2.22-snappy-uint32.patch 575 BLAKE2B c3c34518055ef723a4e56f10f2c410f3d614bfa5af79e1e4290f090b74de3ff1b1d4fd2f0d26b712f0d4107fda8196e942a07f3a730ffc9b241c65dcfc76f52d SHA512 7af984f4c211f25cf4d819e928269a2e2dc861048f80f16ed63325cc71fb3354391d94a2858874c59c6fd7d7ab72e497072e23e487da8939807b871d5cdbcf4a
-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
-AUX ceph-14.2.4-undefined-behaviour.patch 1990 BLAKE2B 4f9839bc05c95d40c870f346ebb1856f2846adb26fcbbed67e260f47def9b7167bac4a15917262e8c9dbb99cb83892da2aa315b6d9ee8cd60eb222876dc56482 SHA512 15e4df7cadb02e65144dffea3c287e853e27a04c18281c13282409f1bc28184f31b80d505123a3a29e5394fa0b5e3e3f1246bb70353f142e52e19939149a341e
AUX ceph-15.2.0-rocksdb-cmake.patch 703 BLAKE2B 1c99a1a89be22cedf39326cbf7d6e381c76598ceb8efd4dc6e9f97033c8e654314b8a59c147a7d5daf0305aaedbb4ceb14b9c14e79f61e8fa789e74c0205b1f4 SHA512 20256de5c3227caa149f8285bcc90fcbd67be8cefa568fb72ad0d43688f1f62db7c7fc231dfd4ecf2dd11be68bf1ccc284ebbc691a82a26f3968200f12c82097
AUX ceph-15.2.15-no-virtualenvs.patch 3214 BLAKE2B fbd06b7cfae102059487797f2c78547587fcb4deb190b883f757be61b785b6a1c65d2864657292af9657b7426ae3651579c5a6af1b2b7470b9429932eb3afa3a SHA512 2e27518ce830e237ed3123afd099a16042a2e6503642f393e535c27f23d9cbbf79bd87870bab069e0129d9bbf0942b975fe0e3b1737cfc5dc945decb5870cba6
AUX ceph-15.2.15-snappy-1.1.9.patch 1371 BLAKE2B 804552da2dceabd1aa96b56dffea2d5a5635a3a0ea8f30de16fc6c2ad6f7055b887c069db3a7b6650a1d2a963f1413461964ad8035d213c866ca332ebdca92f4 SHA512 b22064bf613cab2d1b36a6467d9dc2e5522c734a9030566fec28aa3a9cdc676d135cf7f5d6f2e96bfffc9c94f4b833a7d9274bf90afac45d2957fb94007258a8
@@ -30,6 +21,7 @@ AUX ceph-16.2.2-cflags.patch 540 BLAKE2B d7f7ce9e65d59b7a9594f4cd34091df8b496d03
AUX ceph-16.2.2-system-zstd.patch 1501 BLAKE2B 6540822407802dacb43c4fd9c432b45ec747a77d6892f2193fe55cb09da90b035d7630bdf5f9ec6f49df5e351c1d38c96cd14e9ed180bee897f11413ba53ed64 SHA512 5e21e29b30ee67411e3631fa65d0dc8a7b232e582c995049b4e89ea709e87a42edbf5cd4bbe535e62aebb7c9509a85b92c62e0f9914b2d4ee197994e2665139a
AUX ceph-16.2.7-no-virtualenvs.patch 3362 BLAKE2B 4ed9e3f2bc681f9b06071f11eaead2dc3571d45f3efbd27d83c78b38014d28ce4d37a01873dee56b88dd1fafac37a41e5454a4ba50f096c8e5d446108a714c7e SHA512 78ab25f3138832263892d357b160611cb5a13376fdb4d4197a2d052deaacf9ae4ae7776c0475e49bb685ac840f4ebc49bde678c3b952a964b5e88058e2aa51b8
AUX ceph-16.2.7-string-includes.patch 670 BLAKE2B 308a1434afc6c81def5b7ef43cfb6f1bd37b5b46c5a2591c0615b941cf80cb4814c090edb6805545c333355b4dcf55991bd2459572cd16e6b2d393f1fffe2c00 SHA512 c6e0d35aa2f6a8cb4c63b7cd7baa4909e0becd0ff09f7bb712fa53c62e3f5a26c0352066c1f4fe5186a69faccc8d902bf83fea7f2df0f5324d98cc90e546d627
+AUX ceph-16.2.8-no-virtualenvs.patch 3650 BLAKE2B 3c350e1ff171ec40443bcb2e8b844192bf07d8cc84181b9c20b11bfd8785e7bbf029ee9a6abc1d52655618417769b7f32d3e758cc9456f38e7ea918499bd9ab5 SHA512 f82210448617f448205b8a51fc286fc88c149ec65eb23b4ea439e5e69ad07d30d9fb254e2ffac13b2d18c7be8a0d69110c089ff22a301ee0fe92357fcfde9c25
AUX ceph-17.2.0-cyclic-deps.patch 2202 BLAKE2B 14bfdada20b4d1a27308c42c4cadfe11060ccb6f8e2d84a744bd94b08f03fc810f53f2d7fdfdbd646c5d3c649ac7b64a32517d05169bd157ed0725c0fa722b43 SHA512 e1ef790fc62f03b2edb8a069b50848923f0b01b64777f0641cc76dfd7129a42b2d5eb5d778cd6e730e917ad90a325a6f51e4b1e3534a9231bfffefe488167e1d
AUX ceph-17.2.0-deprecated-boost.patch 2451 BLAKE2B 8fcf2f55a80840ef2452c45ea964aa375f1972dc441dcd5cdf4bcda9c4b69e179d98bfe0959be40994263823e715d0c8b1631e30cdb2d75144400543b07a3281 SHA512 505bb4e50ccc9d8fc7f1540950eaf59984204966b3faa60301034b80ee8f85ca1f45998ae99a8b960a288feac32bfd780e87db94839379c6b6343fc081a515ef
AUX ceph-17.2.0-findre2.patch 709 BLAKE2B b7b044e71206ada569fd64242256c85932ca3dc34d5be4520ce0d420838045ca26c5a7c8212762af217adf245b18197c1aa4f0bf69e8d80c3c330b0d40bccbb4 SHA512 990d70f656bb8a3a9904c7235a48622e0a2bbdf3b751b4bd8603b2078d549a7b6dcbdf204a88512c525c2a95dbaa0ac792aafa5cf565faf91a4417923e7ae57b
@@ -39,6 +31,7 @@ AUX ceph-17.2.0-no-virtualenvs.patch 2789 BLAKE2B 593f65b76f2b3560a2644bac8313c1
AUX ceph-17.2.0-osd_class_dir.patch 486 BLAKE2B 7d9e144ab40e5e2f73a1412a65b27ffda74bf742d8499845a8dd43d42b18294ca5da9feca6f7345be950cf98b9e30f654a7ed40e9b7159a0aa5fe4462d6b0197 SHA512 02b7b685655f7d7b11744fabea2cb342bf6564a7fe068b783769276b9604c1320b83daad7078190fd293b9dadf06e6f657db35125e28dfa9619aac2179150bd7
AUX ceph-17.2.0-pybind-boost-1.74.patch 845 BLAKE2B b862b1abf61c0f5cc17964c86073a083b217f01ca5ae725bfe07ba13702e2d835bf8ccc4b5fae4b3138230b36722f4de0c8176811d6eefc1523e1fcb4848b744 SHA512 525b5df44f0de71ab0b2024c8bc0ccf98740a0befac4b032ae9a0fb6e2a05926d7171ae4b0af4ba32e71c9e04fe90aa192a2e3ae433242a62fa4e4efdc855321
AUX ceph-17.2.0-system-opentelemetry.patch 705 BLAKE2B 0036ad8e7d2d8a707db5ea137cb47e9cb18d8e4d8923d3c8dc1306adca24fb30c029e03d76a281219ce34928b5ed6448aba4a98b2286a942eda2cf86fb0e5365 SHA512 d845ae2b9d31604d622dfb2993186ca1b3e37d3a5e88df8b4747c45b0f1913f4e092a5b0a2405ab228a57e6717bdf51c5458c66eab601eabdece4524085840e3
+AUX ceph-17.2.1-no-virtualenvs.patch 2780 BLAKE2B c1a752893800344a89321c76763268453de3fb275a7e952bdd81c6356d3e5aec48fb8623025c5d4fb7b0281b7d31272c145ef7d921c42c41d858f46105301eec SHA512 53bb81846633e6ff480d46c777b46bf6af2dd07817c84413c772836d7815e5a38c7b61c903af32434896041617175afaaeea6f5618ef5fbec0ad9afd7d7aa8f6
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
@@ -53,14 +46,17 @@ AUX make-node-frontend-tarball.bash 3196 BLAKE2B 1779c8fe924d8a341bcf922da310c9e
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.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
+DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
+DIST ceph-17.2.1.tar.gz 168819036 BLAKE2B 2d6506f3a43ccbe4a149163c13ab2de72aeba568308ca7c0c59d0ff32316519d27b334451fd8d78af799cabe3b5a8c5b7b19d5da028e52c420ec7fc38efe5aad SHA512 cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0
DIST ceph-xsimd-17.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
-EBUILD ceph-14.2.22-r1.ebuild 10507 BLAKE2B 3842903c666d0fcaf5eb928b2ebe744bdec3544a0383229f5d9d4eea3bf065b84eb079f93a78b6f711056d99f89eb1901e64c9544fa41a9580ad77963fc7a21e SHA512 93479bb2d5caeca95382bbc0f0a4e000949bd770d2ab948a08952f1ac71ae88d97ed40a6c04775690b8dac41ed7058849be3de538e8832e85c12575598fe2d33
+DIST ceph-xsimd-17.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
EBUILD ceph-15.2.16.ebuild 10917 BLAKE2B c1b135b0cbdb9f390248ec861e9c196095cec4011f934fa859c39475483d815c6f369bf88e7d8ca21690f500e372d9707ae00084d3dcbdffc72e7e928c55a07e SHA512 281d6915a55ebe16619549f9bdee35ff4af0ffc68ef1360ec2c132a03a57d4361e7216f9b663486ebd77512aa563bdeb70d30e3feb8cd8e1c3a21c7a21277a43
EBUILD ceph-16.2.7-r1.ebuild 12370 BLAKE2B 4e74d44c0d46f97640f678937eafa120c2e186dff56f83582e9b6dba06e952f6d79c0977d6ac4c121642c3ce8eec1b3bc180c93925282932f7ad30671bd2e783 SHA512 3f90ca8e5c6e1e3498deeee342d6f8ac7123420232aa502f147e2d0544033ec9d48d2d964db04a0fef3e42aba0c5e72c55ec6090d3b8fe9449872286d9925919
EBUILD ceph-16.2.7.ebuild 12257 BLAKE2B 60c2b1f086b8a58331720f478319140b65d76e25cf6f975596cbece5830e7feb702e1ed0c4ab4a1dff5c929a132dd7e444fc943d623ded94bd7bbb8909a26726 SHA512 3e800a7651c94e848cd0c071ca16be87ea28f49dbb7ee2837817d435679c82f02488a259672678c5613c6c00b57cba1148f12e5aa58e58d03118c17fcce956c9
+EBUILD ceph-16.2.9.ebuild 12558 BLAKE2B 14fda4e8384ba1ea06f6669938901af8c8a76cbd41ee150eb1d6f9af783fee049c5f9a80989b9e3874025834b8755927b11f757ada69b1bb6a56701de6b403a9 SHA512 41a75d08c6806ffb2300c6a76e11c20707a1959657be51f21a4ee4df42f571f19a073da3bc5f5188d31fd56f10938e69d1c439f403ef33f6066a1489d57dfaf6
EBUILD ceph-17.2.0-r2.ebuild 12384 BLAKE2B c7a9b24352909db12f0a888d9fa4b5ef7358020f97a0a420728a7bca07537b174fcb5cffc525b579bb9b22cd69c67d481e36e9f9f5b0afd152eb81b60b04fd1e SHA512 c927b1232b7f833904e24670f858fe81aa342cf7c8996ce54f905455467f8975b3960dbb0bbe2572d6d3d1e16da933bc6961c9660fb835b99652d390e13e8981
+EBUILD ceph-17.2.1.ebuild 12384 BLAKE2B fa5768b7dcfb46797065335cf87bfe9e4f553a404bbdf58bf0695b968c54d7f11435c9db1005eaa75ba614512c453f82349010c0bb87185254eefcfb6c962a08 SHA512 2c6ab3c69d8d08a77ff5a71e577d4c9f4cd642bed041fca1528f360ba21104e2e4426caa02ecaccc9ce64b5e997245e731bd64ec52372ee5d9b130f73d92caf5
MISC metadata.xml 2453 BLAKE2B 988cbe4fa5176fde46a503932a58555554e577a311180df706021ea67a8c861b82fbc476cc757c090ea4e753b519212a2cca8c0605921c4e121b770fd1cc61ea SHA512 14c25df4749cd86f82782f8e7cda587a0310e4cf28b6d4f8ac1fa4abee532d6d553f35fcfb8ab0393ce876d36a8fe2851408ad5eaaf5cf28834f03cf744ac6c1
diff --git a/sys-cluster/ceph/ceph-14.2.22-r1.ebuild b/sys-cluster/ceph/ceph-16.2.9.ebuild
index 860ccfb14768..4c0e1be4061e 100644
--- a/sys-cluster/ceph/ceph-14.2.22-r1.ebuild
+++ b/sys-cluster/ceph/ceph-16.2.9.ebuild
@@ -1,23 +1,18 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-CMAKE_MAKEFILE_GENERATOR=emake
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-3 )
-DISTUTILS_OPTIONAL=1
+CMAKE_MAKEFILE_GENERATOR=emake
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \
+ lua-single 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
+SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
DESCRIPTION="Ceph distributed filesystem"
HOMEPAGE="https://ceph.com/"
@@ -25,28 +20,39 @@ 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)
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test uring xfs zbd zfs
+"
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- 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[@]})"
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
acct-group/ceph
acct-user/ceph
virtual/libudev:=
app-arch/bzip2:=
app-arch/lz4:=
app-arch/snappy:=
+ || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
app-arch/zstd:=
app-shells/bash:0
app-misc/jq:=
dev-libs/crypto++:=
- <dev-libs/leveldb-1.21:=[snappy,tcmalloc(-)?]
+ dev-cpp/gflags:=
+ <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
dev-libs/libaio:=
+ dev-libs/libfmt:=
dev-libs/libnl:3=
dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/openssl:=
<dev-libs/rocksdb-6.15:=
dev-libs/xmlsec:=[openssl]
dev-cpp/yaml-cpp:=
@@ -56,58 +62,68 @@ DEPEND="
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:=
virtual/libcrypt:=
+ x11-libs/libpciaccess:=
babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
+ fuse? ( sys-fs/fuse:3= )
jemalloc? ( dev-libs/jemalloc:= )
!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? ( dev-cpp/nlohmann_json:= )
kafka? ( dev-libs/librdkafka:= )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
lttng? ( dev-util/lttng-ust:= )
+ pmdk? ( dev-libs/pmdk:= )
rabbitmq? ( net-libs/rabbitmq-c:= )
radosgw? (
+ dev-libs/icu:=
dev-libs/expat:=
- dev-libs/openssl:=
net-misc/curl:=[curl_ssl_openssl]
)
- ssl? ( dev-libs/openssl:= )
- system-boost? ( dev-libs/boost:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ !system-boost? ( $(python_gen_impl_dep '' 3.8 3.9) )
+ uring? ( sys-libs/liburing:= )
xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
zfs? ( sys-fs/zfs:= )
"
BDEPEND="
- ${PYTHON_DEPS}
- amd64? ( dev-lang/yasm )
+ amd64? ( dev-lang/nasm )
x86? ( dev-lang/yasm )
app-arch/cpio
>=dev-util/cmake-3.5.0
dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/sphinx
- dev-util/cunit
dev-util/gperf
dev-util/ragel
dev-util/valgrind
sys-apps/coreutils
sys-apps/grep
sys-apps/sed
+ sys-apps/util-linux
sys-apps/which
sys-devel/bc
sys-devel/patch
virtual/pkgconfig
+ jaeger? (
+ sys-devel/bison
+ sys-devel/flex
+ )
test? (
+ dev-util/cunit
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
dev-python/requests-mock[${PYTHON_USEDEP}]
@@ -115,11 +131,12 @@ BDEPEND="
sys-fs/btrfs-progs
)
"
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}
+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
@@ -128,20 +145,24 @@ 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}]
dev-python/prettytable[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
- dev-python/setuptools[${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-2.0[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
sci-libs/scikit-learn[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
)
@@ -150,19 +171,28 @@ RDEPEND="${DEPEND}
# bug #724438
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
?? ( jemalloc tcmalloc )
- diskprediction? ( mgr !python_targets_python3_8 )
+ jaeger? ( !system-boost )
+ diskprediction? ( mgr )
kafka? ( radosgw )
mgr? ( cephfs )
rabbitmq? ( radosgw )
+ !system-boost? (
+ python_targets_python3_10
+ || (
+ python_targets_python3_8
+ python_targets_python3_9
+ )
+ )
"
-RESTRICT="!test? ( test )"
-# the tests need root access
-RESTRICT="test? ( userpriv )"
+RESTRICT="
+ !test? ( test )
+"
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
+# tests need root access, and network access
+RESTRICT+="test"
# create a non-debug release
CMAKE_BUILD_TYPE=RelWithDebInfo
@@ -174,24 +204,29 @@ 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-14.2.22-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.22-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-16.2.2-cflags.patch"
+ "${FILESDIR}/ceph-16.2.8-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-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.22-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"
- "${FILESDIR}/ceph-14.2.22-snappy-uint32.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
+ "${FILESDIR}/ceph-16.2.7-string-includes.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
)
check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
- CHECKREQS_DISK_USR="510M"
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
}
@@ -202,7 +237,12 @@ pkg_pretend() {
}
pkg_setup() {
- python_setup
+ if ! use system-boost; then
+ python_setup 3.8 3.9
+ else
+ python_setup
+ fi
+ lua_setup
check-reqs_export_vars
check-reqs_pkg_setup
}
@@ -215,7 +255,15 @@ src_prepare() {
| xargs --null sed -r \
-e 's|Boost::|boost_|g' \
-e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
fi
sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
@@ -227,57 +275,91 @@ src_prepare() {
rm -rf src/pybind/mgr/diskprediction_local || die
fi
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
# 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_SYSTEM_ROCKSDB=ON
- -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"
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl)")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
-Wno-dev
)
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=$(systemd_get_systemunitdir) )
+
if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
done
fi
# needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+ 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"
@@ -295,20 +377,6 @@ src_configure() {
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
@@ -317,23 +385,26 @@ src_compile() {
python_foreach_impl python_compile
}
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
+python_compile() {
local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
+ cmake_build VERBOSE=1 clean
+ cmake_build VERBOSE=1 all
- python_optimize
+ # 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}" cmake_build VERBOSE=1 install
+ popd >/dev/null || die
}
src_install() {
- cmake_src_install
python_foreach_impl python_install
+ python_setup
+ cmake_src_install
+
find "${ED}" -name '*.la' -type f -delete || die
exeinto /usr/$(get_libdir)/ceph
@@ -346,10 +417,13 @@ 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}
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
insinto /etc/sysctl.d
newins "${FILESDIR}"/sysctld 90-${PN}.conf
@@ -358,12 +432,8 @@ src_install() {
# 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"
-
+ 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
@@ -371,8 +441,6 @@ src_install() {
readme.gentoo_create_doc
- python_setup
-
# bug #630232
sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
|| die "sed failed"
@@ -388,7 +456,17 @@ src_install() {
dostrip -x "${rados_classes[@]#${ED}}"
}
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" cmake_build VERBOSE=1 install
+ popd >/dev/null || die
+
+ python_optimize
+}
+
pkg_postinst() {
readme.gentoo_print_elog
tmpfiles_process ${PN}.conf
+ udev_reload
}
diff --git a/sys-cluster/ceph/ceph-17.2.1.ebuild b/sys-cluster/ceph/ceph-17.2.1.ebuild
new file mode 100644
index 000000000000..4b5281e5f669
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.1.ebuild
@@ -0,0 +1,457 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+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=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-cpp/gflags:=
+ <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ >=dev-libs/libfmt-6.2.1:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-libs/nss:=
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? ( dev-libs/re2:= )
+ pmdk? ( dev-libs/pmdk:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ sys-devel/bison
+ sys-devel/flex
+ )
+ test? (
+ dev-util/cunit
+ 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/nvme-cli
+ >=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/python-dateutil[${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/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ 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}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# 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-16.2.2-cflags.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+ "${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_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
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ 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
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ 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"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ 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
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_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-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ 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
+
+ # 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}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
deleted file mode 100644
index e4502a608ec2..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
-index 664543172a..e74d73c084 100644
---- a/src/pybind/CMakeLists.txt
-+++ b/src/pybind/CMakeLists.txt
-@@ -62,12 +62,6 @@ foreach(python_version ${py_vers})
- endforeach()
-
- if(WITH_MGR)
-- if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
-- message(FATAL_ERROR "mgr plugins require python2 binding")
-- elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
-- message(FATAL_ERROR "mgr plugins require python3 binding")
-- endif()
--
- if(USE_OPENSSL)
- execute_process(
- COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "import ssl; print('.'.join(map(str,ssl.OPENSSL_VERSION_INFO[0:3])))"
diff --git a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
deleted file mode 100644
index 7309fea029e1..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
-From: Jan Fajerski <jfajerski@suse.com>
-Date: Fri, 12 Jun 2020 09:27:36 +0200
-Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
- /usr/libexec
-
-Fixes: https://tracker.ceph.com/issues/45984
-Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
-
-Signed-off-by: Jan Fajerski <jfajerski@suse.com>
----
- systemd/ceph-osd@.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
-index a0067d347220..4a2254e99478 100644
---- a/systemd/ceph-osd@.service.in
-+++ b/systemd/ceph-osd@.service.in
-@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
- EnvironmentFile=-@SYSTEMD_ENV_FILE@
- Environment=CLUSTER=ceph
- ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
--ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-+ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
- ExecReload=/bin/kill -HUP $MAINPID
- LockPersonality=true
- MemoryDenyWriteExecute=true
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
deleted file mode 100644
index f3ba34cc165c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index ed4bbc75d44..5f5e72918d2 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -451,9 +451,7 @@ if(WITH_LIBRADOSSTRIPER)
- add_subdirectory(libradosstriper)
- endif()
-
--if(WITH_MGR)
-- add_subdirectory(mgr)
--endif()
-+add_subdirectory(mgr)
-
- set(librados_config_srcs
- librados-config.cc)
-diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
-index e7caaeff099..b4f13c05184 100644
---- a/src/mgr/CMakeLists.txt
-+++ b/src/mgr/CMakeLists.txt
-@@ -1,6 +1,7 @@
- add_library(mgr_cap_obj OBJECT
- MgrCap.cc)
-
-+if(WITH_MGR)
- set(mgr_srcs
- ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
- ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
-@@ -36,3 +37,4 @@ target_link_libraries(ceph-mgr
- set_target_properties(ceph-mgr PROPERTIES
- POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
- install(TARGETS ceph-mgr DESTINATION bin)
-+endif()
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
deleted file mode 100644
index 5c9f17098616..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index eaab331413b..4ee3f1b0768 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -62,7 +62,7 @@ function(do_build_boost version)
- else()
- list(APPEND boost_features "address-model=32")
- endif()
-- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
-+ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
- list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
-
- set(boost_with_libs)
-diff --git a/cmake/modules/BuildZstd.cmake b/cmake/modules/BuildZstd.cmake
-index 799b14b281d..9b4b5ee8dcf 100644
---- a/cmake/modules/BuildZstd.cmake
-+++ b/cmake/modules/BuildZstd.cmake
-@@ -1,6 +1,6 @@
- # libzstd - build it statically
- function(build_Zstd)
-- set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
-+ set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
-
- include(ExternalProject)
- ExternalProject_Add(zstd_ext
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
deleted file mode 100644
index 534133122f99..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 7c9cc4abd56..9f84b0c2b26 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
-
- add_custom_target(mgr-dashboard-test-venv
- COMMAND
-- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
-+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
- COMMENT "dashboard tests virtualenv is being created")
- add_dependencies(tests mgr-dashboard-test-venv)
-@@ -14,9 +14,9 @@ function(add_npm_command)
- set(multi_kw COMMAND DEPENDS)
- cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
- string(REPLACE ";" " " command "${NC_COMMAND}")
-- if(NC_NODEENV)
-- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-- endif()
-+ #if(NC_NODEENV)
-+ # string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-+ #endif()
- string(REPLACE " " ";" command "${command}")
- add_custom_command(
- OUTPUT "${NC_OUTPUT}"
-@@ -41,9 +41,9 @@ else()
-
- add_custom_command(
- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
-+ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "dashboard nodeenv is being installed"
- )
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
deleted file mode 100644
index c783558a1758..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
-index 0291a923112..352ab9a9bcf 100644
---- a/src/compressor/snappy/SnappyCompressor.h
-+++ b/src/compressor/snappy/SnappyCompressor.h
-@@ -96,7 +96,7 @@ class SnappyCompressor : public Compressor {
- if (qat_enabled)
- return qat_accel.decompress(p, compressed_len, dst);
- #endif
-- snappy::uint32 res_len = 0;
-+ uint32_t res_len = 0;
- BufferlistSource source_1(p, compressed_len);
- if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
- return -1;
diff --git a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
deleted file mode 100644
index ef06758326e9..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc
-index 3101ae57ac..1db97c289a 100644
---- a/src/msg/async/dpdk/DPDKStack.cc
-+++ b/src/msg/async/dpdk/DPDKStack.cc
-@@ -203,7 +203,9 @@ DPDKWorker::Impl::~Impl()
- _dev->unset_local_queue(id);
- }
-
--int DPDKWorker::listen(entity_addr_t &sa, const SocketOptions &opt,
-+int DPDKWorker::listen(entity_addr_t &sa,
-+ unsigned addr_slot,
-+ const SocketOptions &opt,
- ServerSocket *sock)
- {
- ceph_assert(sa.get_family() == AF_INET);
-diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h
-index a44ae38367..622ff8a3c6 100644
---- a/src/msg/async/dpdk/DPDKStack.h
-+++ b/src/msg/async/dpdk/DPDKStack.h
-@@ -37,7 +37,7 @@ class DPDKServerSocketImpl : public ServerSocketImpl {
- typename Protocol::listener _listener;
- public:
- DPDKServerSocketImpl(Protocol& proto, uint16_t port, const SocketOptions &opt,
-- int type);
-+ int type, unsigned addr_slot);
- int listen() {
- return _listener.listen();
- }
-@@ -184,8 +184,9 @@ class NativeConnectedSocketImpl : public ConnectedSocketImpl {
-
- template <typename Protocol>
- DPDKServerSocketImpl<Protocol>::DPDKServerSocketImpl(
-- Protocol& proto, uint16_t port, const SocketOptions &opt, int type)
-- : ServerSocketImpl(type), _listener(proto.listen(port)) {}
-+ Protocol& proto, uint16_t port, const SocketOptions &opt,
-+ int type, unsigned addr_slot)
-+ : ServerSocketImpl(type, addr_slot), _listener(proto.listen(port)) {}
-
- template <typename Protocol>
- int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
-@@ -229,7 +230,8 @@ class DPDKWorker : public Worker {
-
- public:
- explicit DPDKWorker(CephContext *c, unsigned i): Worker(c, i) {}
-- virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;
-+ virtual int listen(entity_addr_t &addr, unsigned addr_slot,
-+ const SocketOptions &opts, ServerSocket *) override;
- virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override;
- void arp_learn(ethernet_address l2, ipv4_address l3) {
- _impl->_inet.learn(l2, l3);
-diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc
-index c6397709b1..26f29e10f7 100644
---- a/src/msg/async/dpdk/TCP.cc
-+++ b/src/msg/async/dpdk/TCP.cc
-@@ -153,9 +153,10 @@ bool ipv4_tcp::forward(forward_hash& out_hash_data, Packet& p, size_t off)
- }
-
- int tcpv4_listen(tcp<ipv4_traits>& tcpv4, uint16_t port, const SocketOptions &opts,
-- int type, ServerSocket *sock)
-+ int type, unsigned addr_slot, ServerSocket *sock)
- {
-- auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts, type);
-+ auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts,
-+ type, addr_slot);
- int r = p->listen();
- if (r < 0) {
- delete p;
-diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h
-index fa12af6b27..6bb52973e0 100644
---- a/src/msg/async/dpdk/DPDK.h
-+++ b/src/msg/async/dpdk/DPDK.h
-@@ -833,7 +833,7 @@ class DPDKDevice {
- subscription<Packet> receive(unsigned cpuid, std::function<int (Packet)> next_packet) {
- auto sub = _queues[cpuid]->_rx_stream.listen(std::move(next_packet));
- _queues[cpuid]->rx_start();
-- return std::move(sub);
-+ return sub;
- }
- ethernet_address hw_address() {
- struct ether_addr mac;
-@@ -849,7 +849,7 @@ class DPDKDevice {
- std::unique_ptr<DPDKQueuePair> init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) {
- std::unique_ptr<DPDKQueuePair> qp;
- qp = std::unique_ptr<DPDKQueuePair>(new DPDKQueuePair(c, center, this, qid));
-- return std::move(qp);
-+ return qp;
- }
- unsigned hash2qid(uint32_t hash) {
- // return hash % hw_queues_count();
-diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
-index db9cd2a764..f929da3178 100644
---- a/src/msg/async/dpdk/Packet.h
-+++ b/src/msg/async/dpdk/Packet.h
-@@ -125,7 +125,7 @@ class Packet {
- n->rss_hash.construct(old->rss_hash);
- std::copy(old->frags, old->frags + old->_nr_frags, n->frags);
- old->copy_internal_fragment_to(n.get());
-- return std::move(n);
-+ return n;
- }
-
- static std::unique_ptr<impl> copy(impl* old) {
-@@ -134,7 +134,7 @@ class Packet {
-
- static std::unique_ptr<impl> allocate_if_needed(std::unique_ptr<impl> old, size_t extra_frags) {
- if (old->_allocated_frags >= old->_nr_frags + extra_frags) {
-- return std::move(old);
-+ return old;
- }
- return copy(old.get(), std::max<size_t>(old->_nr_frags + extra_frags, 2 * old->_nr_frags));
- }
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
deleted file mode 100644
index 40feaf11ad39..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/src/ceph-crash.in b/src/ceph-crash.in
-index 5bfb50c474..d53c4eeb6a 100755
---- a/src/ceph-crash.in
-+++ b/src/ceph-crash.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
-
-diff --git a/src/ceph.in b/src/ceph.in
-index f060023f57..3a84263ccc 100755
---- a/src/ceph.in
-+++ b/src/ceph.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
- #
-@@ -66,7 +66,7 @@ DEVMODEMSG = '*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *
- def respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path):
- execv_cmd = []
- if 'CEPH_DBG' in os.environ:
-- execv_cmd += ['@PYTHON_EXECUTABLE@', '-mpdb']
-+ execv_cmd += ['@PYTHON3_EXECUTABLE@', '-mpdb']
-
- if platform.system() == "Darwin":
- lib_path_var = "DYLD_LIBRARY_PATH"
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
deleted file mode 100644
index 99249fb01a0c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/src/include/blobhash.h b/src/include/blobhash.h
-index 597884e4c9..97f2065ce3 100644
---- a/src/include/blobhash.h
-+++ b/src/include/blobhash.h
-@@ -14,33 +14,40 @@
- #ifndef CEPH_BLOBHASH_H
- #define CEPH_BLOBHASH_H
-
-+#include <cstdint>
- #include "hash.h"
-
--/*
--- this is to make some of the STL types work with 64 bit values, string hash keys, etc.
--- added when i was using an old STL.. maybe try taking these out and see if things
-- compile now?
--*/
--
- class blobhash {
- public:
-- uint32_t operator()(const char *p, unsigned len) {
-- static rjhash<uint32_t> H;
-- uint32_t acc = 0;
-+ uint32_t operator()(const void* p, size_t len) {
-+ static rjhash<std::uint32_t> H;
-+ std::uint32_t acc = 0;
-+ auto buf = static_cast<const unsigned char*>(p);
- while (len >= sizeof(acc)) {
-- acc ^= *(uint32_t*)p;
-- p += sizeof(uint32_t);
-- len -= sizeof(uint32_t);
-+ acc ^= unaligned_load(buf);
-+ buf += sizeof(std::uint32_t);
-+ len -= sizeof(std::uint32_t);
- }
-- int sh = 0;
-- while (len) {
-- acc ^= (uint32_t)*p << sh;
-- sh += 8;
-- len--;
-- p++;
-+ // handle the last few bytes of p[-(len % 4):]
-+ switch (len) {
-+ case 3:
-+ acc ^= buf[2] << 16;
-+ [[fallthrough]];
-+ case 2:
-+ acc ^= buf[1] << 8;
-+ [[fallthrough]];
-+ case 1:
-+ acc ^= buf[0];
-+ [[fallthrough]];
- }
- return H(acc);
- }
-+private:
-+ static inline std::uint32_t unaligned_load(const unsigned char* p) {
-+ std::uint32_t result;
-+ __builtin_memcpy(&result, p, sizeof(result));
-+ return result;
-+ }
- };
-
-
-diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h
-index b6952ca498..576b7d6b8a 100644
---- a/src/msg/msg_types.h
-+++ b/src/msg/msg_types.h
-@@ -566,7 +566,7 @@ namespace std {
- size_t operator()( const entity_addr_t& x ) const
- {
- static blobhash H;
-- return H((const char*)&x, sizeof(x));
-+ return H(&x, sizeof(x));
- }
- };
- } // namespace std
diff --git a/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
new file mode 100644
index 000000000000..79aee882c2a4
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
@@ -0,0 +1,82 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index cd661be16c9..7183c2f2138 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -55,7 +55,6 @@ endfunction()
+
+ function(add_tox_test name)
+ set(test_name run-tox-${name})
+- set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+ cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+ if(DEFINED TOXTEST_TOX_PATH)
+ set(tox_path ${TOXTEST_TOX_PATH})
+@@ -68,14 +67,6 @@ function(add_tox_test name)
+ list(APPEND tox_envs py3)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+- add_custom_command(
+- OUTPUT ${venv_path}/bin/activate
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+- WORKING_DIRECTORY ${tox_path}
+- COMMENT "preparing venv for ${name}")
+- add_custom_target(${name}-venv
+- DEPENDS ${venv_path}/bin/activate)
+- add_dependencies(tests ${name}-venv)
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 0c8d46d65ee..67a618f95aa 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
+ set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
+ endif()
+ add_custom_command(
+- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
+- COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
++ OUTPUT "/bin/npm"
++ COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
diff --git a/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
new file mode 100644
index 000000000000..b0112dff9242
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
@@ -0,0 +1,68 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index 46d3a1b4cb8..b05490e1224 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -56,7 +56,6 @@ endfunction()
+
+ function(add_tox_test name)
+ set(test_name run-tox-${name})
+- set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+ cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+ if(DEFINED TOXTEST_TOX_PATH)
+ set(tox_path ${TOXTEST_TOX_PATH})
+@@ -69,27 +68,13 @@ function(add_tox_test name)
+ list(APPEND tox_envs py3)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+- add_test(
+- NAME setup-venv-for-${name}
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${venv_path}
+- WORKING_DIRECTORY ${tox_path})
+- set_tests_properties(setup-venv-for-${name} PROPERTIES
+- FIXTURES_SETUP venv-for-${name})
+- add_test(
+- NAME teardown-venv-for-${name}
+- COMMAND ${CMAKE_COMMAND} -E remove_directory ${venv_path})
+- set_tests_properties(teardown-venv-for-${name} PROPERTIES
+- FIXTURES_CLEANUP venv-for-${name})
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+ --source-dir ${CMAKE_SOURCE_DIR}
+ --build-dir ${CMAKE_BINARY_DIR}
+ --tox-path ${tox_path}
+- --tox-envs ${tox_envs}
+- --venv-path ${venv_path})
+- set_tests_properties(${test_name} PROPERTIES
+- FIXTURES_REQUIRED venv-for-${name})
++ --tox-envs ${tox_envs})
+ set_property(
+ TEST ${test_name}
+ PROPERTY ENVIRONMENT
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+