Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 72531b1806df
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 356464388f7c
Choose a head ref
  • 2 commits
  • 5 files changed
  • 2 contributors

Commits on Sep 25, 2019

  1. makeWrapper: Remove unused extraFlagsArray feature

    There is a bug in this feature: It allows extra arguments to leak in
    from the environment. For example:
    
      $ export extraFlagsArray=date
      $ man ls
    
    Note that you get the man page for date rather than for ls. This happens
    because 'man' happens to use a wrapper (to add groff to its PATH).
    
    An attempt to fix this was made in 5ae1857 in PR #19328 for
    issue #2537, but 1. That change didn't actually fix the problem because
    it addressed makeWrapper's environment during the build process, not the
    constructed wrapper script's environment after installation, and 2. That
    change was apparently accidentally lost when merged with 7ff6eec.
    
    Rather than trying to fix the bug again, we remove the extraFlagsArray
    feature, since it has never been used in the public repo in the ten
    years it has been available.
    
    wrapAclocal continues to use its own, separate flavor of extraFlagsArray
    in a more limited context. The analogous bug there was fixed in
    4d7d10d in 2011.
    chkno committed Sep 25, 2019
    Copy the full SHA
    a45b3ad View commit details

Commits on Oct 8, 2019

  1. Merge pull request #69370 from chkno/no-extra-flags

    makeWrapper: Remove unused extraFlagsArray feature
    globin authored Oct 8, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    3564643 View commit details
9 changes: 1 addition & 8 deletions pkgs/build-support/setup-hooks/make-wrapper.sh
Original file line number Diff line number Diff line change
@@ -19,9 +19,6 @@ assertExecutable() {
# the environment
# --unset VAR : remove VAR from the environment
# --run COMMAND : run command before the executable
# The command can push extra flags to a magic list
# variable extraFlagsArray, which are then added to
# the invocation of the executable
# --add-flags FLAGS : add FLAGS to invocation of executable

# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
@@ -109,12 +106,8 @@ makeWrapper() {
fi
done

# Note: extraFlagsArray is an array containing additional flags
# that may be set by --run actions.
# Silence warning about unexpanded extraFlagsArray:
# shellcheck disable=SC2016
echo exec ${argv0:+-a \"$argv0\"} \""$original"\" \
"$flagsBefore" '"${extraFlagsArray[@]}"' '"$@"' >> "$wrapper"
"$flagsBefore" '"$@"' >> "$wrapper"

chmod +x "$wrapper"
}
2 changes: 1 addition & 1 deletion pkgs/desktops/gnustep/make/builder.sh
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ wrapGSMake() {
export GNUSTEP_CONFIG_FILE="$config"
exec "$wrapped" "\$@" "\${extraFlagsArray[@]}"
exec "$wrapped" "\$@"
EOF
chmod +x "$program"
}
2 changes: 1 addition & 1 deletion pkgs/development/tools/misc/ccls/wrapper
Original file line number Diff line number Diff line change
@@ -9,4 +9,4 @@ fi

initString+="]}}"

exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
2 changes: 1 addition & 1 deletion pkgs/development/tools/misc/cquery/wrapper
Original file line number Diff line number Diff line change
@@ -9,4 +9,4 @@ fi

initString+="]}"

exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
2 changes: 1 addition & 1 deletion pkgs/games/simutrans/default.nix
Original file line number Diff line number Diff line change
@@ -97,7 +97,7 @@ let
cat > "$out/bin/simutrans" <<EOF
#!${runtimeShell}
cd "$out"/share/simutrans
exec "${binaries}/bin/simutrans" -use_workdir "\''${extraFlagsArray[@]}" "\$@"
exec "${binaries}/bin/simutrans" -use_workdir "\$@"
EOF
chmod +x "$out/bin/simutrans"
'';