| 4 May 2023 |
baloo | for all the talks about purity and what not | 20:48:13 |
raitobezarius | afaik it's a very complicated and non actionable problem | 20:48:38 |
raitobezarius | maybe I'm soft for Haskell but I am not really concerned about it, the existing workaround is to build with 1 core | 20:49:02 |
baloo | last time I've checked, that was fixed in recent version of ghc but not the whole ecosystem was compatible | 20:49:49 |
baloo | or at least, the few leads I followed were leading to me fixes made in 9.X (don't remember which version that was) | 20:50:38 |
artturin | https://github.com/NixOS/nixpkgs/issues/151347 | 20:52:12 |
baloo | shit my own commit :D | 20:52:36 |
baloo | * shit my own comment :D | 20:52:40 |
artturin | the issue is still open | 20:52:49 |
artturin | * the ghc issue is still open | 20:52:55 |
baloo | https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7353 that was the commit I had in mind | 20:53:28 |
baloo | which merged in ghc 9.4.1 | 20:53:54 |
baloo | in any case, raboof seems like he tried. | 20:55:33 |
baloo | * in any case, raboof says he tried. | 20:55:47 |
| 5 May 2023 |
raboof | https://reproducible.nixos.org/nixos-iso-gnome-runtime/ <- gnome runtime report 🎉. No haskell it seems, though plenty of other goodies ;) | 16:28:11 |
raboof | In reply to @artturin:matrix.org http://reproducible.nixos.org/ doesn't redirect to https fixed! | 16:28:59 |
@rnhmjoj:maxwell.ydns.eu | xserver.conf
I think this is due to find order being essentially undefined behavior in nixos/modules/services/x11/xserver.nix. it needs a | sort to be deterministic. | 16:55:05 |
@trofi:matrix.org | Yeah. I think find does filesystem order (and each does it's own ordering). | 16:57:48 |
delroth | In reply to @raboof:matrix.org finally hacked in a way to get a report of just the runtime dependencies, https://reproducible.nixos.org/nixos-iso-minimal-runtime/ - no surprises there, the Linux BPF/BTF problem and Python remaining. Hoping to do the graphical iso later. I worry a bit that this might be trading off false positives for false negatives. Let's say I have a derivation "drv" which does "cp ${otherdrv}/foo $out/foo" (unlikely, but in practice this could be e.g. gzip, or static linking, or some other kind of bundling). As far as I understand now the report wouldn't catch unreproducibility of "otherdrv", and it would happily say that "drv" is reproducible, which is irrelevant (since its "non-runtime dependencies" are what matters). | 20:11:29 |
delroth | (Does that happen in practice in nixpkgs? I don't know, I wouldn't be surprised if it did. Is it a major issue? No clue either.) | 20:11:54 |
raitobezarius | (Yes, it happens through trivial builders sometimes I suppose) | 20:15:21 |
raitobezarius | (Though I'm okay if we keep both pieces ?) | 20:15:33 |
delroth | By "both pieces" here do you mean "both types of report, runtime-only and all"? As long as people understand that the "runtime dependencies" report actually might exclude some runtime dependencies, then sure :) | 20:20:40 |
delroth | * By "both pieces" here do you mean "both types of report, runtime-only and all"? As long as people understand that the "runtime dependencies" report actually might accidentally miss some unreproducible runtime dependencies, then sure :) | 20:21:31 |
raitobezarius | correct | 20:21:38 |
raitobezarius | I guess we can probably engineer correctly the pages to reflect that | 20:21:51 |
delroth | I have experience with teams accidentally carving out a metric that doesn't actually cover the whole problem they want to solve, get the metric to the desired goal, then declare victory too early :) it's a pretty common pattern | 20:22:25 |
delroth | I actually wonder how the diff would look like between this definition of "runtime dependencies" and the definition of "runtime dependencies" you'd get by doing a cross-build of the same target and filtering by build vs. host system triple | 20:23:43 |
delroth | I suspect "different", but I don't know in which direction (better or worse), and I don't think it's practical or a useful metric either because it's not like the ISOs being shipped are built this way | 20:24:26 |
raboof | For the ISO's there is a nice final check of actually rebuilding the iso on an ancient nixos version without substituters 😃. | 20:24:50 |