!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

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

Load older messages


SenderMessageTime
17 May 2023
@delroth:delroth.net@delroth:delroth.net(wouldn't have directly helped because it was specific to MIPS, but I expect it's the same problem)14:52:54
@aloisw:kde.org@aloisw:kde.orgWhy is the build path different to begin with in the NixOS case?14:54:36
@delroth:delroth.net@delroth:delroth.netno clue!14:57:13
@delroth:delroth.net@delroth:delroth.netoh, 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.net@delroth:delroth.netso that might have been an unsandboxed build14:58:38
@delroth:delroth.net@delroth:delroth.nethttps://github.com/NixOS/nix/issues/816514:59:05
@delroth:delroth.net@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 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.net@delroth:delroth.netpkgs.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.net@delroth:delroth.netof 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.net@delroth:delroth.netchecking GUIX now, they don't have diffoscope outputs on their CI but they have NARs I can extract...15:11:31
@delroth:delroth.net@delroth:delroth.netand every .ko.gz mismatches + System.map mismatch + bzImage mismatch15:12:26
@delroth:delroth.net@delroth:delroth.netso might be the same BTF issue we've been having15:12:34
@delroth:delroth.net@delroth:delroth.netanyway, 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.net@delroth:delroth.netI 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.net@delroth:delroth.net(now, is it a good thing that we "hide" these sources of reproducibility with Nix? maybe, maybe not :) )15:16:58
@delroth:delroth.net@delroth:delroth.net * (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.net@delroth:delroth.net"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

Show newer messages


Back to Room ListRoom Version: 6