diff options
Diffstat (limited to 'pkgs/os-specific/linux/drbd/driver.nix')
-rw-r--r-- | pkgs/os-specific/linux/drbd/driver.nix | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/pkgs/os-specific/linux/drbd/driver.nix b/pkgs/os-specific/linux/drbd/driver.nix index efc771905e53a..106bcf71cd98c 100644 --- a/pkgs/os-specific/linux/drbd/driver.nix +++ b/pkgs/os-specific/linux/drbd/driver.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "drbd-${version}-${kernel.version}"; - version = "9.2.7"; + version = "9.2.8"; src = fetchurl { url = "https://pkg.linbit.com//downloads/drbd/9/drbd-${version}.tar.gz"; - sha256 = "1355ns10z0fjgqsdpf09qfy01j8lg2n7zy4kclmar3s798n3mh56"; + hash = "sha256-LqK1lPucab7wKvcB4VKGdvBIq+K9XtuO2m0DP5XtK3M="; }; hardeningDisable = [ "pic" ]; @@ -26,12 +26,12 @@ stdenv.mkDerivation rec { # 6.4 and newer provide a in-tree version of the handshake module https://www.kernel.org/doc/html/v6.4/networking/tls-handshake.html installPhase = '' runHook preInstall - install -D drbd/drbd.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd - install -D drbd/drbd_transport_tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd - install -D drbd/drbd_transport_lb-tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd - install -D drbd/drbd_transport_rdma.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd + install -D drbd/drbd.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9 + install -D drbd/drbd_transport_tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9 + install -D drbd/drbd_transport_lb-tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9 + install -D drbd/drbd_transport_rdma.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9 ${lib.optionalString (lib.versionOlder kernel.version "6.4") '' - install -D drbd/drbd-kernel-compat/handshake/handshake.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd + install -D drbd/drbd-kernel-compat/handshake/handshake.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9 ''} runHook postInstall ''; @@ -41,6 +41,16 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace 'SHELL=/bin/bash' 'SHELL=${builtins.getEnv "SHELL"}' ''; + # builder.pl had complained about the same file (drbd.ko.xz) provided by two different packages + # builder.pl also had complained about different permissions between the files from the two packages + # The compression is required because the kernel has the CONFIG_MODULE_COMPRESS_XZ option enabled + postFixup = '' + for ko in $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9/*.ko; do + xz --compress -6 --threads=0 $ko + chmod 0444 $ko.xz + done + ''; + enableParallelBuilding = true; meta = with lib; { @@ -53,5 +63,6 @@ stdenv.mkDerivation rec { DRBD is a software-based, shared-nothing, replicated storage solution mirroring the content of block devices (hard disks, partitions, logical volumes, and so on) between hosts. ''; + broken = lib.versionAtLeast kernel.version "6.8"; # wait until next DRBD release for 6.8 support https://github.com/LINBIT/drbd/issues/87#issuecomment-2059323084 }; } |