guix-commits
[Top][All Lists]
Advanced

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

01/02: maint: update-guix-package: Protect the checkout from GC.


From: Ludovic Courtès
Subject: 01/02: maint: update-guix-package: Protect the checkout from GC.
Date: Tue, 9 May 2017 06:58:53 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit aa1c3a0000793873ef31f33f8aa90f5ae1ab8b8d
Author: Ludovic Courtès <address@hidden>
Date:   Tue May 9 10:42:43 2017 +0200

    maint: update-guix-package: Protect the checkout from GC.
    
    * build-aux/update-guix-package.scm (main): Define 'root', and call
    'add-indirect-root' to protect SOURCE from GC.
---
 build-aux/update-guix-package.scm | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/build-aux/update-guix-package.scm 
b/build-aux/update-guix-package.scm
index d45c183..9598872 100644
--- a/build-aux/update-guix-package.scm
+++ b/build-aux/update-guix-package.scm
@@ -124,10 +124,19 @@ COMMIT."
          ;; on a private branch.
          (reload-module
           (resolve-module '(gnu packages package-management)))
-         (pk source
-             (add-to-store store
-                           (origin-file-name (package-source guix))
-                           #t "sha256" source)))))
+
+         (let* ((source (add-to-store store
+                                      (origin-file-name (package-source guix))
+                                      #t "sha256" source))
+                (root   (store-path-package-name source)))
+
+           ;; Add an indirect GC root for SOURCE in the current directory.
+           (false-if-exception (delete-file root))
+           (symlink source root)
+           (add-indirect-root store root)
+
+           (format #t "source code for commit ~a: ~a (GC root: ~a)~%"
+                   commit source root)))))
     ((commit)
      ;; Automatically deduce the version and revision numbers.
      (main commit #f))))



reply via email to

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