From f019a919bf109460ee009a5f9210b99d0467db97 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 23 Aug 2022 02:44:06 +0100 Subject: gentoo auto-resync : 23:08:2022 - 02:44:06 --- sys-cluster/ceph/Manifest | 15 +- sys-cluster/ceph/ceph-16.2.10-r1.ebuild | 474 +++++++++++++++++++++ sys-cluster/ceph/ceph-16.2.10.ebuild | 473 -------------------- sys-cluster/ceph/ceph-16.2.9-r1.ebuild | 473 -------------------- sys-cluster/ceph/ceph-16.2.9-r2.ebuild | 473 ++++++++++++++++++++ sys-cluster/ceph/ceph-17.2.3-r1.ebuild | 460 ++++++++++++++++++++ sys-cluster/ceph/ceph-17.2.3.ebuild | 460 -------------------- .../ceph/files/ceph-15.2.15-snappy-1.1.9.patch | 22 - sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch | 45 ++ .../ceph/files/ceph-17.2.0-cyclic-deps.patch | 29 -- sys-cluster/ceph/files/ceph-17.2.1-python310.patch | 23 - sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch | 33 +- 12 files changed, 1486 insertions(+), 1494 deletions(-) create mode 100644 sys-cluster/ceph/ceph-16.2.10-r1.ebuild delete mode 100644 sys-cluster/ceph/ceph-16.2.10.ebuild delete mode 100644 sys-cluster/ceph/ceph-16.2.9-r1.ebuild create mode 100644 sys-cluster/ceph/ceph-16.2.9-r2.ebuild create mode 100644 sys-cluster/ceph/ceph-17.2.3-r1.ebuild delete mode 100644 sys-cluster/ceph/ceph-17.2.3.ebuild create mode 100644 sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch (limited to 'sys-cluster/ceph') diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest index fcf0f7725afb..70fba195b9ec 100644 --- a/sys-cluster/ceph/Manifest +++ b/sys-cluster/ceph/Manifest @@ -8,7 +8,7 @@ AUX ceph-14.2.0-cython-0.29.patch 946 BLAKE2B c251b6a171e5e0bab3f8716b79eb3138a1 AUX ceph-14.2.0-dpdk-cflags.patch 1171 BLAKE2B a6815317d3828cee8d2476d6cc77b60d089db5b5ab0b30fd24c0ac10270ce930ce3049f1b22af71e5b39a6e323c672245fb78753e7ed901055afac8371cbcb9f SHA512 ece01fcaf0b82c441618eea1f37fc2658aa356de1128121d368769fdbf6316b226ea15a781353b115c0a81921c8872bb3d003ecbb1e8f1b456bb8cf6db8f091e 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 +AUX ceph-15.2.15-snappy-1.1.9.patch 606 BLAKE2B 674746fd809ab171d23efe8d194a42604bd641544f60d5a04c9ca6943242eece0d97902c970d4bc37c2c040494775cd2812d9e2a03ed5f449723a4b3b493f258 SHA512 048435ba3ef736139a83175fe405b1a2a8cfe10b35daa1ea8f8db4d9ba4fdf459bd9fae28932318657ac9abdfe1d1d270021fe7039f1b5d04a81900fb1aed0ef AUX ceph-15.2.2-systemd-unit.patch 682 BLAKE2B 1ec8c0a23fc7d572c79ca24aaf82100e108e2bb4f99ca2c695efcbefdc9543f853fff16c3f7b4636a38260e5ab9251228e9da1bf1a5cbc7a237c78e52bc8bf3a SHA512 8be953b7873f7e45f7f859ac9074b0f446a2ae6954997f93bcb2bdb2c1d85d36bb3fee571b3e57590131bbca3ff202911e0b31340cec8e39d447163c36bfdc1b AUX ceph-15.2.3-spdk-compile.patch 376 BLAKE2B 073cee321c1a99f9a161fbec8f9e33bb13df14574e48300d1331dc2b31353f1ccac40f723de501c6e33bc6f065f4b4500048de9d9b0bae646c76ba715eab580a SHA512 c2890202820d022bf610d6317b0a6e3521da2060bb12e39ba1a5c347096d5688adcd98b1cbf25ad33ddfa78d3cae42669c21f4e1dbe6eceb150e4ee17bece582 AUX ceph-15.2.4-system-uring.patch 2170 BLAKE2B aabfb8c5085de8d69c9afedd20cb99161fd556148f1e6c88c35ed1bdb83dafe28ddbe75ac1e579e23d0728856bb2c650895ab4c0791b0f8e6acf2652822b14f1 SHA512 8258661e56b5360f4260fdd29b07bac4d415068a112b61ca8c55c529fb1593d8d61a0d59a4eec8f1567b97167c058082198d008f55f8ee701cb46489df5f7823 @@ -17,12 +17,13 @@ AUX ceph-16.2.0-jaeger-system-boost.patch 469 BLAKE2B ab46d53b0d129bacd4698ea735 AUX ceph-16.2.0-liburing.patch 1331 BLAKE2B 1f0e2e209cb827526b76e28f1334619c4d0348e8aa4a552ab543089e1b346c8689b956e2ae510f033a077db1156555980616fa3869ce500e5477d5dc5d96d131 SHA512 e8d03f04cbc307b131a0a55cb90d8a568b78a8e8f294d7e4415b7da7acec05b4d1dc32632935841fe2a492de7ee8ff52e544aab91b838431fda3815ca377fa64 AUX ceph-16.2.0-rocksdb-cmake.patch 705 BLAKE2B d40371aa0163cd78dbe12b1db648f4884b762e2ec2485663aa5cda83aea2175c8ee9a6b1a54e5ed9d68fbfda8c0ee0ef7625a67d948b6259227e56fb0ee69b52 SHA512 0c974ea937644b98dde6f20f1cab9b39c73f7fd8cc0fa0991e05de2e0a39fe69dee60a981c0ae14386f8c0c5c4073d5c8573e3bd0fa47d58b754351329eda220 AUX ceph-16.2.0-spdk-tinfo.patch 344 BLAKE2B ea46ab83836ebc9ed96714e0ed3c3e8b00a221296ddf9b10a99eb5591740a844067078820d79ae784cdb600c97e2969e81c65a4fe3b958bcc9910f7cecb1a6fe SHA512 31b9ae63c8f1722e4834034ed04cfc9ab47665ecd8f24da356897b0c52787096acbfc9cccf600655938da0f9f39200c2470cdb087f389adba975b6d830e7228d +AUX ceph-16.2.10-gcc12.patch 1250 BLAKE2B 8bb2ed650cd5836fff050ce7f21b2db020723826317716bd797e31d64988b47b95dfe1d97d7823fa1f3ad474be35a2aec8ae9bc370f422daf0613e09cd61bf1b SHA512 a4cfbf6b12e0999b0304315779c40d7175047bc9a6a77c16d9fc432dbe71566138ccd62f6e88a5ed8bf71f3f34df2325cb0299b8d513f9aa195139f3c69e1889 AUX ceph-16.2.2-cflags.patch 540 BLAKE2B d7f7ce9e65d59b7a9594f4cd34091df8b496d03cedfa814a14165d51ec0daa38ad0124fbfa62d9ee7cf2895676248b14b45a38f310efb544e61e9672c58fb25d SHA512 d65b2b33f2e43169e5131ef3ca51617931fc3d362af8c79bef2baa2bbee6495729ee7a4fca4401a6be716283fcdf83511bdfb90e0c4b526b90e91c9c32591439 AUX ceph-16.2.2-system-zstd.patch 1501 BLAKE2B 6540822407802dacb43c4fd9c432b45ec747a77d6892f2193fe55cb09da90b035d7630bdf5f9ec6f49df5e351c1d38c96cd14e9ed180bee897f11413ba53ed64 SHA512 5e21e29b30ee67411e3631fa65d0dc8a7b232e582c995049b4e89ea709e87a42edbf5cd4bbe535e62aebb7c9509a85b92c62e0f9914b2d4ee197994e2665139a 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-16.2.9-python310.patch 446 BLAKE2B 8aa2d8081083b3cc118363bc4fe16dd232d019ff6673370d400f15ed90177089eea54f16c102b6bbd83cde4773622f01b76e00f3b287f5e9f9fc06ffd1054542 SHA512 397732bbe52b5e55d08045ccdacdb2c455f8cc935dac9da269a3559e7a479453f6346e229571a7b7186f5d1f197d525bb5492c922d72b11eca8850839c09946a -AUX ceph-17.2.0-cyclic-deps.patch 2202 BLAKE2B 14bfdada20b4d1a27308c42c4cadfe11060ccb6f8e2d84a744bd94b08f03fc810f53f2d7fdfdbd646c5d3c649ac7b64a32517d05169bd157ed0725c0fa722b43 SHA512 e1ef790fc62f03b2edb8a069b50848923f0b01b64777f0641cc76dfd7129a42b2d5eb5d778cd6e730e917ad90a325a6f51e4b1e3534a9231bfffefe488167e1d +AUX ceph-17.2.0-cyclic-deps.patch 1045 BLAKE2B 9605cbc3fb738030080871c55df86f6c13776e19ca8d9a3d80df73a67672cf4b697decaeab1462f8795744645d462271db0696339ece16562fc51aa1c316ddab SHA512 94773a40ad89fe05a098aa6d4460e2d3dad2dfa2792f3e2e912daac22f1ac7baec9b64c857fbfa36b753fa3bdf9a366429c2f4a4df5d4d792e03672a48c238d9 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 AUX ceph-17.2.0-fuse3.patch 301 BLAKE2B 54dd764be7e7d428c6db38d2c8b9d168598c3d4195e1f0f43073d259215dd8268e1bbf14d6586bcf6cb1bdd67a25e6742e74b1f16b4ceba7e6fad37af682b9c8 SHA512 143dcba141c01828a9672096b26bee817189b8fe742e6816e304eb4147015de2df5d74b474d1a5dde84f13e5e6060c17756a8a04e7d6894fb4894ed933b37b39 @@ -31,8 +32,8 @@ AUX ceph-17.2.0-osd_class_dir.patch 486 BLAKE2B 7d9e144ab40e5e2f73a1412a65b27ffd AUX ceph-17.2.0-pybind-boost-1.74.patch 845 BLAKE2B b862b1abf61c0f5cc17964c86073a083b217f01ca5ae725bfe07ba13702e2d835bf8ccc4b5fae4b3138230b36722f4de0c8176811d6eefc1523e1fcb4848b744 SHA512 525b5df44f0de71ab0b2024c8bc0ccf98740a0befac4b032ae9a0fb6e2a05926d7171ae4b0af4ba32e71c9e04fe90aa192a2e3ae433242a62fa4e4efdc855321 AUX ceph-17.2.0-system-opentelemetry.patch 699 BLAKE2B 3a8d9f2173227ac457a9d79e2a58f162ddfdcbdabfe76c9d9dd7eec4d89c28158b4e8e566abf8870fe31d8743549bd26144b329347be7ccdf63dbdd774ad862a SHA512 27463ebcafcc3967853328be349f8da6a726e82a9a11c7922d82c26ab8a12954bebbeb5c050b3fe291d5083babe13575f24b3a5346275579e47997d72c52afc5 AUX ceph-17.2.1-no-virtualenvs.patch 2780 BLAKE2B c1a752893800344a89321c76763268453de3fb275a7e952bdd81c6356d3e5aec48fb8623025c5d4fb7b0281b7d31272c145ef7d921c42c41d858f46105301eec SHA512 53bb81846633e6ff480d46c777b46bf6af2dd07817c84413c772836d7815e5a38c7b61c903af32434896041617175afaaeea6f5618ef5fbec0ad9afd7d7aa8f6 -AUX ceph-17.2.1-python310.patch 1230 BLAKE2B c4a0b66aad00ac1ada6abe3c135c503f97dfbb203633ee0f753d0370bcb8f048c42ff91ccaf6bcde41fb3db6ff0346ff8e99735426c0a65c2dc6effee4019f4d SHA512 f49427d3420574043e18cad517a6f81ee38a48b827195f564fd728fd2f2b32dbf17f9e21842b01bbf3ab40875c70b0db316a478b8cc48dd92c839d2ce5e7fd63 -AUX ceph-17.2.3-gcc12.patch 253 BLAKE2B 5a90ead3610d5dd21e4f453e6a9249428dcfbe916a5e1500b42cc2d591a949e46757141ddc145bf24ed42188d52025523f020e32ad076bb9e90735db8f5728c7 SHA512 86b6cde69e8dc3c77b151c7b370bd322ccd0fdaf00689fbfb56830c6ebb51e3884e4b840edabeb1630a3288f92fe5eff5bc75dea81750a0be2b185d6005e06bc +AUX ceph-17.2.1-python310.patch 456 BLAKE2B 161527aee7f0c9a11e3823771f5452da98b9c557f7322b2e7515e9788151a0848a65cf55111754aee5fe1ee8d23de8c4266bbbd75a3162b56665124f95094812 SHA512 a43c363625c93f805322e7e26c50b760e7c55716fe5b0e360221342fc24b8453d5ac702425cd7854d4ba3870d97a043d3561d6715ddb73d4258a0b2a7c94e053 +AUX ceph-17.2.3-gcc12.patch 924 BLAKE2B 119fccc4caa45e7b62c73d6cc66b9ba0b23598607c18fc621ce86e2ba11bbfd15e432e4c0e528fb8af2cfeedf3e535bfcc8008a39c5c7e3789b96372f2970e53 SHA512 121d8992dab710b5b1721e7fd04e30cb4e2e6b2cd2f6ed30934c6f65b3d9676bc5a1e8dd52c739cff704f900a651ea8729bb3234db033ef23434acd8fb5436fd 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 @@ -51,7 +52,7 @@ DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95 DIST ceph-17.2.3.tar.gz 168821857 BLAKE2B 21ec5ac33591ae8b22eae3d88680ae87340e639cc21cb9c79bc4fb2f7b6cc7e93aa6b5af0242a6c094a4af9808a2b6f86b6bd7e3c8f247a513c91defa6d4e4a9 SHA512 fd6e057ba8440f69423e870dddb2705d68015089ff8d97356bdc359c2ab41e19351fb1c914330de6ba05180f48e328e3ea4c877e9dd80be049e2ec5895068595 DIST ceph-xsimd-17.2.3.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33 EBUILD ceph-15.2.17.ebuild 10899 BLAKE2B 8e226936efc3f65e3903c629ccff9637ee37c94f365d6c636540f22bf68e8450ac254cb1c01e7876342f58b6407e5187956276507119ce6e76f0e2fc12859def SHA512 c63bf1fe0b3162d004ccf82c016089088622ede34609da3707cc9bf0f3f4f507ace5d5c1ac0ceb0c3872706e1c02b9b84b04d65faf661518e26acb25a4b60ebe -EBUILD ceph-16.2.10.ebuild 12604 BLAKE2B b20b12cbf32cd6051db33cecaee51a8a38913abbc959b689b460bab87e1286ca20e17f405a714c5904ac1cdc08bf4b4c1f23e7ac8c50ebb083b3071cd151dfe8 SHA512 be1054b759be99ff02608f3e5022340d53c5ffeec0a04df6dc7b13262b6be0e65bbc5d3ebf3aa5f10cfbbfbeee975e1f8194eafd496cec5fdc59ca44c5b26390 -EBUILD ceph-16.2.9-r1.ebuild 12603 BLAKE2B bed9f1ffc126209a8ffdb7186eeabfed222e19c6db4ffc2189e4c65338accfb3c86d3134b0adc9350ef186ee0897092b5ffffa4140b785f6dee6de17ab07a91e SHA512 b5efc7e701b0784c4f4299ffabc01ff7a3ddc73ca16f36d1fd16e7e2562d78f89e11b960f9eacec697d9e788841d73e73d17554a7a916ab09cbe1a7cfc20557f -EBUILD ceph-17.2.3.ebuild 12488 BLAKE2B 74153d4f86b7b48d97405d07cf0e3d5d7df11b17055fd1129ed1ab1bffbfd12f37f690f5e22bf12afffb22c6679288d81c8f16c53b31ad8ccd864cd6f855e3b2 SHA512 bfef9248d9df9531fbd1e3b96efbc5ec62415dde64d761c7686b28df4d6006de9a85e7d6438a05cc5928fbfe92a93842387d712f018b29221eda8ddf48c12451 +EBUILD ceph-16.2.10-r1.ebuild 12619 BLAKE2B 2d484981bfc364d5f97d0806af611fa5a2a83f1b9b2392ea84f42b876e236e2700d9c8182fe832db908223e27e3f7f5e98d2e2a3096f6631222a68c3502832a0 SHA512 012ddbd5e99735c795250ffa1e5810782aea21e052ee857cb50cf1ed930046f3ef6ae790aaca3ef6c146d08a0b820687e059dbb14a654ea52ffa08d45b8cde49 +EBUILD ceph-16.2.9-r2.ebuild 12578 BLAKE2B bd69561e5888f3390aa725e003c0a55815ec6336ed67b3c78cfc23e6805664a6ae4cc3018741f9f971b2002a49466c0dbc2468586dd127a5584bcffa394e13f3 SHA512 f35d201f56bac94bf765b7ce96bf18225bb4f702207e48d746645e24d7b548694fd1f4b7ddd4319dbaed73721dd778643061f4bce1523c4d9c3e27839c36fee2 +EBUILD ceph-17.2.3-r1.ebuild 12463 BLAKE2B fe404c152c2bb242fc1f5337bbf0141a72bd44e376baba738ade4455eb882dd9ee0347fe797082665d6936be88a6dd28273e9b6e4d8a8e07a0ad2932232d7941 SHA512 5c333952687c31c74b7fdddac70dd4f784da56903e2aaf66e3cf64dce1bb428119af3d1fff5021db2e6c90a6997f4ce0dba6d8b4530131395ae75dcff8328936 MISC metadata.xml 2453 BLAKE2B 988cbe4fa5176fde46a503932a58555554e577a311180df706021ea67a8c861b82fbc476cc757c090ea4e753b519212a2cca8c0605921c4e121b770fd1cc61ea SHA512 14c25df4749cd86f82782f8e7cda587a0310e4cf28b6d4f8ac1fa4abee532d6d553f35fcfb8ab0393ce876d36a8fe2851408ad5eaaf5cf28834f03cf744ac6c1 diff --git a/sys-cluster/ceph/ceph-16.2.10-r1.ebuild b/sys-cluster/ceph/ceph-16.2.10-r1.ebuild new file mode 100644 index 000000000000..fab42ed01f7d --- /dev/null +++ b/sys-cluster/ceph/ceph-16.2.10-r1.ebuild @@ -0,0 +1,474 @@ +# 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 ) + +CMAKE_MAKEFILE_GENERATOR=emake + +inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \ + lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles + +SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +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 numa 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/zstd:= + app-shells/bash:0 + app-misc/jq:= + dev-libs/crypto++:= + dev-cpp/gflags:= + =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:= + 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},zlib] ) + !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=" + 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/pyyaml[${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 ) + 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 ) +" + +# tests need root access, and network access +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-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-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" + "${FILESDIR}/ceph-16.2.9-python310.patch" + "${FILESDIR}/ceph-16.2.10-gcc12.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() { + 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 +} + +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 + + if ! use diskprediction; then + 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 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_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 + 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" + + 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 VERBOSE=1 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 + + pushd "${BUILD_DIR}/src/pybind" >/dev/null || die + cmake_build VERBOSE=1 clean + cmake_build 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}" cmake_build VERBOSE=1 install + popd >/dev/null || die +} + +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}" + 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-16.2.10.ebuild b/sys-cluster/ceph/ceph-16.2.10.ebuild deleted file mode 100644 index 7100183dd1ba..000000000000 --- a/sys-cluster/ceph/ceph-16.2.10.ebuild +++ /dev/null @@ -1,473 +0,0 @@ -# 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 ) - -CMAKE_MAKEFILE_GENERATOR=emake - -inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \ - lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles - -SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" -KEYWORDS="~amd64 ~arm64 ~ppc64" - -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 numa 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 =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:= - 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}] ) - !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=" - 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/pyyaml[${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 ) - 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 ) -" - -# tests need root access, and network access -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-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-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" - "${FILESDIR}/ceph-16.2.9-python310.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() { - 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 -} - -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 - - if ! use diskprediction; then - 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 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_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 - 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" - - 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 VERBOSE=1 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 - - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die - cmake_build VERBOSE=1 clean - cmake_build 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}" cmake_build VERBOSE=1 install - popd >/dev/null || die -} - -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}" - 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-16.2.9-r1.ebuild b/sys-cluster/ceph/ceph-16.2.9-r1.ebuild deleted file mode 100644 index 880937c7a706..000000000000 --- a/sys-cluster/ceph/ceph-16.2.9-r1.ebuild +++ /dev/null @@ -1,473 +0,0 @@ -# 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 ) - -CMAKE_MAKEFILE_GENERATOR=emake - -inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \ - lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles - -SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" -KEYWORDS="amd64 ~arm64 ~ppc64" - -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 numa 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 =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:= - 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}] ) - !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=" - 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/pyyaml[${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 ) - 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 ) -" - -# tests need root access, and network access -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-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-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" - "${FILESDIR}/ceph-16.2.9-python310.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() { - 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 -} - -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 - - if ! use diskprediction; then - 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 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_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 - 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" - - 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 VERBOSE=1 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 - - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die - cmake_build VERBOSE=1 clean - cmake_build 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}" cmake_build VERBOSE=1 install - popd >/dev/null || die -} - -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}" - 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-16.2.9-r2.ebuild b/sys-cluster/ceph/ceph-16.2.9-r2.ebuild new file mode 100644 index 000000000000..59d566d734d7 --- /dev/null +++ b/sys-cluster/ceph/ceph-16.2.9-r2.ebuild @@ -0,0 +1,473 @@ +# 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 ) + +CMAKE_MAKEFILE_GENERATOR=emake + +inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \ + lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles + +SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" +KEYWORDS="amd64 ~arm64 ~ppc64" + +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 numa 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/zstd:= + app-shells/bash:0 + app-misc/jq:= + dev-libs/crypto++:= + dev-cpp/gflags:= + =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:= + 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,zlib}] ) + !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=" + 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/pyyaml[${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 ) + 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 ) +" + +# tests need root access, and network access +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-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-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" + "${FILESDIR}/ceph-16.2.9-python310.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() { + 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 +} + +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 + + if ! use diskprediction; then + 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 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_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 + 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" + + 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 VERBOSE=1 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 + + pushd "${BUILD_DIR}/src/pybind" >/dev/null || die + cmake_build VERBOSE=1 clean + cmake_build 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}" cmake_build VERBOSE=1 install + popd >/dev/null || die +} + +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}" + 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.3-r1.ebuild b/sys-cluster/ceph/ceph-17.2.3-r1.ebuild new file mode 100644 index 000000000000..737e960de9d5 --- /dev/null +++ b/sys-cluster/ceph/ceph-17.2.3-r1.ebuild @@ -0,0 +1,460 @@ +# 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/zstd:= + app-shells/bash:0 + app-misc/jq:= + dev-libs/crypto++:= + dev-cpp/gflags:= + =dev-libs/libfmt-6.2.1:= + =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},zlib] ) + 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" + "${FILESDIR}/ceph-17.2.1-python310.patch" + "${FILESDIR}/ceph-17.2.3-gcc12.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/ceph-17.2.3.ebuild b/sys-cluster/ceph/ceph-17.2.3.ebuild deleted file mode 100644 index 49a8857b5c24..000000000000 --- a/sys-cluster/ceph/ceph-17.2.3.ebuild +++ /dev/null @@ -1,460 +0,0 @@ -# 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 =dev-libs/libfmt-6.2.1:= - =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" - "${FILESDIR}/ceph-17.2.1-python310.patch" - "${FILESDIR}/ceph-17.2.3-gcc12.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-15.2.15-snappy-1.1.9.patch b/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch index 3b38c1708733..3319f3989ff9 100644 --- a/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch +++ b/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch @@ -1,25 +1,3 @@ -From 4c13a798dcf2e783afd7558bf3541dc025de854a Mon Sep 17 00:00:00 2001 -From: Nathan Cutler -Date: Tue, 27 Jul 2021 15:27:58 +0200 -Subject: [PATCH] compression/snappy: use uint32_t to be compatible with 1.1.9 - -The snappy project made the following change in snappy.h between version 1.1.8 -and 1.1.9: - -< bool GetUncompressedLength(Source* source, uint32_t* result); ---- -> bool GetUncompressedLength(Source* source, uint32* result); - -This causes Ceph to FTBFS with snappy 1.1.9. - -Thanks to Chris Denice for bringing this to our attention via Redmine. - -Fixes: https://tracker.ceph.com/issues/50934 -Signed-off-by: Nathan Cutler ---- - src/compressor/snappy/SnappyCompressor.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h index 25393f8dc1ff4..93206c4007bed 100644 --- a/src/compressor/snappy/SnappyCompressor.h diff --git a/sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch b/sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch new file mode 100644 index 000000000000..79bc5d41f410 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch @@ -0,0 +1,45 @@ +diff --git a/src/include/buffer.h b/src/include/buffer.h +index 7c8f90e9fb5d3..71cb01935000b 100644 +--- a/src/include/buffer.h ++++ b/src/include/buffer.h +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + #include + #if __cplusplus >= 201703L + +diff --git a/src/rgw/rgw_string.h b/src/rgw/rgw_string.h +index 257daa9c1fe6e..90e64f98a2587 100644 +--- a/src/rgw/rgw_string.h ++++ b/src/rgw/rgw_string.h +@@ -8,6 +8,8 @@ + #include + #include + #include ++#include ++#include + + #include + + +diff --git a/src/test/encoding.cc b/src/test/encoding.cc +index 6d252fae18b71..f18901cbd27d9 100644 +--- a/src/test/encoding.cc ++++ b/src/test/encoding.cc +@@ -334,11 +334,11 @@ void lame_decoder(int which) { + } + + TEST(EncodingException, Macros) { +- for (unsigned i = 0; i < sizeof(expected_what)/sizeof(expected_what[0]); i++) { ++ for (unsigned i = 0; i < std::size(expected_what); i++) { + try { + lame_decoder(i); + } catch (const exception& e) { +- ASSERT_EQ(string(expected_what[i]), string(e.what())); ++ ASSERT_NE(string(e.what()).find(expected_what[i]), string::npos); + } + } + } diff --git a/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch b/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch index f80edddd8de7..e9177cc02764 100644 --- a/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch +++ b/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch @@ -1,32 +1,3 @@ -From 78edb6a91788133334ceeeda0c95529df5f40da8 Mon Sep 17 00:00:00 2001 -From: "Kaleb S. KEITHLEY" -Date: Mon, 14 Feb 2022 07:42:08 -0500 -Subject: [PATCH] rgw: cmake configure error on fedora-37/rawhide - -see -https://kojipkgs.fedoraproject.org//work/tasks/6624/82706624/build.log, -excerpted below - -... -CMake Error: The inter-target dependency graph contains the following -strongly connected component (cycle): "rgw_common" of type -STATIC_LIBRARY depends on "dbstore" (weak) depends on "sqlite_db" (weak) -"dbstore" of type SHARED_LIBRARY depends on "rgw_common" (weak) depends -on "sqlite_db" (weak) "sqlite_db" of type SHARED_LIBRARY depends on -"rgw_common" (weak) depends on "dbstore" (weak) At least one of these -targets is not a STATIC_LIBRARY. Cyclic dependencies are allowed only -among static libraries. CMake Generate step failed. Build files cannot -be regenerated correctly. -... - -https://tracker.ceph.com/issues/54266 - -Signed-off-by: Kaleb S. KEITHLEY ---- - src/rgw/store/dbstore/CMakeLists.txt | 2 +- - src/rgw/store/dbstore/sqlite/CMakeLists.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - diff --git a/src/rgw/store/dbstore/CMakeLists.txt b/src/rgw/store/dbstore/CMakeLists.txt index 143ede3c094c9..18e032b73f54f 100644 --- a/src/rgw/store/dbstore/CMakeLists.txt diff --git a/sys-cluster/ceph/files/ceph-17.2.1-python310.patch b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch index 767cd2922a26..959e98a8067a 100644 --- a/sys-cluster/ceph/files/ceph-17.2.1-python310.patch +++ b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch @@ -1,26 +1,3 @@ -From 389054888f2aa782f73564125ec7a1ef0212d536 Mon Sep 17 00:00:00 2001 -From: Pete Zaitcev -Date: Tue, 14 Dec 2021 23:04:34 -0600 -Subject: [PATCH] mgr: Define PY_SSIZE_T_CLEAN ahead of every Python.h - -Building on Fedora 35 with Python 3.10 makes vstart to loop -forever, throwing the following message: - - Error EINVAL: SystemError: PY_SSIZE_T_CLEAN macro must be - defined for '#' formats - -I followed the hint in the following document: - https://docs.python.org/3/c-api/intro.html - -It says "recommended" to always define PY_SSIZE_T_CLEAN, -but as you can see it is actually required in our case. - -Fixes: https://tracker.ceph.com/issues/53441 -Signed-off-by: Pete Zaitcev ---- - src/mgr/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt index 55147af4fc6ba..8f39e41ac0694 100644 --- a/src/mgr/CMakeLists.txt diff --git a/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch index e5e77b4116f6..356da385fedb 100644 --- a/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch +++ b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch @@ -1,12 +1,31 @@ diff --git a/src/include/buffer.h b/src/include/buffer.h -index 0c89367dd3b..98fcd7c3e08 100644 +index 7c8f90e9fb5d3..71cb01935000b 100644 --- a/src/include/buffer.h +++ b/src/include/buffer.h -@@ -62,6 +62,7 @@ - #endif - - #include "inline_memory.h" +@@ -41,6 +41,7 @@ + #include + #include + #include +#include + #include + #include + #if __cplusplus >= 201703L + +diff --git a/src/test/encoding.cc b/src/test/encoding.cc +index 6d252fae18b71..f18901cbd27d9 100644 +--- a/src/test/encoding.cc ++++ b/src/test/encoding.cc +@@ -334,11 +334,11 @@ void lame_decoder(int which) { + } - #define CEPH_BUFFER_API - + TEST(EncodingException, Macros) { +- for (unsigned i = 0; i < sizeof(expected_what)/sizeof(expected_what[0]); i++) { ++ for (unsigned i = 0; i < std::size(expected_what); i++) { + try { + lame_decoder(i); + } catch (const exception& e) { +- ASSERT_EQ(string(expected_what[i]), string(e.what())); ++ ASSERT_NE(string(e.what()).find(expected_what[i]), string::npos); + } + } + } -- cgit v1.2.3