summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-01-25 12:09:33 +0100
committerLudovic Courtès <ludo@gnu.org>2019-01-25 14:06:37 +0100
commitaf77219e8a59c9d04cda349b26b7f30ea5cf3ab1 (patch)
treecf0c9e4e86b68fdb14d71802368fafb92c22d7bb
parent4d6ce0f12cf3724b89876f4e911fc84f344c4215 (diff)
downloadguix-af77219e8a59c9d04cda349b26b7f30ea5cf3ab1.tar.gz
refresh: Better account for private and generated packages.
Until now, private and generated packages (e.g., those created by
'texlive-union') we missing from the list passed to 'node-back-edges',
which would lead to inaccurate dependent counts.

Previously we'd get:

  $ guix refresh -l texlive-fonts-cm
  Building the following 80 packages would ensure 116 dependent packages
  are rebuilt: …

Now we have:

  $ Building the following 240 packages would ensure 597 dependent
  packages are rebuilt: …

* guix/scripts/refresh.scm (list-dependents): Call 'package-closure'.
-rw-r--r--guix/scripts/refresh.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 7292eabc47..5b0f345cde 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -400,7 +400,7 @@ the latest known version of ~a (~a)~%")
                    (package-version package)))
 
   (mlet %store-monad ((edges (node-back-edges %bag-node-type
-                                              (all-packages))))
+                                              (package-closure (all-packages)))))
     (let* ((dependents (node-transitive-edges packages edges))
            (covering   (filter (lambda (node)
                                  (null? (edges node)))