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'.
This commit is contained in:
Ludovic Courtès 2019-01-25 12:09:33 +01:00
parent 4d6ce0f12c
commit af77219e8a
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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)))