slurm: add patch to allow full path lengths in --get-user-env

Fix fallout from https://github.com/NixOS/nixpkgs/pull/90041
and 5d8f61f3bf, which fixes
the crash of slurmd but "sbatch --get-user-env" did not work
properly.
wip/yesman
Markus Kowalewski 4 years ago
parent 335c487686
commit b8703b4a92
No known key found for this signature in database
GPG Key ID: D865C8A91D7025EB
  1. 13
      pkgs/servers/computing/slurm/common-env-echo.patch
  2. 6
      pkgs/servers/computing/slurm/default.nix

@ -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;

@ -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"

Loading…
Cancel
Save