1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

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>
This commit is contained in:
Ludovic Courtès
2023-10-12 17:16:49 +02:00
parent 2812eb2e1b
commit 75bdf8e06a

View File

@@ -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)