Browse Source

Add the currently used ceph 32bit arm version

master
Georg Hopp 4 years ago
parent
commit
6de451f041
Signed by: ghopp GPG Key ID: 4C5D226768784538
  1. 113
      sys-cluster/ceph/Manifest
  2. 310
      sys-cluster/ceph/ceph-10.2.10-r2.ebuild
  3. 311
      sys-cluster/ceph/ceph-10.2.10-r3.ebuild
  4. 30
      sys-cluster/ceph/files/README.gentoo
  5. 95
      sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch
  6. 11
      sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch
  7. 355
      sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch
  8. 14
      sys-cluster/ceph/files/ceph-10.2.10-assert_h_clobber_detection.patch
  9. 11
      sys-cluster/ceph/files/ceph-10.2.10-ceph_ver.patch
  10. 32
      sys-cluster/ceph/files/ceph-10.2.10-duration-problem.patch
  11. 12
      sys-cluster/ceph/files/ceph-10.2.10-python3.patch
  12. 33
      sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch
  13. 50
      sys-cluster/ceph/files/ceph-10.2.3-ETIMEOUT-fix-in-polling.patch
  14. 32
      sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch
  15. 12
      sys-cluster/ceph/files/ceph-10.2.3-sphinx.patch
  16. 28
      sys-cluster/ceph/files/ceph-10.2.3-zstd.patch
  17. 22
      sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch
  18. 45
      sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch
  19. 49
      sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch
  20. 15
      sys-cluster/ceph/files/ceph-10.2.9-cflags.patch
  21. 65
      sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch
  22. 82
      sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch
  23. 35
      sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch
  24. 28
      sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch
  25. 39
      sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch
  26. 39
      sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch
  27. 28
      sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch
  28. 32
      sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch
  29. 13
      sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
  30. 37
      sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch
  31. 10
      sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
  32. 214
      sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch
  33. 13
      sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
  34. 10
      sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
  35. 13
      sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
  36. 20
      sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch
  37. 13
      sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
  38. 34
      sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch
  39. 26
      sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch
  40. 152
      sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch
  41. 38
      sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
  42. 11
      sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
  43. 165
      sys-cluster/ceph/files/ceph-12.2.5-boost-sonames.patch
  44. 55
      sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch
  45. 166
      sys-cluster/ceph/files/ceph-13.2.0-boost-sonames.patch
  46. 26
      sys-cluster/ceph/files/ceph-13.2.0-cflags.patch
  47. 16
      sys-cluster/ceph/files/ceph-13.2.0-mgr-python-version.patch
  48. 78
      sys-cluster/ceph/files/ceph-13.2.0-no-virtualenvs.patch
  49. 15
      sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch
  50. 12
      sys-cluster/ceph/files/ceph-13.2.5-armv7a_increase_largest_singleton.patch
  51. BIN
      sys-cluster/ceph/files/ceph-13.2.5-boost-get-static-assert-fix.patch
  52. 45
      sys-cluster/ceph/files/ceph-13.2.5-concrete-minmax64.patch
  53. 37
      sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch
  54. 12
      sys-cluster/ceph/files/ceph-13.2.5-size_t-initializer.patch
  55. 80
      sys-cluster/ceph/files/ceph-13.2.6-arm32-build.patch
  56. 14
      sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch
  57. 74
      sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch
  58. 321
      sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
  59. 120
      sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
  60. 334
      sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
  61. 13
      sys-cluster/ceph/files/ceph-14.2.0-cflags.patch
  62. 17
      sys-cluster/ceph/files/ceph-14.2.0-cython-0.29.patch
  63. 30
      sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch
  64. 11
      sys-cluster/ceph/files/ceph-14.2.0-link-crc32-statically.patch
  65. 17
      sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
  66. 54
      sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch
  67. 26
      sys-cluster/ceph/files/ceph-14.2.1-32bit-build.patch
  68. 30
      sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch
  69. 111
      sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch
  70. 26
      sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
  71. 31
      sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch
  72. 27
      sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
  73. 111
      sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
  74. 29
      sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
  75. 76
      sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
  76. 39
      sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch
  77. 41
      sys-cluster/ceph/files/ceph-14.2.8-32bit.patch
  78. 73
      sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch
  79. 15
      sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch
  80. 12
      sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch
  81. 9
      sys-cluster/ceph/files/ceph-15.2.3-spdk-compile.patch
  82. 66
      sys-cluster/ceph/files/ceph-15.2.4-system-uring.patch
  83. 15
      sys-cluster/ceph/files/ceph-15.2.5-glibc-2.32.patch
  84. 12
      sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch
  85. 27
      sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch
  86. 77
      sys-cluster/ceph/files/ceph-15.2.8-arm32build.patch
  87. 16
      sys-cluster/ceph/files/ceph-glibc-2.32-no-sys_siglist.patch
  88. 12
      sys-cluster/ceph/files/ceph-mds_at.service
  89. 4
      sys-cluster/ceph/files/ceph-mds_at.service.conf
  90. 13
      sys-cluster/ceph/files/ceph-osd_at.service
  91. 4
      sys-cluster/ceph/files/ceph-osd_at.service.conf
  92. 1
      sys-cluster/ceph/files/ceph-tmpfilesd
  93. 4
      sys-cluster/ceph/files/ceph.confd-r1
  94. 8
      sys-cluster/ceph/files/ceph.confd-r2
  95. 63
      sys-cluster/ceph/files/ceph.confd-r3
  96. 70
      sys-cluster/ceph/files/ceph.confd-r4
  97. 15
      sys-cluster/ceph/files/ceph.confd-r5
  98. 115
      sys-cluster/ceph/files/ceph.initd-r11
  99. 115
      sys-cluster/ceph/files/ceph.initd-r12
  100. 40
      sys-cluster/ceph/files/ceph.initd-r2

113
sys-cluster/ceph/Manifest

@ -0,0 +1,113 @@
AUX README.gentoo 1085 BLAKE2B 761a88dbcb3126a47ae6257409d47c3e936743d102430cfc71fac90ea4b8ed876af9815b445e06d88ef407a47963eacd8027cf912ab3fcde724af22fd6a43741 SHA512 cee1b5fb9823333eda0750c04db0c56d71cca1cbf6fed6887ac4ba68949114df74aace3861343bdacd2a1dc4fc38932de805cc03074f981d26891673e454f250
AUX ceph-10.2.0-dont-use-virtualenvs.patch 3253 BLAKE2B 099d80efbccfb4ce8ac6c7809c70b2fb66b44f3c6ee5fbea64988576320df9b5ea6c420088fc4dba2d899c9410979dae3a7609676271c53b1eaef5187ab33cfa SHA512 f6351c97ca6766aa5eb4ebb91bc013aaf8222029743c95f5c88b9bd8a6caca48908315e8850ffc83651573377b48e5feb170c310b42e2447fec739379169b500
AUX ceph-10.2.1-libzfs.patch 440 BLAKE2B 8d0c46d54917a0d8f61f913562b4e8f9a54efd04ccf548a2290832a765f69b4db120bab6e72b94295bf1fd3214512db8c598af6ec514b1e9e4361f964b7fe4d9 SHA512 5afe85113f310b86a13fb18ba57030d50ae5bd9afbf4d6f5aacd7cca415dd13544522c5d903eb58ec90cc0f6ae2cbb022941debe7036d1b7fa6c5af26af9b9db
AUX ceph-10.2.1-unbundle-jerasure.patch 16190 BLAKE2B 6a5969ca39389ae26ed83c7a76c69adf049f32d6f183d602a460d844427d18825846d034b9753a359fd18bb19828532ba770318fd8c9c0294954d68b10c1e0ff SHA512 8076a69bb81f89f8892576c4e2ceb03131cbd7ffee82a0d4d66016120f6c79b906172d1a1c30d7642a32ef7afd46d77d7311b65ca55d065995f305cb0e89485a
AUX ceph-10.2.10-assert_h_clobber_detection.patch 565 BLAKE2B e8b2c4d43a9700bed7e0e19af26f429e844d67aec396fef26d9a40669ea85000568b4df4d07c30cf6f2c36a47758295c5b9debcd3211617c1d06c648a151bbc6 SHA512 b8084257014e90453a0c933e0bfdc2ebbbeeb0f5fcc96c509f04ce9b8add0fb3fc335c11106d42f362c907bf6a3fe3a602a544c9083914b2fe89be595bcd104e
AUX ceph-10.2.10-ceph_ver.patch 418 BLAKE2B e55cd8634a7ae9024dcda8d74f73cc22a4504143ee841bcf5a77faee96380ba90c27b4fa166cd36a05bac71448679f0eb476a902c1ca79ddea0397a67169eca9 SHA512 a533a52c44a55a37e42eb8435faec7ee9182c819466571917a606fff32bd6afbcb89af15f6457e756e17b256f9410b1ec43f465bc09a4bc0c0c704b694dc0347
AUX ceph-10.2.10-duration-problem.patch 1303 BLAKE2B 0e04a4a9b86728e701f7e92d1d2c6c1a8d61796293be02a4b864b174f262703c522206c7786eac342da059b27b6ab32f40554dcc03c85b16d66b41628cb674f1 SHA512 72118c870a1c025c4c275655f127760f2c8c417c3cea88cb36c0a27a8b6fc7387ac98dc7b0e88ffaa34f433fa92609edc03d14881e0acd83207ff0fd13f114e0
AUX ceph-10.2.10-python3.patch 400 BLAKE2B 8ef0928302d3a7aedbc2788de9cd9688874698acf9f08bf5978a3a7ea6371d46a1f8d156e8800705fe2c695de8d3162b38c5a41b5bb8f536613d97fc9bde35e8 SHA512 0ef0f6e251d3157914678014d50f7677457962acc435a0e54881b3143838561e714e27e18b4fcff36c40ab8cb58b44eb19c484dcb28e5648577c37abe285580b
AUX ceph-10.2.3-CVE-2016-8626.patch 1102 BLAKE2B 394efc3b3cf743790ef46a1ed5941081f6c5da89fb6b72a7d0413f1ae0b90d0142f4d1a60b5f1986beafd7f3f77de45b00632f7c251c9801802bd821fe9b6c2b SHA512 e924b4719f0c4a0aa27ed383c816d0d24d7a979b73fb2962193dbdc31cd23c02061904a696222d73e58e1892b2ca51e9c6df6674fec5c17f013c2f4664790fbd
AUX ceph-10.2.3-ETIMEOUT-fix-in-polling.patch 1167 BLAKE2B c8d50310831ef6213bbdfe8ce29c847a5a546ce0be20d90196ae930a58a191d9af740015a2baa3c688aef9a842b6febb178df5e306ec9e815a1ad82c00c5cafa SHA512 2be99be0a023d95ed91185114d9348cb6827f61135e4f83312f7b2ec21242f4789b248249f47a11b4447855fa74ac9da9757d72573098bd53eb4cb9c3d80a44f
AUX ceph-10.2.3-build-without-openldap.patch 1209 BLAKE2B 5ba29095421ebbcc7362814627b3459ee364f7a2f5d4256b9b5b85d39c15aabbba8faf725e6a67cee77d4a391e09087f12d15a94b22ffd1124dfc08cc94c9c48 SHA512 2b0476eeb78246f252bd294eabc66c6fe5724d753d0cc2dde56720aada2517e42df3387eb368a53fa553617d436d18393a4e856d6fe7395022b249d522d1ec88
AUX ceph-10.2.3-sphinx.patch 396 BLAKE2B 4864311a23180971e8e0cd0c6224ec11fe715358ef68c15b284758b3b9b913657578ac19af0e547693933c0d3d1979381884f9dfd6b84b3085ce2b2d02d2e56e SHA512 73946cac357b1036f70fe46c73b39e37bc3c525bb81b1b0392e0076d87a7d731500047cdafbfa10da82a572e56dadf9119ebfd70f5313269ae303eda0c0e9b5b
AUX ceph-10.2.3-zstd.patch 1212 BLAKE2B 742bdeaa051d099806b0938b29d6e5186690d7e174353e792e5c00bb57a3f6e99367e7160a8fcd8a5467c9dfceff90636af22e8f4a622f3cd0a42bfc39c4d63f SHA512 eada803a0bb6785a12264c4da9c41bda56f1c1115724909289828ce0e6c33de8fea65c91d5601b88ec3c4746328fee2eb129143189cfd357138cd2c50d3e1494
AUX ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch 794 BLAKE2B d6448cfed9a67d38ed82fa7d7d3a5ba6aa26d629912cb5450cad628eb8c498b4934534404e70d2fea3db12c8e28e84e0c914e86d294071d7662a0fbee05c6cdd SHA512 1261d3f088ffc4514069e73e49f627c6f87e89683cedc0048dba6d0e18f53f9a784f6c558478ebe72dff70669e5a453809a720cde77f5b89675d92840e6609b7
AUX ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch 2155 BLAKE2B 65ecae6fe095c9b61f26d80a5f12a6d5d22ea3f65d37837e382b24e608ef1bf47bb275183b136c49a95383c9d38e2839e2c7999d21708b95d1bb678a5e2ad729 SHA512 c64b4def2ee9cdc9109ff6c32391384980d5ac4e33d425454fe1ff59910ba622ecb458a6722a5ed0f988e021b83ace5d89cb3974a1cf65862e8766595d8cfb0e
AUX ceph-10.2.7-fix-compilation-with-zstd.patch 1782 BLAKE2B 35c63ded6f1a4740befe952e3685743f0f4cb2500f6451406133d3074179cba0703389c07a9936ecee7d2afc83db24aa212aaea3a856f240230bb6ea76fcb975 SHA512 5929217f64deb45fd803e33cd277443cbb5f5f956fc4be05490a07dae0b02467317426993c7fc44173a18955261e3a73e603775db12e788a93c851f992539ad6
AUX ceph-10.2.9-cflags.patch 449 BLAKE2B a1fc3d1a1e5bb891932d0697631b9a604a47e4c564dc99ef1247cb9e5c26ba7bb5e421b4ca624e78b31d279c93db2965eab31d38f1d3b8fd93d247789ae9408c SHA512 17a165710b0effacc34257daf077f70f55e27f0bddd4dd58bbc8638653ebd13eeabffbb4ead40ddc3a69586c65e01f911ee5f8e1bde94576d66928f0928fa510
AUX ceph-10.2.9-dont-run-lsb_release.patch 2862 BLAKE2B 94e31ddba114ff798f3334c71df551fd267ca716a4aa4aa8e8ebf534a5e38d1b55d7a102306b60cb7dc7337ba009898c02f953a74b34580a85369788a7169018 SHA512 e97a0c2a40c886029bbff12f8591147b88d5eae86dc79a63b267f10745a465da62786cf41c9fd0f01f51805907633c1fe954ebe09b0730660cf690f2c53a8252
AUX ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch 2970 BLAKE2B 24bcf9d00532b0712d5de34ca1422c2f8774571c4b15fb0a3345f5e161a5d6c33b88b33ac96c81afa0517e8619dcd1dd0fb982c56e1967e705fa081ffff62776 SHA512 e0adf5b7c299a69393dcf0ff31def1ad7f39eb242f8d9e170c84ee5c1ea92442287575af1f64fd630ac6877500b9e2ccb34dee1286cf91b1d52094042dfdb0d8
AUX ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch 1412 BLAKE2B b1768b95c109bb281a4963e9fcc4d471eb6a0b19484273965a3cf1dfc6ba4ef239b14c67b0e98118356840ef709544813bb3a1defb97e2ab1d8aadce42e9461b SHA512 23dd7651edb176419d62648e9d29957b9819129f1f50ac97608c16d658d21787ded5f162b6f4c3e6b404f2d5aee47514a84278692684f0d6f7506c84cc71f37a
AUX ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch 1017 BLAKE2B a76eaa64db3e19848fc9b1ae964b355783b30f24e998f16e121f29227ff4de4cb3b7e1552e437f1681c7826ed77b4a11a3b7bf489b8159c91c718cd834b949a2 SHA512 76a051a0fb2cf2f2b38655f7cc1866c745b6e59d999bc49666efc0e29d5e72aa26259241b9a9f4cc20a1863c3636a42a4d49d6d942d2d7456ce122b346a0f378
AUX ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch 1422 BLAKE2B 4413687757d944c43d216a46db731d5dc3594f795e836d95c9367a5d66b8a828b614ad1079fef2459ccc7ff5ae1fdd448244aa9d2f18f78d1fe0e6c221cd1aa2 SHA512 62351c1ac682938e138cb1b6f668f9d9b841d3d57b84fbe6402ae9f7d7e2379c538c5d83335535d842da2870c3449bfcd39f66118f89422e7eb6fe8f04b0a52b
AUX ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch 1358 BLAKE2B 433acfc3a777fdce8b636d73848d06c6de03f68a53480d1523c5518f9350072fbbe1562ae0723c32f4f048019b7221ef9278a6b2c95f70d3d3a4dfa9da46590e SHA512 0c07702ca78195575a66efecb8e75393da8dc5706e08ffc1e598daab288f6678f6333085d929d69dc5828494c360a83bae3df2b96efb7ddaf782d43691eedba9
AUX ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch 1111 BLAKE2B fc109bb20f3f6259f5ca78b2ac076dac0077e2f8466c76d9db1fcff2b59ab28991b69484e73b6cbe9618b74e1d3141079950ff183382c72f03a92f922b92089d SHA512 cf475d9de2ae0c4c41389458f9f256da0f584650ce8204779e7a537cf62195cb5017233b3dcdbe0a5aeed8d7512e4db964a43ac4856e779b6ebcb7a6f676e7bc
AUX ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch 1353 BLAKE2B 9bc3a246093f851c51ec3b094f22b90727eda6ac88ab1eef671184370cd3c70de613b97bf96ad9fd01cdf4dd9cc6a44f17b4aa6918f86c1eb4c281b30677e483 SHA512 050d4439fb66b8dcb3ec3fe010bc6193e287dae2a7d25e7a58c4ce733e32a596271f6a69667039abe3e21b66918396a65d579b5da5665fb6e1e292be4b78ffa1
AUX ceph-12.2.0-cflags.patch 536 BLAKE2B 9eb8dc48db09d35f86de280a36763b7a56d980adbaa2d68045e6378cb68904e939d8e7f7325fc5102151ea4e1f5133751b620885d1d0b3d6fe565291272b4b2a SHA512 9864da1a83c1145d143eedd73fd3ff142b354fd0bffa73a25f30eabd68d7eddee82208be7b7da74536ba4c996808aa77fc55bcf562a409240d69cbd249ef1d75
AUX ceph-12.2.0-use-provided-cpu-flag-values.patch 1590 BLAKE2B 684dfd301a144e2958497bf588515b0319d4e2c5cc5a6c5949d4c2c6f0d41f94aca2c43c020285f4b467f42f9f9a3944ce3a5600dc95e3b8443c8420cfb76128 SHA512 ecf4067776a146cf2aaf0b83298e508a6073147e555f4f9ba73cf2d9e0fe26d9ea72fff8af1c67eaa436e30d32ed260f75683c7d77b27a88fbb098b561d13f0d
AUX ceph-12.2.1-systemd-unitdir.patch 345 BLAKE2B b97856edd071beb28e46301e97f996176dd62b6824ccc2154b7640ce629b1c0698c2d79e074a2df3af91ab34d6f7e84b2a5a04d41d8fa3b64b571a016ab14f19 SHA512 a29373704f645f5b52597f5482fb4538f3d335bb1020c206a089ba58707f988cf42d335f17a36911f373936f8e769613c3d3fa98f55c1fd91d433d036b769bcc
AUX ceph-12.2.11-boost-sonames.patch 7971 BLAKE2B 259be2dd12c15d5951e0ea4f2da50a003352cef9e1228d70be0e62b426aa2e5e1ec8509707511986b9067dcb98d96b9b02ac9f5ddeca72bccdb162fdb20cf72b SHA512 03af0a0f2c287f3edc685857d51b8e8d370337f42a1e0630deb1f69c8bb2fad2aab065d43fa22ca099aa51d3b5b962e0aa63a5f7110bb2b39577df71b65c18e5
AUX ceph-12.2.11-fix-min-call.patch 692 BLAKE2B 636938a262cbf640531481f3f5030f1975c96253f56baf34a059c3c0b2d4dfa7c80cfbced41b8a832614a26532a6de497ab004950e0bc7b197d33040c0d38646 SHA512 9eece21ea40f785cbc1003f6af1d05ba764969a9c0ff275fd28b10bb4be5efab322bf9154d9bae575b45e9229572162901668c963333a00d8e98a48e0a6a3df9
AUX ceph-12.2.12-civetweb-openssl-1.1.1.patch 383 BLAKE2B 77d2c5bde22b2239faf5d81ad6e8cc59b5d538e41cda50dc505c860421d392c9e3c53eeb9ad6c626fc3f610851b3ab03b013a33e88a5f28dedc7f7f9bd4f68bb SHA512 52a7fb10fed600e390d207e32aef7e1f53c7e3d0866e8cf607709cc233811a2ff697a342295f05b6787ea64b7e914487f1bbfd1f9f7d258a328d34ce2758be9f
AUX ceph-12.2.12-dont-use-bad-namespace.patch 416 BLAKE2B 10018739a4a726bdf4eef44904a1e0a95eb9e6ce43750606a4159c8577190d2cf07fe7a50cc41f9aff6135f1aecb3d0d836b49594322f443ddf8d92bb9941364 SHA512 50e6d0ddbac9380ddf68b259e99ec585e9b1b5b26ac813e9ed947f417706adcf128a9c49e36af0373762233a1020611addab05832effd7a4fce7bca928264bdc
AUX ceph-12.2.12-ncurses-tinfo.patch 573 BLAKE2B 87a2bb90dbebfeaa538697020a0d94d3b96a25e2d576a2b7b1281db81ee93db98c42b72f5cbda8b6a8b66e84b20429ceae9bb6a16110c1db371f6447c79a0287 SHA512 e0d24fe288f56fdb4ffabb25701a1b343083932fd97dc00fe66dda4c339409f922a4b3b5803534467b1138deaa5f8b886a1bbd9f10636c38fce7f656aede18f2
AUX ceph-12.2.12-qa-warning.patch 494 BLAKE2B eeee0d451264390f8b6c712b08592b5dca5670b09771225833831c9a052cd227a5528d52521d6fd9420723bef291adb082970df58bdb0e1b14a964345098a315 SHA512 75ea26415a54a5e1c670adf1461516b01473728a9768429c4df6bdb9b9a28073acb7372167651dcc5680e268e5ef7641ef0643ea1ae90d4611feca912819581f
AUX ceph-12.2.2-build-without-radosgw.patch 999 BLAKE2B 2e4d995f82c43ca3d96c3e5f9acd8bf827b85055f4d558688de899b52573d7445ed72979bec5cd074b6ed3a7139227605571f79a5fbc5b2f0a2ce942d11d2296 SHA512 8ff2efef0bcf0fcf339cefeee6a54384ea6a2c219bc8b171e2306ca9043ffd9d95468c567966fabb5c1373adb00b4fe036daddb7715c232c029cda1e3d21bb83
AUX ceph-12.2.4-boost-build-none-options.patch 932 BLAKE2B 7925da8f8f18e26af24a00a4fe595f900d9f676769614576c059513299c05cae1c982db8bdd3a571c04ace1ff1ea6171631c1373c408f465261b73e05f66580e SHA512 6ff46a90d76f667fa23be0f9eb1ed2fb7e30af9a2621aec19944d0a22a431a0f5721603c588286e483ff55c14aac920adfccb039c9678a87cc59640dd70367ae
AUX ceph-12.2.4-boost-sonames.patch 5145 BLAKE2B 70609fbcf98c556bc681a27da37abaf0178f0d60850f3d5dd7806f71dcc21affd103bbc4ffcd21be7ebe6a82a04eab5a46548aeb1d18ad398860e14f50b86ec6 SHA512 d8a69c34c02848ba918bf65f318bb02f27cbbbd618a337cc21153cad4ab33a07dfef27d8cfb1d2839b145a245483c57dfdbddb87061a5f9ce215fb6df94ef591
AUX ceph-12.2.4-cflags.patch 1473 BLAKE2B 971ae7673ed21485248eb582762529c20991b487fae16221a7b6b6d30e29795e26ef83b5af3f7003f58a86784e9c846d2512cee76a440bf5f12b2b5b64968ec6 SHA512 402a5948e90f7daeb29c84a6204d88f6198fab17ac78ef69b5e7d8f54f9f61ed4995c4da2b37bed4448049077bd6167f69ad1c7c62105e924d5d8f8313f68f4e
AUX ceph-12.2.4-rocksdb-cflags.patch 601 BLAKE2B e434a0e05148e4df0848d9d0d36c7894ecadef0f1c9254dcc1eda782002f473471803372130e12a6b070f857b5f0279e8a7ee2dcf3623b8ca8e02234d4b9d6c1 SHA512 324acb8b94a050bee19e149d6a48a73f596fdf921c5f06d75475069bafcf2a230e0c12f3bb25ec6cd78f1f12334702691b73c2e2643dac63ba4bc71ac9ad0a48
AUX ceph-12.2.5-boost-sonames.patch 5546 BLAKE2B 8062f550dd36371b1f89981ed2c63e5d8ff4273a6843f8cb8227c38fcfe29c1ce42c07578c3491a9b04e548d0c76a27481a7cb9ae2afad2870191090697c6f4b SHA512 0f48e5107be166306c832bc998c4375759e783ce0159250b3440f22ed7ef3b16fefc9e2258b53829145361d2e2e6bae97e09dde6ed81149a137f3ce84fe4ee47
AUX ceph-12.2.5-no-werror.patch 2214 BLAKE2B b8878f8dd9e971f0f11f0954ba81fdf2df270e0ac3588220f629255737119a05def4012caa202b2e13f693b3962322126d7b6fb91ca18e844b0a1aed3de37586 SHA512 db945087453b83a87c963bf87b35ab77946a53f3b86e24dafd4b947e098d9780ff41aa6df979adcd306fa9e740d1dbba8cf7c391feb5b934ea83c55621b350cd
AUX ceph-13.2.0-boost-sonames.patch 6598 BLAKE2B 906530f288518b26b005140645241da4deda6ab38a1780fdd92e9a7602547cc8f6ef65da66a2fe689d047339aa1237a32ea524419649109309634b8516ce687b SHA512 4d62c4babfcd20fadbe25572d3aebb4b01360a22fa5554e73454d59d9a46ed011b59ab0538e0ddd182c006889c160394d8eda171171aeb55c131ce7237c54343
AUX ceph-13.2.0-cflags.patch 1011 BLAKE2B a7d911ed0ded1a1eb5426bae3a7b1cc169774668cdefd120ce8a5bb2f2082d792dfa0d2e14bac558bf27343763b66d42b9d84046acfa5a1cb1d61fc1219955b3 SHA512 8ec0d668fefee12d2c7f5b5297dd81fc6a559f5823d069e6395d9b4240110eb8f95049d3054697a459948c1f3784b4450539849cf9d7f3b1aa1c7fbd96c475df
AUX ceph-13.2.0-mgr-python-version.patch 675 BLAKE2B 2458bd067f9947189b65c439df501f1c31eaf6a9ca7d46164e84a37aec7e99ac12456bd299604d18b2f0ac70898de90427a80390644a8e3d455c5e3caf297854 SHA512 aa0f3dab73573c1ac91513bca378a8441ace5f58a0e469f4f01d7ab22869b41e5d4a1e44c3fe8e2bc23ab5249fd1a52a4b72000d458521b6ee291512e51d474c
AUX ceph-13.2.0-no-virtualenvs.patch 4466 BLAKE2B 9f5176b7d3ee3b3602341864af8eb2494cfcc2268492d7ecf9f43576963de913c9be52259dd16c2a3ad6440eeb33604ce609fc11e7e36236a37c02b84ad81890 SHA512 7b9ab0a7e22784f66253f873dd76bb3e76cfff4781632ed51d39beefacdd1a7f4d90441aff9fd93987837fadaa847906bba32eb18c86f8a8fe31205246cbfd8d
AUX ceph-13.2.2-dont-install-sysvinit-script.patch 471 BLAKE2B 85ef94f49408496360fa24a433e9d6f3568749a6dfb415cbd17bfb950b9500f182c5141eab402686001f95e1611e60accdac7111ceca14f03b1ff8b4345c087f SHA512 ea069b75b786c22166c609b127b512802cc5c6e9512d792d7b7b34d276f5b86d57c8c35cfc7b5c855a59c0ba87ba1aabe2ca26da72b26bff46b6ba8410ddb27e
AUX ceph-13.2.5-armv7a_increase_largest_singleton.patch 650 BLAKE2B a11c3a5aa738010e881ff8b688edb5fa9fb1d2aefd24695e9e48ab8404fe0e39dd0ab663c5953052f0c7f9caffeac90bd1d30f025326430739779bfd5988afcf SHA512 dfe894e366bde7800ae01ec9bc53e77e0b5692872534163ed03c739388c4e4f71a5b352015a647d74df7c6ebf993c0b85eeb3550bf13c086a7237473e2006376
AUX ceph-13.2.5-boost-get-static-assert-fix.patch 69917 BLAKE2B 813d347e566ca0c28f2893db6b22193d3cac4c55a42e5c70f2158733a4ef5af9001065489c3d10038f3b58572ad9a5011076e37d2177cd9870196e5bbc3e7748 SHA512 d826c2efbf40c2cf07fefdd18553d9c27231c3b7c66d68a36d4a357472fa5f18eac4169783c1c771a0cf9dae3c0d575503c52bf9f40feaf679305cbd02a7e654
AUX ceph-13.2.5-concrete-minmax64.patch 2510 BLAKE2B 4ca952d379676538528e0f4772cdc1d8801bce61219dea8a95bdc9658a6e6b57d3b2ffe1d141095f562cd9c952b915b239c631bcb743b7f0f0ef22c4d9cc26bd SHA512 f013ac865583d4b6d60d78a15b2a8c1553ddb72d202189dc5f30c11659864a4006d5d448822b11a18da68571e24cddcb6f99f13ff91b9724c1465ead2898d16c
AUX ceph-13.2.5-no-automagic-deps.patch 1056 BLAKE2B dbae76e4be1ca690ff59c0b905ef63b9fbcddcb25d181af2a514113f4bfd5028a8b5bce98c965d195ae69f8532731b2e9d9002f01bb91ccfcde5a29eb43b8f41 SHA512 60616eaaadbf4431769bc2e192718ee28842efc818ee561af1c2c7a5269e393efeb455260c36582d3265730d482a92fb911b4c501e486a3a6387ab4a10d1589d
AUX ceph-13.2.5-size_t-initializer.patch 687 BLAKE2B 29154b4a7f28b29ae1d59d0dd12fa20bba787ccd9f9d7439e395bb463903646a4a73bf144ab850956d9c03feac3c0319fa59cb479c1c9820b59214e8a82c5d13 SHA512 9e8062423fe4f4ac3cb61ad7b4eeef60c1804618918c301ac9780d96142cb5daff20041b5095e4155fccb736dc84dbfd4ffe70707270a492ecf69ae315739414
AUX ceph-13.2.6-arm32-build.patch 4881 BLAKE2B 9111619f7b95e5beeb667dd3740bb264b5f1e7b586d303869d72672d115e1a8a250d2ad17b6795e3399d139f94e858b18e294e2d81cbd8247b093873ac0200f4 SHA512 af709b4ca400fbb85f9acf280041c7a22b8f1eda3923d3565b352a5b32d13604935284d03d00e2e0c62e2c7bb8944539019542181f71c1c5fef18c11b43cde30
AUX ceph-13.2.6-dpdk-alignment.patch 612 BLAKE2B 7f75b53383979d5790862c91ff67b41c16d94e6572c9c387ae511401d22562493bddb296f47bef60ebf586683df36b5b62744ac30d43b1c4eede053d6ae4438a SHA512 058bf0a564a158356e5a87099ea8d1372123eeee8bfdb3c25870911dccc351f33e00793456c5c04f670946559cd49bc6a8cab5553dc99bebb570910b4a787d58
AUX ceph-13.2.6-no-virtualenvs.patch 4137 BLAKE2B 9cef3ed31ec0ab2d13091b0b76071532ffd021a5627fa91808bb7eff382a4b29945eaa6bc529e8ee3176056caf9f62af0fb4b4210d2549bbc05f018fd4ecd75c SHA512 051c80c70a951135e2a00f6688ff03f604f89c65be47c4e00e2f72ee1a071be067cc8a7a60fd4ef78587a6b79b2b26d52d5dc3efbdcf0e11d4e3e1156483b03e
AUX ceph-14.2.0-boost-1.70-sonames.patch 13703 BLAKE2B a619a07217895ae34a84c145930d9b477cc557d5088d1fb915f0427556330a24cb4385e953facf7cb2dcf99c1245bd25d2ebe25db56dec40648ad065bce7e873 SHA512 69f82d5f10b1237c17428b11e746422fcd0e1be735500032892d834361e636a23135cb7e6f537cbd808b74378325c24132a88f256abcce40ec1bdfe212b7648c
AUX ceph-14.2.0-boost-1.70.patch 5556 BLAKE2B 7610a48c30fe5cf8462f498501a36c17c33289967e7d50456d6b8e6c467db89b768f73bb6e69ecd4c6dec0432d4fbb47af339f02eb510ba69770b9b122b41dbf SHA512 71ee1d583f71b2c52fee40e5105d1ff1d4b676230eac7c19f42754316c3958808304155a48992f8766eded52d3e28007b631680dca8b4672153fa44b8eccbbb8
AUX ceph-14.2.0-boost-sonames.patch 14155 BLAKE2B 766a3e40c8a4d94d1cc52a511f0d440178c199cb37b1d06a792fe627df4f01793d8555005054604397d02d9e366521b10788f6e56381a6d967814370e4298844 SHA512 91184e32d3ef28a43bc8e0d53b4f359c5b2177250b39bbcc7921e38d044ba54610713826bc64450a0b2232450f68e724d23757cc5c6d39e50855060e86890ed2
AUX ceph-14.2.0-cflags.patch 545 BLAKE2B 0f5c4e509b2252de7a4b914b99fb4abe13010a1c21b2b701530f6a29dcd41924e3b81841cb65b7b949af42b168ce9fe756b0551c31babf9c9498d394b2ea6aa8 SHA512 9e6bb46d5bbdc5d93f4f026b2a8d6bdb692d9ea6e7018c1bb0188d95ea8574c76238d968b340fd67ddaa3d8183b310e393e3549dc3a63a795fde696413b0ca94
AUX ceph-14.2.0-cython-0.29.patch 946 BLAKE2B c251b6a171e5e0bab3f8716b79eb3138a177c1f39e7cf433ba52d03d73de4b45abc2db6742237c8044519337297025cf577d210ace81457ff05325073aa5bb43 SHA512 82c1608928ee669ef60b8930ce82c443152c446e669e7bde9ce32f78571afb19a9620c3818b69ac8cb3ea33e7d7ac40f77c89162c71b19b157336d907fa23e3d
AUX ceph-14.2.0-dpdk-cflags.patch 1171 BLAKE2B a6815317d3828cee8d2476d6cc77b60d089db5b5ab0b30fd24c0ac10270ce930ce3049f1b22af71e5b39a6e323c672245fb78753e7ed901055afac8371cbcb9f SHA512 ece01fcaf0b82c441618eea1f37fc2658aa356de1128121d368769fdbf6316b226ea15a781353b115c0a81921c8872bb3d003ecbb1e8f1b456bb8cf6db8f091e
AUX ceph-14.2.0-link-crc32-statically.patch 428 BLAKE2B d324855dab736eeecf5835e79c4f2fad9ea4d10aa29b2b03ab6274efa2f54a5cfdad710552662a49d5f61466e1cd9d6c2fc8a42373961e3334f39b806e647feb SHA512 3efe70f826ebc207f1ce8744483c9a82ebbf8f3cfa81c9cbb3152b40f5b540cc9cc21e6bd3370197bee9a27a01c3e3725754d044069bb760c3dbfbc97fe4276d
AUX ceph-14.2.0-mgr-python-version.patch 685 BLAKE2B fbd36e0f5fe45be7cc58cf11b2b83613c2f7f7fdfd64d4f04729c36e5ebc110341aa4c5521d9be590bfb7a7812525130e773a346827461df0a108fbde359b161 SHA512 af0851913cf8b42bad71ece4e41017f71e91db19aeeebb5ea0306055d6d6d9e7eb9ba34224bb2583ca437d44827de8852727e8a9dd809d942d4c277ec3da3214
AUX ceph-14.2.0-no-virtualenvs.patch 2349 BLAKE2B a012ab044f92c2a22c8f04661d2210585dbacb531ece528cc3d8d026ba692f46d1306b920826d02b93317de24c325542ac222a4e2b42684aa44f5c12019e2a29 SHA512 623eacb30565725768b80e56e876cef6f52c07b63d8a0f0cc9b16d82677014636f1fdffbf7ca77b21d6465fc84b7fa429153b5c51e6202c85b1fdd6c5ae96a38
AUX ceph-14.2.1-32bit-build.patch 1256 BLAKE2B c00b8bedc259820a6176c8b4deece059f464a43df50533daab17a07f4965e2f6535d585bf83bcf34e59bb6fd3a88b822655f20a4921da53051fdefe77bd24e7a SHA512 169c352050d8a99834fc89e74034dfce931eaf0216bbfd9824737f1908d29fd0cf93d11697465baf632773e2edb65ce11daea55a188f1d32402301849a38cded
AUX ceph-14.2.1-ncurses-tinfo.patch 959 BLAKE2B f13e6fd85401cba869cc459568e731ff43176b75ff427ee7b16ed714cc0ac49437c4d8532cffd79e724dc2a48a142391f138c8669fda78a1091dcb98b9d8dd96 SHA512 7ea763a87ce14fc1a1a33f84e96d6fbd36af8833080e53eaa7ea674219e86c76a087766ef28091d6ea0667b170340a46ceca2300501a61265ae6cb66904eb82e
AUX ceph-14.2.10-build-without-mgr.patch 3248 BLAKE2B a0d435b1e5572d29f5d961bdb5e27da10060777d02c07616cd57abf0a734af0595093f3ead54be6ea74e450543917df55657b08d5f04681468d166c7dd0570ab SHA512 e03cd8dd9f08f348805d04e554e8a4c9bb2d83e931d1ba27c4265084b899031ddee12e3cc289aa927994c35b75a1bc383a0ee6648c7f8fee6864d775bb800fbf
AUX ceph-14.2.10-missing-includes.patch 634 BLAKE2B 2c12c908e74a93de06a8d554057a2b45cbf3969c0eee51402e31f713ecae7394d195e0a85433d90be944b9df4aee93259fd8a50663cad1c3a7a798defb71f5de SHA512 4b5cf3201b03e9c92260bf01966aa4f6992fe9ba76f2b2f4c3211bcd2f978a76e9b7d4820d79dfbbf9e3f98ccda1929ae92343397db29724120047ce0bbd25d2
AUX ceph-14.2.10-python-warnings.patch 1536 BLAKE2B 49ce59204096e02f9e10037dcd365fdc6e95cabf69602592019470cc069835b139b6ac2664aff94ddf6226998fa63337db751b9daa7c9ec87eb4729063a34f4e SHA512 c9ebdfaa9d93ca8e287059f817df01294d0a523831e4212e534cfbcabfc70d4e11d154fce42931f8e65926cb7e5cff09dc9c8165268bf24010533e471e370aa1
AUX ceph-14.2.11-systemd-unit-fix.patch 1110 BLAKE2B 6964fb2e9e09fef25020b8c0f3bdfc225864f3840c63349355111626260116a25c6eff9f3e34a1cdc7d5ddbf2517b8df768f4fb83a9f7d2088393c7dc6a91848 SHA512 c9d43af2d02e77c163b457603d0a519a0849eca4109b828a4e000b5e428679e81396f842f91a521d688f6c5867420a40fe893f529f9bbea9624bbcc4400377fb
AUX ceph-14.2.3-dpdk-compile-fix-1.patch 4729 BLAKE2B 96e709b592a7ea9324f54acf75ac3f78334a0d2b155f6d4b5360df8b13e2c9c8e5f6d6b19da5ddb7760c56d9307e056db9aeecec1926dddec88b6b685eb55374 SHA512 d0849fa120b3d7c26106e75bd830874854ee4214ac867b577f4486e4a033b2f555fa6745910f90d26f7fa5280bff01f5880eda9a2bc6edc856400a5756a8346b
AUX ceph-14.2.4-python-executable.patch 922 BLAKE2B a5c9e8c70de62a974ea0bea4159874447d725a566d75a026ca125a7db0f24a8d92212d067c8dd91b75ec1e2aab12e46da464f320c7e696cc916e29a4e0d28f93 SHA512 b263de28897f05fc3a201622b90a222bb2c6605d4e6d8921d3c8101247a41a44e1f9da4242f208e1ef4d10ae028917510f4390cc69595b77b723545f0f72eeb2
AUX ceph-14.2.4-undefined-behaviour.patch 1990 BLAKE2B 4f9839bc05c95d40c870f346ebb1856f2846adb26fcbbed67e260f47def9b7167bac4a15917262e8c9dbb99cb83892da2aa315b6d9ee8cd60eb222876dc56482 SHA512 15e4df7cadb02e65144dffea3c287e853e27a04c18281c13282409f1bc28184f31b80d505123a3a29e5394fa0b5e3e3f1246bb70353f142e52e19939149a341e
AUX ceph-14.2.5-no-virtualenvs.patch 2144 BLAKE2B 1ade0666aa6dcaee8bf9da5d6e0d4f9c433afe2e59f7403d37409923f23c5de5de4451cf7193d57198c6b7617333f0ac7acdb2299411550f9bda833a9feb1e51 SHA512 e40fdef0c5b55393863cd662f52354f33f175519d746ee0ac37803616f02f9c207aeca0a1af8ecdc93742a3a63b97869a2032078a419c5746582c96fc7ecd012
AUX ceph-14.2.8-32bit.patch 1574 BLAKE2B 55b16931dc6d4503f61274149f66b8acc345064ae9b9d9e6956369f38ae9c64b42bfb935bbfdc5b6238e40885d2da17404e4701695dca0f16a085037d41864d3 SHA512 e29e7a136ee1f27eba2f225db9c4826ad6c36044016536ca19f367ab906356ba7a0ab8eb0e272373dcaaff352950c4015b9144a0aca713f450dbd6d2fe5146a4
AUX ceph-15.2.0-no-virtualenvs.patch 3197 BLAKE2B 356a5d465e449b9de1ec2e0f1f1b38950954844bc3d47a2ba22118aba5376b050fbd56b366fe2913f87fa1ef7822ad4a6fff93511d02c67e3718bab0a1962b7a SHA512 181d56a168875ede97b1945976481061c5632ae79232f9d35a00adb4e5d1cf0acc9bd2e4ac7a62638574b149bcac639522c9914a08636603504385e0cbdd1292
AUX ceph-15.2.0-rocksdb-cmake.patch 703 BLAKE2B 1c99a1a89be22cedf39326cbf7d6e381c76598ceb8efd4dc6e9f97033c8e654314b8a59c147a7d5daf0305aaedbb4ceb14b9c14e79f61e8fa789e74c0205b1f4 SHA512 20256de5c3227caa149f8285bcc90fcbd67be8cefa568fb72ad0d43688f1f62db7c7fc231dfd4ecf2dd11be68bf1ccc284ebbc691a82a26f3968200f12c82097
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
AUX ceph-15.2.5-glibc-2.32.patch 511 BLAKE2B d2327c3108355d6b25bd020539cb938e5969def1c0b6392cba546b0aa8b555388f5cab6534aebfde17a55e59baf8a0b6cbea2be77cbac5062b7f89c296a53a60 SHA512 491c4a8d4120c6620960d349effd76fcc780995c7a0ed4e9264642e40970a05c4238952a2b8355ad35268f0a9410be9bc38f6c77ddb8f55ad72adf294a0043c6
AUX ceph-15.2.5-missing-includes.patch 435 BLAKE2B 66c4b30629203694bd0d5c82f5977a0576c67b3cb14d678e6ab60bc7a933e65306b122e253856bae7862637564e14a93b9cd2c48c9b510e01cc316fc7be9f218 SHA512 84de66f64ea96cd59b40dfb5b8c5d093fe49df1139b45ad9d1bd6b9ebd2f1200b6e931adcf032639a4995af322cf05c1ef9050eb1cb6673e29e040d4e348b3d5
AUX ceph-15.2.5-systemd-unit-fix.patch 1114 BLAKE2B 589874deeda1bd21fb0aa83980083448b03f2185be15e23bc1a550f96d46f613d55f5134244f8b36f9e08883acdc3b49731ea5f56726c9ab2c455a1cdb0f796a SHA512 91fc1b88cba37d329f6280c94ed246bdaf5eb6e602a2537b130a764bad4179090bbb79e8a3e50e464e57703233da85da7e1a795987d28dd3aab7ef544d9af78a
AUX ceph-15.2.8-arm32build.patch 4110 BLAKE2B d64714bf7a305d14f402488aadeddd1ec9c9cd0563bb0b78d94ede4f6cf8846d49ee4da9d6a8c8d15d6acf777e968b7deb0efb197c939efbebcbb1ca3fbb4f21 SHA512 24fe4816652074a92598ab2b915a8bfd38c38aab86903532068531cc6ff8873c8043d052a2e3aa699f40f3131f283e98dd3718ae9e5859dc976c829e534a86fa
AUX ceph-glibc-2.32-no-sys_siglist.patch 589 BLAKE2B 221b13815ee6b1ffcd15c45d1e7a7191c28e7261e8ebd8ad65e6ab04528572e3404c7df73d7d69872e378a0c7335ba31d915b4edd2473e73306edfe2d85509ca SHA512 87eae0b9e4c477dbc3d8bfa2cdf745ccdbaa48275d05442fafe9148a614ba33f45f0b639afe343036a0143674c73792bacad4322e72373fd8e9f12d807f3f41d
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
AUX ceph-osd_at.service.conf 115 BLAKE2B d234b9bd718585baf43f229f583e211607aab02942590f90e41d646205c44c9d4c7778c844fcc268d69410a6e76ca825882a5e1d4b1e86b0123905b1d6c081de SHA512 8f169a73f21968f550c6fb21ca7b1efde522b7cccaae0e0c4e22c67ee9c7ccfec7845de3cf84af1075ac9f8840b044dc9440e7936fb9079899df06df350ff9f2
AUX ceph-tmpfilesd 29 BLAKE2B 02c5d6c59f6e93d03df3bb304529760824f64895f5bc0eff4a0a311013479e29cd3aa0fe554bbc65941838116d465b7df1ab351e2d80d7a4d1d109e26a7f0f2c SHA512 2d84199c6e57db1c0dd1074d94b899bf04c71ab0b10e91a34a0aa7c6a8136d34310ebe0967dcdde801f5b022502db00a891ce71af10c3ccef4ed396e8d316e15
AUX ceph.confd-r1 69 BLAKE2B 2e75612a1c36057ab41939b4022c8211e32082a812e9636862fd97b4250594fbf3fbd6739e4faf84c056a8b5402a9089250ea84ce504f2bf2453c09f34dc2fee SHA512 b7f7ebb48b94398eaabb6df2cf3a5697d9a055ea4dd9b73c40d2bbf0e1445f418ed760b1f4ebb13cbb7315b2583847eb97b8649f67b6b7cf98081c0599c86aaa
AUX ceph.confd-r2 171 BLAKE2B 1d36905fdf12edd863679ddaede09b479091a972eba05fab9a6db402e49907e270ecc395524326d6d7fb37901224e4ba45a3eaa23adb2227e2d1b78d9661fd0a SHA512 f7170644341e6c8dcb71ca3a4325c8da3325ebe83898cbf11b47b41ea4f899781b9bc87fd21e006292de78fe9e905ac4703d10afcf91a4687002663469201ba9
AUX ceph.confd-r3 1315 BLAKE2B bf5c573be6bcfd2c7f077087c36f8e918f027ad81b18ec496348ed155c97332ad6d1567a9c69a3c887fa0bdd184b98cbe7b73198db32aae248e31c7599857a96 SHA512 1d192cc8eec9b294440ee6c43966ccc36669b94007dd6b990c5ee8d18ee1b36730a9a0082ef7170846dcc64adcc61481808e854b6c9bdb2eb1db1c71435d3f05
AUX ceph.confd-r4 1502 BLAKE2B 51b3d14ce7078a1ba3c458e3c028ceb8b7de02f8187b242c856efab51e64f36ae5435bec761bd85f7b42bfe78ebc28c267ba80ee0b4123b960ffaf35b749ff25 SHA512 ea3e7b668f6fcdf7f1884968a33d06c86448426a83cb132f927c32d83e28adaf8789489e7e817d4349479e3647577ef40190fc75fa88553aac1c7b4f515184c9
AUX ceph.confd-r5 619 BLAKE2B 6d495b970c7ff14972845e46aafc55d227c45817f5f8a9a1cad2e242398cc49f2c53896affe1373433db4175c426f1148242588207c7dee60f28a8c3ee543e5f SHA512 288560fee187c496402d46e3fa17fe99c4d3f2c0bbb389a5a91384a1015939f2389a81398045f0d1c978c4da5a1400e97126b98374185424bc5501d0b821ad5c
AUX ceph.initd-r11 3070 BLAKE2B b8e875705720c323377dcedb2fddd76d199eb6430761a75d0da3b26a5a25295e33382ccc88843a894d81a7b07d76ec38faa9a292e67ec6102985d8002ecb3337 SHA512 e3b310a7f99b9226a80bbb9e0b4ed43b3bbe5b69e72f5c0dec5d2f9a7d5f5fc274b1f8e847183d92f27dd283511db8cf5428803bbc833708ce25a38a9da59a63
AUX ceph.initd-r12 3088 BLAKE2B 371ee28604bef04766b3b13687feb56e076cf4ef23797bdf469db8b85454624ab005304c798c0945bcd4c5c0478ad7d724ccd33074afef39ab939464969e32b1 SHA512 4eeb1d589cd010b39405d1664f077a79d6a8bb8d9693b32390546e14a240f98ba6e4d6281940f482f57e8364339c68b1b02219c0f837f65a738686b00ac9498c
AUX ceph.initd-r2 958 BLAKE2B 9aeda4d2a0bad2fc1c190b19b78dd165230aeef932a5335038e650439ff3420a41d2a43ac527fadf700919ba9944b6da551b2fc5a665f915104717ef45474421 SHA512 6f42b8540797d3f55d64b9842e190ca2973c1779c720b7c9923b8bcc06dddf95672bee066275599e4feafeff38652235746433305dd4d7df8ad086a8deb960c0
AUX ceph.initd-r4 1189 BLAKE2B 065554902fdd5c44fff69868e72817ee24916c6f93a3e332b7a673414dc27f80dc73f9f4266fb3c367ccdce036bb90a03b09cdd152f64567d1ba250d711ba0d0 SHA512 dbb69228ee566490bec93823040885e419bfbd7dc076c802cc97b47dde9fbb06a99f61498cc438c90fd0474b2ad7247d756b977fb415b0f1168442036a48bd97
AUX ceph.initd-r5 2178 BLAKE2B d943da59449e796a9c592e173654275b40ba3701fd6c694521a1975e3070ee465b9dbc2ba748cbd99d94e00a82d792ca88f6b4c1cd299572bdd3d8829adcedbe SHA512 4037639b6de65e0966f1aa850778b87f4f8f926af621f68155e98f103e233b7ebb2fba18a65ca150b16767bb80581259f4720c925ed00777d640f19471147c90
AUX ceph.initd-r6 2180 BLAKE2B c262225412e6e5bf61d315f661721c27f97726dd5eb4cb8696845c29ab95d2ad29b011db6e8d488ce58d71ac875008588737a453de8472ef7f6bb9309fd4f100 SHA512 9f19186da7a6150b4d371fdd5523a07979ef9c318242422f04ed0178b33e6886ac1333cad8a41aa0d75af2aa08d7ee8ec9075d980d32fcddc8558d143a425a01
AUX ceph.initd-r7 2197 BLAKE2B 7df3ab975cd14a3cc782ed58f8e6c2f0bfdc3f1b96383400490d7cab27b4d5afa6381cdb02843c1bbfe30f62e5d801ccecf2b61178013855e13ec504da84aa4c SHA512 93890b9e049ff5925ce56b524389873e22560315bf25c40ac86ec11dd2375d184215e7a217d863d4e32bb817a3e0577fdea71a76bb5d5c28ecbeb8544f1b763c
AUX ceph.initd-r8 2363 BLAKE2B 43dd8f5eb9516b76609a91b1884cbe81d3afbd7634bc39987ecceab612a431e6b967d07c9b7d4a02352fe6545d999eaf1a137bb8d49865830a865ff2ed979186 SHA512 9061c97848e1826ae731202c763d8464f09dff013ae5855ce698d839f99d5184a533c3a81bba223d8f50051573e1fec92e915db32b26ac278b01bf17406cbba8
AUX ceph.initd-r9 2435 BLAKE2B 2e1246f9d409bbe4d2895e9747490ddd108ef22c2060e151944ad2bda1e7ae13d61330cf9f33ec4900eb4fd4a26ff454dd081869901d21bff8309bf8db6d7533 SHA512 c7f0dd45bbada67e93b2e1acdafdb0ccd1de107d9d582b6b83889c5e0f91e524ea1324ab21e96d4c56d6016be6fed718a7791695c95c68813c6b9d6d3dc2a384
AUX ceph.logrotate 427 BLAKE2B 9677f1a2a4872addff71527c800dd06bf65e18b589de3869e2a742c43070de789d5089f8739367efb913a64aeec5a8b82f47c129fac580e7c34e4f8cdc8b7332 SHA512 6edace611f46683ca3b8d2154b86ec77cc241909704e0362b728a5f51c2a809c22e83d69df0d58ec6b3a6b8dc8ef2518c220cac920f51e63fe668cdfe1b48bae
AUX ceph.logrotate-r2 545 BLAKE2B ef7dab92aa5fbbe7f5d5418feaae1a1f4400dce08ca4484fe5889888f4dcb6d180bfb5888d5c7d6d9bc32bb5c58443fb83c1cb4613a2810cab45e8a74c421279 SHA512 c30edd67b7cc064f09d4e02bac68a0aa26827d8d4e3c027393932587e8ce782893b93b53d7165d361602b29c90ef3d6b755e79d11a1edb054e0172decd4e627b
AUX envd-tcmalloc 48 BLAKE2B 4a0799ac6bbedfe5e701eead67600312d86f06143dbfd11d2c594c03d09bf13dfa645e5a0bde1189211ad20036dc4fcfce6758d3a5829d943eb337cc65783af9 SHA512 d180b1a888ec6d870ff523a3b10fd00eca479ee2586a236458af5ffaba21c84e7b8098da6d4bc08fb86c82c61a861dd3c3596a01063d734c329a92808682fc8c
AUX make-node-frontend-tarball.bash 3196 BLAKE2B 1779c8fe924d8a341bcf922da310c9e3543dd9875db79b2f08fd99419fc2a693e24a5d0c36e7db7b9c46f02bb78b51359e844c8265ff266e8a931a32b877b665 SHA512 4c13ebc9f2a7ba3d45a01cd72135a57b2dc6ad3edfe06a05645957c5522a053be940782f1148c117d8bf785937655083d3d1c74668e8c72d75ae000888a65d85
AUX rbdmap.initd 2373 BLAKE2B b88d79efc722e2de3d1f0269664a976ed45fbb0a1c9d46fcfd058ea64d3ae7fe27d13455f2ac5ca06663d77cfac1d2f9d86d12bba926541042ac09a8778a3a52 SHA512 bbd48d6987e52eaf6d02bccf3aecd06596465af4d3ac93063f9a814106de162a27bf1a33ae1646e669efb3c754f3ba57f395523293ad643b0d81ee588252216b
AUX sysctld 57 BLAKE2B 840eec3d188df4998c7ba8fb923777636ae9d2aa342545b69c12e5ea8aa98ae97349b42b56c65a531b207c5f970f873a79c41789941cdd10b279e38f1616f84d SHA512 410f5d721c6cfcc5d7ddaff4f348345140d4b8e1b8fddccb537118bfc59f573ecad63db448598423c9a58fcfdb4cef90e6af27b838e6b77955dfd47673f0f52a
DIST ceph-10.2.10.tar.gz 14573701 BLAKE2B 78c68deb8537cae8394b4d35569983431e938eff42b01f448dea68016b33ca5770c83d1e1d382bfd6c8164d5259e821779c6515f8c8fb4d5d52ee90b7df43180 SHA512 883d1b8340aaefc7a1eee4bbfb5b1d1cc15bffed8f35fb1e8fb86b1208a4d0d16753eb6c688ea0e661c4877d3d148b2b6c2b41620c4e8a61e47c69f46f98e537
EBUILD ceph-10.2.10-r2.ebuild 7840 BLAKE2B bb8f3a90b3fdea5c6dcf3fbb07e0b4d455e0bc8c855af87b786d67be0d23799d31b38685f525a0aec923fe8a089d805057a9f0d34ecc4b4675239a64ae5523b1 SHA512 35764b9d6fec9b25d5147d415409d77584f3f64937ff091532814fee71c1224fcae98fb466d77f2312aaeb947d9bbf7d8c47dbca57a598b9ecb088a6bbdd5095
EBUILD ceph-10.2.10-r3.ebuild 7889 BLAKE2B 480a004d504c825de64784f9d333d904c79b6a4529e2f4823a478cda97e382084191bf2c0fee8eb8be05780ea02a99584f84f1addf4802f6ed2f925758571d8f SHA512 20de80cb781a852541f51f1528a0b0a6647f5d4452522f91f4ed5707fcd87d4c70249223dff04a8ce63e10a717c499ff63b3e4daf9eef6d22752742e5d599bba
MISC metadata.xml 2044 BLAKE2B f9a309d38c66cfb87071206331a6e2ba88366ed09802e949cb4499f1a0b2ee7a3ceca7df5653d1955c76ad2daf900aeee166265a2ced9c0b393e609f397dd563 SHA512 c051bacbbc9e64f0774714c1f6f8cf99990e1669de0ca1633173d870c03e04827cae993fd5e6846b310d838eead8471d2181a0678693ea43423e08795dfc0a47

310
sys-cluster/ceph/ceph-10.2.10-r2.ebuild

@ -0,0 +1,310 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} )
inherit check-reqs autotools eutils python-r1 udev user \
readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ceph/ceph.git"
SRC_URI=""
else
SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~arm"
fi
DESCRIPTION="Ceph distributed filesystem"
HOMEPAGE="https://ceph.com/"
LICENSE="LGPL-2.1"
SLOT="0"
IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
# unbundling code commented out pending bugs 584056 and 584058
#>=dev-libs/jerasure-2.0.0-r1
#>=dev-libs/gf-complete-2.0.0
COMMON_DEPEND="
app-arch/snappy:=
sys-libs/zlib:=
app-arch/lz4:=
app-arch/bzip2:=
app-arch/zstd:=
dev-libs/boost:=[threads]
dev-libs/libaio:=
dev-libs/leveldb:=[snappy]
nss? ( dev-libs/nss:= )
libatomic? ( dev-libs/libatomic_ops:= )
cryptopp? ( dev-libs/crypto++:= )
sys-apps/keyutils
sys-apps/util-linux
dev-libs/libxml2:=
radosgw? ( dev-libs/fcgi:= )
ldap? ( net-nds/openldap:= )
babeltrace? ( dev-util/babeltrace )
fuse? ( sys-fs/fuse:0= )
xfs? ( sys-fs/xfsprogs:= )
zfs? ( sys-fs/zfs:= )
gtk? (
x11-libs/gtk+:2=
dev-cpp/gtkmm:2.4
gnome-base/librsvg:=
)
radosgw? (
dev-libs/fcgi:=
dev-libs/expat:=
net-misc/curl:=
)
jemalloc? ( dev-libs/jemalloc:= )
!jemalloc? ( =dev-util/google-perftools-2.4*:= )
lttng? ( dev-util/lttng-ust:= )
${PYTHON_DEPS}
"
DEPEND="${COMMON_DEPEND}
dev-python/cython[${PYTHON_USEDEP}]
app-arch/cpio
dev-lang/yasm
virtual/pkgconfig
dev-python/sphinx
test? (
sys-fs/btrfs-progs
sys-apps/grep[pcre]
dev-python/tox[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
sys-apps/hdparm
sys-block/parted
sys-fs/cryptsetup
sys-apps/gptfdisk
!<sys-apps/openrc-0.26.3
dev-python/flask[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
"
REQUIRED_USE="
$(python_gen_useflags 'python2*')
${PYTHON_REQUIRED_USE}
^^ ( nss cryptopp )
?? ( jemalloc tcmalloc )
"
# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
REQUIRED_USE+=" radosgw"
#RESTRICT="test? ( userpriv )"
# distribution tarball does not include everything needed for tests
RESTRICT+=" test"
STRIP_MASK="/usr/lib*/rados-classes/*"
UNBUNDLE_LIBS=(
src/erasure-code/jerasure/jerasure
src/erasure-code/jerasure/gf-complete
)
PATCHES=(
"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
"${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
"${FILESDIR}/${PN}-10.2.9-cflags.patch"
"${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch"
"${FILESDIR}/${PN}-10.2.10-ceph_ver.patch"
"${FILESDIR}/${PN}-10.2.10-duration-problem.patch"
"${FILESDIR}/${PN}-10.2.10-assert_h_clobber_detection.patch"
"${FILESDIR}/${PN}-10.2.10-python3.patch"
)
check-reqs_export_vars() {
if use debug; then
CHECKREQS_DISK_BUILD="23G"
CHECKREQS_DISK_USR="7G"
elif use amd64; then
CHECKREQS_DISK_BUILD="12G"
CHECKREQS_DISK_USR="450M"
else
CHECKREQS_DISK_BUILD="1400M"
CHECKREQS_DISK_USR="450M"
fi
export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
}
user_setup() {
enewgroup ceph ${CEPH_GID}
enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
}
emake_python_bindings() {
local action="${1}" params binding module
shift
params=("${@}")
__emake_python_bindings_do_impl() {
ceph_run_econf "${EPYTHON}"
emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
# these don't work and aren't needed on python3
if [[ ${EBUILD_PHASE} == install ]]; then
for module in "${S}"/src/pybind/*.py; do
module_basename="$(basename "${module}")"
if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
continue
elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
python_domodule ${module}
fi
done
fi
}
pushd "${S}/src"
for binding in rados rbd $(use cephfs && echo cephfs); do
python_foreach_impl __emake_python_bindings_do_impl
done
popd
unset __emake_python_bindings_do_impl
}
pkg_pretend() {
check-reqs_export_vars
check-reqs_pkg_pretend
}
pkg_setup() {
python_setup
check-reqs_export_vars
check-reqs_pkg_setup
user_setup
}
src_prepare() {
default
# remove tests that need root access
rm src/test/cli/ceph-authtool/cap*.t
#rm -rf "${UNBUNDLE_LIBS[@]}"
append-flags -fPIC
if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then
ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph"
filter-flags "-g*"
fi
eautoreconf
}
src_configure() {
ECONFARGS=(
--without-hadoop
--includedir=/usr/include
$(use_with cephfs)
$(use_with debug)
$(use_with fuse)
$(use_with libaio)
$(use_with libatomic libatomic-ops)
$(use_with nss)
$(use_with cryptopp)
$(use_with radosgw)
$(use_with gtk gtk2)
$(use_enable static-libs static)
$(use_with jemalloc)
$(use_with xfs libxfs)
$(use_with zfs libzfs)
$(use_with lttng )
$(use_with babeltrace)
$(use_with ldap openldap)
$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
--with-mon
--with-eventfd
--with-cython
--without-kinetic
--without-librocksdb
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
)
# we can only use python2.7 for building at the moment
ceph_run_econf "python2*"
}
ceph_run_econf() {
[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
pushd "${S}" >/dev/null || die
#
# This generates a QA warning about running econf in src_compile
# and src_install. Unfortunately the only other way to do this would
# involve building all of for each python implementation times, which
# wastes a _lot_ of CPU time and disk space. This hack will no longer
# be needed with >=ceph-11.2.
#
python_setup "${1}"
econf "${ECONFARGS[@]}"
popd >/dev/null || die
}
src_compile() {
emake
emake_python_bindings all
use test && emake check-local
}
src_test() {
make check || die "make check failed"
}
src_install() {
default
emake_python_bindings install-exec "DESTDIR=\"${D}\""
prune_libtool_files --all
exeinto /usr/$(get_libdir)/ceph
newexe src/init-ceph ceph_init.sh
insinto /etc/logrotate.d/
newins "${FILESDIR}"/ceph.logrotate ${PN}
keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
insinto /etc/sysctl.d
newins "${FILESDIR}"/sysctld 90-${PN}.conf
use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
udev_dorules udev/*.rules
readme.gentoo_create_doc
python_setup 'python2*'
python_fix_shebang "${ED}"/usr/{,s}bin/
# python_fix_shebang apparently is not idempotent
sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
}
pkg_postinst() {
readme.gentoo_print_elog
}

311
sys-cluster/ceph/ceph-10.2.10-r3.ebuild

@ -0,0 +1,311 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
inherit check-reqs autotools eutils python-r1 udev user \
readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ceph/ceph.git"
SRC_URI=""
else
SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~arm"
fi
DESCRIPTION="Ceph distributed filesystem"
HOMEPAGE="https://ceph.com/"
LICENSE="LGPL-2.1"
SLOT="0"
IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
# unbundling code commented out pending bugs 584056 and 584058
#>=dev-libs/jerasure-2.0.0-r1
#>=dev-libs/gf-complete-2.0.0
COMMON_DEPEND="
app-arch/snappy:=
sys-libs/zlib:=
app-arch/lz4:=
app-arch/bzip2:=
app-arch/zstd:=
dev-libs/boost:=[threads]
dev-libs/libaio:=
dev-libs/leveldb:=[snappy]
nss? ( dev-libs/nss:= )
libatomic? ( dev-libs/libatomic_ops:= )
cryptopp? ( dev-libs/crypto++:= )
sys-apps/keyutils
sys-apps/util-linux
dev-libs/libxml2:=
radosgw? ( dev-libs/fcgi:= )
ldap? ( net-nds/openldap:= )
babeltrace? ( dev-util/babeltrace )
fuse? ( sys-fs/fuse:0= )
xfs? ( sys-fs/xfsprogs:= )
zfs? ( sys-fs/zfs:= )
gtk? (
x11-libs/gtk+:2=
dev-cpp/gtkmm:2.4
gnome-base/librsvg:=
)
radosgw? (
dev-libs/fcgi:=
dev-libs/expat:=
net-misc/curl:=
)
jemalloc? ( dev-libs/jemalloc:= )
!jemalloc? ( >=dev-util/google-perftools-2.4 )
lttng? ( dev-util/lttng-ust:= )
${PYTHON_DEPS}
"
DEPEND="${COMMON_DEPEND}
dev-python/cython[${PYTHON_USEDEP}]
app-arch/cpio
dev-lang/yasm
virtual/pkgconfig
dev-python/sphinx
test? (
sys-fs/btrfs-progs
sys-apps/grep[pcre]
dev-python/tox[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
sys-apps/hdparm
sys-block/parted
sys-fs/cryptsetup
sys-apps/gptfdisk
!<sys-apps/openrc-0.26.3
dev-python/flask[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
"
REQUIRED_USE="
$(python_gen_useflags 'python2*')
${PYTHON_REQUIRED_USE}
^^ ( nss cryptopp )
?? ( jemalloc tcmalloc )
"
# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
REQUIRED_USE+=" radosgw"
#RESTRICT="test? ( userpriv )"
# distribution tarball does not include everything needed for tests
RESTRICT+=" test"
STRIP_MASK="/usr/lib*/rados-classes/*"
UNBUNDLE_LIBS=(
src/erasure-code/jerasure/jerasure
src/erasure-code/jerasure/gf-complete
)
PATCHES=(
"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
"${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
"${FILESDIR}/${PN}-10.2.9-cflags.patch"
"${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch"
"${FILESDIR}/${PN}-10.2.10-ceph_ver.patch"
"${FILESDIR}/${PN}-10.2.10-duration-problem.patch"
"${FILESDIR}/${PN}-10.2.10-assert_h_clobber_detection.patch"
"${FILESDIR}/${PN}-10.2.10-python3.patch"
"${FILESDIR}/${PN}-glibc-2.32-no-sys_siglist.patch"
)
check-reqs_export_vars() {
if use debug; then
CHECKREQS_DISK_BUILD="23G"
CHECKREQS_DISK_USR="7G"
elif use amd64; then
CHECKREQS_DISK_BUILD="12G"
CHECKREQS_DISK_USR="450M"
else
CHECKREQS_DISK_BUILD="1400M"
CHECKREQS_DISK_USR="450M"
fi
export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
}
user_setup() {
enewgroup ceph ${CEPH_GID}
enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
}
emake_python_bindings() {
local action="${1}" params binding module
shift
params=("${@}")
__emake_python_bindings_do_impl() {
ceph_run_econf "${EPYTHON}"
emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
# these don't work and aren't needed on python3
if [[ ${EBUILD_PHASE} == install ]]; then
for module in "${S}"/src/pybind/*.py; do
module_basename="$(basename "${module}")"
if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
continue
elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
python_domodule ${module}
fi
done
fi
}
pushd "${S}/src"
for binding in rados rbd $(use cephfs && echo cephfs); do
python_foreach_impl __emake_python_bindings_do_impl
done
popd
unset __emake_python_bindings_do_impl
}
pkg_pretend() {
check-reqs_export_vars
check-reqs_pkg_pretend
}
pkg_setup() {
python_setup
check-reqs_export_vars
check-reqs_pkg_setup
user_setup
}
src_prepare() {
default
# remove tests that need root access
rm src/test/cli/ceph-authtool/cap*.t
#rm -rf "${UNBUNDLE_LIBS[@]}"
append-flags -fPIC
if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then
ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph"
filter-flags "-g*"
fi
eautoreconf
}
src_configure() {
ECONFARGS=(
--without-hadoop
--includedir=/usr/include
$(use_with cephfs)
$(use_with debug)
$(use_with fuse)
$(use_with libaio)
$(use_with libatomic libatomic-ops)
$(use_with nss)
$(use_with cryptopp)
$(use_with radosgw)
$(use_with gtk gtk2)
$(use_enable static-libs static)
$(use_with jemalloc)
$(use_with xfs libxfs)
$(use_with zfs libzfs)
$(use_with lttng )
$(use_with babeltrace)
$(use_with ldap openldap)
$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
--with-mon
--with-eventfd
--with-cython
--without-kinetic
--without-librocksdb
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
)
# we can only use python2.7 for building at the moment
ceph_run_econf "python2*"
}
ceph_run_econf() {
[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
pushd "${S}" >/dev/null || die
#
# This generates a QA warning about running econf in src_compile
# and src_install. Unfortunately the only other way to do this would
# involve building all of for each python implementation times, which
# wastes a _lot_ of CPU time and disk space. This hack will no longer
# be needed with >=ceph-11.2.
#
python_setup "${1}"
econf "${ECONFARGS[@]}"
popd >/dev/null || die
}
src_compile() {
emake
emake_python_bindings all
use test && emake check-local
}
src_test() {
make check || die "make check failed"
}
src_install() {
default
emake_python_bindings install-exec "DESTDIR=\"${D}\""
prune_libtool_files --all
exeinto /usr/$(get_libdir)/ceph
newexe src/init-ceph ceph_init.sh
insinto /etc/logrotate.d/
newins "${FILESDIR}"/ceph.logrotate ${PN}
keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
insinto /etc/sysctl.d
newins "${FILESDIR}"/sysctld 90-${PN}.conf
use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
udev_dorules udev/*.rules
readme.gentoo_create_doc
python_setup 'python2*'
python_fix_shebang "${ED}"/usr/{,s}bin/
# python_fix_shebang apparently is not idempotent
sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
}
pkg_postinst() {
readme.gentoo_print_elog
}

30
sys-cluster/ceph/files/README.gentoo

@ -0,0 +1,30 @@
1) We'd suggest you to install following packages
sys-block/parted to manage disk partions
sys-fs/btrfs-progs to use btrfs filesytem
sys-fs/cryptsetup to use encrypted devices with dm-crypt
2) To start several daemons of one specific type, create your own scripts
cd /etc/init.d
for dmn in mds.a mon.a osd.0 osd.1 osd.2; do
ln -s ceph ceph-${dmn};
rc-update add ceph-${dmn} default;
done
3) If you spread ceph daemons over several different machines,
We'd highly recommend you to start ntp-client to keep the system time sync.
Try to choose one of following ntp client to install and add into runlevel.
net-misc/ntp
net-misc/openntpd
net-misc/chrony
4) Starting from version 9.0.x, Ceph daemons run as user 'ceph' instead of 'root'.
In order to solve this, we recommand to stop ceph daemons, and fix the ownership
# chown -R ceph:ceph /var/lib/ceph
or
Add the following line to ceph.conf on all hosts:
" setuser match path = /var/lib/ceph/$type/$cluster-$id "
https://ceph.com/releases/v9-2-0-infernalis-released/

95
sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch

@ -0,0 +1,95 @@
diff --git a/Makefile.am b/Makefile.am
index 7734be2..ba33bda 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -79,7 +79,6 @@ clean-local:
cd src/gmock && $(MAKE) $(AM_MAKEFLAGS) clean; \
fi
- @rm -rf src/test/virtualenv
@rm -rf install-deps-*
diff --git a/src/Makefile-env.am b/src/Makefile-env.am
index df225d6..ca030cf 100644
--- a/src/Makefile-env.am
+++ b/src/Makefile-env.am
@@ -297,10 +297,6 @@ LIBCIVETWEB_DEPS =
DENCODER_SOURCES =
DENCODER_DEPS =
-# put virtualenvs in this directory
-# otherwise it may overflow #! 80 kernel limit
-# beware that some build environments might not be able to write to /tmp
export TMPDIR ?= /tmp
-export CEPH_BUILD_VIRTUALENV = $(TMPDIR)
radoslibdir = $(libdir)/rados-classes
diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
index 8ddcb1e..52dd5d5 100644
--- a/src/ceph-detect-init/Makefile.am
+++ b/src/ceph-detect-init/Makefile.am
@@ -53,15 +53,10 @@ EXTRA_DIST += \
ceph-detect-init/tests/test_all.py \
ceph-detect-init/tox.ini
-export CEPH_DETECT_INIT_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtualenv
-
-ceph-detect-init-all: ${CEPH_DETECT_INIT_VIRTUALENV}
-
-${CEPH_DETECT_INIT_VIRTUALENV}:
- cd $(srcdir)/ceph-detect-init ; ../tools/setup-virtualenv.sh ${CEPH_DETECT_INIT_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
+ceph-detect-init-all:
ceph-detect-init-clean:
- cd $(srcdir)/ceph-detect-init ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
+ cd $(srcdir)/ceph-detect-init
ceph-detect-init-install-data:
cd $(srcdir)/ceph-detect-init ; \
diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am
index 9006303..0b35b0f 100644
--- a/src/ceph-disk/Makefile.am
+++ b/src/ceph-disk/Makefile.am
@@ -29,15 +29,10 @@ EXTRA_DIST += \
ceph-disk/tests/test_main.py \
ceph-disk/tox.ini
-export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv
-
-ceph-disk-all: ${CEPH_DISK_VIRTUALENV}
-
-${CEPH_DISK_VIRTUALENV}:
- cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
+ceph-disk-all:
ceph-disk-clean:
- cd $(srcdir)/ceph-disk ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
+ cd $(srcdir)/ceph-disk
ceph-disk-install-data:
cd $(srcdir)/ceph-disk ; \
diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
index e730850..9569947 100644
--- a/src/tools/Makefile.am
+++ b/src/tools/Makefile.am
@@ -45,6 +45,3 @@ noinst_HEADERS += \
tools/rados/PoolDump.h \
tools/cephfs/DataScan.h \
tools/cephfs/RoleSelector.h
-
-EXTRA_DIST += \
- tools/setup-virtualenv.sh
diff --git a/src/tools/setup-virtualenv.sh b/src/tools/setup-virtualenv.sh
index 9ff2d26..b6fca0a 100755
--- a/src/tools/setup-virtualenv.sh
+++ b/src/tools/setup-virtualenv.sh
@@ -15,6 +15,8 @@
# GNU Library Public License for more details.
#
+exit 0
+
DIR=$1
rm -fr $DIR
mkdir -p $DIR

11
sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch

@ -0,0 +1,11 @@
--- ceph-10.2.1/configure.ac
+++ ceph-10.2.1/configure.ac
@@ -908,7 +908,7 @@
,
[with_libzfs=no])
AS_IF([test "x$with_libzfs" = xyes],
- [PKG_CHECK_MODULES([LIBZFS], [zfs], [], [true])])
+ [PKG_CHECK_MODULES([LIBZFS], [libzfs], [], [true])])
AS_IF([test "x$with_libzfs" = xyes],
[AC_DEFINE([HAVE_LIBZFS], [1], [Defined if you have libzfs enabled])])
AM_CONDITIONAL(WITH_LIBZFS, [ test "$with_libzfs" = "yes" ])

355
sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch

@ -0,0 +1,355 @@
diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am
index adcb95d..8099208 100644
--- a/src/erasure-code/jerasure/Makefile.am
+++ b/src/erasure-code/jerasure/Makefile.am
@@ -1,52 +1,17 @@
# jerasure plugin
noinst_HEADERS += \
- erasure-code/jerasure/gf-complete/include/gf_complete.h \
- erasure-code/jerasure/gf-complete/include/gf_general.h \
- erasure-code/jerasure/gf-complete/include/gf_int.h \
- erasure-code/jerasure/gf-complete/include/gf_method.h \
- erasure-code/jerasure/gf-complete/include/gf_rand.h \
- erasure-code/jerasure/gf-complete/include/gf_w16.h \
- erasure-code/jerasure/gf-complete/include/gf_w32.h \
- erasure-code/jerasure/gf-complete/include/gf_w4.h \
- erasure-code/jerasure/gf-complete/include/gf_w64.h \
- erasure-code/jerasure/gf-complete/include/gf_w8.h \
- erasure-code/jerasure/jerasure/include/cauchy.h \
- erasure-code/jerasure/jerasure/include/galois.h \
- erasure-code/jerasure/jerasure/include/jerasure.h \
- erasure-code/jerasure/jerasure/include/liberation.h \
- erasure-code/jerasure/jerasure/include/reed_sol.h \
erasure-code/jerasure/ErasureCodeJerasure.h
jerasure_sources = \
erasure-code/ErasureCode.cc \
- erasure-code/jerasure/jerasure/src/cauchy.c \
- erasure-code/jerasure/jerasure/src/galois.c \
- erasure-code/jerasure/jerasure/src/jerasure.c \
- erasure-code/jerasure/jerasure/src/liberation.c \
- erasure-code/jerasure/jerasure/src/reed_sol.c \
- erasure-code/jerasure/gf-complete/src/gf_wgen.c \
- erasure-code/jerasure/gf-complete/src/gf_method.c \
- erasure-code/jerasure/gf-complete/src/gf_w16.c \
- erasure-code/jerasure/gf-complete/src/gf.c \
- erasure-code/jerasure/gf-complete/src/gf_w32.c \
- erasure-code/jerasure/gf-complete/src/gf_w64.c \
- erasure-code/jerasure/gf-complete/src/gf_w128.c \
- erasure-code/jerasure/gf-complete/src/gf_general.c \
- erasure-code/jerasure/gf-complete/src/gf_w4.c \
- erasure-code/jerasure/gf-complete/src/gf_rand.c \
- erasure-code/jerasure/gf-complete/src/gf_w8.c \
erasure-code/jerasure/ErasureCodePluginJerasure.cc \
erasure-code/jerasure/ErasureCodeJerasure.cc
erasure-code/jerasure/ErasureCodePluginJerasure.cc: ./ceph_ver.h
libec_jerasure_generic_la_SOURCES = ${jerasure_sources}
-libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
-libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS}
+libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS}
libec_jerasure_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
if LINUX
@@ -55,20 +20,11 @@ endif
erasure_codelib_LTLIBRARIES += libec_jerasure_generic.la
-libec_jerasure_neon_la_SOURCES = ${jerasure_sources} \
- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c
+libec_jerasure_neon_la_SOURCES = ${jerasure_sources}
libec_jerasure_neon_la_CFLAGS = ${AM_CFLAGS} \
- ${ARM_NEON_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+ ${ARM_NEON_FLAGS}
libec_jerasure_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \
- ${ARM_NEON_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+ ${ARM_NEON_FLAGS}
libec_jerasure_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
libec_jerasure_neon_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
if LINUX
@@ -84,16 +40,12 @@ libec_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS} \
${INTEL_SSE_FLAGS} \
${INTEL_SSE2_FLAGS} \
${INTEL_SSE3_FLAGS} \
- ${INTEL_SSSE3_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+ ${INTEL_SSSE3_FLAGS}
libec_jerasure_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
${INTEL_SSE_FLAGS} \
${INTEL_SSE2_FLAGS} \
${INTEL_SSE3_FLAGS} \
- ${INTEL_SSSE3_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+ ${INTEL_SSSE3_FLAGS}
libec_jerasure_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
if LINUX
@@ -111,18 +63,14 @@ libec_jerasure_sse4_la_CFLAGS = ${AM_CFLAGS} \
${INTEL_SSE3_FLAGS} \
${INTEL_SSSE3_FLAGS} \
${INTEL_SSE4_1_FLAGS} \
- ${INTEL_SSE4_2_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+ ${INTEL_SSE4_2_FLAGS}
libec_jerasure_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
${INTEL_SSE_FLAGS} \
${INTEL_SSE2_FLAGS} \
${INTEL_SSE3_FLAGS} \
${INTEL_SSSE3_FLAGS} \
${INTEL_SSE4_1_FLAGS} \
- ${INTEL_SSE4_2_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+ ${INTEL_SSE4_2_FLAGS}
libec_jerasure_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
if LINUX
diff --git a/src/erasure-code/shec/ErasureCodePluginShec.cc b/src/erasure-code/shec/ErasureCodePluginShec.cc
index d2b72f5..acbd172 100644
--- a/src/erasure-code/shec/ErasureCodePluginShec.cc
+++ b/src/erasure-code/shec/ErasureCodePluginShec.cc
@@ -71,7 +71,7 @@ public:
};
extern "C" {
-#include "jerasure/include/galois.h"
+#include "galois.h"
extern gf_t *gfp_array[];
extern int gfp_is_composite[];
diff --git a/src/erasure-code/shec/ErasureCodeShec.cc b/src/erasure-code/shec/ErasureCodeShec.cc
index 2180328..c84ffc7 100644
--- a/src/erasure-code/shec/ErasureCodeShec.cc
+++ b/src/erasure-code/shec/ErasureCodeShec.cc
@@ -28,8 +28,8 @@
#include "crush/CrushWrapper.h"
#include "osd/osd_types.h"
extern "C" {
-#include "jerasure/include/jerasure.h"
-#include "jerasure/include/galois.h"
+#include "jerasure.h"
+#include "galois.h"
extern int calc_determinant(int *matrix, int dim);
extern int* reed_sol_vandermonde_coding_matrix(int k, int m, int w);
diff --git a/src/erasure-code/shec/Makefile.am b/src/erasure-code/shec/Makefile.am
index 6b658d5..3281c60 100644
--- a/src/erasure-code/shec/Makefile.am
+++ b/src/erasure-code/shec/Makefile.am
@@ -4,49 +4,19 @@ shec_sources = \
erasure-code/shec/ErasureCodePluginShec.cc \
erasure-code/shec/ErasureCodeShec.cc \
erasure-code/shec/ErasureCodeShecTableCache.cc \
- erasure-code/shec/determinant.c \
- erasure-code/jerasure/jerasure/src/cauchy.c \
- erasure-code/jerasure/jerasure/src/galois.c \
- erasure-code/jerasure/jerasure/src/jerasure.c \
- erasure-code/jerasure/jerasure/src/liberation.c \
- erasure-code/jerasure/jerasure/src/reed_sol.c \
- erasure-code/jerasure/gf-complete/src/gf_wgen.c \
- erasure-code/jerasure/gf-complete/src/gf_method.c \
- erasure-code/jerasure/gf-complete/src/gf_w16.c \
- erasure-code/jerasure/gf-complete/src/gf.c \
- erasure-code/jerasure/gf-complete/src/gf_w32.c \
- erasure-code/jerasure/gf-complete/src/gf_w64.c \
- erasure-code/jerasure/gf-complete/src/gf_w128.c \
- erasure-code/jerasure/gf-complete/src/gf_general.c \
- erasure-code/jerasure/gf-complete/src/gf_w4.c \
- erasure-code/jerasure/gf-complete/src/gf_rand.c \
- erasure-code/jerasure/gf-complete/src/gf_w8.c
+ erasure-code/shec/determinant.c
noinst_HEADERS += \
erasure-code/shec/ErasureCodeShec.h \
- erasure-code/shec/ErasureCodeShecTableCache.h \
- erasure-code/jerasure/jerasure/include/cauchy.h \
- erasure-code/jerasure/jerasure/include/galois.h \
- erasure-code/jerasure/jerasure/include/jerasure.h \
- erasure-code/jerasure/jerasure/include/liberation.h \
- erasure-code/jerasure/jerasure/include/reed_sol.h \
- erasure-code/jerasure/gf-complete/include/gf_int.h \
- erasure-code/jerasure/gf-complete/include/gf_complete.h \
- erasure-code/jerasure/gf-complete/include/gf_rand.h \
- erasure-code/jerasure/gf-complete/include/gf_method.h \
- erasure-code/jerasure/gf-complete/include/gf_general.h
+ erasure-code/shec/ErasureCodeShecTableCache.h
erasure-code/shec/ErasureCodePluginShec.cc: ./ceph_ver.h
libec_shec_generic_la_SOURCES = ${shec_sources}
libec_shec_generic_la_CFLAGS = ${AM_CFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
@@ -57,22 +27,13 @@ endif
erasure_codelib_LTLIBRARIES += libec_shec_generic.la
-libec_shec_neon_la_SOURCES = ${shec_sources} \
- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \
- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c
+libec_shec_neon_la_SOURCES = ${shec_sources}
libec_shec_neon_la_CFLAGS = ${AM_CFLAGS} \
${ARM_NEON_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \
${ARM_NEON_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
@@ -91,8 +52,6 @@ libec_shec_sse3_la_CFLAGS = ${AM_CFLAGS} \
${INTEL_SSE2_FLAGS} \
${INTEL_SSE3_FLAGS} \
${INTEL_SSSE3_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
@@ -100,8 +59,6 @@ libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
${INTEL_SSE2_FLAGS} \
${INTEL_SSE3_FLAGS} \
${INTEL_SSSE3_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
@@ -122,8 +79,6 @@ libec_shec_sse4_la_CFLAGS = ${AM_CFLAGS} \
${INTEL_SSSE3_FLAGS} \
${INTEL_SSE4_1_FLAGS} \
${INTEL_SSE4_2_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
@@ -133,8 +88,6 @@ libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
${INTEL_SSSE3_FLAGS} \
${INTEL_SSE4_1_FLAGS} \
${INTEL_SSE4_2_FLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
libec_shec_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
diff --git a/src/erasure-code/shec/determinant.c b/src/erasure-code/shec/determinant.c
index 15b62c9..bf5d290 100755
--- a/src/erasure-code/shec/determinant.c
+++ b/src/erasure-code/shec/determinant.c
@@ -19,7 +19,7 @@
#include <stdlib.h>
#include <string.h>
-#include "jerasure/include/galois.h"
+#include "galois.h"
void print_matrix(int *mat, int dim)
{
diff --git a/src/test/erasure-code/Makefile.am b/src/test/erasure-code/Makefile.am
index bdce080..11895ae 100644
--- a/src/test/erasure-code/Makefile.am
+++ b/src/test/erasure-code/Makefile.am
@@ -166,12 +166,8 @@ check_TESTPROGRAMS += unittest_erasure_code
unittest_erasure_code_jerasure_SOURCES = \
test/erasure-code/TestErasureCodeJerasure.cc \
${jerasure_sources}
-unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS) \
- -Ierasure-code/jerasure/gf-complete/include \
- -Ierasure-code/jerasure/jerasure/include
-unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS) \
- -Ierasure-code/jerasure/gf-complete/include \
- -Ierasure-code/jerasure/jerasure/include
+unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS)
+unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS)
unittest_erasure_code_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
if LINUX
unittest_erasure_code_jerasure_LDADD += -ldl
@@ -232,13 +228,9 @@ unittest_erasure_code_shec_SOURCES = \
test/erasure-code/TestErasureCodeShec.cc \
${shec_sources}
unittest_erasure_code_shec_CFLAGS = ${libec_shec_la_CFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
@@ -251,13 +243,9 @@ unittest_erasure_code_shec_all_SOURCES = \
test/erasure-code/TestErasureCodeShec_all.cc \
${shec_sources}
unittest_erasure_code_shec_all_CFLAGS = ${libec_shec_la_CFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_all_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_all_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
@@ -270,13 +258,9 @@ unittest_erasure_code_shec_thread_SOURCES = \
test/erasure-code/TestErasureCodeShec_thread.cc \
${shec_sources}
unittest_erasure_code_shec_thread_CFLAGS = ${libec_shec_la_CFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_thread_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_thread_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
@@ -289,13 +273,9 @@ unittest_erasure_code_shec_arguments_SOURCES = \
test/erasure-code/TestErasureCodeShec_arguments.cc \
${shec_sources}
unittest_erasure_code_shec_arguments_CFLAGS = ${libec_shec_la_CFLAGS} \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_arguments_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
-I$(srcdir)/erasure-code/jerasure \
-I$(srcdir)/erasure-code/shec
unittest_erasure_code_shec_arguments_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)

14
sys-cluster/ceph/files/ceph-10.2.10-assert_h_clobber_detection.patch

@ -0,0 +1,14 @@
diff -Naur ceph-10.2.10-orig/src/common/dout.h ceph-10.2.10/src/common/dout.h
--- ceph-10.2.10-orig/src/common/dout.h 2017-10-04 16:19:25.000000000 +0200
+++ ceph-10.2.10/src/common/dout.h 2019-08-11 12:14:27.638297278 +0200
@@ -77,8 +77,9 @@
// NOTE: depend on magic value in _ASSERT_H so that we detect when
// /usr/include/assert.h clobbers our fancier version.
+// Which seems to be broken somehow....
#define dendl std::flush; \
- _ASSERT_H->_log->submit_entry(_dout_e); \
+ _dout_cct->_log->submit_entry(_dout_e); \
} \
} while (0)

11
sys-cluster/ceph/files/ceph-10.2.10-ceph_ver.patch

@ -0,0 +1,11 @@
diff -Naur ceph-10.2.10-orig/src/Makefile.am ceph-10.2.10/src/Makefile.am
--- ceph-10.2.10-orig/src/Makefile.am 2019-08-10 18:41:24.048994440 +0200
+++ ceph-10.2.10/src/Makefile.am 2019-08-10 18:40:01.336650753 +0200
@@ -214,6 +214,7 @@
ceph_ver.c: ./ceph_ver.h
common/version.cc: ./ceph_ver.h
+rgw/rgw_rest_swift.cc: ./ceph_ver.h
test/encoding/ceph_dencoder.cc: ./ceph_ver.h
sample.fetch_config: fetch_config

32
sys-cluster/ceph/files/ceph-10.2.10-duration-problem.patch

@ -0,0 +1,32 @@
diff -Naur ceph-10.2.10-orig/src/rbd_replay/Replayer.cc ceph-10.2.10/src/rbd_replay/Replayer.cc
--- ceph-10.2.10-orig/src/rbd_replay/Replayer.cc 2017-10-04 16:19:25.000000000 +0200
+++ ceph-10.2.10/src/rbd_replay/Replayer.cc 2019-08-11 11:44:11.678127039 +0200
@@ -12,6 +12,8 @@
*
*/
+#define BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
+
#include "Replayer.hpp"
#include "common/errno.h"
#include "rbd_replay/ActionTypes.h"
@@ -23,9 +25,9 @@
#include "global/global_context.h"
#include "rbd_replay_debug.hpp"
-
using namespace std;
using namespace rbd_replay;
+//using namespace boost::posix_time;
namespace {
@@ -339,7 +341,7 @@
dout(DEPGRAPH_LEVEL) << "Finished waiting for " << dep.id << " after " << micros << " microseconds" << dendl;
// Apparently the nanoseconds constructor is optional:
// http://www.boost.org/doc/libs/1_46_0/doc/html/date_time/details.html#compile_options
- boost::system_time sub_release_time(action_completed_time + boost::posix_time::microseconds(dep.time_delta * m_latency_multiplier / 1000));
+ boost::system_time sub_release_time(action_completed_time + boost::posix_time::microseconds(int64_t(dep.time_delta * m_latency_multiplier / 1000)));
if (sub_release_time > release_time) {
release_time = sub_release_time;
}

12
sys-cluster/ceph/files/ceph-10.2.10-python3.patch

@ -0,0 +1,12 @@
diff -Naur ceph-10.2.10-orig/man/conf.py ceph-10.2.10/man/conf.py
--- ceph-10.2.10-orig/man/conf.py 2017-10-04 16:19:25.000000000 +0200
+++ ceph-10.2.10/man/conf.py 2019-08-11 12:21:34.664177573 +0200
@@ -9,7 +9,7 @@
def _get_description(fname, base):
- with file(fname) as f:
+ with open(fname) as f:
one = None
while True:
line = f.readline().rstrip('\n')

33
sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch

@ -0,0 +1,33 @@
commit dc2ffda7819d2ebeed3526d9e6da8f53221818de
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Thu Oct 20 10:17:36 2016 -0700
rgw: handle empty POST condition
Fixes: http://tracker.ceph.com/issues/17635
Before accessing json entity, need to check that iterator is valid.
If there is no entry return appropriate error code.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12)
diff --git a/src/rgw/rgw_policy_s3.cc b/src/rgw/rgw_policy_s3.cc
index 3843511..8af70a8 100644
--- a/src/rgw/rgw_policy_s3.cc
+++ b/src/rgw/rgw_policy_s3.cc
@@ -286,11 +286,13 @@ int RGWPolicy::from_json(bufferlist& bl, string& err_msg)
int r = add_condition(v[0], v[1], v[2], err_msg);
if (r < 0)
return r;
- } else {
+ } else if (!citer.end()) {
JSONObj *c = *citer;
dout(0) << "adding simple_check: " << c->get_name() << " : " << c->get_data() << dendl;
add_simple_check(c->get_name(), c->get_data());
+ } else {
+ return -EINVAL;
}
}
return 0;

50
sys-cluster/ceph/files/ceph-10.2.3-ETIMEOUT-fix-in-polling.patch

@ -0,0 +1,50 @@
diff -Naur ceph-10.2.3-orig/src/krbd.cc ceph-10.2.3/src/krbd.cc
--- ceph-10.2.3-orig/src/krbd.cc 2016-09-21 15:48:55.000000000 +0000
+++ ceph-10.2.3/src/krbd.cc 2019-04-29 16:24:41.136578239 +0000
@@ -40,6 +40,8 @@
#include <blkid/blkid.h>
#include <libudev.h>
+const static int POLL_TIMEOUT=120000;
+
using namespace std;
struct krbd_ctx {
@@ -184,12 +186,17 @@
for (;;) {
struct pollfd fds[1];
struct udev_device *dev;
+ int r;
fds[0].fd = udev_monitor_get_fd(mon);
fds[0].events = POLLIN;
- if (poll(fds, 1, -1) < 0)
+ r = poll(fds, 1, POLL_TIMEOUT);
+ if (r < 0)
return -errno;
+ if (r == 0)
+ return -ETIMEDOUT;
+
dev = udev_monitor_receive_device(mon);
if (!dev)
continue;
@@ -458,12 +465,17 @@
for (;;) {
struct pollfd fds[1];
struct udev_device *dev;
+ int r;
fds[0].fd = udev_monitor_get_fd(mon);
fds[0].events = POLLIN;
- if (poll(fds, 1, -1) < 0)
+ r = poll(fds, 1, POLL_TIMEOUT);
+ if (r < 0)
return -errno;
+ if (r == 0)
+ return -ETIMEDOUT;
+
dev = udev_monitor_receive_device(mon);
if (!dev)
continue;

32
sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch

@ -0,0 +1,32 @@
diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc
index c476129..cad54b8 100644
--- a/src/rgw/librgw.cc
+++ b/src/rgw/librgw.cc
@@ -470,7 +470,11 @@ namespace rgw {
const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
const string& ldap_dnattr =
store->ctx()->_conf->rgw_ldap_dnattr;
+#ifdef HAVE_OPENLDAP
std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
+#else
+ std::string ldap_bindpw;
+#endif /* HAVE_OPENLDAP */
ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(),
ldap_searchdn, ldap_dnattr);
diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc
index e9f24f3..7291e69 100644
--- a/src/rgw/rgw_rest_s3.cc
+++ b/src/rgw/rgw_rest_s3.cc
@@ -3091,7 +3091,11 @@ void RGW_Auth_S3::init_impl(RGWRados* store)
const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
const string& ldap_dnattr =
store->ctx()->_conf->rgw_ldap_dnattr;
+#ifdef HAVE_OPENLDAP
std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
+#else
+ std::string ldap_bindpw;
+#endif /* HAVE_OPENLDAP */
ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw,
ldap_searchdn, ldap_dnattr);

12
sys-cluster/ceph/files/ceph-10.2.3-sphinx.patch

@ -0,0 +1,12 @@
diff -Naur ceph-10.2.3-orig/man/conf.py ceph-10.2.3/man/conf.py
--- ceph-10.2.3-orig/man/conf.py 2016-09-21 17:48:55.000000000 +0200
+++ ceph-10.2.3/man/conf.py 2019-04-22 22:50:21.000000000 +0200
@@ -9,7 +9,7 @@
def _get_description(fname, base):
- with file(fname) as f:
+ with open(fname) as f:
one = None
while True:
line = f.readline().rstrip('\n')

28
sys-cluster/ceph/files/ceph-10.2.3-zstd.patch

@ -0,0 +1,28 @@
diff -Naur ceph-10.2.3-orig/configure.ac ceph-10.2.3/configure.ac
--- ceph-10.2.3-orig/configure.ac 2016-09-21 17:48:55.000000000 +0200
+++ ceph-10.2.3/configure.ac 2019-04-22 11:36:01.000000000 +0200
@@ -854,9 +854,11 @@
# rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same.
AS_IF([test "x$with_librocksdb_static" = "xyes"], [
AC_CHECK_HEADER([bzlib.h], [have_bzlib=yes])
+ AC_CHECK_HEADER([zstd.h], [have_zstd=yes])
AC_CHECK_HEADER([lz4.h], [have_lz4=yes])])
AM_CONDITIONAL(HAVE_BZLIB, [test "x$have_bzlib" = "xyes"])
AM_CONDITIONAL(HAVE_LZ4, [test "x$have_lz4" = "xyes"])
+AM_CONDITIONAL(HAVE_ZSTD, [test "x$have_zstd" = "xyes"])
# needs libcurl and libxml2
if test "x$with_rest_bench" = xyes && test "x$with_system_libs3" = xno; then
diff -Naur ceph-10.2.3-orig/src/Makefile-env.am ceph-10.2.3/src/Makefile-env.am
--- ceph-10.2.3-orig/src/Makefile-env.am 2016-09-21 17:48:55.000000000 +0200
+++ ceph-10.2.3/src/Makefile-env.am 2019-04-22 12:04:53.000000000 +0200
@@ -280,6 +280,9 @@
if HAVE_LZ4
LIBKV += -llz4
endif
+if HAVE_ZSTD
+LIBKV += -lzstd
+endif
endif # WITH_SLIBROCKSDB
LIBKV += -lz -lleveldb -lsnappy
LIBOS += $(LIBOS_TYPES) $(LIBKV) $(LIBFUSE_LIBS)

22
sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch

@ -0,0 +1,22 @@
commit e1dc386f93eb4613dc7e89cc76a031aeee5022ba
Author: Oleh Prypin <oleh@pryp.in>
Date: Thu Jul 21 18:33:25 2016 +0300
pybind: Make CephFS bindings and tests compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx
index ac17ada1a1..bd14de3b16 100644
--- a/src/pybind/cephfs/cephfs.pyx
+++ b/src/pybind/cephfs/cephfs.pyx
@@ -613,8 +613,7 @@ cdef class LibCephFS(object):
if not isinstance(mode, int):
raise TypeError('mode must be an int')
- if isinstance(flags, basestring):
- flags = cstr(flags, 'flags')
+ if isinstance(flags, str_type):
cephfs_flags = 0
if flags == '':
cephfs_flags = os.O_RDONLY

45
sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch

@ -0,0 +1,45 @@
commit 773e01294da518c6ec18f0a8b72e05def85fef6c
Author: Oleh Prypin <oleh@pryp.in>
Date: Fri Jun 24 15:48:57 2016 +0300
pybind: Make RBD Python bindings compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx
index 52727bf39e..8f25dfbee0 100644
--- a/src/pybind/rbd/rbd.pyx
+++ b/src/pybind/rbd/rbd.pyx
@@ -745,7 +745,7 @@ class RBD(object):
break
elif ret != -errno.ERANGE:
raise make_ex(ret, 'error listing images')
- return [decode_cstr(name) for name in c_names[:ret].split('\0')
+ return [decode_cstr(name) for name in c_names[:ret].split(b'\0')
if name]
finally:
free(c_names)
@@ -1885,8 +1885,8 @@ written." % (self.name, ret, length))
raise make_ex(ret, 'error listing images')
if ret == 0:
return []
- pools = map(decode_cstr, c_pools[:pools_size - 1].split('\0'))
- images = map(decode_cstr, c_images[:images_size - 1].split('\0'))
+ pools = map(decode_cstr, c_pools[:pools_size - 1].split(b'\0'))
+ images = map(decode_cstr, c_images[:images_size - 1].split(b'\0'))
return list(zip(pools, images))
finally:
free(c_pools)
@@ -1933,9 +1933,9 @@ written." % (self.name, ret, length))
raise make_ex(ret, 'error listing images')
if ret == 0:
return []
- clients = map(decode_cstr, c_clients[:clients_size - 1].split('\0'))
- cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split('\0'))
- addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split('\0'))
+ clients = map(decode_cstr, c_clients[:clients_size - 1].split(b'\0'))
+ cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split(b'\0'))
+ addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split(b'\0'))
return {
'tag' : decode_cstr(c_tag),
'exclusive' : exclusive == 1,

49
sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch

@ -0,0 +1,49 @@
From 5a11f31aac4fa6a5c5ebb4fa0964e1c07a420e8c Mon Sep 17 00:00:00 2001
From: Zac Medico <zmedico@gentoo.org>
Date: Wed, 12 Apr 2017 01:49:09 -0700
Subject: [PATCH] configure: link against zstd if detected
https://bugs.gentoo.org/show_bug.cgi?id=601610
---
configure.ac | 6 ++++--
src/Makefile-env.am | 3 +++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 51daf91..8914b71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -851,12 +851,14 @@ AS_IF([test "x$with_librocksdb_static" = "xyes"],
AM_CONDITIONAL(WITH_SLIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" ])
AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" -o "x$with_librocksdb" = "xyes" ])
-# rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same.
+# rocksdb detects headers in its Makefile, which forces us to do the same.
AS_IF([test "x$with_librocksdb_static" = "xyes"], [
AC_CHECK_HEADER([bzlib.h], [have_bzlib=yes])
- AC_CHECK_HEADER([lz4.h], [have_lz4=yes])])
+ AC_CHECK_HEADER([lz4.h], [have_lz4=yes])]
+ AC_CHECK_HEADER([zstd.h], [have_zstd=yes])])
AM_CONDITIONAL(HAVE_BZLIB, [test "x$have_bzlib" = "xyes"])
AM_CONDITIONAL(HAVE_LZ4, [test "x$have_lz4" = "xyes"])
+AM_CONDITIONAL(HAVE_ZSTD, [test "x$have_zstd" = "xyes"])
# needs libcurl and libxml2
if test "x$with_rest_bench" = xyes && test "x$with_system_libs3" = xno; then
diff --git a/src/Makefile-env.am b/src/Makefile-env.am
index 4771bad..0ee42f8 100644
--- a/src/Makefile-env.am
+++ b/src/Makefile-env.am
@@ -280,6 +280,9 @@ endif
if HAVE_LZ4
LIBKV += -llz4
endif
+if HAVE_ZSTD
+LIBKV += -lzstd
+endif
endif # WITH_SLIBROCKSDB
LIBKV += -lz -lleveldb -lsnappy
LIBOS += $(LIBOS_TYPES) $(LIBKV) $(LIBFUSE_LIBS)
--
2.10.2

15
sys-cluster/ceph/files/ceph-10.2.9-cflags.patch

@ -0,0 +1,15 @@
diff --git a/src/Makefile-env.am b/src/Makefile-env.am
index 4771bad02d..f92e20479b 100644
--- a/src/Makefile-env.am
+++ b/src/Makefile-env.am
@@ -53,10 +53,6 @@ endif
## automake environment
HARDENING_CFLAGS = \
- -O2 \
- -g \
- -pipe \
- -Wall \
-Wp,-U_FORTIFY_SOURCE \
-Wp,-D_FORTIFY_SOURCE=2 \
-fexceptions \

65
sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch

@ -0,0 +1,65 @@
diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
index 3926ac4bec..90e2eae50c 100644
--- a/src/ceph-detect-init/Makefile.am
+++ b/src/ceph-detect-init/Makefile.am
@@ -67,7 +67,7 @@ ceph-detect-init-clean:
ceph-detect-init-install-data:
cd $(srcdir)/ceph-detect-init ; \
if test "$(DESTDIR)" ; then \
- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
options=--install-layout=deb ; \
else \
options=--prefix=/usr ; \
diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am
index a8532878c8..d908b1649a 100644
--- a/src/ceph-disk/Makefile.am
+++ b/src/ceph-disk/Makefile.am
@@ -43,7 +43,7 @@ ceph-disk-clean:
ceph-disk-install-data:
cd $(srcdir)/ceph-disk ; \
if test "$(DESTDIR)" ; then \
- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
options=--install-layout=deb ; \
else \
options=--prefix=/usr ; \
diff --git a/src/pybind/cephfs/Makefile.am b/src/pybind/cephfs/Makefile.am
index 698522daa4..c49c190986 100644
--- a/src/pybind/cephfs/Makefile.am
+++ b/src/pybind/cephfs/Makefile.am
@@ -15,7 +15,7 @@ cephfs-pybind-clean: ${srcdir}/ceph_ver.h
cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h
if test "$(DESTDIR)" ; then \
- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
options=--install-layout=deb ; \
else \
options=--prefix=/usr ; \
diff --git a/src/pybind/rados/Makefile.am b/src/pybind/rados/Makefile.am
index a4145bf0f4..960395fee8 100644
--- a/src/pybind/rados/Makefile.am
+++ b/src/pybind/rados/Makefile.am
@@ -15,7 +15,7 @@ rados-pybind-clean: ${srcdir}/ceph_ver.h
rados-pybind-install-exec: ${srcdir}/ceph_ver.h
if test "$(DESTDIR)" ; then \
- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
options=--install-layout=deb ; \
else \
options=--prefix=/usr ; \
diff --git a/src/pybind/rbd/Makefile.am b/src/pybind/rbd/Makefile.am
index 7dd49333fa..fbb940d07d 100644
--- a/src/pybind/rbd/Makefile.am
+++ b/src/pybind/rbd/Makefile.am
@@ -15,7 +15,7 @@ rbd-pybind-clean: ${srcdir}/ceph_ver.h
rbd-pybind-install-exec: ${srcdir}/ceph_ver.h
if test "$(DESTDIR)" ; then \
- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
options=--install-layout=deb ; \
else \
options=--prefix=/usr ; \

82
sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch

@ -0,0 +1,82 @@
From b52bfe6b443f0ff88c8614441752102058063699 Mon Sep 17 00:00:00 2001
From: Ning Yao <yaoning@unitedstack.com>
Date: Thu, 6 Apr 2017 11:12:04 +0000
Subject: [PATCH] os/filestore: fix infinit loops in fiemap()
since fiemap can get extents based on offset --> len
but we should consider last extents is retrieved when len == 0
even though it is not last fiemap extents
Signed-off-by: Ning Yao <yaoning@unitedstack.com>
(cherry picked from commit 36f6b668a8910d76847674086cbc86910c78faee)
---
src/os/filestore/FileStore.cc | 13 +++++--------
src/test/objectstore/store_test.cc | 21 +++++++++++++++++++++
2 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc
index c47b0d0d2eae..95f48cdf4960 100644
--- a/src/os/filestore/FileStore.cc
+++ b/src/os/filestore/FileStore.cc
@@ -3102,17 +3102,14 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len,
i++;
last = extent++;
}
- const bool is_last = last->fe_flags & FIEMAP_EXTENT_LAST;
+ uint64_t xoffset = last->fe_logical + last->fe_length - offset;
+ offset = last->fe_logical + last->fe_length;
+ len -= xoffset;
+ const bool is_last = (last->fe_flags & FIEMAP_EXTENT_LAST) || (len == 0);
+ free(fiemap);
if (!is_last) {
- uint64_t xoffset = last->fe_logical + last->fe_length - offset;
- offset = last->fe_logical + last->fe_length;
- len -= xoffset;
- free(fiemap); /* fix clang warn: use-after-free */
goto more;
}
- else {
- free(fiemap);
- }
return r;
}
diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc
index 5ab011ad17d8..4cada7e2e435 100644
--- a/src/test/objectstore/store_test.cc
+++ b/src/test/objectstore/store_test.cc
@@ -279,6 +279,7 @@ TEST_P(StoreTest, FiemapHoles) {
ASSERT_EQ(r, 0);
}
{
+ //fiemap test from 0 to SKIP_STEP * (MAX_EXTENTS - 1) + 3
bufferlist bl;
store->fiemap(cid, oid, 0, SKIP_STEP * (MAX_EXTENTS - 1) + 3, bl);
map<uint64_t,uint64_t> m, e;
@@ -295,6 +296,26 @@ TEST_P(StoreTest, FiemapHoles) {
ASSERT_TRUE((m.size() == 1 &&
m[0] > SKIP_STEP * (MAX_EXTENTS - 1)) ||
(m.size() == MAX_EXTENTS && extents_exist));
+
+ // fiemap test from SKIP_STEP to SKIP_STEP * (MAX_EXTENTS - 2) + 3
+ // reset bufferlist and map
+ bl.clear();
+ m.clear();
+ e.clear();
+ store->fiemap(cid, oid, SKIP_STEP, SKIP_STEP * (MAX_EXTENTS - 2) + 3, bl);
+ p = bl.begin();
+ ::decode(m, p);
+ cout << " got " << m << std::endl;
+ ASSERT_TRUE(!m.empty());
+ ASSERT_GE(m[SKIP_STEP], 3u);
+ extents_exist = true;
+ if (m.size() == (MAX_EXTENTS - 2)) {
+ for (uint64_t i = 1; i < MAX_EXTENTS - 1; i++)
+ extents_exist = extents_exist && m.count(SKIP_STEP*i);
+ }
+ ASSERT_TRUE((m.size() == 1 &&
+ m[SKIP_STEP] > SKIP_STEP * (MAX_EXTENTS - 2)) ||
+ (m.size() == (MAX_EXTENTS - 1) && extents_exist));
}
{
ObjectStore::Transaction t;

35
sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch

@ -0,0 +1,35 @@
diff --git a/src/libradosstriper/RadosStriperImpl.cc b/src/libradosstriper/RadosStriperImpl.cc
index 22352d9125..70dcb7569f 100644
--- a/src/libradosstriper/RadosStriperImpl.cc
+++ b/src/libradosstriper/RadosStriperImpl.cc
@@ -12,6 +12,8 @@
*
*/
+#include <boost/algorithm/string/replace.hpp>
+
#include "libradosstriper/RadosStriperImpl.h"
#include <errno.h>
@@ -466,7 +468,9 @@ int libradosstriper::RadosStriperImpl::aio_read(const std::string& soid,
// get list of extents to be read from
vector<ObjectExtent> *extents = new vector<ObjectExtent>();
if (read_len > 0) {
- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
+ std::string format = soid;
+ boost::replace_all(format, "%", "%%");
+ format += RADOS_OBJECT_EXTENSION_FORMAT;
file_layout_t l;
l.from_legacy(layout);
Striper::file_to_extents(cct(), format.c_str(), &l, off, read_len,
@@ -776,7 +780,9 @@ libradosstriper::RadosStriperImpl::internal_aio_write(const std::string& soid,
if (len > 0) {
// get list of extents to be written to
vector<ObjectExtent> extents;
- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
+ std::string format = soid;
+ boost::replace_all(format, "%", "%%");
+ format += RADOS_OBJECT_EXTENSION_FORMAT;
file_layout_t l;
l.from_legacy(layout);
Striper::file_to_extents(cct(), format.c_str(), &l, off, len, 0, extents);

28
sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch

@ -0,0 +1,28 @@
From 787ba33e5dba285dff874955a8f0d7aabd3f87fe Mon Sep 17 00:00:00 2001
From: Jason Dillaman <dillaman@redhat.com>
Date: Mon, 5 Jun 2017 08:17:05 -0400
Subject: [PATCH] librbd: filter expected error codes from
is_exclusive_lock_owner
Fixes: http://tracker.ceph.com/issues/20182
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit d4daaf54e6bc42cd4fb2111ea20b2042941b0c31)
---
src/librbd/internal.cc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc
index 9fecb1e1688f..6021be078090 100644
--- a/src/librbd/internal.cc
+++ b/src/librbd/internal.cc
@@ -2110,7 +2110,9 @@ int mirror_image_disable_internal(ImageCtx *ictx, bool force,
// might have been blacklisted by peer -- ensure we still own
// the lock by pinging the OSD
int r = ictx->exclusive_lock->assert_header_locked();
- if (r < 0) {
+ if (r == -EBUSY || r == -ENOENT) {
+ return 0;
+ } else if (r < 0) {
return r;
}

39
sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch

@ -0,0 +1,39 @@
From 153f77544118613e19d5e88c030c3901234cf950 Mon Sep 17 00:00:00 2001
From: David Zafman <dzafman@redhat.com>
Date: Tue, 18 Jul 2017 15:08:14 -0700
Subject: [PATCH] osd: scrub_to specifies clone ver, but transaction include
head write ver
Fixes: http://tracker.ceph.com/issues/20041
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit fd598a0d23d61c645633ae774c3404a43d035e3c)
Conflicts:
src/osd/ReplicatedPG.cc (trivial)
---
src/osd/ReplicatedPG.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index 4b4dc34c602a..4d80ad1770e1 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -8318,7 +8318,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
last_update_applied = applied_version;
if (is_primary()) {
if (scrubber.active) {
- if (last_update_applied == scrubber.subset_last_update) {
+ if (last_update_applied >= scrubber.subset_last_update) {
requeue_scrub();
}
} else {
@@ -8326,7 +8326,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
}
} else {
if (scrubber.active_rep_scrub) {
- if (last_update_applied == static_cast<MOSDRepScrub*>(
+ if (last_update_applied >= static_cast<MOSDRepScrub*>(
scrubber.active_rep_scrub->get_req())->scrub_to) {
osd->op_wq.queue(
make_pair(

39
sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch

@ -0,0 +1,39 @@
From 0cd7df3649d7486d444a61cab89c48a89ddd3e8d Mon Sep 17 00:00:00 2001
From: Jason Dillaman <dillaman@redhat.com>
Date: Thu, 29 Jun 2017 14:54:40 -0400
Subject: [PATCH] rbd: do not attempt to load key if auth is disabled
Fixes: http://tracker.ceph.com/issues/19035
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8b9c8df6d7f0b75c5451953bb322bc1f9afb6299)
---
src/krbd.cc | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/krbd.cc b/src/krbd.cc
index a0e546fa7f6f..2bb6b4270abd 100644
--- a/src/krbd.cc
+++ b/src/krbd.cc
@@ -129,13 +129,15 @@ static int build_map_buf(CephContext *cct, const char *pool, const char *image,
oss << " name=" << cct->_conf->name.get_id();
KeyRing keyring;
- r = keyring.from_ceph_context(cct);
- if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
- cct->_conf->key.length()))
- r = 0;
- if (r < 0) {
- cerr << "rbd: failed to get secret" << std::endl;
- return r;
+ if (cct->_conf->auth_client_required != "none") {
+ r = keyring.from_ceph_context(cct);
+ if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
+ cct->_conf->key.length()))
+ r = 0;
+ if (r < 0) {
+ cerr << "rbd: failed to get secret" << std::endl;
+ return r;
+ }
}
CryptoKey secret;

28
sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch

@ -0,0 +1,28 @@
diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc
index 2e399ab832..88e1e0ff65 100644
--- a/src/tools/rbd_nbd/rbd-nbd.cc
+++ b/src/tools/rbd_nbd/rbd-nbd.cc
@@ -469,6 +469,10 @@ static int open_device(const char* path, bool try_load_moudle = false)
static int check_device_size(int nbd_index, unsigned long expected_size)
{
+ // There are bugs with some older kernel versions that result in an
+ // overflow for large image sizes. This check is to ensure we are
+ // not affected.
+
unsigned long size = 0;
std::string path = "/sys/block/nbd" + stringify(nbd_index) + "/size";
std::ifstream ifs;
@@ -480,6 +484,12 @@ static int check_device_size(int nbd_index, unsigned long expected_size)
ifs >> size;
size *= RBD_NBD_BLKSIZE;
+ if (size == 0) {
+ // Newer kernel versions will report real size only after nbd
+ // connect. Assume this is the case and return success.
+ return 0;
+ }
+
if (size != expected_size) {
cerr << "rbd-nbd: kernel reported invalid device size (" << size
<< ", expected " << expected_size << ")" << std::endl;

32
sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch

@ -0,0 +1,32 @@
From 3fa277b479d69699bf5a6875cd4a5efcf9ae0788 Mon Sep 17 00:00:00 2001
From: Alexey Sheplyakov <asheplyakov@mirantis.com>
Date: Tue, 27 Jun 2017 16:07:01 +0400
Subject: [PATCH] jewel: osd: unlock sdata_op_ordering_lock with sdata_lock
hold to avoid missing wakeup signal
Based on commit bc683385819146f3f6f096ceec97e1226a3cd237. The OSD code has
been refactored a lot since Jewel, hence cherry-picking that patch introduces
a lot of unrelated changes, and is much more difficult than reusing the idea.
Fixes: http://tracker.ceph.com/issues/20428
Signed-off-by: Alexey Sheplyakov <asheplyakov@mirantis.com>
---
src/osd/OSD.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
index f5cfda3b686a..38a2711f6f92 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -8727,9 +8727,9 @@ void OSD::ShardedOpWQ::_process(uint32_t thread_index, heartbeat_handle_d *hb )
assert(NULL != sdata);
sdata->sdata_op_ordering_lock.Lock();
if (sdata->pqueue->empty()) {
- sdata->sdata_op_ordering_lock.Unlock();
osd->cct->get_heartbeat_map()->reset_timeout(hb, 4, 0);
sdata->sdata_lock.Lock();
+ sdata->sdata_op_ordering_lock.Unlock();
sdata->sdata_cond.WaitInterval(osd->cct, sdata->sdata_lock, utime_t(2, 0));
sdata->sdata_lock.Unlock();
sdata->sdata_op_ordering_lock.Lock();

13
sys-cluster/ceph/files/ceph-12.2.0-cflags.patch

@ -0,0 +1,13 @@
diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
index 24d1a50654..a9fac61196 100644
--- a/cmake/modules/Distutils.cmake
+++ b/cmake/modules/Distutils.cmake
@@ -43,7 +43,7 @@ function(distutils_add_cython_module name src)
CC=${PY_CC}
CXX=${PY_CXX}
LDSHARED=${PY_LDSHARED}
- OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
+ OPT=\"-DNDEBUG -fwrapv -w\"
LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}

37
sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch

@ -0,0 +1,37 @@
diff --git a/cmake/modules/SIMDExt.cmake b/cmake/modules/SIMDExt.cmake
index 5330835aa1..a4dd881e34 100644
--- a/cmake/modules/SIMDExt.cmake
+++ b/cmake/modules/SIMDExt.cmake
@@ -76,32 +76,25 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64")
set(HAVE_INTEL 1)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64")
- CHECK_C_COMPILER_FLAG(-msse HAVE_INTEL_SSE)
if(HAVE_INTEL_SSE)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse")
endif()
if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64")
- CHECK_C_COMPILER_FLAG(-msse2 HAVE_INTEL_SSE2)
if(HAVE_INTEL_SSE2)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2")
endif()
- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3)
if(HAVE_INTEL_SSE3)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3")
endif()
- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3)
if(HAVE_INTEL_SSSE3)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3")
endif()
- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL)
if(HAVE_INTEL_PCLMUL)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul")
endif()
- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1)
if(HAVE_INTEL_SSE4_1)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1")
endif()
- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2)
if(HAVE_INTEL_SSE4_2)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
endif()

10
sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch

@ -0,0 +1,10 @@
diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
index 3b03b6e613..c359ad2df9 100644
--- a/systemd/CMakeLists.txt
+++ b/systemd/CMakeLists.txt
@@ -17,4 +17,4 @@ install(FILES
ceph-disk@.service
ceph-volume@.service
rbdmap.service
- DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system)
+ DESTINATION ${SYSTEMD_UNITDIR})

214
sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch

@ -0,0 +1,214 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5403de8f4c..ee3336ee27 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -563,7 +563,7 @@ set(BOOST_COMPONENTS
set(BOOST_HEADER_COMPONENTS container)
if(WITH_MGR)
- list(APPEND BOOST_COMPONENTS python)
+ list(APPEND BOOST_COMPONENTS python-${EPYTHON_VERSION})
endif()
if(WITH_BOOST_CONTEXT)
list(APPEND BOOST_COMPONENTS context coroutine)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b0837ab1d9..e12cecf354 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -623,13 +623,13 @@ set(ceph_common_objs
$<TARGET_OBJECTS:crush_objs>)
set(ceph_common_deps
json_spirit erasure_code rt ${LIB_RESOLV}
- Boost::thread
- Boost::system
- Boost::regex
- Boost::random
- Boost::program_options
- Boost::date_time
- Boost::iostreams
+ boost_thread
+ boost_system
+ boost_regex
+ boost_random
+ boost_program_options
+ boost_date_time
+ boost_iostreams
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
@@ -727,7 +727,7 @@ if (WITH_MGR)
$<TARGET_OBJECTS:heap_profiler_objs>)
target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
target_link_libraries(ceph-mgr osdc client global-static common
- Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+ boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
install(TARGETS ceph-mgr DESTINATION bin)
endif (WITH_MGR)
@@ -901,7 +901,7 @@ set(ceph_mds_srcs
ceph_mds.cc)
add_executable(ceph-mds ${ceph_mds_srcs})
target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common
- Boost::thread)
+ boost_thread)
install(TARGETS ceph-mds DESTINATION bin)
add_subdirectory(erasure-code)
diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
index 57cb2a5b94..971af8ebec 100644
--- a/src/rgw/CMakeLists.txt
+++ b/src/rgw/CMakeLists.txt
@@ -156,7 +156,7 @@ if (WITH_CURL_OPENSSL OR (WITH_RADOSGW_BEAST_FRONTEND AND WITH_RADOSGW_BEAST_OPE
endif()
if (WITH_RADOSGW_BEAST_FRONTEND)
target_compile_definitions(rgw_a PUBLIC BOOST_COROUTINES_NO_DEPRECATION_WARNING)
- target_link_libraries(rgw_a Boost::coroutine Boost::context)
+ target_link_libraries(rgw_a boost_coroutine boost_context)
endif()
set(radosgw_srcs
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index 66e24b8bc9..0f659c98e2 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -145,7 +145,7 @@ add_executable(ceph_omapbench
)
target_link_libraries(ceph_omapbench
librados
- Boost::program_options
+ boost_program_options
global
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
@@ -199,7 +199,7 @@ if(${WITH_RADOSGW})
cls_rgw_client
cls_user_client
cls_lock_client
- Boost::regex
+ boost_regex
${BLKID_LIBRARIES}
${CURL_LIBRARIES}
${EXPAT_LIBRARIES}
@@ -229,7 +229,7 @@ if(${WITH_RADOSGW})
cls_rgw_client
cls_user_client
cls_lock_client
- Boost::regex
+ boost_regex
${BLKID_LIBRARIES}
${CURL_LIBRARIES}
${EXPAT_LIBRARIES}
diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt
index 9fba701e05..da3cbcfe96 100644
--- a/src/test/bench/CMakeLists.txt
+++ b/src/test/bench/CMakeLists.txt
@@ -8,7 +8,7 @@ set(smalliobench_srcs
add_executable(ceph_smalliobench
${smalliobench_srcs}
)
-target_link_libraries(ceph_smalliobench librados Boost::program_options global
+target_link_libraries(ceph_smalliobench librados boost_program_options global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_smalliobenchrbd
@@ -27,7 +27,7 @@ if(WITH_RBD)
librados
os
global
- Boost::program_options
+ boost_program_options
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
)
@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs
add_executable(ceph_smalliobenchfs
${ceph_smalliobenchfs_srcs}
)
-target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global
+target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_smalliobenchdumb
@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs
add_executable(ceph_smalliobenchdumb
${smalliobenchdumb_srcs}
)
-target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global
+target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_tpbench
@@ -73,7 +73,7 @@ set(tpbench_srcs
add_executable(ceph_tpbench
${tpbench_srcs}
)
-target_link_libraries(ceph_tpbench librados Boost::program_options global
+target_link_libraries(ceph_tpbench librados boost_program_options global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
install(TARGETS
diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
index dc4e0865d0..69502342bb 100644
--- a/src/test/erasure-code/CMakeLists.txt
+++ b/src/test/erasure-code/CMakeLists.txt
@@ -2,15 +2,15 @@
add_executable(ceph_erasure_code_benchmark
${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
ceph_erasure_code_benchmark.cc)
-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code_benchmark
DESTINATION bin)
add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
add_executable(ceph_erasure_code ceph_erasure_code.cc)
-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code
DESTINATION bin)
diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
index c35ddb3d8f..3916544259 100644
--- a/src/test/librados/CMakeLists.txt
+++ b/src/test/librados/CMakeLists.txt
@@ -137,7 +137,7 @@ add_executable(ceph_test_rados_api_tier
set_target_properties(ceph_test_rados_api_tier PROPERTIES COMPILE_FLAGS
${UNITTEST_CXX_FLAGS})
target_link_libraries(ceph_test_rados_api_tier
- global rados_a ${UNITTEST_LIBS} Boost::system radostest)
+ global rados_a ${UNITTEST_LIBS} boost_system radostest)
# ceph_test_rados_api_snapshots
add_executable(ceph_test_rados_api_snapshots
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index 9f72fa3b48..665c977606 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -24,13 +24,13 @@ target_link_libraries(ceph_radosacl librados global)
install(TARGETS ceph_radosacl DESTINATION bin)
add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
install(TARGETS ceph-osdomap-tool DESTINATION bin)
add_executable(ceph-monstore-tool
ceph_monstore_tool.cc
../mgr/mgr_commands.cc)
-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
+target_link_libraries(ceph-monstore-tool os global boost_program_options)
install(TARGETS ceph-monstore-tool DESTINATION bin)
install(PROGRAMS
ceph-monstore-update-crush.sh
@@ -41,7 +41,7 @@ add_executable(ceph-objectstore-tool
ceph_objectstore_tool.cc
rebuild_mondb.cc
RadosDump.cc)
-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
if(WITH_FUSE)
target_link_libraries(ceph-objectstore-tool fuse)
endif(WITH_FUSE)

13
sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch

@ -0,0 +1,13 @@
diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc
index 0074c7964b..98991be7d2 100644
--- a/src/osd/PrimaryLogPG.cc
+++ b/src/osd/PrimaryLogPG.cc
@@ -1582,7 +1582,7 @@ void PrimaryLogPG::calc_trim_to()
if (limit != eversion_t() &&
limit != pg_trim_to &&
pg_log.get_log().approx_size() > target) {
- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
+ size_t num_to_trim = std::min((uint64_t)(pg_log.get_log().approx_size() - target),
cct->_conf->osd_pg_log_trim_max);
if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) {

10
sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch

@ -0,0 +1,10 @@
--- a/src/civetweb/src/civetweb.c 2017-11-02 10:58:06.000000000 -0700
+++ b/src/civetweb/src/civetweb.c 2019-04-11 17:23:30.736346783 -0700
@@ -851,6 +851,7 @@
#include <openssl/crypto.h>
#include <openssl/x509.h>
#include <openssl/pem.h>
+#include <openssl/engine.h>
#else
/* SSL loaded dynamically from DLL.
* I put the prototypes here to be independent from OpenSSL source

13
sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch

@ -0,0 +1,13 @@
diff --git a/src/rgw/rgw_crypt.cc b/src/rgw/rgw_crypt.cc
index cf4e38995e..7a4089fca9 100644
--- a/src/rgw/rgw_crypt.cc
+++ b/src/rgw/rgw_crypt.cc
@@ -31,7 +31,7 @@ using namespace CryptoPP;
#define dout_subsys ceph_subsys_rgw
using namespace rgw;
-using ceph::crypto::PK11_ImportSymKey_FIPS;
+//using ceph::crypto::PK11_ImportSymKey_FIPS;
/**
* Encryption in CTR mode. offset is used as IV for each block.

20
sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch

@ -0,0 +1,20 @@
diff --git a/src/tools/rbd/CMakeLists.txt b/src/tools/rbd/CMakeLists.txt
index 7aa42e9efd..66186b159f 100644
--- a/src/tools/rbd/CMakeLists.txt
+++ b/src/tools/rbd/CMakeLists.txt
@@ -1,3 +1,6 @@
+set(CURSES_NEED_NCURSES TRUE)
+find_package(Curses REQUIRED)
+
set(rbd_srcs
rbd.cc
ArgumentTypes.cc
@@ -46,7 +49,7 @@ target_link_libraries(rbd librbd librados
cls_journal_client cls_rbd_client
rbd_types
journal
- ceph-common global
+ ceph-common global ${CURSES_LIBRARIES}
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
if(WITH_KRBD)
target_link_libraries(rbd

13
sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch

@ -0,0 +1,13 @@
diff --git a/src/common/blkdev.cc b/src/common/blkdev.cc
index d95a397a84..d2cbf4b7b9 100644
--- a/src/common/blkdev.cc
+++ b/src/common/blkdev.cc
@@ -225,7 +225,7 @@ int get_device_by_uuid(uuid_d dev_uuid, const char* label, char* partition,
rc = get_block_device_base(partition, basename,
sizeof(basename));
if (rc >= 0) {
- strncpy(device, basename, sizeof(basename));
+ strncpy(device, basename, sizeof(device));
rc = 0;
} else {
rc = -ENODEV;

34
sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch

@ -0,0 +1,34 @@
From b00ac12f4045cd39ac9a436cf32d233d16bc3485 Mon Sep 17 00:00:00 2001
From: Jason Dillaman <dillaman@redhat.com>
Date: Tue, 5 Dec 2017 09:58:04 -0500
Subject: [PATCH] ceph-dencoder: moved RBD types outside of RGW preprocessor
guard
Fixes: http://tracker.ceph.com/issues/22321
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
---
src/test/encoding/types.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h
index c061e93bd58c..4cfcb15edff1 100644
--- a/src/test/encoding/types.h
+++ b/src/test/encoding/types.h
@@ -405,6 +405,8 @@ TYPE(rgw_data_sync_info)
TYPE(rgw_data_sync_marker)
TYPE(rgw_data_sync_status)
+#endif
+
#ifdef WITH_RBD
#include "cls/rbd/cls_rbd.h"
TYPE(cls_rbd_parent)
@@ -416,8 +418,6 @@ TYPE(cls::rbd::MirrorImage)
TYPE(cls::rbd::MirrorImageMap)
#endif
-#endif
-
#include "cls/lock/cls_lock_types.h"
TYPE(rados::cls::lock::locker_id_t)
TYPE_FEATUREFUL(rados::cls::lock::locker_info_t)

26
sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch

@ -0,0 +1,26 @@
diff --git a/src/boost/tools/build/src/tools/features/debug-feature.jam b/src/boost/tools/build/src/tools/features/debug-feature.jam
index 04958f9a..38b6acf1 100644
--- a/src/boost/tools/build/src/tools/features/debug-feature.jam
+++ b/src/boost/tools/build/src/tools/features/debug-feature.jam
@@ -8,7 +8,7 @@
import feature ;
feature.feature debug-symbols
- : on off
+ : on off none
: propagated ;
feature.feature profiling
diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam
index 761f76f1..fb2a5dec 100644
--- a/src/boost/tools/build/src/tools/features/optimization-feature.jam
+++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam
@@ -8,7 +8,7 @@
import feature ;
feature.feature optimization
- : off speed space
+ : off none speed space
: propagated ;
feature.feature inlining

152
sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch

@ -0,0 +1,152 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7aa8a4392e..111f669f2e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -622,13 +622,13 @@ set(ceph_common_objs
$<TARGET_OBJECTS:crush_objs>)
set(ceph_common_deps
json_spirit erasure_code rt ${LIB_RESOLV}
- Boost::thread
- Boost::system
- Boost::regex
- Boost::random
- Boost::program_options
- Boost::date_time
- Boost::iostreams
+ boost_thread
+ boost_system
+ boost_regex
+ boost_random
+ boost_program_options
+ boost_date_time
+ boost_iostreams
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
@@ -712,7 +712,7 @@ if (WITH_MGR)
$<TARGET_OBJECTS:heap_profiler_objs>)
target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
target_link_libraries(ceph-mgr osdc client global-static common
- Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+ boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
install(TARGETS ceph-mgr DESTINATION bin)
endif (WITH_MGR)
@@ -885,7 +885,7 @@ set(ceph_mds_srcs
ceph_mds.cc)
add_executable(ceph-mds ${ceph_mds_srcs})
target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common
- Boost::thread)
+ boost_thread)
install(TARGETS ceph-mds DESTINATION bin)
add_subdirectory(erasure-code)
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index f3999e3b01..0ce7fca1ba 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -148,7 +148,7 @@ add_executable(ceph_omapbench
)
target_link_libraries(ceph_omapbench
librados
- Boost::program_options
+ boost_program_options
global
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
@@ -202,7 +202,7 @@ if(${WITH_RADOSGW})
cls_rgw_client
cls_user_client
cls_lock_client
- Boost::regex
+ boost_regex
${BLKID_LIBRARIES}
${CURL_LIBRARIES}
${EXPAT_LIBRARIES}
@@ -232,7 +232,7 @@ if(${WITH_RADOSGW})
cls_rgw_client
cls_user_client
cls_lock_client
- Boost::regex
+ boost_regex
${BLKID_LIBRARIES}
${CURL_LIBRARIES}
${EXPAT_LIBRARIES}
diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt
index 9fba701e05..da3cbcfe96 100644
--- a/src/test/bench/CMakeLists.txt
+++ b/src/test/bench/CMakeLists.txt
@@ -8,7 +8,7 @@ set(smalliobench_srcs
add_executable(ceph_smalliobench
${smalliobench_srcs}
)
-target_link_libraries(ceph_smalliobench librados Boost::program_options global
+target_link_libraries(ceph_smalliobench librados boost_program_options global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_smalliobenchrbd
@@ -27,7 +27,7 @@ if(WITH_RBD)
librados
os
global
- Boost::program_options
+ boost_program_options
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
)
@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs
add_executable(ceph_smalliobenchfs
${ceph_smalliobenchfs_srcs}
)
-target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global
+target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_smalliobenchdumb
@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs
add_executable(ceph_smalliobenchdumb
${smalliobenchdumb_srcs}
)
-target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global
+target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_tpbench
@@ -73,7 +73,7 @@ set(tpbench_srcs
add_executable(ceph_tpbench
${tpbench_srcs}
)
-target_link_libraries(ceph_tpbench librados Boost::program_options global
+target_link_libraries(ceph_tpbench librados boost_program_options global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
install(TARGETS
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index 7502085895..1a430c201a 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -23,13 +23,13 @@ target_link_libraries(ceph_radosacl librados global)
install(TARGETS ceph_radosacl DESTINATION bin)
add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
install(TARGETS ceph-osdomap-tool DESTINATION bin)
add_executable(ceph-monstore-tool
ceph_monstore_tool.cc
../mgr/mgr_commands.cc)
-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
+target_link_libraries(ceph-monstore-tool os global boost_program_options)
install(TARGETS ceph-monstore-tool DESTINATION bin)
install(PROGRAMS
ceph-monstore-update-crush.sh
@@ -40,7 +40,7 @@ add_executable(ceph-objectstore-tool
ceph_objectstore_tool.cc
rebuild_mondb.cc
RadosDump.cc)
-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
if(WITH_FUSE)
target_link_libraries(ceph-objectstore-tool fuse)
endif(WITH_FUSE)

38
sys-cluster/ceph/files/ceph-12.2.4-cflags.patch

@ -0,0 +1,38 @@
diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
index c7cd39a110..e7b8115485 100644
--- a/cmake/modules/BuildBoost.cmake
+++ b/cmake/modules/BuildBoost.cmake
@@ -29,7 +29,7 @@ function(do_build_boost version)
else()
list(APPEND boost_features "address-model=32")
endif()
- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
+ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
string(REPLACE ";" "," boost_with_libs "${Boost_BUILD_COMPONENTS}")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7aa8a4392e..c7543a62bd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -808,6 +808,7 @@ install(TARGETS ceph-mon DESTINATION bin)
if (NOT WITH_SYSTEM_ROCKSDB)
set(ROCKSDB_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON)
+ list(APPEND ROCKSDB_CMAKE_ARGS -DDISABLE_WARNING_AS_ERROR=ON)
if(ALLOCATOR STREQUAL "jemalloc")
list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_JEMALLOC=ON)
diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
index d9d2b6e560..1b2099fcbd 100644
--- a/src/compressor/zstd/CMakeLists.txt
+++ b/src/compressor/zstd/CMakeLists.txt
@@ -1,7 +1,7 @@
# zstd
# libzstd - build it statically
-set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3)
+set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable $ENV{CFLAGS})
include(ExternalProject)
ExternalProject_Add(zstd_ext

11
sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch

@ -0,0 +1,11 @@
--- ceph-12.2.4.orig/src/rocksdb/CMakeLists.txt 2018-03-05 19:06:21.016923872 -0800
+++ ceph-12.2.4/src/rocksdb/CMakeLists.txt 2018-03-05 19:09:01.798721666 -0800
@@ -147,7 +147,7 @@
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -fno-omit-frame-pointer")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER)
if(HAVE_OMIT_LEAF_FRAME_POINTER)

165
sys-cluster/ceph/files/ceph-12.2.5-boost-sonames.patch

@ -0,0 +1,165 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aa90ba65da..ea65dd4209 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -567,7 +567,7 @@ set(BOOST_COMPONENTS
set(BOOST_HEADER_COMPONENTS container)
if(WITH_MGR)
- list(APPEND BOOST_COMPONENTS python)
+ list(APPEND BOOST_COMPONENTS python-${EPYTHON_VERSION})
endif()
if(WITH_BOOST_CONTEXT)
list(APPEND BOOST_COMPONENTS context coroutine)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7aa8a4392e..111f669f2e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -622,13 +622,13 @@ set(ceph_common_objs
$<TARGET_OBJECTS:crush_objs>)
set(ceph_common_deps
json_spirit erasure_code rt ${LIB_RESOLV}
- Boost::thread
- Boost::system
- Boost::regex
- Boost::random
- Boost::program_options
- Boost::date_time
- Boost::iostreams
+ boost_thread
+ boost_system
+ boost_regex
+ boost_random
+ boost_program_options
+ boost_date_time
+ boost_iostreams
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
@@ -712,7 +712,7 @@ if (WITH_MGR)
$<TARGET_OBJECTS:heap_profiler_objs>)
target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
target_link_libraries(ceph-mgr osdc client global-static common
- Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+ boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
install(TARGETS ceph-mgr DESTINATION bin)
endif (WITH_MGR)
@@ -885,7 +885,7 @@ set(ceph_mds_srcs
ceph_mds.cc)
add_executable(ceph-mds ${ceph_mds_srcs})
target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common
- Boost::thread)
+ boost_thread)
install(TARGETS ceph-mds DESTINATION bin)
add_subdirectory(erasure-code)
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index f3999e3b01..0ce7fca1ba 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -148,7 +148,7 @@ add_executable(ceph_omapbench
)
target_link_libraries(ceph_omapbench
librados
- Boost::program_options
+ boost_program_options
global
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
@@ -202,7 +202,7 @@ if(${WITH_RADOSGW})
cls_rgw_client
cls_user_client
cls_lock_client
- Boost::regex
+ boost_regex
${BLKID_LIBRARIES}
${CURL_LIBRARIES}
${EXPAT_LIBRARIES}
@@ -232,7 +232,7 @@ if(${WITH_RADOSGW})
cls_rgw_client
cls_user_client
cls_lock_client
- Boost::regex
+ boost_regex
${BLKID_LIBRARIES}
${CURL_LIBRARIES}
${EXPAT_LIBRARIES}
diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt
index 9fba701e05..da3cbcfe96 100644
--- a/src/test/bench/CMakeLists.txt
+++ b/src/test/bench/CMakeLists.txt
@@ -8,7 +8,7 @@ set(smalliobench_srcs
add_executable(ceph_smalliobench
${smalliobench_srcs}
)
-target_link_libraries(ceph_smalliobench librados Boost::program_options global
+target_link_libraries(ceph_smalliobench librados boost_program_options global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_smalliobenchrbd
@@ -27,7 +27,7 @@ if(WITH_RBD)
librados
os
global
- Boost::program_options
+ boost_program_options
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
)
@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs
add_executable(ceph_smalliobenchfs
${ceph_smalliobenchfs_srcs}
)
-target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global
+target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_smalliobenchdumb
@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs
add_executable(ceph_smalliobenchdumb
${smalliobenchdumb_srcs}
)
-target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global
+target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
# ceph_tpbench
@@ -73,7 +73,7 @@ set(tpbench_srcs
add_executable(ceph_tpbench
${tpbench_srcs}
)
-target_link_libraries(ceph_tpbench librados Boost::program_options global
+target_link_libraries(ceph_tpbench librados boost_program_options global
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
install(TARGETS
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index 9f72fa3b48..665c977606 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -24,13 +24,13 @@ target_link_libraries(ceph_radosacl librados global)
install(TARGETS ceph_radosacl DESTINATION bin)
add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
install(TARGETS ceph-osdomap-tool DESTINATION bin)
add_executable(ceph-monstore-tool
ceph_monstore_tool.cc
../mgr/mgr_commands.cc)
-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
+target_link_libraries(ceph-monstore-tool os global boost_program_options)
install(TARGETS ceph-monstore-tool DESTINATION bin)
install(PROGRAMS
ceph-monstore-update-crush.sh
@@ -41,7 +41,7 @@ add_executable(ceph-objectstore-tool
ceph_objectstore_tool.cc
rebuild_mondb.cc
RadosDump.cc)
-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
if(WITH_FUSE)
target_link_libraries(ceph-objectstore-tool fuse)
endif(WITH_FUSE)

55
sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch

@ -0,0 +1,55 @@
diff -ur ceph-12.2.5.orig/src/rapidjson/CMakeLists.txt ceph-12.2.5/src/rapidjson/CMakeLists.txt
--- ceph-12.2.5.orig/src/rapidjson/CMakeLists.txt 2018-07-09 11:18:09.188115751 -0700
+++ ceph-12.2.5/src/rapidjson/CMakeLists.txt 2018-07-09 11:36:56.848639110 -0700
@@ -50,7 +50,7 @@
endif(CCACHE_FOUND)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra")
if (RAPIDJSON_BUILD_CXX11)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7.0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
@@ -73,7 +73,7 @@
endif()
endif()
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror -Wno-missing-field-initializers")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Wno-missing-field-initializers")
if (RAPIDJSON_BUILD_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif()
diff -ur ceph-12.2.5.orig/src/rocksdb/CMakeLists.txt ceph-12.2.5/src/rocksdb/CMakeLists.txt
--- ceph-12.2.5.orig/src/rocksdb/CMakeLists.txt 2018-07-09 11:18:09.219115543 -0700
+++ ceph-12.2.5/src/rocksdb/CMakeLists.txt 2018-07-09 11:34:58.843411195 -0700
@@ -174,15 +174,6 @@
PROPERTIES COMPILE_FLAGS "-msse4.2")
endif()
-option(FAIL_ON_WARNINGS "Treat compile warnings as errors" ON)
-if(FAIL_ON_WARNINGS)
- if(MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
- else() # assume GCC
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
- endif()
-endif()
-
option(WITH_ASAN "build with ASAN" OFF)
if(WITH_ASAN)
add_definitions(-DROCKSDB_TSAN_RUN)
diff -ur ceph-12.2.5.orig/src/rocksdb/Makefile ceph-12.2.5/src/rocksdb/Makefile
--- ceph-12.2.5.orig/src/rocksdb/Makefile 2018-03-11 18:58:51.000000000 -0700
+++ ceph-12.2.5/src/rocksdb/Makefile 2018-07-09 11:35:53.847049123 -0700
@@ -243,11 +243,6 @@
WARNING_FLAGS = -W -Wextra -Wall -Wsign-compare -Wshadow \
-Wno-unused-parameter
-ifndef DISABLE_WARNING_AS_ERROR
- WARNING_FLAGS += -Werror
-endif
-
-
ifdef LUA_PATH
ifndef LUA_INCLUDE

166
sys-cluster/ceph/files/ceph-13.2.0-boost-sonames.patch

@ -0,0 +1,166 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f997d03f8..748cb190e6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -591,7 +591,7 @@ set(BOOST_COMPONENTS
set(BOOST_HEADER_COMPONENTS container)
if(WITH_MGR)
- list(APPEND BOOST_COMPONENTS python)
+ list(APPEND BOOST_COMPONENTS python-${EPYTHON_VERSION})
endif()
if(WITH_BOOST_CONTEXT)
list(APPEND BOOST_COMPONENTS context coroutine)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3d3b4c0919..94ab42ef9f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -630,12 +630,12 @@ set(ceph_common_objs
$<TARGET_OBJECTS:crush_objs>)
set(ceph_common_deps
json_spirit erasure_code ${LIB_RESOLV}
- Boost::thread
- Boost::system
- Boost::random
- Boost::program_options
- Boost::date_time
- Boost::iostreams
+ boost_thread
+ boost_system
+ boost_random
+ boost_program_options
+ boost_date_time
+ boost_iostreams
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
@@ -759,7 +759,7 @@ if (WITH_MGR)
$<TARGET_OBJECTS:heap_profiler_objs>)
target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
target_link_libraries(ceph-mgr osdc client global-static ceph-common
- Boost::python ${MGR_PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+ boost_python-${EPYTHON_VERSION} ${MGR_PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
install(TARGETS ceph-mgr DESTINATION bin)
endif (WITH_MGR)
@@ -888,7 +888,7 @@ set(ceph_mds_srcs
ceph_mds.cc)
add_executable(ceph-mds ${ceph_mds_srcs})
target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
- Boost::thread)
+ boost_thread)
install(TARGETS ceph-mds DESTINATION bin)
add_subdirectory(erasure-code)
diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
index e9d3804c5f..5c6eb58de1 100644
--- a/src/rbd_replay/CMakeLists.txt
+++ b/src/rbd_replay/CMakeLists.txt
@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
global
babeltrace
babeltrace-ctf
- Boost::date_time
+ boost_date_time
)
install(TARGETS rbd-replay-prep DESTINATION bin)
endif(HAVE_BABELTRACE)
diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
index c1edd3b882..000c8daaf8 100644
--- a/src/rgw/CMakeLists.txt
+++ b/src/rgw/CMakeLists.txt
@@ -162,7 +162,7 @@ target_link_libraries(rgw_a librados cls_otp_client cls_lock_client cls_rgw_clie
if (WITH_RADOSGW_BEAST_FRONTEND)
target_compile_definitions(rgw_a PUBLIC BOOST_COROUTINES_NO_DEPRECATION_WARNING)
- target_link_libraries(rgw_a Boost::coroutine Boost::context)
+ target_link_libraries(rgw_a boost_coroutine boost_context)
endif()
if (WITH_CURL_OPENSSL OR (WITH_RADOSGW_BEAST_FRONTEND AND WITH_RADOSGW_BEAST_OPENSSL))
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index a43335e825..a0d056faaa 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -147,7 +147,7 @@ add_executable(ceph_omapbench
)
target_link_libraries(ceph_omapbench
librados
- Boost::program_options
+ boost_program_options
global
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
index 4ba31ab2a8..ab66208b57 100644
--- a/src/test/erasure-code/CMakeLists.txt
+++ b/src/test/erasure-code/CMakeLists.txt
@@ -2,15 +2,15 @@
add_executable(ceph_erasure_code_benchmark
${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
ceph_erasure_code_benchmark.cc)
-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code_benchmark
DESTINATION bin)
add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
add_executable(ceph_erasure_code ceph_erasure_code.cc)
-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code
DESTINATION bin)
diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
index 1c909ee1ce..7c1ef32df1 100644
--- a/src/test/librados/CMakeLists.txt
+++ b/src/test/librados/CMakeLists.txt
@@ -61,7 +61,7 @@ set_target_properties(ceph_test_rados_api_asio PROPERTIES COMPILE_FLAGS
target_link_libraries(ceph_test_rados_api_asio global
librados ${UNITTEST_LIBS})
if(WITH_BOOST_CONTEXT)
- target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
+ target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
endif()
# ceph_test_rados_api_list
@@ -147,7 +147,7 @@ add_executable(ceph_test_rados_api_tier
set_target_properties(ceph_test_rados_api_tier PROPERTIES COMPILE_FLAGS
${UNITTEST_CXX_FLAGS})
target_link_libraries(ceph_test_rados_api_tier
- librados global ${UNITTEST_LIBS} Boost::system radostest)
+ librados global ${UNITTEST_LIBS} boost_system radostest)
# ceph_test_rados_api_snapshots
add_executable(ceph_test_rados_api_snapshots
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index e0844ec0c7..886839302c 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -29,20 +29,20 @@ install(PROGRAMS
endif(WITH_TESTS)
add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
install(TARGETS ceph-osdomap-tool DESTINATION bin)
add_executable(ceph-monstore-tool
ceph_monstore_tool.cc
../mgr/mgr_commands.cc)
-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
+target_link_libraries(ceph-monstore-tool os global boost_program_options)
install(TARGETS ceph-monstore-tool DESTINATION bin)
add_executable(ceph-objectstore-tool
ceph_objectstore_tool.cc
rebuild_mondb.cc
RadosDump.cc)
-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
if(WITH_FUSE)
target_link_libraries(ceph-objectstore-tool fuse)
endif(WITH_FUSE)

26
sys-cluster/ceph/files/ceph-13.2.0-cflags.patch

@ -0,0 +1,26 @@
diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
index d6572115a4..cc0bdddc9f 100644
--- a/cmake/modules/BuildBoost.cmake
+++ b/cmake/modules/BuildBoost.cmake
@@ -62,7 +62,7 @@ function(do_build_boost version)
else()
list(APPEND boost_features "address-model=32")
endif()
- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
+ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
list(FIND Boost_BUILD_COMPONENTS "python" with_python)
diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
index 5a80aa539c..8d6ff5c8f0 100644
--- a/src/compressor/zstd/CMakeLists.txt
+++ b/src/compressor/zstd/CMakeLists.txt
@@ -1,7 +1,7 @@
# zstd
# libzstd - build it statically
-set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
+set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
include(ExternalProject)
ExternalProject_Add(zstd_ext

16
sys-cluster/ceph/files/ceph-13.2.0-mgr-python-version.patch

@ -0,0 +1,16 @@
diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
index c996cd9402..f99765702b 100644
--- a/src/pybind/CMakeLists.txt
+++ b/src/pybind/CMakeLists.txt
@@ -62,11 +62,6 @@ foreach(python_version ${py_vers})
endforeach()
if(WITH_MGR)
- if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
- message(FATAL_ERROR "mgr plugins require python2 binding")
- elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
- message(FATAL_ERROR "mgr plugins require python3 binding")
- endif()
# Location needs to match default setting for mgr_module_path, currently:
# OPTION(mgr_module_path, OPT_STR, CEPH_PKGLIBDIR "/mgr")
install(DIRECTORY

78
sys-cluster/ceph/files/ceph-13.2.0-no-virtualenvs.patch

@ -0,0 +1,78 @@
diff --git a/src/ceph-detect-init/CMakeLists.txt b/src/ceph-detect-init/CMakeLists.txt
index 6e5946b784..233cccfc9b 100644
--- a/src/ceph-detect-init/CMakeLists.txt
+++ b/src/ceph-detect-init/CMakeLists.txt
@@ -2,8 +2,8 @@ set(CEPH_DETECT_INIT_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtua
add_custom_target(ceph-detect-init
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
- ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
+ #${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-detect-init
COMMENT "ceph-detect-init is being created")
add_dependencies(tests ceph-detect-init)
diff --git a/src/ceph-disk/CMakeLists.txt b/src/ceph-disk/CMakeLists.txt
index 00aaec4a80..b0700c488f 100644
--- a/src/ceph-disk/CMakeLists.txt
+++ b/src/ceph-disk/CMakeLists.txt
@@ -2,8 +2,8 @@ set(CEPH_DISK_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv)
add_custom_target(ceph-disk
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
- ${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
+ #${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-disk
COMMENT "ceph-disk is being created")
add_dependencies(tests ceph-disk)
diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
index 2b050f6c6e..e9fb87f76b 100644
--- a/src/pybind/mgr/dashboard/CMakeLists.txt
+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
add_custom_target(mgr-dashboard-test-venv
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
COMMENT "dashboard tests virtualenv is being created")
add_dependencies(tests mgr-dashboard-test-venv)
@@ -13,9 +13,9 @@ set(mgr-dashboard-nodeenv ${CMAKE_CURRENT_BINARY_DIR}/node-env)
add_custom_command(
OUTPUT "${mgr-dashboard-nodeenv}/bin/npm"
- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv}
- COMMAND ${mgr-dashboard-nodeenv}/bin/pip install nodeenv
- COMMAND ${mgr-dashboard-nodeenv}/bin/nodeenv -p -n 8.10.0
+ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv}
+ #COMMAND ${mgr-dashboard-nodeenv}/bin/pip install nodeenv
+ #COMMAND ${mgr-dashboard-nodeenv}/bin/nodeenv -p -n 8.10.0
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "dashboard nodeenv is being installed"
)
@@ -27,7 +27,7 @@ add_custom_target(mgr-dashboard-nodeenv
add_custom_command(
OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules"
- COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && npm install && deactivate
+ #COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && npm install && deactivate
DEPENDS frontend/package.json
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
COMMENT "dashboard frontend dependencies are being installed"
@@ -62,9 +62,11 @@ else()
set(npm_command npm run build)
endif()
+LIST(APPEND CMAKE_PROGRAM_PATH ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules/.bin)
+
add_custom_command(
OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/dist"
- COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && ${npm_command} && deactivate
+ COMMAND PREFIX="${CMAKE_SOURCE_DIR}" ${npm_command}
DEPENDS ${frontend_src} frontend/node_modules
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
COMMENT "dashboard frontend is being created"

15
sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch

@ -0,0 +1,15 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 874eabfaa1..e337f4cf8e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -601,10 +601,6 @@ install(PROGRAMS
${CMAKE_SOURCE_DIR}/src/ceph-run
${CMAKE_SOURCE_DIR}/src/ceph-clsinfo
DESTINATION bin)
-install(PROGRAMS
- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/init-ceph
- DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/init.d
- RENAME ceph)
install(FILES
${CMAKE_SOURCE_DIR}/share/id_rsa_drop.ceph.com

12
sys-cluster/ceph/files/ceph-13.2.5-armv7a_increase_largest_singleton.patch

@ -0,0 +1,12 @@
diff -Naur ceph-13.2.5-orig/src/common/ceph_context.h ceph-13.2.5/src/common/ceph_context.h
--- ceph-13.2.5-orig/src/common/ceph_context.h 2019-03-12 17:48:03.000000000 +0100
+++ ceph-13.2.5/src/common/ceph_context.h 2019-04-16 16:26:29.000000000 +0200
@@ -144,7 +144,7 @@
void do_command(std::string_view command, const cmdmap_t& cmdmap,
std::string_view format, ceph::bufferlist *out);
- static constexpr std::size_t largest_singleton = sizeof(void*) * 72;
+ static constexpr std::size_t largest_singleton = sizeof(void*) * 128;
template<typename T, typename... Args>
T& lookup_or_create_singleton_object(std::string_view name,

BIN
sys-cluster/ceph/files/ceph-13.2.5-boost-get-static-assert-fix.patch

45
sys-cluster/ceph/files/ceph-13.2.5-concrete-minmax64.patch

@ -0,0 +1,45 @@
diff -Naur ceph-13.2.5-orig/src/mon/OSDMonitor.cc ceph-13.2.5/src/mon/OSDMonitor.cc
--- ceph-13.2.5-orig/src/mon/OSDMonitor.cc 2019-03-12 17:48:03.000000000 +0100
+++ ceph-13.2.5/src/mon/OSDMonitor.cc 2019-04-18 22:46:05.000000000 +0200
@@ -821,7 +821,7 @@
<< " modified " << p->second.modified
<< " [" << p->second.start << "-" << p->second.end << ")"
<< dendl;
- int n = std::min(max - pending_creatings.pgs.size(),
+ int n = std::min<uint64_t>(max - pending_creatings.pgs.size(),
p->second.end - p->second.start);
ps_t first = p->second.start;
ps_t end = first + n;
diff -Naur ceph-13.2.5-orig/src/os/bluestore/BlueStore.cc ceph-13.2.5/src/os/bluestore/BlueStore.cc
--- ceph-13.2.5-orig/src/os/bluestore/BlueStore.cc 2019-03-12 17:48:03.000000000 +0100
+++ ceph-13.2.5/src/os/bluestore/BlueStore.cc 2019-04-18 22:44:28.000000000 +0200
@@ -12577,7 +12577,7 @@
if (e.second == 0) {
continue;
}
- size_t pos = max(e.first / granularity, prev_pos);
+ size_t pos = max<uint64_t>(e.first / granularity, prev_pos);
size_t end_pos = 1 + (e.first + e.second - 1) / granularity;
while (pos != npos && pos < end_pos) {
ceph_assert( collections_bfs[pos].element_count() ==
diff -Naur ceph-13.2.5-orig/src/osd/PrimaryLogPG.cc ceph-13.2.5/src/osd/PrimaryLogPG.cc
--- ceph-13.2.5-orig/src/osd/PrimaryLogPG.cc 2019-03-12 17:48:03.000000000 +0100
+++ ceph-13.2.5/src/osd/PrimaryLogPG.cc 2019-04-18 22:46:05.000000000 +0200
@@ -1626,7 +1626,7 @@
if (limit != eversion_t() &&
limit != pg_trim_to &&
pg_log.get_log().approx_size() > target) {
- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
+ size_t num_to_trim = std::min<uint64_t>(pg_log.get_log().approx_size() - target,
cct->_conf->osd_pg_log_trim_max);
if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) {
@@ -1672,7 +1672,7 @@
pg_log.get_log().approx_size() > target) {
dout(10) << __func__ << " approx pg log length = "
<< pg_log.get_log().approx_size() << dendl;
- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
+ size_t num_to_trim = std::min<uint64_t>(pg_log.get_log().approx_size() - target,
cct->_conf->osd_pg_log_trim_max);
dout(10) << __func__ << " num_to_trim = " << num_to_trim << dendl;
if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&

37
sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch

@ -0,0 +1,37 @@
--- ceph-13.2.5.orig/src/rocksdb/CMakeLists.txt 2019-03-20 11:39:25.065954652 -0700
+++ ceph-13.2.5/src/rocksdb/CMakeLists.txt 2019-03-20 13:18:01.548085828 -0700
@@ -286,18 +286,24 @@
endif()
endif()
-find_package(NUMA)
-if(NUMA_FOUND)
- add_definitions(-DNUMA)
- include_directories(${NUMA_INCLUDE_DIR})
- list(APPEND THIRDPARTY_LIBS ${NUMA_LIBRARIES})
+option(WITH_NUMA "build with UBSAN" OFF)
+if(WITH_NUMA)
+ find_package(NUMA)
+ if(NUMA_FOUND)
+ add_definitions(-DNUMA)
+ include_directories(${NUMA_INCLUDE_DIR})
+ list(APPEND THIRDPARTY_LIBS ${NUMA_LIBRARIES})
+ endif()
endif()
-find_package(TBB)
-if(TBB_FOUND)
- add_definitions(-DTBB)
- include_directories(${TBB_INCLUDE_DIR})
- list(APPEND THIRDPARTY_LIBS ${TBB_LIBRARIES})
+option(WITH_TBB "build with UBSAN" OFF)
+if(WITH_TBB)
+ find_package(TBB)
+ if(TBB_FOUND)
+ add_definitions(-DTBB)
+ include_directories(${TBB_INCLUDE_DIR})
+ list(APPEND THIRDPARTY_LIBS ${TBB_LIBRARIES})
+ endif()
endif()
# Used to run CI build and tests so we can run faster

12
sys-cluster/ceph/files/ceph-13.2.5-size_t-initializer.patch

@ -0,0 +1,12 @@
diff -Naur ceph-13.2.5-orig/src/rgw/rgw_sync_log_trim.cc ceph-13.2.5/src/rgw/rgw_sync_log_trim.cc
--- ceph-13.2.5-orig/src/rgw/rgw_sync_log_trim.cc 2019-03-12 17:48:03.000000000 +0100
+++ ceph-13.2.5/src/rgw/rgw_sync_log_trim.cc 2019-04-19 11:30:48.000000000 +0200
@@ -351,7 +351,7 @@
status->clear();
// The initialisation below is required to silence a false positive
// -Wmaybe-uninitialized warning
- boost::optional<size_t> num_shards = boost::make_optional(false, 0UL);
+ boost::optional<size_t> num_shards = boost::make_optional(false, (size_t)0);
for (auto peer = first; peer != last; ++peer) {
const size_t peer_shards = peer->size();
if (!num_shards) {

80
sys-cluster/ceph/files/ceph-13.2.6-arm32-build.patch

@ -0,0 +1,80 @@
diff -Naur ceph-13.2.6/work/ceph-13.2.6/src/CMakeLists.txt ceph-13.2.6-success/work/ceph-13.2.6/src/CMakeLists.txt
--- ceph-13.2.6/work/ceph-13.2.6/src/CMakeLists.txt 2019-06-03 17:18:57.000000000 +0200
+++ ceph-13.2.6-success/work/ceph-13.2.6/src/CMakeLists.txt 2019-07-14 18:46:05.524767854 +0200
@@ -24,6 +24,7 @@
add_definitions("-DCEPH_PKGLIBDIR=\"${CMAKE_INSTALL_FULL_PKGLIBDIR}\"")
add_definitions("-DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS")
add_definitions("-D_FILE_OFFSET_BITS=64")
+add_definitions("-DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT")
if(LINUX)
add_definitions("-D_GNU_SOURCE")
endif()
diff -Naur ceph-13.2.6/work/ceph-13.2.6/src/common/ceph_context.h ceph-13.2.6-success/work/ceph-13.2.6/src/common/ceph_context.h
--- ceph-13.2.6/work/ceph-13.2.6/src/common/ceph_context.h 2019-06-03 17:18:57.000000000 +0200
+++ ceph-13.2.6-success/work/ceph-13.2.6/src/common/ceph_context.h 2019-07-14 08:58:01.950546863 +0200
@@ -144,7 +144,7 @@
void do_command(std::string_view command, const cmdmap_t& cmdmap,
std::string_view format, ceph::bufferlist *out);
- static constexpr std::size_t largest_singleton = sizeof(void*) * 72;
+ static constexpr std::size_t largest_singleton = sizeof(void*) * 144;
template<typename T, typename... Args>
T& lookup_or_create_singleton_object(std::string_view name,
diff -Naur ceph-13.2.6/work/ceph-13.2.6/src/mon/OSDMonitor.cc ceph-13.2.6-success/work/ceph-13.2.6/src/mon/OSDMonitor.cc
--- ceph-13.2.6/work/ceph-13.2.6/src/mon/OSDMonitor.cc 2019-06-03 17:18:57.000000000 +0200
+++ ceph-13.2.6-success/work/ceph-13.2.6/src/mon/OSDMonitor.cc 2019-07-14 15:00:30.032429503 +0200
@@ -821,7 +821,7 @@
<< " modified " << p->second.modified
<< " [" << p->second.start << "-" << p->second.end << ")"
<< dendl;
- int n = std::min(max - pending_creatings.pgs.size(),
+ int n = std::min((uint64_t)(max - pending_creatings.pgs.size()),
p->second.end - p->second.start);
ps_t first = p->second.start;
ps_t end = first + n;
diff -Naur ceph-13.2.6/work/ceph-13.2.6/src/os/bluestore/BlueStore.cc ceph-13.2.6-success/work/ceph-13.2.6/src/os/bluestore/BlueStore.cc
--- ceph-13.2.6/work/ceph-13.2.6/src/os/bluestore/BlueStore.cc 2019-06-03 17:18:57.000000000 +0200
+++ ceph-13.2.6-success/work/ceph-13.2.6/src/os/bluestore/BlueStore.cc 2019-07-15 06:08:24.938166321 +0200
@@ -12569,7 +12569,7 @@
if (e.second == 0) {
continue;
}
- size_t pos = max(e.first / granularity, prev_pos);
+ size_t pos = max(e.first / granularity, (long long unsigned int&)prev_pos);
size_t end_pos = 1 + (e.first + e.second - 1) / granularity;
while (pos != npos && pos < end_pos) {
ceph_assert( collections_bfs[pos].element_count() ==
diff -Naur ceph-13.2.6/work/ceph-13.2.6/src/osd/PrimaryLogPG.cc ceph-13.2.6-success/work/ceph-13.2.6/src/osd/PrimaryLogPG.cc
--- ceph-13.2.6/work/ceph-13.2.6/src/osd/PrimaryLogPG.cc 2019-06-03 17:18:57.000000000 +0200
+++ ceph-13.2.6-success/work/ceph-13.2.6/src/osd/PrimaryLogPG.cc 2019-07-14 16:24:48.346295044 +0200
@@ -1626,7 +1626,7 @@
if (limit != eversion_t() &&
limit != pg_trim_to &&
pg_log.get_log().approx_size() > target) {
- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
+ size_t num_to_trim = std::min((uint64_t)(pg_log.get_log().approx_size() - target),
cct->_conf->osd_pg_log_trim_max);
if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) {
@@ -1672,7 +1672,7 @@
pg_log.get_log().approx_size() > target) {
dout(10) << __func__ << " approx pg log length = "
<< pg_log.get_log().approx_size() << dendl;
- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
+ size_t num_to_trim = std::min((uint64_t)(pg_log.get_log().approx_size() - target),
cct->_conf->osd_pg_log_trim_max);
dout(10) << __func__ << " num_to_trim = " << num_to_trim << dendl;
if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
diff -Naur ceph-13.2.6/work/ceph-13.2.6/src/rgw/rgw_sync_log_trim.cc ceph-13.2.6-success/work/ceph-13.2.6/src/rgw/rgw_sync_log_trim.cc
--- ceph-13.2.6/work/ceph-13.2.6/src/rgw/rgw_sync_log_trim.cc 2019-06-03 17:18:57.000000000 +0200
+++ ceph-13.2.6-success/work/ceph-13.2.6/src/rgw/rgw_sync_log_trim.cc 2019-07-15 16:34:38.795259035 +0200
@@ -351,7 +351,7 @@
status->clear();
// The initialisation below is required to silence a false positive
// -Wmaybe-uninitialized warning
- boost::optional<size_t> num_shards = boost::make_optional(false, 0UL);
+ boost::optional<size_t> num_shards = boost::make_optional(false, 0U);
for (auto peer = first; peer != last; ++peer) {
const size_t peer_shards = peer->size();
if (!num_shards) {

14
sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch

@ -0,0 +1,14 @@
diff --git a/src/spdk/dpdk/lib/librte_net/rte_ether.h b/src/spdk/dpdk/lib/librte_net/rte_ether.h
index 3a87ff184..8090b7c01 100644
--- a/src/spdk/dpdk/lib/librte_net/rte_ether.h
+++ b/src/spdk/dpdk/lib/librte_net/rte_ether.h
@@ -55,7 +55,8 @@ extern "C" {
* See http://standards.ieee.org/regauth/groupmac/tutorial.html
*/
struct ether_addr {
- uint8_t addr_bytes[ETHER_ADDR_LEN]; /**< Addr bytes in tx order */
+ /** Addr bytes in tx order */
+ uint8_t addr_bytes[ETHER_ADDR_LEN] __rte_aligned(2);
} __attribute__((__packed__));
#define ETHER_LOCAL_ADMIN_ADDR 0x02 /**< Locally assigned Eth. address. */

74
sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch

@ -0,0 +1,74 @@
diff --git a/src/ceph-detect-init/CMakeLists.txt b/src/ceph-detect-init/CMakeLists.txt
index 6e5946b784..233cccfc9b 100644
--- a/src/ceph-detect-init/CMakeLists.txt
+++ b/src/ceph-detect-init/CMakeLists.txt
@@ -2,8 +2,8 @@ set(CEPH_DETECT_INIT_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtua
add_custom_target(ceph-detect-init
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
- ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
+ #${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-detect-init
COMMENT "ceph-detect-init is being created")
add_dependencies(tests ceph-detect-init)
diff --git a/src/ceph-disk/CMakeLists.txt b/src/ceph-disk/CMakeLists.txt
index 00aaec4a80..b0700c488f 100644
--- a/src/ceph-disk/CMakeLists.txt
+++ b/src/ceph-disk/CMakeLists.txt
@@ -2,8 +2,8 @@ set(CEPH_DISK_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv)
add_custom_target(ceph-disk
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
- ${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
+ #${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-disk
COMMENT "ceph-disk is being created")
add_dependencies(tests ceph-disk)
diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
index 88ca8a60bb..77c716cdb1 100644
--- a/src/pybind/mgr/dashboard/CMakeLists.txt
+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
add_custom_target(mgr-dashboard-test-venv
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
COMMENT "dashboard tests virtualenv is being created")
add_dependencies(tests mgr-dashboard-test-venv)
@@ -13,9 +13,6 @@ set(mgr-dashboard-nodeenv ${CMAKE_CURRENT_BINARY_DIR}/node-env)
add_custom_command(
OUTPUT "${mgr-dashboard-nodeenv}/bin/npm"
- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv}
- COMMAND ${mgr-dashboard-nodeenv}/bin/pip install nodeenv
- COMMAND ${mgr-dashboard-nodeenv}/bin/nodeenv -p -n 10.13.0
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "dashboard nodeenv is being installed"
)
@@ -27,7 +24,6 @@ add_custom_target(mgr-dashboard-nodeenv
add_custom_command(
OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules"
- COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && npm ci && deactivate
DEPENDS frontend/package.json
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
COMMENT "dashboard frontend dependencies are being installed"
@@ -62,9 +58,11 @@ else()
set(npm_command npm run build)
endif()
+LIST(APPEND CMAKE_PROGRAM_PATH ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules/.bin)
+
add_custom_command(
OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/dist"
- COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && ${npm_command} && deactivate
+ COMMAND PREFIX="${CMAKE_SOURCE_DIR}" ${npm_command}
DEPENDS ${frontend_src} frontend/node_modules
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
COMMENT "dashboard frontend is being created"

321
sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch

@ -0,0 +1,321 @@
diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
index bfab4ca436..90ed0cbb17 100644
--- a/cmake/modules/FindBoost.cmake
+++ b/cmake/modules/FindBoost.cmake
@@ -1181,10 +1181,10 @@ endif()
# on all platforms to keep end user code free from platform dependent
# code. Also provide convenience targets to disable autolinking and
# enable dynamic linking.
-if(NOT TARGET Boost::diagnostic_definitions)
- add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
- add_library(Boost::disable_autolinking INTERFACE IMPORTED)
- add_library(Boost::dynamic_linking INTERFACE IMPORTED)
+if(NOT TARGET boost_diagnostic_definitions)
+ add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
+ add_library(boost_disable_autolinking INTERFACE IMPORTED)
+ add_library(boost_dynamic_linking INTERFACE IMPORTED)
endif()
if(WIN32)
# In windows, automatic linking is performed, so you do not have
@@ -1205,11 +1205,11 @@ if(WIN32)
# code to emit a #pragma message each time a library is selected
# for linking.
set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
- set_target_properties(Boost::diagnostic_definitions PROPERTIES
+ set_target_properties(boost_diagnostic_definitions PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
- set_target_properties(Boost::disable_autolinking PROPERTIES
+ set_target_properties(boost_disable_autolinking PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
- set_target_properties(Boost::dynamic_linking PROPERTIES
+ set_target_properties(boost_dynamic_linking PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
endif()
@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
endif()
foreach(COMPONENT ${Boost_FIND_COMPONENTS})
- if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
+ if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
if(Boost_${UPPERCOMPONENT}_FOUND)
if(Boost_USE_STATIC_LIBS)
- add_library(Boost::${COMPONENT} STATIC IMPORTED)
+ add_library(boost_${COMPONENT} STATIC IMPORTED)
else()
# Even if Boost_USE_STATIC_LIBS is OFF, we might have static
# libraries as a result.
- add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
+ add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
endif()
if(Boost_INCLUDE_DIRS)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
endif()
if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
endif()
if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
endif()
if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
IMPORTED_CONFIGURATIONS DEBUG)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
endif()
if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
+ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
endforeach()
if(COMPONENT STREQUAL "thread")
list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
endif()
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
endif()
if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
endif()
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1b1f19d464..21c222280f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -353,12 +353,12 @@ set(ceph_common_objs
set(ceph_common_deps
json_spirit erasure_code arch crc32
${LIB_RESOLV}
- Boost::thread
- Boost::system
- Boost::random
- Boost::program_options
- Boost::date_time
- Boost::iostreams
+ boost_thread
+ boost_system
+ boost_random
+ boost_program_options
+ boost_date_time
+ boost_iostreams
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
ceph_mds.cc)
add_executable(ceph-mds ${ceph_mds_srcs})
target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
- Boost::thread)
+ boost_thread)
install(TARGETS ceph-mds DESTINATION bin)
endif()
diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
index d7b58521d4..e1533af33f 100644
--- a/src/crimson/CMakeLists.txt
+++ b/src/crimson/CMakeLists.txt
@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
PRIVATE
crc32
crimson::cflags
- Boost::iostreams
- Boost::random
+ boost_iostreams
+ boost_random
${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
set(crimson_auth_srcs
diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
index 252fb3e5e3..213482da16 100644
--- a/src/mgr/CMakeLists.txt
+++ b/src/mgr/CMakeLists.txt
@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
target_link_libraries(ceph-mgr
osdc client heap_profiler
global-static ceph-common
- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+ boost_python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
set_target_properties(ceph-mgr PROPERTIES
POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
index e9d3804c5f..5c6eb58de1 100644
--- a/src/rbd_replay/CMakeLists.txt
+++ b/src/rbd_replay/CMakeLists.txt
@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
global
babeltrace
babeltrace-ctf
- Boost::date_time
+ boost_date_time
)
install(TARGETS rbd-replay-prep DESTINATION bin)
endif(HAVE_BABELTRACE)
diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
index ccc4f74cfe..854aa6e5e9 100644
--- a/src/rgw/CMakeLists.txt
+++ b/src/rgw/CMakeLists.txt
@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
endif()
if(WITH_BOOST_CONTEXT)
- target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
+ target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
endif()
set(rgw_libs rgw_a)
@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
endif()
if(WITH_BOOST_CONTEXT)
- target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
+ target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
endif()
if(WITH_TESTS)
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index 20a64fd41b..a8bb323614 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
)
target_link_libraries(ceph_omapbench
librados
- Boost::program_options
+ boost_program_options
global
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
index 71fb77cda9..aff8fb6565 100644
--- a/src/test/common/CMakeLists.txt
+++ b/src/test/common/CMakeLists.txt
@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
add_executable(unittest_async_completion test_async_completion.cc)
add_ceph_unittest(unittest_async_completion)
-target_link_libraries(unittest_async_completion Boost::system)
+target_link_libraries(unittest_async_completion boost_system)
add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
add_ceph_unittest(unittest_async_shared_mutex)
-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
+target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
index 721f6c3675..1cd9635c77 100644
--- a/src/test/erasure-code/CMakeLists.txt
+++ b/src/test/erasure-code/CMakeLists.txt
@@ -2,15 +2,15 @@
add_executable(ceph_erasure_code_benchmark
${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
ceph_erasure_code_benchmark.cc)
-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code_benchmark
DESTINATION bin)
add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
add_executable(ceph_erasure_code ceph_erasure_code.cc)
-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code
DESTINATION bin)
diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
index 4fc53d2406..e6304394f8 100644
--- a/src/test/librados/CMakeLists.txt
+++ b/src/test/librados/CMakeLists.txt
@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
target_link_libraries(ceph_test_rados_api_asio global
librados ${UNITTEST_LIBS})
if(WITH_BOOST_CONTEXT)
- target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
+ target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
endif()
add_executable(ceph_test_rados_api_list
@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
tier_cxx.cc
$<TARGET_OBJECTS:unit-main>)
target_link_libraries(ceph_test_rados_api_tier_pp
- librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
+ librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
add_executable(ceph_test_rados_api_snapshots
snapshots.cc)
diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
index 2bf6723c40..e99b8afa11 100644
--- a/src/test/librbd/CMakeLists.txt
+++ b/src/test/librbd/CMakeLists.txt
@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
radostest
radostest-cxx
librados
- Boost::thread
+ boost_thread
GMock::GMock
GTest::GTest)
diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
index 9b2c6b6321..80e4cb7829 100644
--- a/src/test/rgw/CMakeLists.txt
+++ b/src/test/rgw/CMakeLists.txt
@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
if(WITH_BOOST_CONTEXT)
target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
- target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
+ target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
endif()
if(WITH_RADOSGW_AMQP_ENDPOINT)
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index d31f3d2408..6945018b11 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -35,20 +35,20 @@ install(PROGRAMS
endif(WITH_TESTS)
add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
install(TARGETS ceph-osdomap-tool DESTINATION bin)
add_executable(ceph-monstore-tool
ceph_monstore_tool.cc
../mgr/mgr_commands.cc)
-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
+target_link_libraries(ceph-monstore-tool os global boost_program_options)
install(TARGETS ceph-monstore-tool DESTINATION bin)
add_executable(ceph-objectstore-tool
ceph_objectstore_tool.cc
rebuild_mondb.cc
RadosDump.cc)
-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
if(WITH_FUSE)
target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
endif(WITH_FUSE)

120
sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch

@ -0,0 +1,120 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f97f96b5bf..f5e5d06d35 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -657,13 +657,13 @@ if(WITH_SYSTEM_BOOST)
if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE)
set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
endif()
- find_package(Boost 1.67 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
+ find_package(Boost 1.70 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
else()
set(BOOST_J 1 CACHE STRING
"max jobs for Boost build") # override w/-DBOOST_J=<n>
set(Boost_USE_STATIC_LIBS ON)
include(BuildBoost)
- build_boost(1.67
+ build_boost(1.70
COMPONENTS ${BOOST_COMPONENTS} ${BOOST_HEADER_COMPONENTS})
endif()
include_directories(BEFORE SYSTEM ${Boost_INCLUDE_DIRS})
diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
index f46cc0d485..4254508570 100644
--- a/cmake/modules/BuildBoost.cmake
+++ b/cmake/modules/BuildBoost.cmake
@@ -137,14 +137,14 @@ function(do_build_boost version)
check_boost_version("${PROJECT_SOURCE_DIR}/src/boost" ${version})
set(source_dir
SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/boost")
- elseif(version VERSION_GREATER 1.67)
+ elseif(version VERSION_GREATER 1.70)
message(FATAL_ERROR "Unknown BOOST_REQUESTED_VERSION: ${version}")
else()
message(STATUS "boost will be downloaded...")
# NOTE: If you change this version number make sure the package is available
# at the three URLs below (may involve uploading to download.ceph.com)
- set(boost_version 1.67.0)
- set(boost_sha256 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba)
+ set(boost_version 1.70.0)
+ set(boost_sha256 430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778)
string(REPLACE "." "_" boost_version_underscore ${boost_version} )
set(boost_url
https://dl.bintray.com/boostorg/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2)
diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
index e4be074ec7..4af3695dc1 100644
--- a/src/rgw/rgw_asio_frontend.cc
+++ b/src/rgw/rgw_asio_frontend.cc
@@ -81,7 +81,8 @@ class StreamIO : public rgw::asio::ClientIO {
using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>;
template <typename Stream>
-void handle_connection(RGWProcessEnv& env, Stream& stream,
+void handle_connection(boost::asio::io_context& context,
+ RGWProcessEnv& env, Stream& stream,
boost::beast::flat_buffer& buffer, bool is_ssl,
SharedMutex& pause_mutex,
rgw::dmclock::Scheduler *scheduler,
@@ -152,7 +153,7 @@ void handle_connection(RGWProcessEnv& env, Stream& stream,
rgw::io::add_conlen_controlling(
&real_client))));
RGWRestfulIO client(cct, &real_client_io);
- auto y = optional_yield{socket.get_io_context(), yield};
+ auto y = optional_yield{context, yield};
process_request(env.store, env.rest, &req, env.uri_prefix,
*env.auth_registry, &client, env.olog, y, scheduler);
}
@@ -560,7 +561,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
return;
}
buffer.consume(bytes);
- handle_connection(env, stream, buffer, true, pause_mutex,
+ handle_connection(context, env, stream, buffer, true, pause_mutex,
scheduler.get(), ec, yield);
if (!ec) {
// ssl shutdown (ignoring errors)
@@ -578,7 +579,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
auto c = connections.add(conn);
boost::beast::flat_buffer buffer;
boost::system::error_code ec;
- handle_connection(env, s, buffer, false, pause_mutex,
+ handle_connection(context, env, s, buffer, false, pause_mutex,
scheduler.get(), ec, yield);
s.shutdown(tcp::socket::shutdown_both, ec);
});
diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h
index 70487a5253..1d454acd2e 100644
--- a/src/rgw/rgw_dmclock_async_scheduler.h
+++ b/src/rgw/rgw_dmclock_async_scheduler.h
@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler {
using Completion = async::Completion<Signature, async::AsBase<Request>>;
using Clock = ceph::coarse_real_clock;
+#if BOOST_VERSION < 107000
using Timer = boost::asio::basic_waitable_timer<Clock>;
+#else
+ using Timer = boost::asio::basic_waitable_timer<Clock,
+ boost::asio::wait_traits<Clock>, executor_type>;
+#endif
Timer timer; //< timer for the next scheduled request
CephContext *const cct;
diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
index d99a6ff68d..213fc238d2 100644
--- a/src/rgw/rgw_reshard.h
+++ b/src/rgw/rgw_reshard.h
@@ -183,7 +183,14 @@ class RGWReshardWait {
ceph::condition_variable cond;
struct Waiter : boost::intrusive::list_base_hook<> {
- boost::asio::basic_waitable_timer<Clock> timer;
+#if BOOST_VERSION < 107000
+ using Timer = boost::asio::basic_waitable_timer<Clock>;
+#else
+ using Executor = boost::asio::io_context::executor_type;
+ using Timer = boost::asio::basic_waitable_timer<Clock,
+ boost::asio::wait_traits<Clock>, Executor>;
+#endif
+ Timer timer;
explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {}
};
boost::intrusive::list<Waiter> waiters;

334
sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch

@ -0,0 +1,334 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dbabecbe97..d12b696bb5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -640,7 +640,7 @@ set(BOOST_HEADER_COMPONENTS container)
if(WITH_MGR)
list(APPEND BOOST_COMPONENTS
- python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
+ python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
endif()
if(WITH_BOOST_CONTEXT)
list(APPEND BOOST_COMPONENTS context coroutine)
diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
index bfab4ca436..90ed0cbb17 100644
--- a/cmake/modules/FindBoost.cmake
+++ b/cmake/modules/FindBoost.cmake
@@ -1181,10 +1181,10 @@ endif()
# on all platforms to keep end user code free from platform dependent
# code. Also provide convenience targets to disable autolinking and
# enable dynamic linking.
-if(NOT TARGET Boost::diagnostic_definitions)
- add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
- add_library(Boost::disable_autolinking INTERFACE IMPORTED)
- add_library(Boost::dynamic_linking INTERFACE IMPORTED)
+if(NOT TARGET boost_diagnostic_definitions)
+ add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
+ add_library(boost_disable_autolinking INTERFACE IMPORTED)
+ add_library(boost_dynamic_linking INTERFACE IMPORTED)
endif()
if(WIN32)
# In windows, automatic linking is performed, so you do not have
@@ -1205,11 +1205,11 @@ if(WIN32)
# code to emit a #pragma message each time a library is selected
# for linking.
set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
- set_target_properties(Boost::diagnostic_definitions PROPERTIES
+ set_target_properties(boost_diagnostic_definitions PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
- set_target_properties(Boost::disable_autolinking PROPERTIES
+ set_target_properties(boost_disable_autolinking PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
- set_target_properties(Boost::dynamic_linking PROPERTIES
+ set_target_properties(boost_dynamic_linking PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
endif()
@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
endif()
foreach(COMPONENT ${Boost_FIND_COMPONENTS})
- if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
+ if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
if(Boost_${UPPERCOMPONENT}_FOUND)
if(Boost_USE_STATIC_LIBS)
- add_library(Boost::${COMPONENT} STATIC IMPORTED)
+ add_library(boost_${COMPONENT} STATIC IMPORTED)
else()
# Even if Boost_USE_STATIC_LIBS is OFF, we might have static
# libraries as a result.
- add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
+ add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
endif()
if(Boost_INCLUDE_DIRS)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
endif()
if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
endif()
if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
endif()
if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
IMPORTED_CONFIGURATIONS DEBUG)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
endif()
if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
+ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
endforeach()
if(COMPONENT STREQUAL "thread")
list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
endif()
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
endif()
if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
- set_target_properties(Boost::${COMPONENT} PROPERTIES
+ set_target_properties(boost_${COMPONENT} PROPERTIES
INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
endif()
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1b1f19d464..21c222280f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -353,12 +353,12 @@ set(ceph_common_objs
set(ceph_common_deps
json_spirit erasure_code arch crc32
${LIB_RESOLV}
- Boost::thread
- Boost::system
- Boost::random
- Boost::program_options
- Boost::date_time
- Boost::iostreams
+ boost_thread
+ boost_system
+ boost_random
+ boost_program_options
+ boost_date_time
+ boost_iostreams
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
ceph_mds.cc)
add_executable(ceph-mds ${ceph_mds_srcs})
target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
- Boost::thread)
+ boost_thread)
install(TARGETS ceph-mds DESTINATION bin)
endif()
diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
index d7b58521d4..e1533af33f 100644
--- a/src/crimson/CMakeLists.txt
+++ b/src/crimson/CMakeLists.txt
@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
PRIVATE
crc32
crimson::cflags
- Boost::iostreams
- Boost::random
+ boost_iostreams
+ boost_random
${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
set(crimson_auth_srcs
diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
index 252fb3e5e3..3f3823a68e 100644
--- a/src/mgr/CMakeLists.txt
+++ b/src/mgr/CMakeLists.txt
@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
target_link_libraries(ceph-mgr
osdc client heap_profiler
global-static ceph-common
- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+ boost_python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR}
${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
set_target_properties(ceph-mgr PROPERTIES
POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
index e9d3804c5f..5c6eb58de1 100644
--- a/src/rbd_replay/CMakeLists.txt
+++ b/src/rbd_replay/CMakeLists.txt
@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
global
babeltrace
babeltrace-ctf
- Boost::date_time
+ boost_date_time
)
install(TARGETS rbd-replay-prep DESTINATION bin)
endif(HAVE_BABELTRACE)
diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
index ccc4f74cfe..854aa6e5e9 100644
--- a/src/rgw/CMakeLists.txt
+++ b/src/rgw/CMakeLists.txt
@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
endif()
if(WITH_BOOST_CONTEXT)
- target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
+ target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
endif()
set(rgw_libs rgw_a)
@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
endif()
if(WITH_BOOST_CONTEXT)
- target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
+ target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
endif()
if(WITH_TESTS)
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index 20a64fd41b..a8bb323614 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
)
target_link_libraries(ceph_omapbench
librados
- Boost::program_options
+ boost_program_options
global
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
index 71fb77cda9..aff8fb6565 100644
--- a/src/test/common/CMakeLists.txt
+++ b/src/test/common/CMakeLists.txt
@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
add_executable(unittest_async_completion test_async_completion.cc)
add_ceph_unittest(unittest_async_completion)
-target_link_libraries(unittest_async_completion Boost::system)
+target_link_libraries(unittest_async_completion boost_system)
add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
add_ceph_unittest(unittest_async_shared_mutex)
-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
+target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
index 721f6c3675..1cd9635c77 100644
--- a/src/test/erasure-code/CMakeLists.txt
+++ b/src/test/erasure-code/CMakeLists.txt
@@ -2,15 +2,15 @@
add_executable(ceph_erasure_code_benchmark
${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
ceph_erasure_code_benchmark.cc)
-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code_benchmark
DESTINATION bin)
add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
add_executable(ceph_erasure_code ceph_erasure_code.cc)
-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
install(TARGETS ceph_erasure_code
DESTINATION bin)
diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
index 4fc53d2406..e6304394f8 100644
--- a/src/test/librados/CMakeLists.txt
+++ b/src/test/librados/CMakeLists.txt
@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
target_link_libraries(ceph_test_rados_api_asio global
librados ${UNITTEST_LIBS})
if(WITH_BOOST_CONTEXT)
- target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
+ target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
endif()
add_executable(ceph_test_rados_api_list
@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
tier_cxx.cc
$<TARGET_OBJECTS:unit-main>)
target_link_libraries(ceph_test_rados_api_tier_pp
- librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
+ librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
add_executable(ceph_test_rados_api_snapshots
snapshots.cc)
diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
index 2bf6723c40..e99b8afa11 100644
--- a/src/test/librbd/CMakeLists.txt
+++ b/src/test/librbd/CMakeLists.txt
@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
radostest
radostest-cxx
librados
- Boost::thread
+ boost_thread
GMock::GMock
GTest::GTest)
diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
index 9b2c6b6321..80e4cb7829 100644
--- a/src/test/rgw/CMakeLists.txt
+++ b/src/test/rgw/CMakeLists.txt
@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
if(WITH_BOOST_CONTEXT)
target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
- target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
+ target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
endif()
if(WITH_RADOSGW_AMQP_ENDPOINT)
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index d31f3d2408..6945018b11 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -35,20 +35,20 @@ install(PROGRAMS
endif(WITH_TESTS)
add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
install(TARGETS ceph-osdomap-tool DESTINATION bin)
add_executable(ceph-monstore-tool
ceph_monstore_tool.cc
../mgr/mgr_commands.cc)
-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
+target_link_libraries(ceph-monstore-tool os global boost_program_options)
install(TARGETS ceph-monstore-tool DESTINATION bin)
add_executable(ceph-objectstore-tool
ceph_objectstore_tool.cc
rebuild_mondb.cc
RadosDump.cc)
-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
if(WITH_FUSE)
target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
endif(WITH_FUSE)

13
sys-cluster/ceph/files/ceph-14.2.0-cflags.patch

@ -0,0 +1,13 @@
diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
index 5697dff85f..7fdcfe4112 100644
--- a/cmake/modules/Distutils.cmake
+++ b/cmake/modules/Distutils.cmake
@@ -61,7 +61,7 @@ function(distutils_add_cython_module name src)
CC="${PY_CC}"
CXX="${PY_CXX}"
LDSHARED="${PY_LDSHARED}"
- OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
+ OPT=\"-DNDEBUG -g -fwrapv -w\"
LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}

17
sys-cluster/ceph/files/ceph-14.2.0-cython-0.29.patch

@ -0,0 +1,17 @@
--- ceph-13.2.1/cmake/modules/Distutils.cmake.old 2018-07-26 17:39:56.000000000 -0000
+++ ceph-13.2.1/cmake/modules/Distutils.cmake 2018-12-24 05:43:51.566174070 -0000
@@ -58,8 +62,13 @@
function(distutils_install_cython_module name)
get_property(compiler_launcher GLOBAL PROPERTY RULE_LAUNCH_COMPILE)
get_property(link_launcher GLOBAL PROPERTY RULE_LAUNCH_LINK)
- set(PY_CC "${compiler_launcher} ${CMAKE_C_COMPILER}")
+ string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS})
+ list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
+ list(APPEND cflags -D'void0=dead_function\(void\)')
+ list(APPEND cflags -D'__Pyx_check_single_interpreter\(ARG\)=ARG \#\# 0')
+ string(REPLACE ";" " " cflags "${cflags}")
+ set(PY_CC "${compiler_launcher} ${CMAKE_C_COMPILER} ${cflags}")
set(PY_LDSHARED "${link_launcher} ${CMAKE_C_COMPILER} -shared")
install(CODE "
set(ENV{CC} \"${PY_CC}\")
set(ENV{LDSHARED} \"${PY_LDSHARED}\")

30
sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch

@ -0,0 +1,30 @@
diff --git a/cmake/modules/BuildDPDK.cmake b/cmake/modules/BuildDPDK.cmake
index 12a831a8b1..a5485aa205 100644
--- a/cmake/modules/BuildDPDK.cmake
+++ b/cmake/modules/BuildDPDK.cmake
@@ -16,17 +16,14 @@ function(do_build_dpdk dpdk_dir)
set(arch "x86_64")
set(machine "default")
set(machine_tmpl "native")
- set(rte_cflags "-march=core2")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
set(arch "arm")
set(machine "armv7a")
set(machine_tmpl "armv7a")
- set(rte_cflags "-march=armv7-a")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
set(arch "arm64")
set(machine "armv8a")
set(machine_tmpl "armv8a")
- set(rte_cflags "-march=armv8-a+crc")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64")
set(arch "ppc_64")
set(machine "power8")
@@ -35,7 +32,6 @@ function(do_build_dpdk dpdk_dir)
message(FATAL_ERROR "not able to build DPDK support: "
"unknown arch \"${CMAKE_SYSTEM_PROCESSOR}\"")
endif()
- set(dpdk_rte_CFLAGS "${rte_cflags}" CACHE INTERNAL "")
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
set(execenv "linuxapp")
elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")

11
sys-cluster/ceph/files/ceph-14.2.0-link-crc32-statically.patch

@ -0,0 +1,11 @@
--- ceph-14.2.0.orig/src/common/CMakeLists.txt 2019-03-18 04:08:29.000000000 -0600
+++ ceph-14.2.0/src/common/CMakeLists.txt 2019-03-21 18:42:32.903182824 -0600
@@ -165,7 +165,7 @@
crc32c_aarch64.c)
endif(HAVE_INTEL)
-add_library(crc32 ${crc32_srcs})
+add_library(crc32 STATIC ${crc32_srcs})
if(HAVE_ARMV8_CRC)
set_target_properties(crc32 PROPERTIES
COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")

17
sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch

@ -0,0 +1,17 @@
diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
index 664543172a..e74d73c084 100644
--- a/src/pybind/CMakeLists.txt
+++ b/src/pybind/CMakeLists.txt
@@ -62,12 +62,6 @@ foreach(python_version ${py_vers})
endforeach()
if(WITH_MGR)
- if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
- message(FATAL_ERROR "mgr plugins require python2 binding")
- elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
- message(FATAL_ERROR "mgr plugins require python3 binding")
- endif()
-
if(USE_OPENSSL)
execute_process(
COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "import ssl; print('.'.join(map(str,ssl.OPENSSL_VERSION_INFO[0:3])))"

54
sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch

@ -0,0 +1,54 @@
diff --git a/.gitignore b/.gitignore
index 2c2afc282e..80c05ee2f0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,10 +13,8 @@
*.swp
*.swo
*.tmp
-*.orig
*.patch
!debian/patches/*.patch
-*.rej
*.rpm
*.pyc
ceph.spec
diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
index 24a2efc9e2..b11d4d0303 100644
--- a/src/pybind/mgr/dashboard/CMakeLists.txt
+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
add_custom_target(mgr-dashboard-test-venv
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
COMMENT "dashboard tests virtualenv is being created")
add_dependencies(tests mgr-dashboard-test-venv)
@@ -14,9 +14,9 @@ function(add_npm_command)
set(multi_kw COMMAND DEPENDS)
cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
string(REPLACE ";" " " command "${NC_COMMAND}")
- if(NC_NODEENV)
- string(REGEX REPLACE "^(npm .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
- endif()
+ #if(NC_NODEENV)
+ # string(REGEX REPLACE "^(npm .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+ #endif()
string(REPLACE " " ";" command "${command}")
add_custom_command(
OUTPUT "${NC_OUTPUT}"
@@ -41,9 +41,9 @@ else()
add_custom_command(
OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
+ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "dashboard nodeenv is being installed"
)

26
sys-cluster/ceph/files/ceph-14.2.1-32bit-build.patch

@ -0,0 +1,26 @@
diff -Naur --no-dereference ceph-14.2.1.orig/src/common/buffer.cc ceph-14.2.1/src/common/buffer.cc
--- ceph-14.2.1.orig/src/common/buffer.cc 2019-04-25 20:15:48.000000000 +0200
+++ ceph-14.2.1/src/common/buffer.cc 2019-07-12 14:58:21.047996778 +0200
@@ -730,7 +730,7 @@
: iterator_impl<is_const>(i.bl, i.off, i.p, i.p_off) {}
template<bool is_const>
- void buffer::list::iterator_impl<is_const>::advance(unsigned o)
+ void buffer::list::iterator_impl<is_const>::advance(unsigned int o)
{
//cout << this << " advance " << o << " from " << off
// << " (p_off " << p_off << " in " << p->length() << ")"
diff -Naur --no-dereference ceph-14.2.1.orig/src/include/buffer.h ceph-14.2.1/src/include/buffer.h
--- ceph-14.2.1.orig/src/include/buffer.h 2019-04-25 20:15:48.000000000 +0200
+++ ceph-14.2.1/src/include/buffer.h 2019-07-12 14:58:00.170669724 +0200
@@ -736,8 +736,8 @@
}
void advance(int o) = delete;
- void advance(unsigned o);
- void advance(size_t o) { advance(static_cast<unsigned>(o)); }
+ void advance(unsigned int o);
+ void advance(size_t o) { advance(static_cast<unsigned int>(o)); }
void seek(unsigned o);
char operator*() const;
iterator_impl& operator++();

30
sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch

@ -0,0 +1,30 @@
From b7bf406cff5e0f82fc87f19d5987cd4e719919e1 Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Mon, 8 Apr 2019 16:34:53 +0200
Subject: [PATCH] cmake: Fix build against ncurses with separate libtinfo
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
src/tools/rbd/CMakeLists.txt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/tools/rbd/CMakeLists.txt b/src/tools/rbd/CMakeLists.txt
index 36b2408a8d28..0e38a033ff55 100644
--- a/src/tools/rbd/CMakeLists.txt
+++ b/src/tools/rbd/CMakeLists.txt
@@ -1,3 +1,6 @@
+set(CURSES_NEED_NCURSES TRUE)
+find_package(Curses REQUIRED)
+
set(rbd_srcs
rbd.cc
ArgumentTypes.cc
@@ -52,7 +55,7 @@ target_link_libraries(rbd librbd librados
cls_journal_client cls_rbd_client
rbd_types
journal
- ceph-common global ncurses
+ ceph-common global ${CURSES_LIBRARIES}
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
if(WITH_KRBD)
target_link_libraries(rbd

111
sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch

@ -0,0 +1,111 @@
commit 41c1cee88b38bc43002b232ede42dc157364f61a
Author: Casey Bodley <cbodley@redhat.com>
Date: Fri Nov 1 16:04:37 2019 -0400
cmake: define mgr_cap_obj library when WITH_MGR=OFF
resolves the cmake error when WITH_MGR=OFF:
Error evaluating generator expression:
$<TARGET_OBJECTS:mgr_cap_obj>
Objects of target "mgr_cap_obj" referenced but no such target exists.
Call Stack (most recent call first):
src/mon/CMakeLists.txt:34 (add_library)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 275a8ebd17..c2a9d7a669 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -473,9 +473,7 @@ if(WITH_LIBRADOSSTRIPER)
add_subdirectory(libradosstriper)
endif()
-if(WITH_MGR)
- add_subdirectory(mgr)
-endif()
+add_subdirectory(mgr)
set(librados_config_srcs
librados-config.cc)
diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
index 79227bcc1d..e69335eb69 100644
--- a/src/mgr/CMakeLists.txt
+++ b/src/mgr/CMakeLists.txt
@@ -1,37 +1,39 @@
add_library(mgr_cap_obj OBJECT
MgrCap.cc)
-set(mgr_srcs
- ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
- ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
- ActivePyModule.cc
- ActivePyModules.cc
- BaseMgrModule.cc
- BaseMgrStandbyModule.cc
- ClusterState.cc
- DaemonHealthMetricCollector.cc
- DaemonServer.cc
- DaemonState.cc
- Gil.cc
- Mgr.cc
- MgrStandby.cc
- OSDPerfMetricTypes.cc
- OSDPerfMetricCollector.cc
- PyFormatter.cc
- PyModule.cc
- PyModuleRegistry.cc
- PyModuleRunner.cc
- PyOSDMap.cc
- StandbyPyModules.cc
- mgr_commands.cc
- $<TARGET_OBJECTS:mgr_cap_obj>)
-add_executable(ceph-mgr ${mgr_srcs})
-target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
-target_link_libraries(ceph-mgr
- osdc client heap_profiler
- global-static ceph-common
- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
- ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
-set_target_properties(ceph-mgr PROPERTIES
- POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
-install(TARGETS ceph-mgr DESTINATION bin)
+if(WITH_MGR)
+ set(mgr_srcs
+ ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
+ ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
+ ActivePyModule.cc
+ ActivePyModules.cc
+ BaseMgrModule.cc
+ BaseMgrStandbyModule.cc
+ ClusterState.cc
+ DaemonHealthMetricCollector.cc
+ DaemonServer.cc
+ DaemonState.cc
+ Gil.cc
+ Mgr.cc
+ MgrStandby.cc
+ OSDPerfMetricTypes.cc
+ OSDPerfMetricCollector.cc
+ PyFormatter.cc
+ PyModule.cc
+ PyModuleRegistry.cc
+ PyModuleRunner.cc
+ PyOSDMap.cc
+ StandbyPyModules.cc
+ mgr_commands.cc
+ $<TARGET_OBJECTS:mgr_cap_obj>)
+ add_executable(ceph-mgr ${mgr_srcs})
+ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr
+ osdc client heap_profiler
+ global-static ceph-common
+ Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+ ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+ set_target_properties(ceph-mgr PROPERTIES
+ POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+ install(TARGETS ceph-mgr DESTINATION bin)
+endif()

26
sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch

@ -0,0 +1,26 @@
diff --git a/src/common/bit_str.h b/src/common/bit_str.h
index c4c24f6a75..b5631e8b84 100644
--- a/src/common/bit_str.h
+++ b/src/common/bit_str.h
@@ -14,6 +14,8 @@
#ifndef CEPH_COMMON_BIT_STR_H
#define CEPH_COMMON_BIT_STR_H
+#include <cstdint>
+#include <iosfwd>
#include <functional>
namespace ceph {
diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
index 977ce3638d..8d982879aa 100644
--- a/src/librbd/api/PoolMetadata.h
+++ b/src/librbd/api/PoolMetadata.h
@@ -8,6 +8,8 @@
#include "include/rados/librados_fwd.hpp"
#include <map>
+#include <string>
+#include <cstdint>
namespace librbd {

31
sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch

@ -0,0 +1,31 @@
diff --git a/src/pybind/ceph_volume_client.py b/src/pybind/ceph_volume_client.py
index 7d7e5b49e4..9a1ba80e69 100644
--- a/src/pybind/ceph_volume_client.py
+++ b/src/pybind/ceph_volume_client.py
@@ -355,7 +355,7 @@ class CephFSVolumeClient(object):
continue
(group_id, volume_id) = volume.split('/')
- group_id = group_id if group_id is not 'None' else None
+ group_id = group_id if group_id != 'None' else None
volume_path = VolumePath(group_id, volume_id)
access_level = volume_data['access_level']
@@ -378,7 +378,7 @@ class CephFSVolumeClient(object):
if vol_meta['auths'][auth_id] == want_auth:
continue
- readonly = True if access_level is 'r' else False
+ readonly = True if access_level == 'r' else False
self._authorize_volume(volume_path, auth_id, readonly)
# Recovered from partial auth updates for the auth ID's access
@@ -1120,7 +1120,7 @@ class CephFSVolumeClient(object):
# Construct auth caps that if present might conflict with the desired
# auth caps.
- unwanted_access_level = 'r' if want_access_level is 'rw' else 'rw'
+ unwanted_access_level = 'r' if want_access_level == 'rw' else 'rw'
unwanted_mds_cap = 'allow {0} path={1}'.format(unwanted_access_level, path)
if namespace:
unwanted_osd_cap = 'allow {0} pool={1} namespace={2}'.format(

27
sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch

@ -0,0 +1,27 @@
From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
From: Jan Fajerski <jfajerski@suse.com>
Date: Fri, 12 Jun 2020 09:27:36 +0200
Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
/usr/libexec
Fixes: https://tracker.ceph.com/issues/45984
Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
---
systemd/ceph-osd@.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
index a0067d347220..4a2254e99478 100644
--- a/systemd/ceph-osd@.service.in
+++ b/systemd/ceph-osd@.service.in
@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
EnvironmentFile=-@SYSTEMD_ENV_FILE@
Environment=CLUSTER=ceph
ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
ExecReload=/bin/kill -HUP $MAINPID
LockPersonality=true
MemoryDenyWriteExecute=true

111
sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch

@ -0,0 +1,111 @@
diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc
index 3101ae57ac..1db97c289a 100644
--- a/src/msg/async/dpdk/DPDKStack.cc
+++ b/src/msg/async/dpdk/DPDKStack.cc
@@ -203,7 +203,9 @@ DPDKWorker::Impl::~Impl()
_dev->unset_local_queue(id);
}
-int DPDKWorker::listen(entity_addr_t &sa, const SocketOptions &opt,
+int DPDKWorker::listen(entity_addr_t &sa,
+ unsigned addr_slot,
+ const SocketOptions &opt,
ServerSocket *sock)
{
ceph_assert(sa.get_family() == AF_INET);
diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h
index a44ae38367..622ff8a3c6 100644
--- a/src/msg/async/dpdk/DPDKStack.h
+++ b/src/msg/async/dpdk/DPDKStack.h
@@ -37,7 +37,7 @@ class DPDKServerSocketImpl : public ServerSocketImpl {
typename Protocol::listener _listener;
public:
DPDKServerSocketImpl(Protocol& proto, uint16_t port, const SocketOptions &opt,
- int type);
+ int type, unsigned addr_slot);
int listen() {
return _listener.listen();
}
@@ -184,8 +184,9 @@ class NativeConnectedSocketImpl : public ConnectedSocketImpl {
template <typename Protocol>
DPDKServerSocketImpl<Protocol>::DPDKServerSocketImpl(
- Protocol& proto, uint16_t port, const SocketOptions &opt, int type)
- : ServerSocketImpl(type), _listener(proto.listen(port)) {}
+ Protocol& proto, uint16_t port, const SocketOptions &opt,
+ int type, unsigned addr_slot)
+ : ServerSocketImpl(type, addr_slot), _listener(proto.listen(port)) {}
template <typename Protocol>
int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
@@ -229,7 +230,8 @@ class DPDKWorker : public Worker {
public:
explicit DPDKWorker(CephContext *c, unsigned i): Worker(c, i) {}
- virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;
+ virtual int listen(entity_addr_t &addr, unsigned addr_slot,
+ const SocketOptions &opts, ServerSocket *) override;
virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override;
void arp_learn(ethernet_address l2, ipv4_address l3) {
_impl->_inet.learn(l2, l3);
diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc
index c6397709b1..26f29e10f7 100644
--- a/src/msg/async/dpdk/TCP.cc
+++ b/src/msg/async/dpdk/TCP.cc
@@ -153,9 +153,10 @@ bool ipv4_tcp::forward(forward_hash& out_hash_data, Packet& p, size_t off)
}
int tcpv4_listen(tcp<ipv4_traits>& tcpv4, uint16_t port, const SocketOptions &opts,
- int type, ServerSocket *sock)
+ int type, unsigned addr_slot, ServerSocket *sock)
{
- auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts, type);
+ auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts,
+ type, addr_slot);
int r = p->listen();
if (r < 0) {
delete p;
diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h
index fa12af6b27..6bb52973e0 100644
--- a/src/msg/async/dpdk/DPDK.h
+++ b/src/msg/async/dpdk/DPDK.h
@@ -833,7 +833,7 @@ class DPDKDevice {
subscription<Packet> receive(unsigned cpuid, std::function<int (Packet)> next_packet) {
auto sub = _queues[cpuid]->_rx_stream.listen(std::move(next_packet));
_queues[cpuid]->rx_start();
- return std::move(sub);
+ return sub;
}
ethernet_address hw_address() {
struct ether_addr mac;
@@ -849,7 +849,7 @@ class DPDKDevice {
std::unique_ptr<DPDKQueuePair> init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) {
std::unique_ptr<DPDKQueuePair> qp;
qp = std::unique_ptr<DPDKQueuePair>(new DPDKQueuePair(c, center, this, qid));
- return std::move(qp);
+ return qp;
}
unsigned hash2qid(uint32_t hash) {
// return hash % hw_queues_count();
diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
index db9cd2a764..f929da3178 100644
--- a/src/msg/async/dpdk/Packet.h
+++ b/src/msg/async/dpdk/Packet.h
@@ -125,7 +125,7 @@ class Packet {
n->rss_hash.construct(old->rss_hash);
std::copy(old->frags, old->frags + old->_nr_frags, n->frags);
old->copy_internal_fragment_to(n.get());
- return std::move(n);
+ return n;
}
static std::unique_ptr<impl> copy(impl* old) {
@@ -134,7 +134,7 @@ class Packet {
static std::unique_ptr<impl> allocate_if_needed(std::unique_ptr<impl> old, size_t extra_frags) {
if (old->_allocated_frags >= old->_nr_frags + extra_frags) {
- return std::move(old);
+ return old;
}
return copy(old.get(), std::max<size_t>(old->_nr_frags + extra_frags, 2 * old->_nr_frags));
}

29
sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch

@ -0,0 +1,29 @@
diff --git a/src/ceph-crash.in b/src/ceph-crash.in
index 5bfb50c474..d53c4eeb6a 100755
--- a/src/ceph-crash.in
+++ b/src/ceph-crash.in
@@ -1,4 +1,4 @@
-#!@PYTHON_EXECUTABLE@
+#!@PYTHON3_EXECUTABLE@
# -*- mode:python -*-
# vim: ts=4 sw=4 smarttab expandtab
diff --git a/src/ceph.in b/src/ceph.in
index f060023f57..3a84263ccc 100755
--- a/src/ceph.in
+++ b/src/ceph.in
@@ -1,4 +1,4 @@
-#!@PYTHON_EXECUTABLE@
+#!@PYTHON3_EXECUTABLE@
# -*- mode:python -*-
# vim: ts=4 sw=4 smarttab expandtab
#
@@ -66,7 +66,7 @@ DEVMODEMSG = '*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *
def respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path):
execv_cmd = []
if 'CEPH_DBG' in os.environ:
- execv_cmd += ['@PYTHON_EXECUTABLE@', '-mpdb']
+ execv_cmd += ['@PYTHON3_EXECUTABLE@', '-mpdb']
if platform.system() == "Darwin":
lib_path_var = "DYLD_LIBRARY_PATH"

76
sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch

@ -0,0 +1,76 @@
diff --git a/src/include/blobhash.h b/src/include/blobhash.h
index 597884e4c9..97f2065ce3 100644
--- a/src/include/blobhash.h
+++ b/src/include/blobhash.h
@@ -14,33 +14,40 @@
#ifndef CEPH_BLOBHASH_H
#define CEPH_BLOBHASH_H
+#include <cstdint>
#include "hash.h"
-/*
-- this is to make some of the STL types work with 64 bit values, string hash keys, etc.
-- added when i was using an old STL.. maybe try taking these out and see if things
- compile now?
-*/
-
class blobhash {
public:
- uint32_t operator()(const char *p, unsigned len) {
- static rjhash<uint32_t> H;
- uint32_t acc = 0;
+ uint32_t operator()(const void* p, size_t len) {
+ static rjhash<std::uint32_t> H;
+ std::uint32_t acc = 0;
+ auto buf = static_cast<const unsigned char*>(p);
while (len >= sizeof(acc)) {
- acc ^= *(uint32_t*)p;
- p += sizeof(uint32_t);
- len -= sizeof(uint32_t);
+ acc ^= unaligned_load(buf);
+ buf += sizeof(std::uint32_t);
+ len -= sizeof(std::uint32_t);
}
- int sh = 0;
- while (len) {
- acc ^= (uint32_t)*p << sh;
- sh += 8;
- len--;
- p++;
+ // handle the last few bytes of p[-(len % 4):]
+ switch (len) {
+ case 3:
+ acc ^= buf[2] << 16;
+ [[fallthrough]];
+ case 2:
+ acc ^= buf[1] << 8;
+ [[fallthrough]];
+ case 1:
+ acc ^= buf[0];
+ [[fallthrough]];
}
return H(acc);
}
+private:
+ static inline std::uint32_t unaligned_load(const unsigned char* p) {
+ std::uint32_t result;
+ __builtin_memcpy(&result, p, sizeof(result));
+ return result;
+ }
};
diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h
index b6952ca498..576b7d6b8a 100644
--- a/src/msg/msg_types.h
+++ b/src/msg/msg_types.h
@@ -566,7 +566,7 @@ namespace std {
size_t operator()( const entity_addr_t& x ) const
{
static blobhash H;
- return H((const char*)&x, sizeof(x));
+ return H(&x, sizeof(x));
}
};
} // namespace std

39
sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch

@ -0,0 +1,39 @@
diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
index b6c7861838..8ce95a93a5 100644
--- a/src/pybind/mgr/dashboard/CMakeLists.txt
+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
add_custom_target(mgr-dashboard-test-venv
COMMAND
- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
COMMENT "dashboard tests virtualenv is being created")
add_dependencies(tests mgr-dashboard-test-venv)
@@ -14,9 +14,9 @@ function(add_npm_command)
set(multi_kw COMMAND DEPENDS)
cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
string(REPLACE ";" " " command "${NC_COMMAND}")
- if(NC_NODEENV)
- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
- endif()
+ #if(NC_NODEENV)
+ # string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+ #endif()
string(REPLACE " " ";" command "${command}")
add_custom_command(
OUTPUT "${NC_OUTPUT}"
@@ -41,9 +41,9 @@ else()
add_custom_command(
OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
+ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "dashboard nodeenv is being installed"
)

41
sys-cluster/ceph/files/ceph-14.2.8-32bit.patch

@ -0,0 +1,41 @@
diff -Naur ceph-14.2.8.orig/CMakeLists.txt ceph-14.2.8/CMakeLists.txt
--- ceph-14.2.8.orig/CMakeLists.txt 2020-03-02 18:49:20.000000000 +0100
+++ ceph-14.2.8/CMakeLists.txt 2020-04-08 18:01:17.060097883 +0200
@@ -150,6 +150,8 @@
CHECK_TYPE_SIZE(__s16 __S16)
CHECK_TYPE_SIZE(__s32 __S32)
CHECK_TYPE_SIZE(__s64 __S64)
+CHECK_TYPE_SIZE(size_t SIZE_SIZE_T)
+CHECK_TYPE_SIZE(unsigned SIZE_UNSIGNED)
unset(CMAKE_EXTRA_INCLUDE_FILES)
include(CheckSymbolExists)
diff -Naur ceph-14.2.8.orig/src/include/buffer.h ceph-14.2.8/src/include/buffer.h
--- ceph-14.2.8.orig/src/include/buffer.h 2020-03-02 18:49:20.000000000 +0100
+++ ceph-14.2.8/src/include/buffer.h 2020-04-08 18:01:55.099897524 +0200
@@ -737,7 +737,9 @@
void advance(int o) = delete;
void advance(unsigned o);
+#if SIZE_SIZE_T != SIZE_UNSIGNED
void advance(size_t o) { advance(static_cast<unsigned>(o)); }
+#endif
void seek(unsigned o);
char operator*() const;
iterator_impl& operator++();
diff -Naur ceph-14.2.8.orig/src/include/config-h.in.cmake ceph-14.2.8/src/include/config-h.in.cmake
--- ceph-14.2.8.orig/src/include/config-h.in.cmake 2020-03-02 18:49:20.000000000 +0100
+++ ceph-14.2.8/src/include/config-h.in.cmake 2020-04-08 18:01:33.360012038 +0200
@@ -81,6 +81,12 @@
/* Define to 1 if the system has the type `__u8'. */
#cmakedefine HAVE___U8 1
+/* Size of `size_t` */
+#cmakedefine SIZE_SIZE_T @SIZE_SIZE_T@
+
+/* Size of `unsigned` */
+#cmakedefine SIZE_UNSIGNED @SIZE_UNSIGNED@
+
/* Define if you have res_nquery */
#cmakedefine HAVE_RES_NQUERY

73
sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch

@ -0,0 +1,73 @@
diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
index c9ee8c1b8f..09f75543da 100644
--- a/cmake/modules/AddCephTest.cmake
+++ b/cmake/modules/AddCephTest.cmake
@@ -68,14 +68,6 @@ function(add_tox_test name)
endif()
string(REPLACE ";" "," tox_envs "${tox_envs}")
find_package(Python3 QUIET REQUIRED)
- add_custom_command(
- OUTPUT ${venv_path}/bin/activate
- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
- WORKING_DIRECTORY ${tox_path}
- COMMENT "preparing venv for ${name}")
- add_custom_target(${name}-venv
- DEPENDS ${venv_path}/bin/activate)
- add_dependencies(tests ${name}-venv)
add_test(
NAME ${test_name}
COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
index 4224499c47..9a6c87595b 100644
--- a/src/ceph-volume/CMakeLists.txt
+++ b/src/ceph-volume/CMakeLists.txt
@@ -8,22 +8,6 @@ if(FREEBSD)
add_subdirectory(plugin/zfs)
endif()
-# Required for running ceph-volume inventory in a vstart environment
-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
-
-add_custom_command(
- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
- COMMENT "ceph-volume venv is being created")
-
-add_custom_command(
- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
-
add_custom_target(ceph-volume-venv-setup
DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
index 9a8a03f0a8..8fbf65988e 100644
--- a/src/pybind/mgr/dashboard/CMakeLists.txt
+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
@@ -5,9 +5,6 @@ function(add_npm_command)
set(multi_kw COMMAND DEPENDS)
cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
string(REPLACE ";" " " command "${NC_COMMAND}")
- if(NC_NODEENV)
- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
- endif()
string(REPLACE " " ";" command "${command}")
add_custom_command(
OUTPUT "${NC_OUTPUT}"
@@ -29,10 +26,8 @@ else()
set(nodeenv NODEENV)
add_custom_command(
- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.18.1
+ OUTPUT "/bin/npm"
+ COMMAND /bin/nodeenv -p --node=10.18.1
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "dashboard nodeenv is being installed"
)

15
sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch

@ -0,0 +1,15 @@
diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
index de9748878b..4b86b36d35 100644
--- a/cmake/modules/BuildRocksDB.cmake
+++ b/cmake/modules/BuildRocksDB.cmake
@@ -6,10 +6,6 @@ function(build_rocksdb)
# CMAKE_PREFIX_PATH, for which reason we'll have to use some other separator.
string(REPLACE ";" "!" CMAKE_PREFIX_PATH_ALT_SEP "${CMAKE_PREFIX_PATH}")
list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP})
- if(CMAKE_TOOLCHAIN_FILE)
- list(APPEND rocksdb_CMAKE_ARGS
- -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE)
- endif()
if(ALLOCATOR STREQUAL "jemalloc")
list(APPEND rocksdb_CMAKE_ARGS -DWITH_JEMALLOC=ON)

12
sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch

@ -0,0 +1,12 @@
diff -ur ceph-15.2.2/systemd/ceph-osd@.service.in ceph-15.2.2.af/systemd/ceph-osd@.service.in
--- ceph-15.2.2/systemd/ceph-osd@.service.in 2020-05-18 16:25:12.000000000 +0000
+++ ceph-15.2.2.af/systemd/ceph-osd@.service.in 2020-05-21 21:20:58.318655944 +0000
@@ -10,7 +10,7 @@
EnvironmentFile=-@SYSTEMD_ENV_FILE@
Environment=CLUSTER=ceph
ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
ExecReload=/bin/kill -HUP $MAINPID
LockPersonality=true
MemoryDenyWriteExecute=true

9
sys-cluster/ceph/files/ceph-15.2.3-spdk-compile.patch

@ -0,0 +1,9 @@
--- ceph-15.2.3.orig/cmake/modules/BuildSPDK.cmake 2020-05-29 09:24:50.000000000 -0700
+++ ceph-15.2.3/cmake/modules/BuildSPDK.cmake 2020-06-01 10:36:14.629306433 -0700
@@ -1,5 +1,5 @@
macro(build_spdk)
- set(DPDK_DIR ${CMAKE_BINARY_DIR}/src/dpdk)
+ set(DPDK_DIR ${CMAKE_SOURCE_DIR}/src/dpdk)
if(NOT TARGET dpdk-ext)
include(BuildDPDK)
build_dpdk(${DPDK_DIR})

66
sys-cluster/ceph/files/ceph-15.2.4-system-uring.patch

@ -0,0 +1,66 @@
diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt
index 760244b9b4..7f83923671 100644
--- a/src/os/CMakeLists.txt
+++ b/src/os/CMakeLists.txt
@@ -134,27 +134,6 @@ if(WITH_EVENTTRACE)
endif()
if(WITH_LIBURING)
- include(ExternalProject)
- if("${CMAKE_GENERATOR}" MATCHES "Make")
- set(make_cmd "$(MAKE)")
- else()
- set(make_cmd "make")
- endif()
- ExternalProject_Add(liburing_ext
- DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/src/
- GIT_REPOSITORY http://git.kernel.dk/liburing
- GIT_TAG "4e360f71131918c36774f51688e5c65dea8d43f2"
- SOURCE_DIR ${CMAKE_BINARY_DIR}/src/liburing
- CONFIGURE_COMMAND <SOURCE_DIR>/configure
- BUILD_COMMAND env CC=${CMAKE_C_COMPILER} ${make_cmd} -C src -s
- BUILD_IN_SOURCE 1
- INSTALL_COMMAND "")
- unset(make_cmd)
- add_library(liburing STATIC IMPORTED GLOBAL)
- add_dependencies(liburing liburing_ext)
- set_target_properties(liburing PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
- IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/src/liburing/src/liburing.a")
- target_link_libraries(os liburing)
- target_include_directories(os SYSTEM PRIVATE "${CMAKE_BINARY_DIR}/src/liburing/src/include")
+ pkg_check_modules(LIBURING REQUIRED IMPORTED_TARGET liburing)
+ target_link_libraries(os uring)
endif(WITH_LIBURING)
diff --git a/src/os/bluestore/io_uring.cc b/src/os/bluestore/io_uring.cc
index 54fa0f9535..4ba83cf172 100644
--- a/src/os/bluestore/io_uring.cc
+++ b/src/os/bluestore/io_uring.cc
@@ -7,6 +7,8 @@
#include "liburing.h"
#include <sys/epoll.h>
+#include <unistd.h>
+#include <sys/syscall.h>
/* Options */
@@ -134,8 +136,7 @@ int ioring_queue_t::init(std::vector<int> &fds)
if (ret < 0)
return ret;
- ret = io_uring_register(d->io_uring.ring_fd, IORING_REGISTER_FILES,
- &fds[0], fds.size());
+ ret = io_uring_register_files(&d->io_uring, &fds[0], fds.size());
if (ret < 0) {
ret = -errno;
goto close_ring_fd;
@@ -214,7 +215,7 @@ bool ioring_queue_t::supported()
struct io_uring_params p;
memset(&p, 0, sizeof(p));
- int fd = io_uring_setup(16, &p);
+ int fd = syscall(SYS_io_uring_setup, 16, &p);
if (fd < 0)
return false;

15
sys-cluster/ceph/files/ceph-15.2.5-glibc-2.32.patch

@ -0,0 +1,15 @@
diff -NaurBwdp a/src/global/signal_handler.h src/global/b/signal_handler.h
--- a/src/global/signal_handler.h 2020-10-01 03:15:48.208164979 +0700
+++ b/src/global/signal_handler.h 2020-10-01 03:15:40.655244081 +0700
@@ -20,11 +20,7 @@
typedef void (*signal_handler_t)(int);
-#ifndef HAVE_REENTRANT_STRSIGNAL
-# define sig_str(signum) sys_siglist[signum]
-#else
# define sig_str(signum) strsignal(signum)
-#endif
void install_sighandler(int signum, signal_handler_t handler, int flags);

12
sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch

@ -0,0 +1,12 @@
diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
index aa6edbc18b..90c551c179 100644
--- a/src/tools/rbd/action/Bench.cc
+++ b/src/tools/rbd/action/Bench.cc
@@ -9,6 +9,7 @@
#include "common/ceph_mutex.h"
#include "include/types.h"
#include "global/signal_handler.h"
+#include <atomic>
#include <iostream>
#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics/stats.hpp>

27
sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch

@ -0,0 +1,27 @@
From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
From: Jan Fajerski <jfajerski@suse.com>
Date: Fri, 12 Jun 2020 09:27:36 +0200
Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
/usr/libexec
Fixes: https://tracker.ceph.com/issues/45984
Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
---
systemd/ceph-osd@.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
index a0067d347220..4a2254e99478 100644
--- a/systemd/ceph-osd@.service.in
+++ b/systemd/ceph-osd@.service.in
@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
EnvironmentFile=-@SYSTEMD_ENV_FILE@
Environment=CLUSTER=ceph
ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
ExecReload=/bin/kill -HUP $MAINPID
LockPersonality=true
MemoryDenyWriteExecute=true

77
sys-cluster/ceph/files/ceph-15.2.8-arm32build.patch

@ -0,0 +1,77 @@
diff -Naur ceph-15.2.8-orig/src/mds/PurgeQueue.cc ceph-15.2.8/src/mds/PurgeQueue.cc
--- ceph-15.2.8-orig/src/mds/PurgeQueue.cc 2020-12-16 18:29:50.000000000 +0100
+++ ceph-15.2.8/src/mds/PurgeQueue.cc 2021-03-01 07:57:26.654460816 +0100
@@ -503,7 +503,7 @@
in_flight[expire_to] = item;
logger->set(l_pq_executing, in_flight.size());
- files_high_water = std::max(files_high_water, in_flight.size());
+ files_high_water = std::max(files_high_water, static_cast<uint64_t>(in_flight.size()));
logger->set(l_pq_executing_high_water, files_high_water);
auto ops = _calculate_ops(item);
ops_in_flight += ops;
@@ -581,7 +581,7 @@
logger->set(l_pq_executing_ops_high_water, ops_high_water);
in_flight.erase(expire_to);
logger->set(l_pq_executing, in_flight.size());
- files_high_water = std::max(files_high_water, in_flight.size());
+ files_high_water = std::max(files_high_water, static_cast<uint64_t>(in_flight.size()));
logger->set(l_pq_executing_high_water, files_high_water);
return;
}
@@ -659,7 +659,7 @@
in_flight.erase(iter);
logger->set(l_pq_executing, in_flight.size());
- files_high_water = std::max(files_high_water, in_flight.size());
+ files_high_water = std::max(files_high_water, static_cast<uint64_t>(in_flight.size()));
logger->set(l_pq_executing_high_water, files_high_water);
dout(10) << "in_flight.size() now " << in_flight.size() << dendl;
diff -Naur ceph-15.2.8-orig/src/pybind/ceph_argparse.py ceph-15.2.8/src/pybind/ceph_argparse.py
--- ceph-15.2.8-orig/src/pybind/ceph_argparse.py 2020-12-16 18:29:50.000000000 +0100
+++ ceph-15.2.8/src/pybind/ceph_argparse.py 2021-02-26 06:57:25.428574224 +0100
@@ -1319,7 +1319,10 @@
# otherwise it will keep polling until timeout or thread stops.
# wait for INT32_MAX, as python 3.6.8 use int32_t to present the
# timeout in integer when converting it to nanoseconds
- timeout = (1 << (32 - 1)) - 1
+ #timeout = (1 << (32 - 1)) - 1
+ # On arm32 this leads to a nearly immediately thrown timeout exception...
+ # The following works...
+ timeout = (1 << (29 - 1)) - 1
t = RadosThread(func, *args, **kwargs)
# allow the main thread to exit (presumably, avoid a join() on this
diff -Naur ceph-15.2.8-orig/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc ceph-15.2.8/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc
--- ceph-15.2.8-orig/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc 2020-12-16 18:29:50.000000000 +0100
+++ ceph-15.2.8/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc 2021-02-25 16:47:45.405117124 +0100
@@ -234,7 +234,7 @@
json_spirit::mObject root_obj;
root_obj["replay_state"] = replay_state;
- root_obj["remote_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
+ root_obj["remote_snapshot_timestamp"] = static_cast<uint64_t>(remote_snap_info->timestamp.sec());
auto matching_remote_snap_id = util::compute_remote_snap_id(
m_state_builder->local_image_ctx->image_lock,
@@ -248,8 +248,8 @@
// use the timestamp from the matching remote image since
// the local snapshot would just be the time the snapshot was
// synced and not the consistency point in time.
- root_obj["local_snapshot_timestamp"] =
- matching_remote_snap_it->second.timestamp.sec();
+ root_obj["local_snapshot_timestamp"] = static_cast<uint64_t>(
+ matching_remote_snap_it->second.timestamp.sec());
}
matching_remote_snap_it = m_state_builder->remote_image_ctx->snap_info.find(
@@ -257,7 +257,7 @@
if (m_remote_snap_id_end != CEPH_NOSNAP &&
matching_remote_snap_it !=
m_state_builder->remote_image_ctx->snap_info.end()) {
- root_obj["syncing_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
+ root_obj["syncing_snapshot_timestamp"] = static_cast<uint64_t>(remote_snap_info->timestamp.sec());
root_obj["syncing_percent"] = static_cast<uint64_t>(
100 * m_local_mirror_snap_ns.last_copied_object_number /
static_cast<float>(std::max<uint64_t>(1U, m_local_object_count)));

16
sys-cluster/ceph/files/ceph-glibc-2.32-no-sys_siglist.patch

@ -0,0 +1,16 @@
diff -Naur ceph-10.2.10.orig/src/global/signal_handler.h ceph-10.2.10/src/global/signal_handler.h
--- ceph-10.2.10.orig/src/global/signal_handler.h 2017-10-04 16:19:25.000000000 +0200
+++ ceph-10.2.10/src/global/signal_handler.h 2021-03-07 21:29:10.000445565 +0100
@@ -22,11 +22,7 @@
typedef void (*signal_handler_t)(int);
-#ifndef HAVE_REENTRANT_STRSIGNAL
-# define sig_str(signum) sys_siglist[signum]
-#else
-# define sig_str(signum) strsignal(signum)
-#endif
+#define sig_str(signum) strsignal(signum)
void install_sighandler(int signum, signal_handler_t handler, int flags);

12
sys-cluster/ceph/files/ceph-mds_at.service

@ -0,0 +1,12 @@
[Unit]
Description=Ceph metadata server daemon
After=network-online.target local-fs.target
Wants=network-online.target local-fs.target
PartOf=ceph.target
[Service]
Environment=CLUSTER=ceph
ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i
[Install]
WantedBy=ceph.target

4
sys-cluster/ceph/files/ceph-mds_at.service.conf

@ -0,0 +1,4 @@
# Uncomment the following lines to configure the cluster name for Ceph MDSs.
#[Service]
#Environment=CLUSTER=ceph

13
sys-cluster/ceph/files/ceph-osd_at.service

@ -0,0 +1,13 @@
[Unit]
Description=Ceph object storage daemon
After=network-online.target local-fs.target
Wants=network-online.target local-fs.target
PartOf=ceph.target
[Service]
Environment=CLUSTER=ceph
ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i
ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
[Install]
WantedBy=ceph.target

4
sys-cluster/ceph/files/ceph-osd_at.service.conf

@ -0,0 +1,4 @@
# Uncomment the following lines to configure the cluster name for Ceph OSDs.
#[Service]
#Environment=CLUSTER=ceph

1
sys-cluster/ceph/files/ceph-tmpfilesd

@ -0,0 +1 @@
d /run/ceph 0770 ceph ceph -

4
sys-cluster/ceph/files/ceph.confd-r1

@ -0,0 +1,4 @@
# Example
# default ceph conf file
#ceph_conf="/etc/ceph/ceph.conf"

8
sys-cluster/ceph/files/ceph.confd-r2

@ -0,0 +1,8 @@
# default ceph conf file
#ceph_conf="/etc/ceph/ceph.conf"
# Set ulimits for Ceph services.
rc_ulimit="-n 32768"
# initd stop timeout.
#CEPH_TERMTIMEOUT="TERM/60/KILL/5"

63
sys-cluster/ceph/files/ceph.confd-r3

@ -0,0 +1,63 @@
# /etc/conf.d/ceph: startup configurations for ceph
# default ceph conf file
#ceph_conf="/etc/ceph/ceph.conf"
# Set ulimits for Ceph services.
#rc_ulimit="-n 131072 -u 257256"
# the directory under /run to store runtime information in
#rundir=/run/ceph
# the user and group to run ceph as
# settings for openrc supervisor for various ceph daemons
#
# defaults (can be overidden for each daemon)
# stderr and stdout values get .${id}-std{out,err}.log appended to the provided value
#
#respawn_delay=20
#respawn_max=5
#respawn_period=1800
#stdout="/dev/null"
#stderr="/dev/null"
# radosgw
#radosgw_respawn_max
#radosgw_respawn_delay=20
#radosgw_respawn_period=1800
#radosgw_stdout="/dev/null"
#radosgw_stderr="/dev/null"
# mon
#mon_respawn_max=5
#mon_respawn_delay=20
#mon_respawn_period=1800
#mon_stdout="/dev/null"
#mon_stderr="/dev/null"
# osd
#osd_respawn_max=5
#osd_respawn_delay=30
#osd_respawn_period=1800
#osd_stdout="/dev/null"
#osd_stderr="/dev/null"
# mds
#mds_respawn_max=5
#mds_respawn_delay=20
#mds_respawn_period=1800
#mds_stdout="/dev/null"
#mds_stderr="/dev/null"
# mgr
#mgr_respawn_max=5
#mgr_respawn_delay=20
#mgr_respawn_period=1800
#mgr_stdout="/dev/null"
#mgr_stderr="/dev/null"
# initd stop timeout.
#CEPH_TERMTIMEOUT="TERM/120/KILL/5"
#
# vim:ft=gentoo-conf-d:ts=4:sts=4:sw=4:noet:

70
sys-cluster/ceph/files/ceph.confd-r4

@ -0,0 +1,70 @@
# /etc/conf.d/ceph: startup configurations for ceph
# default ceph conf file
#ceph_conf="/etc/ceph/ceph.conf"
# Set ulimits for Ceph services.
#rc_ulimit="-n 1048576 -u 1048576"
# the directory under /run to store runtime information in
#rundir=/run/ceph
# the user and group to run ceph as
#user="ceph"
#group="ceph"
# tell openrc to use control groups to make sure everything gets killed
# properly on stop. Highly reccommended to leave this enabled.
rc_cgroup_cleanup=1
# settings for openrc supervisor for various ceph daemons
#
# defaults (can be overidden for each daemon)
# stderr and stdout values get .${id}-std{out,err}.log appended
# to the provided value
#
#respawn_delay=20
#respawn_max=5
#respawn_period=1800
#stdout="/dev/null"
#stderr="/dev/null"
# radosgw
#radosgw_respawn_max
#radosgw_respawn_delay=20
#radosgw_respawn_period=1800
#radosgw_stdout="/dev/null"
#radosgw_stderr="/dev/null"
# mon
#mon_respawn_max=5
#mon_respawn_delay=20
#mon_respawn_period=1800
#mon_stdout="/dev/null"
#mon_stderr="/dev/null"
# osd
#osd_respawn_max=5
#osd_respawn_delay=30
#osd_respawn_period=1800
#osd_stdout="/dev/null"
#osd_stderr="/dev/null"
# mds
#mds_respawn_max=5
#mds_respawn_delay=20
#mds_respawn_period=1800
#mds_stdout="/dev/null"
#mds_stderr="/dev/null"
# mgr
#mgr_respawn_max=5
#mgr_respawn_delay=20
#mgr_respawn_period=1800
#mgr_stdout="/dev/null"
#mgr_stderr="/dev/null"
# initd stop timeout.
#CEPH_TERMTIMEOUT="TERM/120/KILL/5"
#
# vim:ft=gentoo-conf-d:ts=4:sts=4:sw=4:noet:

15
sys-cluster/ceph/files/ceph.confd-r5

@ -0,0 +1,15 @@
# Example
# default ceph conf file
#ceph_conf="/etc/ceph/ceph.conf"
# Set RADOSGW_WANT_NAME_PARAM=y in order to make the init script add
# a --name=client.${RC_SVCNAME} parameter to command_args for radosgw.*
# service instances. This will make the service use a key by the name
# of client.${RC_SVCNAME} instead of the default client.admin key.
# A setting like this in the ceph config file can be used to customize
# the rgw_data and keyring paths used by radosgw instances:
# [client]
# rgw_data = /var/lib/ceph/radosgw/$cluster-$id
# keyring = /var/lib/ceph/radosgw/$cluster-$id/keyring
RADOSGW_WANT_NAME_PARAM=n

115
sys-cluster/ceph/files/ceph.initd-r11

@ -0,0 +1,115 @@
#!/sbin/openrc-run
# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
if [ -r "${_CONFD_FILE}" ]; then
. "${_CONFD_FILE}" || exit 1
fi
: "${ceph_conf:=/etc/ceph/ceph.conf}"
daemon_type="${RC_SVCNAME#ceph-}"
daemon_type="${daemon_type%%.*}"
daemon_id="${RC_SVCNAME#ceph-*.}"
daemon_id="${daemon_id:-0}"
: "${rundir:=/run/ceph}"
: "${user:=ceph}"
: "${group:=ceph}"
: "${rc_ulimit:=-n 1048576 -u 1048576}"
pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
command="/usr/bin/${RC_SVCNAME%%.*}"
command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
extra_commands="reload"
command_args_foreground="--foreground"
retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
start_stop_daemon_args="--user ${user} --group ${group}"
supervise_daemon_args="--user ${user} --group ${group}"
: "${supervisor:=supervise-daemon}"
: "${stdout:=/var/log/ceph/ceph}"
: "${stderr:=/var/log/ceph/ceph}"
: "${respawn_delay:=10}"
: "${respawn_max:=5}"
: "${respawn_period:=1800}"
: "${osd_respawn_delay:=15}"
: "{osd_respawn_max:=10}"
: "{radosgw_respawn_max:=5}"
: "${radosgw_respawn_period:=30}"
depend() {
use dns logger
after net ntpd ntp-client chronyd
before netmount
}
is_type_valid() {
case ${daemon_type} in
mon|mds|osd|mgr|radosgw) return 0;;
*) return 1;;
esac
}
start_pre() {
local log_dir
export CEPH_CONF="${ceph_conf}"
checkpath -d -q -o "${user}:${group}" "${rundir}"
if ! is_type_valid ;then
eerror "Please give valid Ceph Server Type: mds, mon, osd"
return 1
elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
return 1
fi
if [ -n "${bluestore_osd_fsid}" ]; then
einfo "Mounting Bluestore"
ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
fi
if [ "${daemon_type}" = radosgw ] && [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
command_args="${command_args} --name client.${daemon_id}"
fi
local arg_name arg_val repl_arg_name
for arg_name in stdout stderr respawn_delay respawn_max respawn_period; do
eval arg_val="\${${daemon_type}_${arg_name}}"
if [ -z "${arg_val}" ]; then
eval arg_val="\${${arg_name}}"
else
eval "${arg_name}=\"${arg_val}\""
fi
if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
local log_file log_postfix
log_postfix=".${daemon_id}-${arg_name}.log"
log_file="${arg_val}"
if [ "${log_file}" != /dev/null ]; then
log_file="${log_file}${log_postfix}"
log_dir="$(dirname "${log_file}")"
checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
fi
repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ -)"
supervise_daemon_args="${supervise_daemon_args} --${repl_arg_name}=${log_file}"
fi
done
}
reload() {
ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
start-stop-daemon --signal 1 "${start_stop_daemon_args}"
eend ${?}
}
# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:

115
sys-cluster/ceph/files/ceph.initd-r12

@ -0,0 +1,115 @@
#!/sbin/openrc-run
# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
if [ -r "${_CONFD_FILE}" ]; then
. "${_CONFD_FILE}" || exit 1
fi
: "${ceph_conf:=/etc/ceph/ceph.conf}"
daemon_type="${RC_SVCNAME#ceph-}"
daemon_type="${daemon_type%%.*}"
daemon_id="${RC_SVCNAME#ceph-*.}"
daemon_id="${daemon_id:-0}"
: "${rundir:=/run/ceph}"
: "${user:=ceph}"
: "${group:=ceph}"
: "${rc_ulimit:=-n 1048576 -u 1048576}"
pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
command="/usr/bin/${RC_SVCNAME%%.*}"
command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
extra_commands="${extra_commands} reload"
command_args_foreground="--foreground"
retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
start_stop_daemon_args="--user ${user} --group ${group}"
supervise_daemon_args="--user ${user} --group ${group}"
: "${supervisor:=supervise-daemon}"
: "${stdout:=/var/log/ceph/ceph}"
: "${stderr:=/var/log/ceph/ceph}"
: "${respawn_delay:=10}"
: "${respawn_max:=5}"
: "${respawn_period:=1800}"
: "${osd_respawn_delay:=15}"
: "{osd_respawn_max:=10}"
: "{radosgw_respawn_max:=5}"
: "${radosgw_respawn_period:=30}"
depend() {
use dns logger
after net ntpd ntp-client chronyd
before netmount
}
is_type_valid() {
case ${daemon_type} in
mon|mds|osd|mgr|radosgw) return 0;;
*) return 1;;
esac
}
start_pre() {
local log_dir
export CEPH_CONF="${ceph_conf}"
checkpath -d -q -o "${user}:${group}" "${rundir}"
if ! is_type_valid ;then
eerror "Please give valid Ceph Server Type: mds, mon, osd"
return 1
elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
return 1
fi
if [ -n "${bluestore_osd_fsid}" ]; then
einfo "Mounting Bluestore"
ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
fi
if [ "${daemon_type}" = radosgw ] && [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
command_args="${command_args} --name client.${daemon_id}"
fi
local arg_name arg_val repl_arg_name
for arg_name in stdout stderr respawn_delay respawn_max respawn_period; do
eval arg_val="\${${daemon_type}_${arg_name}}"
if [ -z "${arg_val}" ]; then
eval arg_val="\${${arg_name}}"
else
eval "${arg_name}=\"${arg_val}\""
fi
if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
local log_file log_postfix
log_postfix=".${daemon_id}-${arg_name}.log"
log_file="${arg_val}"
if [ "${log_file}" != /dev/null ]; then
log_file="${log_file}${log_postfix}"
log_dir="$(dirname "${log_file}")"
checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
fi
repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ -)"
supervise_daemon_args="${supervise_daemon_args} --${repl_arg_name}=${log_file}"
fi
done
}
reload() {
ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
start-stop-daemon --signal 1 "${start_stop_daemon_args}"
eend ${?}
}
# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:

40
sys-cluster/ceph/files/ceph.initd-r2

@ -0,0 +1,40 @@
#!/sbin/openrc-run
ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
extra_commands="reload"
daemon_type="${RC_SVCNAME#ceph-}"
daemon_type="${daemon_type%.*}"
daemon_id="${RC_SVCNAME#ceph-*.}"
daemon_id="${daemon_id:-0}"
command="/usr/bin/ceph-${daemon_type}"
pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
start_stop_daemon_args="--user ceph --group ceph"
depend() {
after net ntpd ntp-client chronyd
before netmount
}
is_type_valid() {
case ${daemon_type} in
mon|mds|osd) return 0;;
*) return 1;;
esac
}
start_pre() {
checkpath -d -q -o ceph "$(dirname "${pidfile}")"
if ! is_type_valid ;then
eerror "Please give valid Ceph Server Type: mds, mon, osd"
return 1
fi
}
reload() {
ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
eend $?
}
# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save