Commit Graph

140 Commits

Author SHA1 Message Date
Phillip Cloud
eeff2e3d9b
ceph: patch to pick up upstream arrow 18 s3select fix 2024-11-06 07:00:25 -05:00
Niklas Hambüchen
7ee755683d ceph: 18.2.4 -> 19.2.0
No-longer-necessary patches removed:

* dmcrypt: https://github.com/ceph/ceph/pull/57925
* Finduring.cmake: 670118abfb
* Python "packaging": d1d8df6faf

Additional changes:

* Add more runtime deps mentioned by upstream debian/control file.
* Tell Ceph to use our specified Python dependencies,
  instead of the bundled ones (for `cephadm`).
2024-10-08 04:07:10 +00:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
benaryorg
0cd631e61f tests/ceph: bluestore, dmcrypt, and IPv6 test
Signed-off-by: benaryorg <binary@benary.org>
2024-08-31 11:07:25 +00:00
Niklas Hambüchen
234267e6a1 ceph: Fix missing patch for Ceph with dmcrypt. Fixes #334975 2024-08-31 10:42:24 +00:00
Niklas Hambüchen
36459caf68 ceph: Fix build by fully vendoring old cryptography version nix files.
With cryptography 42 we can no longer just override the `src`,
because the derivation for 42 can no longer build version 40.

So revive the old version based on:

    git show d74195bc77c03b6b7aa7c3433205dd518f245ef2~:pkgs/development/python-modules/cryptography/default.nix > pkgs/development/python-modules/cryptography/40.nix
    git show d74195bc77c03b6b7aa7c3433205dd518f245ef2~:pkgs/development/python-modules/cryptography/vectors.nix > pkgs/development/python-modules/cryptography/vectors-40.nix           │

Also:

* Include a patch for CVE-2024-26130
* Run `nixfmt` on them.
* `Securiy` -> `Security ? null` because in the local override
  it doesn't seem to pass that Darwin-specific package on Linux;
  avoids error:
      Function called without required argument "Security"
2024-08-18 21:34:32 +00:00
Niklas Hambüchen
2f67c13015 ceph: Add nh2 to maintainers 2024-08-18 20:55:36 +00:00
Philip Taron
6245f7868f
ceph: remove with statements 2024-08-18 06:32:22 -07:00
Niklas Hambüchen
95f084845b
Merge pull request #334275 from nh2/ceph-18.2.4-fixes-1
ceph: Add patches for 2 runtime crashes
2024-08-14 04:23:47 +02:00
Niklas Hambüchen
e0751fa3ba ceph: Add patch to fix broken cryptsetup version parsing. Fixes #334227 2024-08-13 02:19:36 +00:00
Niklas Hambüchen
6db7ec1704 ceph: Add patch to fix Python packaging import (runtime semi-crash).
See https://github.com/NixOS/nixpkgs/pull/330226#issuecomment-2268421031
2024-08-13 02:08:58 +00:00
Sarah Brofeldt
6c10105164
Merge pull request #330226 from nh2/ceph-18.2.4
ceph: 18.2.1 -> 18.2.4
2024-08-09 11:03:47 +02:00
Niklas Hambüchen
5f31fa1e5f ceph: 18.2.1 -> 18.2.4 2024-08-08 02:50:17 +00:00
Tobias Mayer
a48a84cf24 ceph: Fix race in parallel build 2024-08-08 02:50:17 +00:00
Niklas Hambüchen
7012353d27
Merge pull request #328847 from tobim/pkgs/ceph-fix-parallel-build
ceph: Fix race in parallel build
2024-08-08 04:48:49 +02:00
adisbladis
e0816431a2 treewide: Pass self when overriding Python
Otherwise references to the Python interpreter inside the set are wrong, as demonstrated by:
``` nix
with import <nixpkgs> { };
let
  python' = python3.override {
    packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337";  }); };
  };
in python'.pkgs.python.pkgs.requests
```
which returns the _non_ overriden requests.

And the same with `self`:
```
with import <nixpkgs> { };
let
  python' = python3.override {
    self = python';
    packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337";  }); };
  };
in python'.pkgs.python.pkgs.requests
```
which returns the overriden requests.

This can manifest itself as file collisions when constructing environments or as subtly incorrect dependency graphs.
2024-08-03 12:18:56 +12:00
Tobias Mayer
63faf31b1e
ceph: Fix race in parallel build 2024-07-27 07:13:44 +02:00
superherointj
c4cdd4aaa3
ceph: fix build
Failure: https://hydra.nixos.org/build/265092568/nixlog/2/tail
2024-07-08 08:10:29 +02:00
github-actions[bot]
ae736c738d
Merge master into staging-next 2024-05-03 12:01:32 +00:00
Vladimír Čunát
54fd628479
ceph: switch python from 3.10 to 3.11
Some of the dependencies wouldn't build anymore:
https://hydra.nixos.org/build/257585236/nixlog/5/tail

Tested on x86_64-linux:
ceph ceph-client ceph-csi ceph-dev ceph.tests
2024-05-03 12:43:34 +02:00
Vladimír Čunát
0fd1859596
ceph: fix build of overridden pyopenssl
(but some other deps are still failing)
2024-05-03 11:34:16 +02:00
Jussi Kuokkanen
ce3f586775 pkgs/tools: remove licenses.gpl2 2024-05-02 21:06:26 +02:00
Daniel Barter
40b1df8140
ceph: pin to cython_0 (#302358) 2024-04-18 11:09:19 +02:00
Martin Weinelt
bad4ddcfd4
ceph: disable failing test in pyopenssl 2024-03-27 18:35:08 +01:00
Vladimír Čunát
20f77aa099
Merge #295458: staging-next 2024-03-13 2024-03-21 07:18:55 +01:00
Sarah Brofeldt
f7bba2d518 ceph: workaround broken mgr modules
This is yet another incarnation of https://tracker.ceph.com/issues/64213
which was fixed for cryptography specifically (thus fixing dashboard)
but since our bcrypt update https://github.com/NixOS/nixpkgs/pull/291195
every module broke for the same reason

Until upstream manages to get this fixed permanently, I don't see that
we can do much but "vendor" in these old deps.

It may be possible to more delicately patch the rust package underneath
bcrypt, but I'm not sure how
2024-03-19 10:19:20 +01:00
Martin Weinelt
69aa302c35
ceph: suppress pytest8 warnings in pyopenssl override 2024-03-17 19:38:59 +01:00
Sarah Brofeldt
aadc609b0e ceph: fix cryptography patching for in-expr version 2024-02-22 02:04:49 +00:00
Robert Schütz
b06ebb2cf3 ceph: fix cryptography override
Since ba83271df0 the build fails with

    applying patch /nix/store/46rxbbvl2l3mrxb50y9rzy7ahgx0lraj-d741901dddd731895346636c0d3556c6fa51fbe6.patch
    patching file tests/hazmat/primitives/test_aead.py
    Hunk #1 FAILED at 56.
    Hunk #2 FAILED at 197.
    Hunk #3 FAILED at 378.
    Hunk #4 FAILED at 525.
    Hunk #5 FAILED at 700.
    Hunk #6 FAILED at 844.
    6 out of 6 hunks FAILED -- saving rejects to file tests/hazmat/primitives/test_aead.py.rej
2024-02-17 23:34:40 -08:00
Robert Schütz
39ccdca518 ceph: 18.2.0 -> 18.2.1
Changelog: https://docs.ceph.com/en/latest/releases/reef/#v18-2-1-reef
2024-02-05 21:20:29 +00:00
Niklas Hambüchen
506b21518d ceph: Fix tests by adding back old required python libs. See #281858.
Fixes #241482.

Also fix test putting cluster in unhealthy `POOL_APP_NOT_ENABLED` state;
this seems to be the default state with Ceph 18.2.1 at least,
and it does not hurt to fix it now already in the way the Ceph docs say.

Also revert "nixosTests.ceph-single-node: remove dashboard check"

This reverts commit 41b27d7f4b.
2024-01-24 14:29:24 +00:00
Kartik Gokte
68221c35ff ceph: use absolute binary paths instead of relative paths
While trying to mount CephFS using libceph and systemd, mount.ceph tries to call "modinfo", "modprobe", and "grep", but fails with the error "sh: line 1: modprobe: command not found". This is because ceph calls these binaries by running the command "sh -c -- <application> %s %s", which does not pass the PATH environment variable through. This isn't usually a problem, because ceph, by default, calls the paths of these binaries as they would be in debian, in /sbin and /bin, but a change was made to replace these with relative paths, thus breaking the mounting process entirely. Replacing these relative paths with absolute store paths alleviates this issue whilst preserving all functionality.
2023-12-11 19:09:26 +05:30
Martin Weinelt
8c462229c3
ceph: drop sqlalchemy override
The flask-sqlalchemy package requires sqlalchemy>=2.0.16 now.
2023-10-25 23:08:10 +02:00
Niklas Hambüchen
9f3e7595f5
Merge pull request #247849 from nh2/ceph-18
ceph: 17.2.5 -> 18.2.0
2023-09-05 18:44:18 +02:00
Niklas Hambüchen
f8262c2cc6 ceph: 17.2.5 -> 18.2.0
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.
2023-08-08 02:16:59 +00:00
Adam Joseph
dc028fdac2 ceph: use availableOn instead of meta.available
pkg.meta.available is deprecated (see subsequent commit which adds a
warning) and does not distinguish between the buildPlatform and the
hostPlatform.
2023-08-05 16:27:33 -07:00
figsoda
b035cabadf pkgs/tools/filesystems: remove dead code
with the help of deadnix & nil
2023-07-25 10:08:41 -04:00
Vladimír Čunát
f5d5556aaf
ceph: fixup the embedded sqlalchemy
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
2023-07-21 09:41:49 +02:00
Weijia Wang
35690e335f treewide/tools: use top-level fetchPypi 2023-05-25 19:03:52 +03:00
Sandro Jäckel
264f60811e
ceph: use https to download src, use inherit 2023-05-19 23:02:56 +02:00
Martin Weinelt
deb1d7ac1e
ceph: 16.2.10 -> 17.2.5
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>
2023-03-24 23:50:45 +01:00
Martin Weinelt
cf7a8642fc
ceph: Pin sqlalchemy at 1.4.46
The pecan library it uses is incompatible with sqlalchemy>=2.0.
2023-03-08 14:44:18 +01:00
github-actions[bot]
67e4f6dde0
Merge staging-next into staging 2023-02-22 12:02:05 +00:00
Vladimír Čunát
9eeb000bfe
ceph: add xz dependency
It's needed to build after boost changes in a67949a3fc.
2023-02-22 09:05:05 +01:00
Martin Weinelt
9e7f9a402b
python310Packages.mako: Normalize attribute, pname, dirname 2023-02-19 21:36:02 +01:00
Nick Cao
9034e45a78
ceph: fix build with gcc 12 2023-02-06 13:46:51 +08:00
Guillaume Girol
33afbf39f6 treewide: switch to nativeCheckInputs
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.
2023-01-21 12:00:00 +00:00
Robin Stumm
c590d51037 ceph: comment where to find python dependencies
Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
2023-01-16 10:48:42 +01:00
Robin Stumm
2ed8ff81c5 ceph: add missing python library
required by mgr dashboard module
2023-01-14 14:56:08 +01:00
R. Ryantm
4303cfcc64 ceph: 16.2.9 -> 16.2.10 2022-07-28 00:44:37 +00:00