IBus relies on possibly outdated ~/.cache/ibus/bus/registry

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Ricardo Wurmus
Severity
normal
Merged with
R
R
Ricardo Wurmus wrote on 16 Feb 2016 20:36
(address . bug-guix@gnu.org)
87bn7g5tww.fsf@elephly.net
I have an annoying little problem with IBus. IBus creates a binary
registry in ~/.cache/ibus/bus on first start(?) which contains the full
paths to store items such as

/gnu/store/k3r...-ibus-1.5.11/libexec/ibus-dconf

The problem is that when updating the “ibus” package this registry is
invalid, but never invalidated or regenerated. IBus will continue to
use the paths in the registry — even after they have disappeared after
“guix gc”. This results in an unhelpful error when starting
“ibus-setup”:

Can not execute default config program

This is because it tries to run “$oldstoreitem/libexec/ibus-dconf”,
which has been removed by garbage collection.

The “.cache” directory is not part of the profile, of course, so we
cannot automatically rebuild it. Looking at the code it seems that IBus
first looks for a system registry, but this registry cannot be right as
the user may have installed additional IBus input methods and the system
registry (wherever that may be) is not writeable.

Should we prevent a registry in the “.cache” directory to be used and
try to make IBus look for a registry that could be generated as part of
generating a new profile generation?

~~ Ricardo
L
L
Ludovic Courtès wrote on 24 Feb 2016 22:36
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 22707@debbugs.gnu.org)
87r3g1dc4u.fsf@gnu.org
Ricardo Wurmus <rekado@elephly.net> skribis:

Toggle quote (6 lines)
> I have an annoying little problem with IBus. IBus creates a binary
> registry in ~/.cache/ibus/bus on first start(?) which contains the full
> paths to store items such as
>
> /gnu/store/k3r...-ibus-1.5.11/libexec/ibus-dconf

GIMP has a similar problem for files in ~/.gimp-2.8, though it seems to
automatically regenerate them or something.

Toggle quote (4 lines)
> Should we prevent a registry in the “.cache” directory to be used and
> try to make IBus look for a registry that could be generated as part of
> generating a new profile generation?

Either that or we change the IBus code to detect stale caches and get
rid of them. This might even be acceptable upstream. WDYT?

Ludo’.
R
R
Ricardo Wurmus wrote on 19 Oct 2017 01:53
control message for bug #28352
(address . control@debbugs.gnu.org)
E1e51i9-0007gm-3T@debbugs.gnu.org
merge 28352 22707
?