From 335c4876866db69867870f470fb313d52f9b9868 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Mon, 22 Jun 2020 13:14:21 +0200 Subject: [PATCH 1/2] slurm: remove obsolete dependencies libssh and openssl are not required anymore --- pkgs/servers/computing/slurm/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix index 1f09c98377f..4c7e68359a0 100644 --- a/pkgs/servers/computing/slurm/default.nix +++ b/pkgs/servers/computing/slurm/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, libtool, curl -, python, munge, perl, pam, openssl, zlib, shadow, coreutils +, python, munge, perl, pam, zlib, shadow, coreutils , ncurses, libmysqlclient, gtk2, lua, hwloc, numactl -, readline, freeipmi, libssh2, xorg, lz4, rdma-core, nixosTests +, readline, freeipmi, xorg, lz4, rdma-core, nixosTests # enable internal X11 support via libssh2 , enableX11 ? true }: @@ -37,22 +37,20 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig libtool ]; buildInputs = [ - curl python munge perl pam openssl zlib + curl python munge perl pam zlib libmysqlclient ncurses gtk2 lz4 rdma-core lua hwloc numactl readline freeipmi shadow.su - ] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ]; + ] ++ stdenv.lib.optionals enableX11 [ xorg.xauth ]; configureFlags = with stdenv.lib; [ "--with-freeipmi=${freeipmi}" "--with-hwloc=${hwloc.dev}" "--with-lz4=${lz4.dev}" "--with-munge=${munge}" - "--with-ssl=${openssl.dev}" "--with-zlib=${zlib}" "--with-ofed=${rdma-core}" "--sysconfdir=/etc/slurm" ] ++ (optional (gtk2 == null) "--disable-gtktest") - ++ (optional enableX11 "--with-libssh2=${libssh2.dev}") ++ (optional (!enableX11) "--disable-x11"); From b8703b4a92980a8fddd65baa3f32ed22f590f8e5 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Tue, 23 Jun 2020 13:08:55 +0200 Subject: [PATCH 2/2] slurm: add patch to allow full path lengths in --get-user-env Fix fallout from https://github.com/NixOS/nixpkgs/pull/90041 and 5d8f61f3bfb8f93751c1e455f51393f10d507e0f, which fixes the crash of slurmd but "sbatch --get-user-env" did not work properly. --- pkgs/servers/computing/slurm/common-env-echo.patch | 13 +++++++++++++ pkgs/servers/computing/slurm/default.nix | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/servers/computing/slurm/common-env-echo.patch diff --git a/pkgs/servers/computing/slurm/common-env-echo.patch b/pkgs/servers/computing/slurm/common-env-echo.patch new file mode 100644 index 00000000000..4236421a63d --- /dev/null +++ b/pkgs/servers/computing/slurm/common-env-echo.patch @@ -0,0 +1,13 @@ +diff --git a/src/common/env.c b/src/common/env.c +index 987846d..73d3b3b 100644 +--- a/src/common/env.c ++++ b/src/common/env.c +@@ -1941,7 +1941,7 @@ char **env_array_user_default(const char *username, int timeout, int mode, + char **env = NULL; + char *starttoken = "XXXXSLURMSTARTPARSINGHEREXXXX"; + char *stoptoken = "XXXXSLURMSTOPPARSINGHEREXXXXX"; +- char cmdstr[256], *env_loc = NULL; ++ char cmdstr[MAXPATHLEN], *env_loc = NULL; + char *stepd_path = NULL; + int fd1, fd2, fildes[2], found, fval, len, rc, timeleft; + int buf_read, buf_rem, config_timeout; diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix index 4c7e68359a0..1ec807f0bf8 100644 --- a/pkgs/servers/computing/slurm/default.nix +++ b/pkgs/servers/computing/slurm/default.nix @@ -22,6 +22,12 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; + patches = [ + # increase string length to allow for full + # path of 'echo' in nix store + ./common-env-echo.patch + ]; + prePatch = '' substituteInPlace src/common/env.c \ --replace "/bin/echo" "${coreutils}/bin/echo"