Skip to content

drv/outPath differ between 2.34.7 and 2.36.0 for certain CA derivations #16307

Description

@3timeslazy

Describe the bug

I'm not sure if that's a bug or intended behavior change, but here's my finding. See more in the "Steps To Reproduce"

Steps To Reproduce

For code:

let
  source1 = builtins.derivation {
    name = "source";
    builder = "/bin/first";
    system = "x86_64-linux";
    outputHash = "sha256-Q3QXOoy+iN4VK2CflvRulYvPZXYgF0dO7FoF7CvWFTA=";
  };
  source2 = builtins.derivation {
    name = "source";
    builder = "/bin/second";
    system = "x86_64-linux";
    outputHash = "sha256-Q3QXOoy+iN4VK2CflvRulYvPZXYgF0dO7FoF7CvWFTA=";
  };

  first = builtins.derivation {
    name = "intermediate";
    builder = "/bin/intermediate";
    system = "x86_64-linux";
    outputs = ["out" "dev"];
    source = source1;
  };
  second = builtins.derivation {
    name = "intermediate";
    builder = "/bin/intermediate";
    system = "x86_64-linux";
    outputs = ["out" "dev"];
    source = source2;
  };

  parent = builtins.derivation {
    name = "parent";
    builder = "/bin/parent";
    system = "x86_64-linux";
    first = first.out;
    second = second.dev;
  };
in [ parent.drvPath parent.outPath ]

This is the output for nix 2.34.7:

$ nix-instantiate --version
nix-instantiate (Nix) 2.34.7

$ nix-instantiate --eval --strict path/to/expr.nix
[ "/nix/store/d01m0qw8iip9vl3784mh9gkfcpiqwxcf-parent.drv" "/nix/store/51g3wv04im15m57f0s51x7g333kvyhmh-parent" ]

Same but with 2.36 (commit 8eb792a):

$ nix-instantiate --version
nix-instantiate (Nix) 2.36.0

$ nix-instantiate --eval --strict /path/to/expr.nix
[ "/nix/store/lhhzl40v8ncncs2ibgdv6q9ag2ffpdf6-parent.drv" "/nix/store/3d8hnns8372fyi3a2c8xmvpcikh6jkrs-parent" ]

Expected behavior

parent's outPath and drvPath do not change

Additional context

Checklist


Add 👍 to issues you find important.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions