3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/stdenv
Graham Christensen b80c9ce4a9
stdenv: Validate meta.outputsToInstall
If meta.outputsToInstall is set to include absent outputs, various
tools break including channel updates and nix-env.

    grahamc@Morbo> nix-env -i -f . -A elf-header-real
    installing 'elf-header'
    error: this derivation has bad 'meta.outputsToInstall'

This patch verifies each value in meta.outputsToInstall is a valid
output. It validates this condition only if checkMeta is true.

    grahamc@Morbo> nix-build . -A elf-header-real
    error: Package ‘elf-header’ in /home/grahamc/projects/nixpkgs/pkgs/development/libraries/elf-header/default.nix:36 has invalid meta.outputsToInstall, refusing to evaluate.

    The package elf-header has set meta.outputsToInstall to: bin

    however elf-header only has the outputs: out

    and is missing the following ouputs:

      - bin

    (use '--show-trace' to show detailed location information)

Note, now the nix-env experience is decidedly worse for users who have
checkMeta set to true:

    grahamc@Morbo> nix-env -i -f . -A elf-header-real; echo $?
    0

though since this is already an issue for unfree, broken, unsupported,
and insecure validity problems I'm not sure we should do something
different here.
2018-09-18 10:38:44 -04:00
..
cross treewide: Remove usage of remaining redundant platform compatability stuff 2018-08-30 17:20:32 -04:00
custom
cygwin
darwin treewide: Remove usage of remaining redundant platform compatability stuff 2018-08-30 17:20:32 -04:00
freebsd
generic stdenv: Validate meta.outputsToInstall 2018-09-18 10:38:44 -04:00
linux stdenv: linux: cleanup a bit 2018-09-04 22:04:56 +00:00
native [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
nix
adapters.nix stdenv adapter: Keep configureFlags a list 2018-08-03 17:06:03 -04:00
booter.nix
common-path.nix
default.nix [RFC] ppc64le enablement (#45340) 2018-08-21 15:31:34 -04:00