The following issues were encountered during the upgrade:
* "Could NOT find thrift (missing: thrift_LIBRARIES thrift_INCLUDE_DIR)"
Fixed by disabling Jaeger support, see added comment.
* ```
/build/ceph-18.2.0/src/extblkdev/ExtBlkDevInterface.h:38:10: fatal error: sys/capability.h: No such file or directory
38 | #include <sys/capability.h>
```
Fixed by `libcap` dependency.
Ceph's Debian dependencies include both `libcap` and `libcap-ng`:
c8c946c970/debian/control (L38-L39)
* ```
Manually-specified variables were not used by the project:
MGR_PYTHON_VERSION
```
Dropped 4 years ago for Ceph 15:
5fc657b40d
So I removed the flag.
* Warning:
```
-- Could NOT find nasm
```
Looking at the code (macros such as `HAVE_NASM_X64`), nasm existence actually results in some optimised crypto SIMD instructions being compiled, so we probably want this for performance.
Adding `nasm` to `nativeBuildInputs` first brought error:
```
/nix/store/p6dlr3skfhxpyphipg2bqnj52999banh-bash-5.2-p15/bin/bash: line 1: /build/ceph-18.2.0/src/nasm-wrapper: cannot execute: required file not found
make[2]: *** [src/crypto/isa-l/CMakeFiles/ceph_crypto_isal.dir/build.make:117: src/crypto/isa-l/CMakeFiles/ceph_crypto_isal.dir/isa-l_crypto/aes/cbc_multibinary.asm.o] Error 127
```
Solution: `patchShebangs src/nasm-wrapper`, even better `patchShebangs src/`.
* ```
Manually-specified variables were not used by the project:
WITH_SYSTEM_CIMG
WITH_SYSTEM_JSONCPP
```
These never were Ceph CMake options, so I removed them.
* `libcap-ng` is Linux-only, and only used for the `mount.ceph` command:
c8c946c970/src/CMakeLists.txt (L829-L830)
Thus use it for Linux only.
* The Parquet build error is now gone, so we can enable support for it.
This version-override approach is annoying me, as the original
derivation is then supposed to support multiple versions
without knowing about it. And naturally it tends to break.
(this time on 446a8703c3)
https://hydra.nixos.org/build/228178995/nixlog/3/tail
Updates Ceph from the Pacific to the Quincy release tree.
Upgrade to boost179 and python310, cleans up the python environment,
builds with more system libraries.
Disables parquet support for the radosgw, because I couldn't
get it to build.
Also properly enable the testsuite on ceph-common and generally unroll
and sort lists for a better overview and history.
Co-Authored-By: name_snrl <Demogorgon-74@ya.ru>
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
Since the setting DCMAKE_SKIP_BUILD_RPATH was disabled, we can now run
the checkPhase of cmake derivations without having to tweak the
LD_LIBRARY_PATH anymore.
the site-packages content was wrongly copied, causing a
.../site-packages/site-packages/... in the ceph-client packages.
This renders thi ceph tool unusable.