diff options
Diffstat (limited to 'pkgs/tools/filesystems/ceph/default.nix')
-rw-r--r-- | pkgs/tools/filesystems/ceph/default.nix | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index 3066be27772..aa3622ed057 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -10,6 +10,7 @@ , cunit, snappy , rocksdb, makeWrapper , leveldb, oathToolkit +, libnl, libcap_ng # Optional Dependencies , yasm ? null, fcgi ? null, expat ? null @@ -88,9 +89,11 @@ let ps.webob ps.bcrypt ps.six + ps.pyyaml ]); + sitePackages = ceph-python-env.python.sitePackages; - version = "14.2.4"; + version = "14.2.6"; in rec { ceph = stdenv.mkDerivation { pname = "ceph"; @@ -98,7 +101,7 @@ in rec { src = fetchurl { url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz"; - sha256 = "1y6hixh6srd5aswhzq0sf0dbygwhx0ardx3w3f7qazf5rapvd03i"; + sha256 = "0qkyrb25r2a57n6k8ncb43x7hvhkmpi7abhfyi98mlz2lhmhzlm1"; }; patches = [ @@ -116,7 +119,7 @@ in rec { buildInputs = cryptoLibsMap.${cryptoStr} ++ [ boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3 malloc zlib openldap lttng-ust babeltrace gperf gtest cunit - snappy rocksdb lz4 oathToolkit leveldb + snappy rocksdb lz4 oathToolkit leveldb libnl libcap_ng ] ++ optionals stdenv.isLinux [ linuxHeaders utillinux libuuid udev keyutils optLibaio optLibxfs optZfs # ceph 14 @@ -133,7 +136,8 @@ in rec { # for pybind/rgw to find internal dep export LD_LIBRARY_PATH="$PWD/build/lib:$LD_LIBRARY_PATH" - # install target needs to be in PYTHONPATH for "*.pth support" check to succeed + # set PYTHONPATH, so the build system doesn't silently skip installing ceph-volume and others + export PYTHONPATH=${ceph-python-env}/${sitePackages}:$lib/${sitePackages}:$out/${sitePackages} patchShebangs src/script src/spdk src/test src/tools ''; @@ -157,6 +161,10 @@ in rec { postFixup = '' wrapPythonPrograms wrapProgram $out/bin/ceph-mgr --prefix PYTHONPATH ":" "$(toPythonPath ${placeholder "out"}):$(toPythonPath ${ceph-python-env})" + + # Test that ceph-volume exists since the build system has a tendency to + # silently drop it with misconfigurations. + test -f $out/bin/ceph-volume ''; enableParallelBuilding = true; @@ -185,11 +193,11 @@ in rec { platforms = [ "x86_64-linux" ]; }; } '' - mkdir -p $out/{bin,etc,lib/python3.7/site-packages} + mkdir -p $out/{bin,etc,${sitePackages}} cp -r ${ceph}/bin/{ceph,.ceph-wrapped,rados,rbd,rbdmap} $out/bin cp -r ${ceph}/bin/ceph-{authtool,conf,dencoder,rbdnamer,syn} $out/bin cp -r ${ceph}/bin/rbd-replay* $out/bin - cp -r ${ceph}/lib/python3.7/site-packages $out/lib/python3.7/ + cp -r ${ceph}/${sitePackages} $out/${sitePackages} cp -r ${ceph}/etc/bash_completion.d $out/etc # wrapPythonPrograms modifies .ceph-wrapped, so lets just update its paths substituteInPlace $out/bin/ceph --replace ${ceph} $out |