Superseded package is not rebuild if native dependency changes

DoneSubmitted by Hartmut Goebel.
Details
2 participants
  • Hartmut Goebel
  • Ludovic Courtès
Owner
unassigned
Severity
normal
H
H
Hartmut Goebel wrote on 31 Oct 2017 18:32
(name . bug-guix)(address . bug-guix@gnu.org)
5bd582ba-60c7-f1bd-dad7-ae15c162a9d2@crazy-compilers.com
Hi,
the package "gpgmepp" depends on native input "extra-cmake-modules".However if the alter is changed, gpgmepp is not rebuild.
How to reproduce
git checkout master # important: without http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29087applied
./pre-inst-env guix build gpgmepp
now apply http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29087
./pre-inst-env guix build extra-cmake-modules # the package changed by patch 29087
./pre-inst-env guix build gpgmepp guix build: package 'gpgmepp' has been superseded by 'gpgme' /gnu/store/ky8p7lllm9h9sv1zy0f742r1cc6qbd1l-gpgme-1.9.0
This does *not* rebuild gpgmepp, but simply return the old store-path.
-- RegardsHartmut Goebel
| Hartmut Goebel | h.goebel@crazy-compilers.com || www.crazy-compilers.com | compilers which you thought are impossible |
L
L
Ludovic Courtès wrote on 31 Oct 2017 23:27
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 29088@debbugs.gnu.org)
87inevvtqa.fsf@gnu.org
Hi,
Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:
Toggle quote (21 lines)> the package "gpgmepp" depends on native input "extra-cmake-modules".> However if the alter is changed, gpgmepp is not rebuild.>> How to reproduce>> git checkout master # important: without> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29087 applied>> ./pre-inst-env guix build gpgmepp>> now apply http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29087>> ./pre-inst-env guix build extra-cmake-modules # the package changed> by patch 29087>> ./pre-inst-env guix build gpgmepp> guix build: package 'gpgmepp' has been superseded by 'gpgme'> /gnu/store/ky8p7lllm9h9sv1zy0f742r1cc6qbd1l-gpgme-1.9.0>> This does *not* rebuild gpgmepp, but simply return the old store-path.
Superseded packages cannot be built/installed unwillingly. In theexample above, what you built is “gpgme”, not “gpgmepp”, which is whyany changes to “gpgmepp” had no effect.
To force a build of the superseded package, you can run:
guix build -e '(@ (gnu packages kde-frameworks) gpgmepp)'
But again, the intended meaning of superseded packages is that they aresuperseded and must no longer be used.
So to me this can be closed as “not a bug.”
HTH!
Ludo’.
H
H
Hartmut Goebel wrote on 1 Nov 2017 09:39
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 29088@debbugs.gnu.org)
5b084e73-de7e-c799-90c5-551ca1bef576@crazy-compilers.com
Am 31.10.2017 um 23:27 schrieb Ludovic Courtès:
Toggle quote (4 lines)> Superseded packages cannot be built/installed unwillingly. In the> example above, what you built is “gpgme”, not “gpgmepp”, which is why> any changes to “gpgmepp” had no effect.
IC. Indeed I missed that a different package was build. So I agree, thisis not a bug.
But i suggest to emit a more verbose message in this case, e.g.:
guix build: package 'gpgmepp'will not be build, since it <<--- newhas been superseded by 'gpgme'.'gpgme' will be build instead. <<--- new
Or (maybe easier to implement:guix build: package 'gpgmepp' has been superseded by 'gpgme'.Thus 'gpgme' will be build instead of 'gpgmepp'. <<--- new
-- RegardsHartmut Goebel
| Hartmut Goebel | h.goebel@crazy-compilers.com || www.crazy-compilers.com | compilers which you thought are impossible |
L
L
Ludovic Courtès wrote on 2 Nov 2017 00:14
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 29088@debbugs.gnu.org)
874lqdvbgh.fsf@gnu.org
Hi Hartmut,
Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:
Toggle quote (19 lines)> Am 31.10.2017 um 23:27 schrieb Ludovic Courtès:>> Superseded packages cannot be built/installed unwillingly. In the>> example above, what you built is “gpgme”, not “gpgmepp”, which is why>> any changes to “gpgmepp” had no effect.>> IC. Indeed I missed that a different package was build. So I agree, this> is not a bug.>> But i suggest to emit a more verbose message in this case, e.g.:>> guix build: package 'gpgmepp'> will not be build, since it <<--- new> has been superseded by 'gpgme'.> 'gpgme' will be build instead. <<--- new>> Or (maybe easier to implement:> guix build: package 'gpgmepp' has been superseded by 'gpgme'.> Thus 'gpgme' will be build instead of 'gpgmepp'. <<--- new
I see your point, but I’m not entirely convinced. :-) After all, thename that appears, be it at the end of ‘guix build’ or in the profilecreated by ‘guix package’, is “gpgme”, not “gpgmepp”.
We could make the messages more verbose, but in general it’s unclearthat it would help.
However, that’s another situation where colored output could help makeuseful messages more visible.
Thanks,Ludo’.
L
L
Ludovic Courtès wrote on 2 Nov 2017 00:14
control message for bug #29088
(address . control@debbugs.gnu.org)
87375xvbg7.fsf@gnu.org
tags 29088 notabugclose 29088
?
Your comment

This issue is archived.

To comment on this conversation send email to 29088@debbugs.gnu.org