!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

545 Members
Report: https://reproducible.nixos.org Project progress: https://github.com/orgs/NixOS/projects/30123 Servers

Load older messages


SenderMessageTime
19 Aug 2021
@timdeh:matrix.orgnrdxp * It's great to submit patches upstream, I certainly wouldn't argue against that. I just think it'd be nice behavior to have by default, since there will always be some build system somewhere that doesn't act the way we'd like. And even if we patched them all someday, then a new one would come out shortly after and break everything again 😅17:43:21
@timdeh:matrix.orgnrdxpIf I find some time, maybe I'll try to replicate the behavior in a small PR and see how it works17:44:22
@timdeh:matrix.orgnrdxp For the time being, we could probably automatically run datefudge -s against known non-reproducible derivations and see if it fixes any of them. Do we have a reproducible test suite? 17:54:18
@tomberek:matrix.orgtomberek nrdxp: you can run ./check.sh from https://github.com/grahamc/r13y.com#how-can-i-run-this 18:31:42
@tomberek:matrix.orgtomberekpoint it to a custom Nixpkgs with datefudge somewhere in mkDerivation and you can get a rough estimate of what is "fixed" by it18:32:31
@baloo_:matrix.orgbaloo
In reply to @andi:kack.it
Isn't it mostly about the build system anyway?
most of them, or mis-use of build system, for which contributions are always welcomed in my experience.
18:33:15
@timdeh:matrix.orgnrdxp well there is also just nix build --rebuild flag, I just didn't know if we were already doing this en masse somewhere 18:33:31
@baloo_:matrix.orgbaloothe r13y builders kind of do that.18:33:57
@baloo_:matrix.orgbaloothey list the references of the iso_minimal recursively, and rebuilds each derivation and compare with what's made available on the mirrors/cache18:34:45
@baloo_:matrix.orgbaloohttps://github.com/grahamc/r13y.com/blob/master/src/eval/mod.rs18:35:39
@baloo_:matrix.orgbaloo * they list the requisites of the iso_minimal recursively, and rebuilds each derivation and compare with what's made available on the mirrors/cache18:36:05
@tomberek:matrix.orgtomberekit's not well exposed and the HTML is wrong, but iso_gnome is also built (my latest build of that is here: https://tomberek.info/r13y.com/)18:37:04
@baloo_:matrix.orgbalooit fails to build because of lack of disk space18:37:57
@tomberek:matrix.orgtombereki ran it on my own buildkite builder with more space, yay! It'd be good to fix graham's18:38:54
@baloo_:matrix.orgbaloo(on r13y, otherwise it would be shown)18:39:00
@tomberek:matrix.orgtomberekold version here: https://r13y.com/iso_gnome/index.html18:39:20
@timdeh:matrix.orgnrdxpdoes r13y have any parameters to modify a derivation if it is not reproducible, to try and make it so?18:41:18
@baloo_:matrix.orgbalooit only builds from nixpkgs master afaik18:42:14
@baloo_:matrix.orgbaloobut I usually can reproduce (haha) the non-reproducible builds on my desktop18:42:33
@tomberek:matrix.orgtomberekno. it just reports it18:42:38
@timdeh:matrix.orgnrdxp so I guess I would have to make something that takes this list, and then runs each build with datefudge to see if it helps any of them. If it fixes a substantial amount of them, then we will have more information on whether such an endeavor would be worth it. 18:48:45
@timdeh:matrix.orgnrdxpoh but this only tracks the iso, which is already mostly reproducible 🤔18:50:43
20 Aug 2021
@timdeh:matrix.orgnrdxpI still agree with andi that package builders should do a more excellent job of making sure time doesn't matter for the final result. However, I "feel" somehow that a world where time is immutable fits better into the world of pure nix 🤔01:02:42
@baloo_:matrix.orgbaloofor what it's worth, datefudge works as an ld preload, I don't expect all that much support in nix environment03:26:08
@baloo_:matrix.orgbaloomoreover, I don't think that covers anything that does system call directly (golang for example).03:26:58
@baloo_:matrix.orgbaloocan't we use the new time namespace for that or an ebpf based syscall hook? to just return 0. is that in the linux-vdso.so?03:31:31
@baloo_:matrix.orgbalooThose system calls will likewise not be visible to seccomp(2) filters.03:35:29
@baloo_:matrix.orgbalooone could bump the auxiliary vector to pass an empty one.03:36:27
@baloo_:matrix.orgbaloo:D03:36:31
@baloo_:matrix.orgbalooprctl(PR_SET_MM, PR_SET_MM_AUXV, ...)03:54:28

Show newer messages


Back to Room ListRoom Version: 6