ef94901156c0c688ffffaa2c5caf1498119f01d4
pathContentsGood is physical path aware now
`pathContentsGood` is used to assess the validity of a path as part of derivation goals *in repair mode*. When repair is used with a diverted store, i.e. a store where fsPath(toRealPath(s)) != fsPath(s) for s a store path, this result in utterly broken behavior because it will attempt to assess the goodness of the *logical* store locations, most of the time: /nix/store/... So, if you are repairing your system using a live NixOS ISO. Your ISO contains a `/nix/store` (assumed to be good) and you repair your system which is rooted at /mnt and contains its own /nix/store, that is, a Nix store at /mnt/nix/store. Performing the following operation `nix-store --verify --repair --store /mnt` will assess the contents goodness of the ISO's Nix store. To avoid this, we assess the path existence of the *physical path*, aka the result of `store.toRealPath` applied to a *logical* store path string representation and we verify the hash of the *physical path*. The error messages are not taken care of in this CL as those are purely cosmetic and helps the user understand what is going on. Fixes #892. Change-Id: Ib9e0153cb5683edcf37f1963ebf065ceba5e5dfb Signed-off-by: Raito Bezarius <raito@lix.systems>
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%