diff options
author | zimbatm <zimbatm@zimbatm.com> | 2016-06-12 18:11:37 +0100 |
---|---|---|
committer | zimbatm <zimbatm@zimbatm.com> | 2016-06-12 18:11:37 +0100 |
commit | 28fa4a2f03e2232d95dec9dc2b8ef40857d725db (patch) | |
tree | 60a16516608d1b34c78b1a19bfdac0c9188f8412 /pkgs | |
parent | 852e9c309638c3e1c0e611c70a2b443d52455aca (diff) | |
download | nixlib-28fa4a2f03e2232d95dec9dc2b8ef40857d725db.tar nixlib-28fa4a2f03e2232d95dec9dc2b8ef40857d725db.tar.gz nixlib-28fa4a2f03e2232d95dec9dc2b8ef40857d725db.tar.bz2 nixlib-28fa4a2f03e2232d95dec9dc2b8ef40857d725db.tar.lz nixlib-28fa4a2f03e2232d95dec9dc2b8ef40857d725db.tar.xz nixlib-28fa4a2f03e2232d95dec9dc2b8ef40857d725db.tar.zst nixlib-28fa4a2f03e2232d95dec9dc2b8ef40857d725db.zip |
Escape all shell arguments uniformly
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/build-support/vm/windows/controller/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/ruby-modules/bundler-env/default.nix | 6 | ||||
-rw-r--r-- | pkgs/development/ruby-modules/gem/default.nix | 7 | ||||
-rw-r--r-- | pkgs/servers/x11/xquartz/default.nix | 3 |
4 files changed, 7 insertions, 13 deletions
diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix index 1c8e6af83b86..06a0a2293064 100644 --- a/pkgs/build-support/vm/windows/controller/default.nix +++ b/pkgs/build-support/vm/windows/controller/default.nix @@ -71,8 +71,6 @@ let }; }; - shellEscape = x: "'${replaceChars ["'"] [("'\\'" + "'")] x}'"; - loopForever = "while :; do ${coreutils}/bin/sleep 1; done"; initScript = writeScript "init.sh" ('' @@ -132,7 +130,7 @@ let -o StrictHostKeyChecking=no \ -i /ssh.key \ -l Administrator \ - 192.168.0.1 -- ${shellEscape command} + 192.168.0.1 -- ${lib.escapeShellArg command} '') + optionalString (suspendTo != null) '' ${coreutils}/bin/touch /xchg/suspend_now ${loopForever} diff --git a/pkgs/development/ruby-modules/bundler-env/default.nix b/pkgs/development/ruby-modules/bundler-env/default.nix index 4ebba0d5b653..56a3b371d1dc 100644 --- a/pkgs/development/ruby-modules/bundler-env/default.nix +++ b/pkgs/development/ruby-modules/bundler-env/default.nix @@ -16,8 +16,6 @@ }@args: let - - shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'"; importedGemset = import gemset; filteredGemset = (lib.filterAttrs (name: attrs: if (builtins.hasAttr "groups" attrs) @@ -58,8 +56,8 @@ let "${confFiles}/Gemfile" \ "$out/${ruby.gemPath}" \ "${bundler}/${ruby.gemPath}" \ - ${shellEscape (toString envPaths)} \ - ${shellEscape (toString groups)} + ${lib.escapeShellArg envPaths} \ + ${lib.escapeShellArg groups} '' + lib.optionalString (postBuild != null) postBuild; passthru = rec { inherit ruby bundler meta gems; diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index 6e1b0c00bd08..74dc64000c0f 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -18,8 +18,8 @@ # Normal gem packages can be used outside of bundler; a binstub is created in # $out/bin. -{ lib, ruby, bundler, fetchurl, fetchgit, makeWrapper, git, - buildRubyGem, darwin +{ lib, fetchurl, fetchgit, makeWrapper, git, darwin +, ruby, bundler } @ defs: lib.makeOverridable ( @@ -53,7 +53,6 @@ lib.makeOverridable ( , ...} @ attrs: let - shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'"; src = attrs.src or ( if type == "gem" then fetchurl { @@ -165,7 +164,7 @@ stdenv.mkDerivation (attrs // { ${src} \ ${attrs.rev} \ ${version} \ - ${shellEscape (toString buildFlags)} + ${lib.escapeShellArgs buildFlags} ''} ${lib.optionalString (type == "gem") '' diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix index 16a4aeb1ce58..79b99faea9b9 100644 --- a/pkgs/servers/x11/xquartz/default.nix +++ b/pkgs/servers/x11/xquartz/default.nix @@ -37,7 +37,6 @@ # that point into the user's profile. let - shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'"; installer = writeScript "xquartz-install" '' NIX_LINK=$HOME/.nix-profile @@ -138,7 +137,7 @@ in stdenv.mkDerivation { defaultStartX="$out/bin/startx -- $out/bin/Xquartz" ruby ${./patch_plist.rb} \ - ${shellEscape (builtins.toXML { + ${lib.escapeShellArg (builtins.toXML { XQUARTZ_DEFAULT_CLIENT = "${xterm}/bin/xterm"; XQUARTZ_DEFAULT_SHELL = "${shell}"; XQUARTZ_DEFAULT_STARTX = "@STARTX@"; |