~ruther/guix-local

aa1c3a0000793873ef31f33f8aa90f5ae1ab8b8d — Ludovic Courtès 8 years ago 5989850
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.
1 files changed, 13 insertions(+), 4 deletions(-)

M build-aux/update-guix-package.scm
M build-aux/update-guix-package.scm => build-aux/update-guix-package.scm +13 -4
@@ 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))))