linkFarm: hacky quoting -> escapeShellArg

This commit is contained in:
volth 2019-01-31 17:26:49 +00:00 committed by GitHub
parent 73d5530661
commit 97870258b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

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