!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

912 Members
For people hacking on the Nix package manager itself190 Servers

Load older messages


SenderMessageTime
5 Mar 2025
@flokli:matrix.orgflokli(native fetches)08:54:37
@picnoir:alternativebit.frPicnoirYeah08:54:41
@picnoir:alternativebit.frPicnoirbut they still end up in the same validpaths table.08:54:50
@picnoir:alternativebit.frPicnoirAnd there's no direct way to set them appart from the "regular" builds as far as I can tell.08:55:05
@picnoir:alternativebit.frPicnoirBy looking at the db I mean.08:55:15
@flokli:matrix.orgflokliYes of course not08:56:04
@flokli:matrix.orgflokliElse or would be too simple :-)08:56:12
@flokli:matrix.orgflokliYou also can have non-native fetches and native fetches both being present in your build graph, producing the same store path.08:57:11
@flokli:matrix.orgflokliSo whether something is a build or not then depends on evaluation order ;-)08:57:57
@roberthensing:matrix.orgRobert Hensing (roberth)

Recent addition:

Besides functioning as a content-addressed store, the Nix store layer works as a build system.

https://hydra.nixos.org/build/291787002/download/1/manual/store/derivation/index.html

08:58:09
@roberthensing:matrix.orgRobert Hensing (roberth)The store we have is not a fantastic CAS (more could be done), but it fulfills both tasks09:00:34
@flokli:matrix.orgflokli1741165269059.jpg
Download 1741165269059.jpg
09:01:21
@roberthensing:matrix.orgRobert Hensing (roberth)tvix does a great job at this, layering the build system onto the castore layer, instead of just juxtaposing them into storedir09:01:31
@roberthensing:matrix.orgRobert Hensing (roberth)you beat me to it :D09:01:57
@flokli:matrix.orgflokliHehe, I have that meme on quick dial 09:02:21
@kranzes:matrix.orgIlan Joselevich (Kranzes)im sitting here in front of flokli, i saw him press "send" and then your message came in, I knew your were writing it before he sent lmao09:03:00
@picnoir:alternativebit.frPicnoirIf I understand your categorization correctly, you'd put FODs in the "output" category?09:04:08
@roberthensing:matrix.orgRobert Hensing (roberth)yes. They're also the current most frequent example where "first" is a thing, because many FODs can produce the same output path09:05:10
@picnoir:alternativebit.frPicnoirShouldn't there be a third category for FODs? They're resulting from the builder but are output-addressed.09:05:21
@picnoir:alternativebit.frPicnoirYeah09:05:23
@picnoir:alternativebit.frPicnoirAnd most importantly: can be poisoned.09:05:29
@roberthensing:matrix.orgRobert Hensing (roberth)It applies to all CA outputs, where FOD is a special case of CA as it can be implemented without rewriting any hashes09:06:14
@roberthensing:matrix.orgRobert Hensing (roberth)(the deriver firstness thing I mean)09:06:59
@roberthensing:matrix.orgRobert Hensing (roberth)not sure what you mean with poisoning?09:07:07
@roberthensing:matrix.orgRobert Hensing (roberth)btw input addressing might not have the uniqueness property that it currently sort of has, with https://github.com/NixOS/nix/issues/1078009:11:24
@picnoir:alternativebit.frPicnoir
  1. You upload some sort of payload in a store (be it local or remote) to a certain output hash.
  2. You push a fetcher derivation trying to fetch from a certain URL having the CA of step 1 (wrong ca).
  3. The builder uses the cached FOD in the local/remote store instead of trying to verify the FOD.

Agreed, this is more of an UX-like posoning. Also agreed, it's CA-specific, not FOD specific.

What I'm trying to say, is that CA and non CA derivations are behaving quite differently on the build graph. I'd be nice to have a way to distinguish those from the validpath boundary.

09:13:21
@picnoir:alternativebit.frPicnoirI'm not super familiar with nix CA, that's why I was focussing on FODs :)09:13:45
@picnoir:alternativebit.frPicnoir *
  1. You upload some sort of payload in a store (be it local or remote) to a certain output hash.
  2. You push a fetcher derivation trying to fetch from a certain URL having the CA of step 1 (that does not necessarily reflect the ca you'd get fetching the url).
  3. The builder uses the cached FOD in the local/remote store instead of trying to verify the FOD.

Agreed, this is more of an UX-like posoning. Also agreed, it's CA-specific, not FOD specific.

What I'm trying to say, is that CA and non CA derivations are behaving quite differently on the build graph. I'd be nice to have a way to distinguish those from the validpath boundary.

09:14:59
@roberthensing:matrix.orgRobert Hensing (roberth) John Ericson: I've suggested to treat the Nixpkgs "fix" for the CA placeholder issue (no storedir prefix) as a workaround as ca-derivations is experimental https://github.com/NixOS/nixpkgs/pull/386774#pullrequestreview-2660479310 09:27:53
@roberthensing:matrix.orgRobert Hensing (roberth)See https://github.com/NixOS/nix/issues/12577 for avoidable confusion09:31:20

Show newer messages


Back to Room ListRoom Version: 6