Subject: bug#21767: Matching debug symbol and package versions

From: [email-masked] (Ludovic Courtès)
Date: Tue, 27 Oct 2015 16:56:23 +0100

Benno Evers <[email-masked]> skribis:

> assume I have installed some package
>
>     /gnu/store/xxx-daemon-1.0
>
> After a while I notice that it's inexplicably hanging, so I do 'guix
> package -i daemon-1.0:debug', attach to the daemon with gdb, and...no
> debug symbols can be loaded! Turns out, in the meantime the hash has
> changed so i installed
>
>     /gnu/store/yyy-daemon-1.0:debug

One thing that could be done, maybe, is for ‘guix package -i’ to try to
infer the right item to install.

That is, when running “guix package -i foo:bar”:

  1. If no ‘foo’ is present in the profile, install the latest
     ‘foo:bar’, as is already the case.

  2. If another output of ‘foo’ is already installed, do:

     2a. Retrieve the .drv for that item using ‘query-path-info’.

         i. If the .drv is present, parse it, and use the outputs
            specified therein–i.e., the one that match.

         ii. If the .drv is missing, well, install the latest ‘foo:bar’.

The obvious problem is that this all sounds a bit complex, and it’s
unclear whether case (i) would sufficiently frequent to justify this
complexity.

Thoughts?

Thanks,
Ludo’.