From af77219e8a59c9d04cda349b26b7f30ea5cf3ab1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Fri, 25 Jan 2019 12:09:33 +0100
Subject: [PATCH] refresh: Better account for private and generated packages.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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'.
---
 guix/scripts/refresh.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 7292eabc478..5b0f345cde5 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -400,7 +400,7 @@ (define (full-name package)
                    (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)))
-- 
GitLab