diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-06-22 09:32:57 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-06-29 13:56:27 +0000 |
commit | 1421404d425ec3af31f9d3f53a69fd94b1b88657 (patch) | |
tree | 8d6e92811cfed238f5cf1bfc5b6e63e477b18f10 /pkgs/build-support | |
parent | d87b595e5326684ac74d4fb1192788c518345563 (diff) |
stdenv: fix backward multiple outputs conditional
This is supposed to shareDocName to a fallback value if it can't be determined from looking at the configure script. But the conditional checked whether shareDocName was set, rather than if it wasn't. This meant that if shareDocName had been detected from a configure script, it would be immediately overridden by the package name, and if it couldn't be detected, shareDocName would remain unset. This resulted in QEMU installing files like $out/share/doc/index.html, which should of course have been in $out/share/doc/qemu/index.html. An interesting side effect of this is that, since 9f8751528cd89d343258dd718afa56f8590917bb when this code was added, the detected package name has never actually been used for installing documentation, because it would always be overridden. So this patch will actually enable that for the first time, four years later. Fixes: https://github.com/NixOS/nixpkgs/issues/90486
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/setup-hooks/multiple-outputs.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh index 2e95495c96fdc..bfa47e3b20e17 100644 --- a/pkgs/build-support/setup-hooks/multiple-outputs.sh +++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh @@ -61,7 +61,7 @@ _multioutConfig() { local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")" fi # PACKAGE_TARNAME sometimes contains garbage. - if [ -n "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then + if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')" fi fi |