diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index a6bfb03ae4..5e19df5e43 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -312,7 +312,10 @@ (define (supersede old new) ((=) (let ((candidate-path (derivation->output-path (package-derivation (%store) pkg)))) - (if (string=? path candidate-path) + ;; XXX: When there are propagated inputs, assume we need to + ;; upgrade the whole entry. + (if (and (string=? path candidate-path) + (null? (package-propagated-inputs pkg))) transaction (manifest-transaction-install-entry (package->manifest-entry pkg output)