nixos/systemd-boot-builder: Don't write .pyc files
This has surfaced since d990aa71. The "simpleUefiGummiboot" installer test fails since this commit, because that commit introduced a small check to verify whether the store was altered. While installing NixOS for the first time, the store is usually in /mnt/nix/store and without the read-only bind mount that's preventing programs from altering the store. So after nixos-install is done creating the system closure and setting it as the active system profile, the bootloader is written from the closure inside the chroot. The systemd-boot-builder is invoked during this step, which adds .pyc files for various Python modules of the Python 3 store path, which in turn invalidates the hash of the Python 3 store path itself. At the time the system is booted up again, the nix-store is verified and fails with something like this: path /nix/store/zvm545rqc4d97caqq9h7344bnd06jhzb-python3-3.5.3 was modified! expected hash b2c975f4b8d197443fbb09690fb3f6545e165dd44c9309d7d6df2fce0579ebeb, got bccca19f39c9d26d857ccf1fb72818b2b817967e6d497a25a1283e36ed0acf01 Running the interpreter with the -B argument prevents Python from writing those byte code files: https://docs.python.org/3/using/cmdline.html#cmdoption-B Signed-off-by: aszlig <aszlig@redmoonstudios.org>
parent
0602b9d1
Please register or sign in to comment