GNU bug report logs -
#35872
'guix upgrade' misdiagnoses upgrades in the presence of propagated inputs
Previous Next
Reported by: Andy Tai <atai <at> atai.org>
Date: Thu, 23 May 2019 20:42:01 UTC
Severity: important
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#35872: 'guix upgrade' misdiagnoses upgrades in the presence of propagated inputs
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 35872 <at> debbugs.gnu.org.
--
35872: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=35872
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi!
Ludovic Courtès <ludo <at> gnu.org> skribis:
> (+Cc: Efraim following our discussion on IRC.)
>
> Ludovic Courtès <ludo <at> gnu.org> skribis:
>
>> This is a bug where the presence of propagated inputs leads ‘guix
>> upgrade’ to assume something would be upgraded, even when that’s not the
>> case. This can be reproduced with:
>>
>> guix install -p foo guile
>> guix upgrade -p foo
>
> I came up with an actual fix for that (attached), nice and clean, which
> would allow ‘guix upgrade’ to correctly determine whether something is
> going to be upgraded.
>
> But then I realized that this cannot work in the presence of grafts:
> first because ‘-n’ currently implies ‘--no-grafts’, so this is an apple
> to orange comparison, and then because computing the output file name of
> a grafted package can require building the package (grafts are “dynamic
> dependencies”.)
I saw the light :-) and came up with a simple solution to this in commit
a357849f5b1314c2a35efeee237645b9b08c39f5. Basically, we do the complete
manifest entry comparison as in the patch I posted earlier, but we punt
if doing so would require building things (for grafts).
Anecdotal data: on my 288-item profile, “guix upgrade -n” would
previously report that 124 things need to be upgraded, and now it
reports 97 instead.
Ludo’.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
on my guix installation (on an Ubuntu system but that detail should not
matter)
after running
%guix pull && guix package -u
these were printed:
----
...
New in this revision:
...
hint: Run `guix pull --news' to view the complete list of package changes.
hint: After setting `PATH', run `hash guix' to make sure your shell refers
to `/home/.../.config/guix/current/bin/guix'.
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.
The following packages will be upgraded:
glibc-locales 2.28 → 2.28
/gnu/store/acl2wxzzkkcjv74rlqswdf9p8pwddlmk-glibc-locales-2.28
meson 0.50.0 → 0.50.0
/gnu/store/zc6r8b1rx3q7lqd8kvvpnm38ky925kmj-meson-0.50.0
guile 2.2.4 → 2.2.4
/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4
font-adobe-source-han-sans:cn 1.004 → 1.004
/gnu/store/zf59mg6g0afay9458aarh0rqcz852hhb-font-adobe-source-han-sans-1.004-cn
fontconfig 2.13.1 → 2.13.1
/gnu/store/cnafj0dn09qzy23xnrrjsq5zcdj4739j-fontconfig-2.13.1
epiphany 3.28.3.1 → 3.28.3.1
/gnu/store/n56bdjhqgq7a4a6ndqc3aymyrzvs12hl-epiphany-3.28.3.1
gnome-terminal 3.28.2 → 3.28.2
/gnu/store/r6i61wji0qmv9fqdyk65kx73nzxw8v80-gnome-terminal-3.28.2
nothing to be done
----
Now there seems nothing to be done during the guix package -u step so these
messages
glibc-locales 2.28 → 2.28...
were confusing and probably not necessary?
[Message part 5 (text/html, inline)]
This bug report was last modified 5 years and 49 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.