Subject: bug#29088: Superseded package is not rebuild if native dependency changes

From: [email-masked] (Ludovic Courtès)
Date: Tue, 31 Oct 2017 23:27:09 +0100

Hi,

Hartmut Goebel <[email-masked]> skribis:

> 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 the
example above, what you built is “gpgme”, not “gpgmepp”, which is why
any 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 are
superseded and must no longer be used.

So to me this can be closed as “not a bug.”

HTH!

Ludo’.