From 97870258b298830a46c7bc9719733a7aae760361 Mon Sep 17 00:00:00 2001 From: volth Date: Thu, 31 Jan 2019 17:26:49 +0000 Subject: [PATCH] linkFarm: hacky quoting -> escapeShellArg --- pkgs/build-support/trivial-builders.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 7543433640a3..bb25cb20915a 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -258,15 +258,17 @@ rec { * Example: * * # Symlinks hello path in store to current $out/hello - * linkFarm "hello" entries = [ { name = "hello"; path = pkgs.hello; } ]; + * linkFarm "hello" [ { name = "hello"; path = pkgs.hello; } ]; * */ linkFarm = name: entries: runCommand name { preferLocalBuild = true; } - ("mkdir -p $out; cd $out; \n" + - (lib.concatMapStrings (x: '' - mkdir -p "$(dirname '${x.name}')" - ln -s '${x.path}' '${x.name}' - '') entries)); + ''mkdir -p $out + cd $out + ${lib.concatMapStrings (x: '' + mkdir -p "$(dirname ${lib.escapeShellArg x.name})" + ln -s ${lib.escapeShellArg x.path} ${lib.escapeShellArg x.name} + '') entries} + ''; /* Print an error message if the file with the specified name and