help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why do some vm-image VM packages display "OUTPUTS: (Package is obsol


From: Alex Kost
Subject: Re: Why do some vm-image VM packages display "OUTPUTS: (Package is obsolete)"?
Date: Wed, 06 Jul 2016 20:43:59 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

myglc2 (2016-07-06 05:55 +0300) wrote:

[...]
> Why do some vm-image VM packages display "OUTPUTS: (Package is obsolete)"?

Sorry, I have zero knowledge about VM things and I don't understand what
you describe, but I have an idea...

... Emacs interface uses the term "obsolete" *wrongfully* (I have known
about it since the very beginning :-)).  It displays an installed
package as obsolete in one case – when there is no such package (with
the same name and the same version) in the Guix code base it uses.  This
leads to a problem you probably have: when an installed package is "from
the future", it is displayed as obsolete.

For example, the current Guix code provides a definition for a package
"foo-0.2".  So if you have "foo-0.3" installed, it will be displayed by
the Emacs UI as obsolete!  Since Emacs can't get any info for the
unknown package (Guix has "foo-0.2" package but not "foo-0.3"), it just
displays "Package is obsolete".

As you can see, "obsolete" is not a suitable term here, it would be
better to display "Package not found" or something like this.


Returning to you problem (which I don't understand at all), I guess it
is similar to this: your "~/.config/guix/latest" is a symlink to the
recent Guix code base (either your git checkout or a store directory
made by "guix pull").  And your user/system profiles probably contain
modern packages that came from this recent Guix.

Now, if you remove (or rename) "~/.config/guix/latest" temporarily and
try to use emacs interface, it will use package definitions from the
older Guix (from the store).  And it will display some new packages as
obsolete, but they are not obsolete, they are actually too new, and the
old Guix doesn't have package definitions for them.


Sorry for verbosity, you can switch to *Guix REPL* buffer and enter
‘%load-path’ there.  I think the value of this variable will not contain
"/home/<user>/.config/guix/latest" when you have "obsolete" packages,
and will contain it when everything is OK.

-- 
Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]