diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-11-12 12:52:51 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-12 12:52:51 -0600 |
commit | f19bb8321aad93efd9c024f9b7f6eca49db1d4c8 (patch) | |
tree | 09aad93b7f848852ca71ab5d0eef511ced53326f | |
parent | 3b052406eaaa466240b948d05b0e483272317e6a (diff) | |
parent | 5ff872aa24983cf3e1cf28bb990042846c1a97ee (diff) | |
download | nixpkgs-f19bb8321aad93efd9c024f9b7f6eca49db1d4c8.tar nixpkgs-f19bb8321aad93efd9c024f9b7f6eca49db1d4c8.tar.gz nixpkgs-f19bb8321aad93efd9c024f9b7f6eca49db1d4c8.tar.bz2 nixpkgs-f19bb8321aad93efd9c024f9b7f6eca49db1d4c8.tar.lz nixpkgs-f19bb8321aad93efd9c024f9b7f6eca49db1d4c8.tar.xz nixpkgs-f19bb8321aad93efd9c024f9b7f6eca49db1d4c8.tar.zst nixpkgs-f19bb8321aad93efd9c024f9b7f6eca49db1d4c8.zip |
Merge pull request #35304 from volth/patch-97
[staging] substitute() print warning if does nothing
-rw-r--r-- | pkgs/stdenv/generic/setup.sh | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 81c1725f1d1..336e229c6a3 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -645,7 +645,8 @@ fi substituteStream() { local var=$1 - shift + local description=$2 + shift 2 while (( "$#" )); do case "$1" in @@ -653,6 +654,14 @@ substituteStream() { pattern="$2" replacement="$3" shift 3 + local savedvar + savedvar="${!var}" + eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' + if [ "$pattern" != "$replacement" ]; then + if [ "${!var}" == "$savedvar" ]; then + echo "substituteStream(): WARNING: pattern '$pattern' doesn't match anything in $description" >&2 + fi + fi ;; --subst-var) @@ -669,11 +678,13 @@ substituteStream() { fi pattern="@$varName@" replacement="${!varName}" + eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' ;; --subst-var-by) pattern="@$2@" replacement="$3" + eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' shift 3 ;; @@ -682,8 +693,6 @@ substituteStream() { return 1 ;; esac - - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' done printf "%s" "${!var}" @@ -711,7 +720,7 @@ substitute() { consumeEntire content < "$input" if [ -e "$output" ]; then chmod +w "$output"; fi - substituteStream content "$@" > "$output" + substituteStream content "file '$input'" "$@" > "$output" } substituteInPlace() { @@ -733,7 +742,7 @@ substituteAllStream() { local -a args=() _allFlags - substituteStream "$1" "${args[@]}" + substituteStream "$1" "$2" "${args[@]}" } # Substitute all environment variables that start with a lowercase character and @@ -1144,7 +1153,7 @@ fixupPhase() { for hook in $setupHooks; do local content consumeEntire content < "$hook" - substituteAllStream content >> "${!outputDev}/nix-support/setup-hook" + substituteAllStream content "file '$hook'" >> "${!outputDev}/nix-support/setup-hook" unset -v content done unset -v hook |