guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/08: shell: Take grafting into account when caching.


From: guix-commits
Subject: 07/08: shell: Take grafting into account when caching.
Date: Thu, 12 Oct 2023 12:55:40 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 75bdf8e06a325b90bf387a03f88726d338acbbf6
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu Oct 12 17:16:49 2023 +0200

    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>
---
 guix/scripts/shell.scm | 3 +++
 1 file changed, 3 insertions(+)

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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]