diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-10-12 17:16:49 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-10-12 18:53:07 +0200 |
commit | 75bdf8e06a325b90bf387a03f88726d338acbbf6 (patch) | |
tree | 5b59cf559af334aadb478d8bace81a64d2b8af7b | |
parent | 2812eb2e1b7ec3409cf823c95da1b676259d8698 (diff) | |
download | guix-75bdf8e06a325b90bf387a03f88726d338acbbf6.tar.gz guix-75bdf8e06a325b90bf387a03f88726d338acbbf6.zip |
shell: Take grafting into account when caching.
Fixes <https://issues.guix.gnu.org/64856>.
* guix/scripts/shell.scm (profile-file-cache-key)
(profile-spec-cache-key): Take (%graft?) into account.
Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-rw-r--r-- | guix/scripts/shell.scm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index 83888eee1d..898c355316 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -26,6 +26,7 @@ #:autoload (guix transformations) (options->transformation transformation-option-key? show-transformation-options-help) + #:autoload (guix grafts) (%graft?) #:use-module (guix scripts) #:use-module (guix packages) #:use-module (guix profiles) @@ -354,6 +355,7 @@ performed--e.g., because the package cache is not authoritative." ;; be insufficient: <https://lwn.net/Articles/866582/>. (sha256 (string->utf8 (string-append primary-key ":" system ":" + (if (%graft?) "" "ungrafted:") (number->string (stat:dev stat)) ":" (number->string (stat:ino stat)))))))))) @@ -366,6 +368,7 @@ is a list of package specs. Return #f if caching is not possible." (bytevector->base32-string (sha256 (string->utf8 (string-append primary-key ":" system ":" + (if (%graft?) "" "ungrafted:") (object->string specs)))))))) (define (profile-cached-gc-root opts) |