!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

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

Load older messages


SenderMessageTime
17 May 2023
@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
@delroth:delroth.netdelrothoh actually maybe not, I don't know where that temp path comes from, might be in the derivation15:43:23
@delroth:delroth.netdelroth"export buildRoot=$(mktemp -d)" in manual-config.nix -- if somehow the buildRoot leaks into the VDSO ELF (and not just the sourceRoot, which would be expected) then that would be a randomized path anyway even when sandboxed15:45:41
@delroth:delroth.netdelrothand that would explain why I'm not seeing that build-id difference when diffing guix's NARs, they might not have that randomized out-of-tree build output path in their derivations15:46:49
@delroth:delroth.netdelroth(I expect that sourceRoot is fixed for them as it is for Nix, but not completely sure of that)15:47:16
@delroth:delroth.netdelrothhttps://github.com/NixOS/nixpkgs/commit/d75cff2ee3bb6d91c818d43d1ba7603bb6dacd5916:09:14
@delroth:delroth.netdelrothI'll send a PR to make it a fixed path, in the meantime I also remembered that my sandbox troubles only impacted uid mapping not chrooting, so I'm now fairly convinced that it's a regression from that commit adding randomness16:10:53
@delroth:delroth.netdelrothIf someone wants to test and/or snipe this feel free, won't be available for the next 6h16:11:23
19 May 2023
@jackleightcap:matrix.org@jackleightcap:matrix.org joined the room.18:40:13
20 May 2023
@delroth:delroth.netdelrothiso minimal (runtime) run on latest staging: https://delroth.net/report-iso_minimal/03:18:24
@delroth:delroth.netdelrothlinux is finally fixed, down to just python03:18:31
@baloo_:matrix.orgbaloowhat's about the unchecked paths?05:10:18
@baloo_:matrix.orgbalooabout python: https://github.com/python/cpython/issues/9213205:12:20
@delroth:delroth.netdelrothI'm not sure why that systemd path is marked as unchecked but I don't think I've seen any repro issues in the past with it, so probably just a random issue with my build05:33:56
@delroth:delroth.netdelrothand yeah, I'm doing a build now with python 3.11 as default to confirm05:34:18
@delroth:delroth.netdelrothonly slightly related but I wonder if we really need Python in the minimal ISO... it's used by a few ZFS user scripts that are probably seldom used and definitely not needed for mounting/recovery (e.g. arc_summary), it's used by smb2-quota (similar story), and the rest seems to all be derivations that have Python bindings in their main output when it could be a separate output05:56:45
@delroth:delroth.netdelrothminimal ISO built with Python 3.11: "521 out of 521 (100.00%) paths in the nixos.iso_minimal.x86_64-linux build closure are reproducible! 0 paths remained unchecked"07:15:46
@raphi:tapesoftware.netraphi joined the room.09:29:35
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu
In reply to @delroth:delroth.net
only slightly related but I wonder if we really need Python in the minimal ISO... it's used by a few ZFS user scripts that are probably seldom used and definitely not needed for mounting/recovery (e.g. arc_summary), it's used by smb2-quota (similar story), and the rest seems to all be derivations that have Python bindings in their main output when it could be a separate output
python is needed for the systed-boot install script, so you're probably going to fetch it anyway
10:23:33
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu* python is needed for the systemd-boot install script, so you're probably going to fetch it anyway16:53:59
@raitobezarius:matrix.orgraitobezariusbut soon we can remove it17:02:11
@raitobezarius:matrix.orgraitobezariusonce we refactor the bootloader installation story17:02:29

Show newer messages


Back to Room ListRoom Version: 6