Branch: refs/heads/master
Home: https://github.com/NixOS/nixpkgs
Commit: e662e035f9ed4d125c7534bc65e01fc73a0b0f62
https://github.com/NixOS/nixpkgs/commit/e662e035f9ed4d125c7534bc65e01fc73a0b0f62
Author: aszlig <[email protected]>
Date: 2017-04-20 (Thu, 20 Apr 2017)
Changed paths:
M nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
Log Message:
-----------
nixos/systemd-boot-builder: Don't write .pyc files
This has surfaced since d990aa716327abb018e8352dcf7ba2fcfb4fc34c.
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 <[email protected]>
_______________________________________________
nix-commits mailing list
[email protected]
https://mailman.science.uu.nl/mailman/listinfo/nix-commits