Raito Bezarius
ef94901156
libstore/build: 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 >
2025-07-27 01:42:41 +02:00
..
2025-07-25 21:04:16 +02:00
2023-12-01 12:06:43 -05:00
2025-03-07 07:45:08 -05:00
2025-07-17 12:36:54 -07:00
2025-02-16 14:15:36 +01:00
2024-06-01 20:31:24 +02:00
2025-07-22 10:39:32 +00:00
2025-05-02 10:57:15 +00:00
2025-07-23 16:45:25 +02:00
2025-05-12 13:37:54 +02:00
2025-03-02 17:37:12 +00:00
2023-12-01 12:06:43 -05:00
2024-10-30 15:12:35 +04:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-01-23 17:57:52 -08:00
2024-06-01 20:31:24 +02:00
2023-12-01 12:06:43 -05:00
2025-07-22 10:39:32 +00:00
2023-12-01 12:06:43 -05:00
2024-03-07 10:46:47 +01:00
2023-12-01 12:06:43 -05:00
2024-03-07 10:46:47 +01:00
2024-08-25 19:55:47 +02:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-06-24 10:49:49 +00:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-06-24 10:49:49 +00:00
2025-07-22 15:32:25 +02:00
2025-07-16 23:02:16 +00:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-01-20 15:05:50 +01:00
2025-07-22 10:39:32 +00:00
2025-07-07 11:44:17 +00:00
2025-07-07 11:44:17 +00:00
2024-10-29 18:34:54 +01:00
2025-07-16 23:02:16 +00:00
2023-12-01 12:06:43 -05:00
2025-05-27 22:20:22 +00:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2024-10-30 15:12:35 +04:00
2024-05-03 16:26:16 +02:00
2025-07-22 12:33:49 +00:00
2024-06-01 20:31:24 +02:00
2024-03-04 08:57:44 +01:00
2025-07-07 11:44:17 +00:00
2025-07-07 11:44:17 +00:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2024-03-04 07:15:08 +01:00
2025-05-29 15:25:12 +02:00
2025-05-29 15:25:12 +02:00
2024-06-30 19:28:14 +02:00
2023-12-01 12:06:43 -05:00
2025-07-07 11:44:17 +00:00
2023-12-01 12:06:43 -05:00
2024-05-08 19:31:43 +00:00
2024-05-08 19:31:43 +00:00
2024-03-07 10:46:47 +01:00
2025-07-22 10:39:32 +00:00
2025-05-22 14:00:19 +02:00
2024-09-28 14:52:06 +02:00
2025-05-28 22:24:23 +00:00
2023-12-01 12:06:43 -05:00
2024-08-17 15:48:10 +00:00
2025-01-26 11:22:03 +01:00
2023-12-01 12:06:43 -05:00
2025-03-21 13:19:15 -07:00
2023-12-01 12:06:43 -05:00
2025-02-27 00:26:48 +01:00
2025-02-27 00:26:48 +01:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-05-08 20:23:12 +02:00
2025-07-22 10:39:32 +00:00
2024-09-26 14:32:29 -07:00
2024-09-26 14:32:29 -07:00
2024-06-27 22:44:16 -07:00
2024-03-29 22:57:40 -07:00
2025-06-01 18:59:23 +02:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2024-07-19 20:55:55 +00:00
2024-04-25 23:24:21 -04:00
2024-04-25 23:24:21 -04:00
2025-06-02 20:05:32 +02:00
2024-10-14 17:19:22 +04:00
2024-11-01 11:59:59 +00:00
2024-03-07 10:46:47 +01:00
2024-01-11 07:21:16 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-05-11 17:26:55 +02:00
2024-12-06 00:59:53 +01:00
2024-05-06 18:56:40 +02:00
2024-06-24 14:00:43 -07:00
2025-05-21 20:36:20 +02:00
2025-06-01 20:19:37 +02:00
2024-04-08 15:40:12 -07:00
2024-03-29 22:57:40 -07:00
2025-06-29 21:26:01 +02:00
2024-04-08 15:40:12 -07:00
2025-02-16 14:15:36 +01:00
2025-07-27 01:42:41 +02:00
2024-12-10 15:43:31 -08:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-07-25 21:04:16 +02:00
2025-07-25 21:04:16 +02:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2024-03-29 22:57:40 -07:00
2023-12-01 12:06:43 -05:00
2024-07-09 13:55:05 +00:00
2024-03-07 03:34:00 +01:00
2024-03-07 03:34:00 +01:00
2024-03-07 03:34:00 +01:00
2024-06-24 14:00:43 -07:00
2025-05-20 13:27:04 +02:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-02-27 00:26:48 +01:00
2023-12-01 12:06:43 -05:00
2024-05-12 23:04:21 +02:00
2025-07-22 10:39:32 +00:00
2025-02-17 16:05:06 -08:00
2023-12-01 12:06:43 -05:00
2025-03-02 18:30:30 +01:00
2024-06-24 14:00:43 -07:00
2024-03-29 22:57:40 -07:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-02-27 00:26:48 +01:00
2025-02-27 00:26:48 +01:00
2023-12-01 12:06:43 -05:00
2024-08-23 17:49:15 -07:00
2025-01-05 14:50:45 +01:00
2025-01-05 14:50:45 +01:00
2025-07-22 10:39:32 +00:00
2025-07-27 01:42:41 +02:00
2023-12-01 12:06:43 -05:00
2025-05-20 13:27:04 +02:00
2023-12-01 12:06:43 -05:00
2024-11-28 18:15:52 +01:00
2023-12-01 12:06:43 -05:00
2024-08-04 20:41:19 -07:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-07-22 10:39:32 +00:00
2024-03-04 07:50:55 +01:00
2025-03-07 07:45:08 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2024-03-29 22:57:40 -07:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-07-22 10:39:32 +00:00
2023-12-01 12:06:43 -05:00
2025-07-22 10:39:32 +00:00
2024-06-23 11:52:49 +00:00
2023-12-01 12:06:43 -05:00
2025-03-11 20:21:24 +01:00
2025-06-24 10:49:49 +00:00
2025-03-02 17:37:12 +00:00
2024-04-11 15:43:58 +03:00
2024-08-17 15:48:10 +00:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2024-03-14 14:30:38 -07:00
2023-12-01 12:06:43 -05:00
2024-05-28 04:20:00 +00:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2023-12-01 12:06:43 -05:00
2025-05-11 01:07:18 +02:00
2025-07-07 11:44:17 +00:00
2023-12-01 12:06:43 -05:00