Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 672554 - dev-libs/efl-1.21.1: efreet did not update cache, icons missing
Summary: dev-libs/efl-1.21.1: efreet did not update cache, icons missing
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Joonas Niilola
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-05 10:21 UTC by tbartdev
Modified: 2020-07-29 19:37 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to for x11-wm/enlightenment-0.24 (enlightenment-0.24.1.patch,597 bytes, patch)
2020-07-24 02:19 UTC, Cheyenne Wills
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description tbartdev 2018-12-05 10:21:55 UTC
I get

"E: Efreet did not update cache.
Please check your Efreet setup"

as a GUI dialog after logging into E.

I very much think these two issues are related/the same:

Most applications have icons (when opening Everything launcher), but parcellite for example does not.

It has its icons under /usr/share/pixmaps (and only there):

$ equery f parcellite
 * Searching for parcellite ...
 * Contents of x11-misc/parcellite-1.2.1:
/etc
/etc/xdg
/etc/xdg/autostart
/etc/xdg/autostart/parcellite-startup.desktop
/usr
/usr/bin
/usr/bin/parcellite
/usr/share
/usr/share/applications
/usr/share/applications/parcellite.desktop
/usr/share/doc
/usr/share/doc/parcellite-1.2.1
/usr/share/doc/parcellite-1.2.1/AUTHORS
/usr/share/doc/parcellite-1.2.1/ChangeLog.bz2
/usr/share/doc/parcellite-1.2.1/NEWS
/usr/share/doc/parcellite-1.2.1/README.bz2
/usr/share/doc/parcellite-1.2.1/TODO.bz2
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/parcellite.1.bz2
/usr/share/pixmaps
/usr/share/pixmaps/parcellite.png
/usr/share/pixmaps/parcellite.svg
/usr/share/pixmaps/parcellite.xpm

Most other applications have their icons below /usr/share/icons/<theme>/<size>/apps/ like firefox-bin for example.

If I do a simple
$ ln -s /usr/share/pixmaps/parcellite.svg ~/.icons/
(without a restart, logout, whatever) I instantly get an icon for parcellite.

Which is pretty strange, given that the original icon in /usr/share/pixmaps does get indexed by the efreet cache builder anyway:

$ eet -d ~/.cache/efreet/icons___efreet_fallback_$HOSTNAME.eet parcellite
group "Efreet_Cache_Fallback_Icon" struct {
    group "icons" var_array {
        count 3;
        value "icons" string: "/usr/share/pixmaps/parcellite.svg";
        value "icons" string: "/usr/share/pixmaps/parcellite.png";
        value "icons" string: "/usr/share/pixmaps/parcellite.xpm";
    }
}

I already tried removing the efreet cache and rebuilding it, which works without issues it seems:

$ /usr/lib64/efreet/v-1.21/efreet_icon_cache_create -e .png .xvg .xpm -v
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:842 main() opening theme cache
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:891 main() scan for themes
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:921 main() scan theme Hicolor
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:927 main() open icon file
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:964 main() scan icons

INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:973 main() generated: 'hicolor' 1 (115)
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:980 main() theme change: hicolor 1543854326
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:921 main() scan theme Default
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:927 main() open icon file
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:964 main() scan icons

INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:973 main() generated: 'default' 1 (950)
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:980 main() theme change: default 1532270631
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:921 main() scan theme HighContrast
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:927 main() open icon file
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:964 main() scan icons

INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:973 main() generated: 'HighContrast' 1 (115)
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:980 main() theme change: HighContrast 1543854326
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:921 main() scan theme Adwaita
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:927 main() open icon file
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:964 main() scan icons

INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:973 main() generated: 'Adwaita' 1 (950)
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:980 main() theme change: Adwaita 1543854326
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:995 main() scan fallback icons
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:1005 main() open fallback file
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:1049 main() scan fallback icons
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:1056 main() generated: fallback 1 (58)
c
INF<14870>:efreet_icon_cache bin/efreet/efreet_icon_cache_create.c:1092 main() done

$ /usr/lib64/efreet/v-1.21/efreet_desktop_cache_create -v
[..]
INF<14875>:efreet_desktop_cache bin/efreet/efreet_desktop_cache_create.c:55 cache_add() FOUND: /usr/share/applications/parcellite.desktop
INF<14875>:efreet_desktop_cache bin/efreet/efreet_desktop_cache_create.c:56 cache_add()  (id): parcellite.desktop
INF<14875>:efreet_desktop_cache bin/efreet/efreet_desktop_cache_create.c:60 cache_add()   OK
INF<14875>:efreet_desktop_cache bin/efreet/efreet_desktop_cache_create.c:67 cache_add()   NEW
[..]

I don't know how to proceed. Is this a gentoo or an upstream bug? Can someone reproduce this on dev-libs/efl-1.21.1 and x11-wm/enlightenment-0.22.3 or .4 (does not matter here)?

I'd like to have parcellite as a startup application, which worked flawlessly up until some recent efl or enlightenment update. But it won't start although it is configured to do so. I cannot fix this with the logo in ~/.icons so this might not be related.

Related to #671876
Comment 1 Joonas Niilola gentoo-dev 2018-12-05 14:12:57 UTC
So I installed parcellite and it shows icon when ran from "Everything launcher". Do you have some custom .desktop file for it, which looks for icon from ~ or something? Also could you show your efl USE flags?

Then 2nd thing: Some time ago (I believe in e-0.22.3) Enlightenment-WM dropped support for xembed systray apps. Does parcellite launch itself to systray? You may need to install some external systray app capable of showing old-school xembed apps. Or play with panel settings trying to get systray to work there. 
I realized this because I ran parcellite from terminal but it doesnt show anywhere, it still seems to work from and in terminal.

https://wiki.gentoo.org/wiki/Enlightenment#Applications_requiring_system_tray_not_working_properly
Comment 2 Cheyenne Wills 2020-07-24 02:19:00 UTC
Created attachment 650430 [details, diff]
Patch to for x11-wm/enlightenment-0.24

/etc/portage/patches/x11-wm/enlightenment/enlightenment-0.24.1.patch
Comment 3 Cheyenne Wills 2020-07-24 02:20:50 UTC
I'm running into the same situation, I was able to circumvent the problem by increasing the timeout (from 10 seconds to 60 seconds) that e_startup uses when waiting for efreetd to start.

The real question is why is efreetd taking so long to start.
Comment 4 Joonas Niilola gentoo-dev 2020-07-24 06:42:16 UTC
I haven't ran into this, if you backup your ~/.e and ~/.elementary directories, then move/delete them and relog, does it help?
Comment 5 tbartdev 2020-07-29 19:37:52 UTC
I think I solved this by removing the consolekit USE flag (currently not at my box). And then I haven't reported back - shame on me..

Do you still get this error with a current version built with elogind (which seems to be the way to go as it seems)?

Removing the consolekit USE flag or building a more current version with elogind also fixed the application not getting started.

Can you reproduce this?

Maybe the additional time helps to not run into a timeout waiting for some consolekit/elogind-like daemon?

I think I remember not using slim/lightdm to login but using startx from a console also helped.