| 21 Nov 2025 |
Sofie 🏳️⚧️ (she/her) | nice | 17:51:35 |
Charles | the point is that this is a problem in general, sure you can solve it in specific cases, but you'd need to convince every upstream to fix this, which is not gonna happen | 17:51:45 |
Sofie 🏳️⚧️ (she/her) | has aux gotten their team setup already? | 17:51:52 |
522 it/its ⛯ΘΔ | i mean you can freely use hashmaps that don't maintain insertion order, you just need to not leak that ordering to the end binary | 17:52:03 |
Charles | yeah you just need to convince every piece of software in your build environment to do this, which is not gonna happen | 17:52:15 |
Sofie 🏳️⚧️ (she/her) | I mean, yea | 17:52:15 |
K900 | r11y is already being actively worked on in nixpkgs | 17:52:16 |
K900 | And massively improving | 17:52:25 |
Sofie 🏳️⚧️ (she/her) | nice | 17:52:33 |
522 it/its ⛯ΘΔ | no i mean disorderfs exists, and you can choose the build path in nix, no? you can run the build in a disorderfs (which is just FUSE) directory set to sort dirents | 17:53:44 |
Sofie 🏳️⚧️ (she/her) | can't you do this for every nix build? implement in lix or something | 17:54:16 |
K900 | We have that already | 17:54:32 |
Charles | i don't know what disorderfs is but i also can't imagine how something at the filesystem level could help here | 17:54:41 |
K900 | It does not by itself achieve determinism | 17:54:41 |
K900 | Quite the opposite | 17:54:44 |
K900 | disorderfs is a FUSE filesystem that intentionally fucks with readdir ordering | 17:54:57 |
522 it/its ⛯ΘΔ | disorderfs has a setting to explicitly order dirents | 17:54:58 |
K900 | Well that is also not the only issue | 17:55:10 |
K900 | Anyway, if we're talking r11y, this is an ecosystem wide effort and most of it needs to happen in nixpkgs | 17:55:26 |
Sofie 🏳️⚧️ (she/her) | well, why does it intentionally fuck up it, is there a way around | 17:55:30 |
522 it/its ⛯ΘΔ | yeah | 17:55:35 |
Sofie 🏳️⚧️ (she/her) | yeah | 17:55:42 |
K900 | Because it exists to test reproduciblity | 17:55:45 |
522 it/its ⛯ΘΔ | the point is to fuck with it intentionally | 17:55:47 |
K900 | That's a feature | 17:55:48 |
Sofie 🏳️⚧️ (she/her) | ah | 17:55:54 |
522 it/its ⛯ΘΔ | to see what packages are leaking fs iteration order into the output | 17:56:01 |
522 it/its ⛯ΘΔ | (so they can be fixed upstream to sort their output, ideally) | 17:56:12 |
K900 | Anyway, Nix/Lix provides everything needed for r11y | 17:56:11 |
Charles | and like even if you could convince every upstream of today to support Reproducible Builds, you will have to go through it all again for the upstreams of tomorrow, because people will continue to screw this up and/or not think/care about it | 17:56:14 |