Hello, Benjamin Andresen <be...@in-ulm.de> skribis:
> this is with an empty user account that has no packages installed before this: >> guixsd% guix package -u >> The following packages will be upgraded: >> python-wrapper 3.5.3 → 3.5.3 >> /gnu/store/xnb9bn2vgr3ch8zznsv23w65bb5psshh-python-wrapper-3.5.3 >> python-ipython 5.3.0 → 5.3.0 >> /gnu/store/7lg8s2kc6k8fxbdx80ykz39kz2lwj08g-python-ipython-5.3.0 >> >> nothing to be done > > The problem exists with both installed and with them individually. This is because ‘transaction-upgrade-entry’ in (guix profiles) conservatively assumes that any package with propagated inputs, like ‘python-wrapper’, always has to be upgraded: (case (version-compare candidate-version version) ((>) (manifest-transaction-install-entry (package->manifest-entry pkg output) transaction)) ((<) transaction) ((=) (let ((candidate-path (derivation->output-path (package-derivation (%store) pkg)))) ;; 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) transaction))))) I think we can refine this code. Thanks for your report, Ludo’.