[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#29244: guix update -u always wants to update: python-wrapper & pytho
From: |
Ludovic Courtès |
Subject: |
bug#29244: guix update -u always wants to update: python-wrapper & python-ipython |
Date: |
Mon, 20 Nov 2017 22:50:07 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello,
Benjamin Andresen <address@hidden> 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’.