!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

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

Load older messages


SenderMessageTime
17 May 2023
@delroth:delroth.netdelrothno clue!14:57:13
@delroth:delroth.netdelrothoh, I think I know actually, it's because Nix arbitrarily and silently disables its sandboxing for no good reason sometimes, and I'm not using my usual development machine for these builds because it's not fast enough14:58:27
@delroth:delroth.netdelrothso that might have been an unsandboxed build14:58:38
@delroth:delroth.netdelrothhttps://github.com/NixOS/nix/issues/816514:59:05
@delroth:delroth.netdelroth could be that when it's sandboxed properly the kernel actually builds reproducibly then... I forgot about this issue, and now I'm annoyed that it's still a problem and that I've possibly wasted several hours because of it again so I'm going to go do something else for a while 15:00:44
@raitobezarius:matrix.orgraitobezariusI can try to reproduce15:01:10
@raitobezarius:matrix.orgraitobezariusWhat is your attr you're building?15:01:15
@raitobezarius:matrix.orgraitobezarius(on which rev?)15:01:17
@delroth:delroth.netdelrothpkgs.linux on latest staging-next (which has the BTF fix)15:01:35
@raitobezarius:matrix.orgraitobezariusthx15:01:54
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu
In reply to @delroth:delroth.net
could be that when it's sandboxed properly the kernel actually builds reproducibly then... I forgot about this issue, and now I'm annoyed that it's still a problem and that I've possibly wasted several hours because of it again so I'm going to go do something else for a while
shouldn't it be reproducible by default? it's very surprising that there's a "reprodicible builds" project with a dozen linux distos on it, but not the kernel itself
15:02:56
@delroth:delroth.netdelrothof the two Linux distros that have CI on the Reproducible Builds infra, 0/2 have a reproducible Linux kernel15:05:22
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu
In reply to @delroth:delroth.net
(it took 20min of 100% CPU time for diffoscope to generate this diff)

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/linux.html

looks like this CI machine wasn't as fast as yours

15:10:32
@delroth:delroth.netdelrothchecking GUIX now, they don't have diffoscope outputs on their CI but they have NARs I can extract...15:11:31
@delroth:delroth.netdelrothand every .ko.gz mismatches + System.map mismatch + bzImage mismatch15:12:26
@delroth:delroth.netdelrothso might be the same BTF issue we've been having15:12:34
@delroth:delroth.netdelrothanyway, the answer is that yes, there is a reproducible builds project with a dozen linux distros on it, but no, that doesn't mean the kernel builds reproducibly, in fact nobody seems to be able to at this point, and especially not "by default" :(15:15:54
@delroth:delroth.netdelrothI suspect that Nix sandboxed might do the trick, the build-id diff in the VDSO should be entirely attributable to filename differences, and that shouldn't happen when sandboxed15:16:29
@delroth:delroth.netdelroth(now, is it a good thing that we "hide" these sources of reproducibility with Nix? maybe, maybe not :) )15:16:58
@delroth:delroth.netdelroth * (now, is it a good thing that we "hide" these sources of unreproducibility with Nix? maybe, maybe not :) )15:17:04
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu
In reply to @delroth:delroth.net
anyway, the answer is that yes, there is a reproducible builds project with a dozen linux distros on it, but no, that doesn't mean the kernel builds reproducibly, in fact nobody seems to be able to at this point, and especially not "by default" :(
but when NixOS briefly became 100% reproducible some time ago, was the kenrle included?
15:18:25
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu* but when NixOS briefly became 100% reproducible some time ago, was the kernel included?15:18:37
@raitobezarius:matrix.orgraitobezariusnecessarily I believe15:19:04
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.euso, the kernel devs messed up?15:20:51
@raboof:matrix.orgraboof
In reply to @rnhmjoj:maxwell.ydns.eu
but when NixOS briefly became 100% reproducible some time ago, was the kernel included?
yes, the kernel has been reproducible for a while (I think since https://github.com/NixOS/nixpkgs/pull/107625), the nondeterminism introduced by BTF was a recent thing
15:22:24
@delroth:delroth.netdelroth"recent"15:22:55
@raitobezarius:matrix.orgraitobezariusenabled recently15:23:27
@raboof:matrix.orgraboof
In reply to @rnhmjoj:maxwell.ydns.eu
so, the kernel devs messed up?
I guess so - I'm not sure they aim for 'reproducible by default', though 'possibly reproducible' does seem to be a goal (https://docs.kernel.org/kbuild/reproducible-builds.html)
15:24:55
@delroth:delroth.netdelrothand https://docs.kernel.org/kbuild/reproducible-builds.html#absolute-filenames does imply it's a bug on their side, since they don't forward these flags when building the VDSO ELF15:31:31
@delroth:delroth.netdelrothfrom the build log on my system: "'/build/tmp.x93KqkyjEg/.config' -> '/nix/store/cviv21h0qwd1pd0a7mhin7hadhwk4r9x-linux-config-6.1.28'" so yeah, was unsandboxed...15:41:44

Show newer messages


Back to Room ListRoom Version: 6