Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 518294 - dev-util/catfish should depend on x11-themes/gnome-icon-theme
Summary: dev-util/catfish should depend on x11-themes/gnome-icon-theme
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Desktop Misc. Team
URL:
Whiteboard:
Keywords:
Depends on: CVE-2014-2093
Blocks:
  Show dependency tree
 
Reported: 2014-07-26 23:00 UTC by Paweł Stankowski
Modified: 2014-07-30 20:31 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paweł Stankowski 2014-07-26 23:00:21 UTC
Catfish depends on some specific icons installed in the system. When run without these icons being available, catfish fails to initialize.

Catfish's code uses Exception Driven Development, so ignore first exception from stack trace. The interesting part is second exception: it is about missing icon.

This icon is included by few icon themes, but only installing 'gnome-icon-theme' package fixes this problem.

Reproducible: Always

Steps to Reproduce:
Launch catfish with no parameters without 'gnome-icon-theme' installed.
Actual Results:  
Application failed to run and stack trace was printed.

Expected Results:  
Catfish should start and it's main window should be displayed

Stack trace:

Traceback (most recent call last):
  File "/usr/share/catfish/catfish/CatfishWindow.py", line 247, in load_symbolic_icon
    icon = icon_info.load_symbolic(color, color, color, color)[0]
AttributeError: 'NoneType' object has no attribute 'load_symbolic'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "bin/catfish.py", line 51, in <module>
    catfish.main()
  File "/usr/share/catfish/catfish/__init__.py", line 71, in main
    window = CatfishWindow.CatfishWindow()
  File "/usr/share/catfish/catfish_lib/Window.py", line 63, in __new__
    new_object.finish_initializing(builder)
  File "/usr/share/catfish/catfish/CatfishWindow.py", line 154, in finish_initializing
    self.reload_symbolic_icons(self.icon_theme, builder)
  File "/usr/share/catfish/catfish/CatfishWindow.py", line 183, in reload_symbolic_icons
    apps_icon = self.load_symbolic_icon('applications-utilities', 16)
  File "/usr/share/catfish/catfish/CatfishWindow.py", line 252, in load_symbolic_icon
    icon = self.icon_theme.load_icon(icon_name, size, icon_lookup_flags)
gi._glib.GError: Brak ikony "applications-utilities" w motywie

Translation of last message: 'icon "applications-utilities" is missing in the theme'
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2014-07-28 11:45:48 UTC
1.0.2 in portage with RDEPEND of virtual/freedesktop-icon-theme
Comment 2 Paweł Stankowski 2014-07-28 15:58:07 UTC
Thanks for such quick reaction.

Unfortunately freedesktop-icon-theme is not enough. As I wrote earlier, catfish requires some icons from Gnome Icon Theme and not any other.

I had Tango theme installed when found this bug.
I though that any theme with missing icon would be enough.
However I tested installing Mate theme which has application_utilities.png icon, and it appeared that catfish still throws that exception.
Comment 3 Paweł Stankowski 2014-07-28 21:05:10 UTC
BTW: is that feasible to update dependencies in catfish 0.6.4 ebuild which is current stable one?
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2014-07-29 08:12:33 UTC
(In reply to Paweł Stankowski from comment #3)
> BTW: is that feasible to update dependencies in catfish 0.6.4 ebuild which
> is current stable one?

no. 0.6.4 will be removed from tree very soon, since it's vulnerable to CVEs in bug 502536

and the virtual/freedesktop-icon-theme works just fine for me, faenza-icon-theme has the required icons, like gnome-mime-*.png and .svg and catfish works fine here without gnome-icon-theme, but with faenza-icon-theme installed

you have to be way more specific on what icons are missing if you want other reaction to the bug
Comment 5 Paweł Stankowski 2014-07-29 21:04:50 UTC
(In reply to Samuli Suominen from comment #4)
> (In reply to Paweł Stankowski from comment #3)
> > BTW: is that feasible to update dependencies in catfish 0.6.4 ebuild which
> > is current stable one?
> 
> no. 0.6.4 will be removed from tree very soon, since it's vulnerable to CVEs
> in bug 502536
> 
> and the virtual/freedesktop-icon-theme works just fine for me,
> faenza-icon-theme has the required icons, like gnome-mime-*.png and .svg and
> catfish works fine here without gnome-icon-theme, but with faenza-icon-theme
> installed

faenza-icon-theme is dependent on gnome-icon-theme, so I suppose that you actually have gnome-icon-theme installed:

$ equery g faenza-icon-theme
[...]
[ x11-themes/faenza-icon-theme-1.3 stats: packages (4), max depth (1) ]

 * dependency graph for x11-themes/faenza-icon-theme-1.3.1
 `--  x11-themes/faenza-icon-theme-1.3.1  [~amd64 keyword] 
   `--  sys-apps/sed-4.2.1-r1  (>=sys-apps/sed-4) amd64 
   `--  x11-themes/gnome-icon-theme-3.12.0  (x11-themes/gnome-icon-theme) amd64 
   `--  x11-themes/hicolor-icon-theme-0.12  (x11-themes/hicolor-icon-theme) amd64 
[ x11-themes/faenza-icon-theme-1.3.1 stats: packages (4), max depth (1) ]

> you have to be way more specific on what icons are missing if you want other
> reaction to the bug

I am trying to give you as exact information as I can. I have even given you examples of package providing 'freedesktop-icon-theme' virtual package that does not provide proper icons for catfish:
x11-themes/tango-icon-theme

To confirm my assumptions, I also installed x11-themes/hicolor-icon-theme - catfish still throws that exception.

I still believe this bug is not fixed. If in any doubt please do not hesitate to ask me for missing information.

And please don't close this bug once again until you are pretty sure that EACH package providing freedesktop-icon-theme is enough to run catfish (single example is not a proof).
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2014-07-29 21:33:32 UTC
(In reply to Paweł Stankowski from comment #5)
> (In reply to Samuli Suominen from comment #4)
> > (In reply to Paweł Stankowski from comment #3)
> > > BTW: is that feasible to update dependencies in catfish 0.6.4 ebuild which
> > > is current stable one?
> > 
> > no. 0.6.4 will be removed from tree very soon, since it's vulnerable to CVEs
> > in bug 502536
> > 
> > and the virtual/freedesktop-icon-theme works just fine for me,
> > faenza-icon-theme has the required icons, like gnome-mime-*.png and .svg and
> > catfish works fine here without gnome-icon-theme, but with faenza-icon-theme
> > installed
> 
> faenza-icon-theme is dependent on gnome-icon-theme, so I suppose that you
> actually have gnome-icon-theme installed:

nope, I've of course tested it properly, faenza-icon-theme with USE="minimal"
catfish has no direct calls to gnome's icon theme, it just uses some icons that are originally in gnome-icon-theme, and now also on other freedesktop.org icon specification compatible ones, like faenza

> I am trying to give you as exact information as I can. I have even given you
> examples of package providing 'freedesktop-icon-theme' virtual package that
> does not provide proper icons for catfish:
> x11-themes/tango-icon-theme

right, index.theme of tango-icon-theme references "Inherits=gnome" and should pull in gnome-icon-theme as a dependency for the missing icons. tango-icon-theme is unmaintained package for years now, and it's missing most of the icons apps require thesedays.
i've fixed this now by adding the dep to tango-icon-theme's ebuild:

+  29 Jul 2014; Samuli Suominen <ssuominen@gentoo.org>
+  tango-icon-theme-0.8.90.ebuild:
+  Since index.theme has Inherits=gnome and tango-icon-theme is a dead package
+  thesedays, pull in x11-themes/gnome-icon-theme for the missing icons by
+  USE="-minimal" wrt #518294

> To confirm my assumptions, I also installed x11-themes/hicolor-icon-theme -
> catfish still throws that exception.

hicolor-icon-theme is merely only 1 file, index.theme, with no other files, and does not satisfy the virtual

> I still believe this bug is not fixed. If in any doubt please do not
> hesitate to ask me for missing information.

and i'm sure it is, provide complete `strace` output or snippet from the icon name from the source code showing an missing icon, if you still insist there is a problem left

> And please don't close this bug once again until you are pretty sure that
> EACH package providing freedesktop-icon-theme is enough to run catfish
> (single example is not a proof).

in fact, you verified this bug to be invalid :P  to reopen a bug, the status gets changed back to 'confirmed' or 'unconfirmed'
Comment 7 Paweł Stankowski 2014-07-30 20:21:38 UTC
> right, index.theme of tango-icon-theme references "Inherits=gnome" and
> should pull in gnome-icon-theme as a dependency for the missing icons.
> tango-icon-theme is unmaintained package for years now, and it's missing
> most of the icons apps require thesedays.
> i've fixed this now by adding the dep to tango-icon-theme's ebuild:
> 
> +  29 Jul 2014; Samuli Suominen <ssuominen@gentoo.org>
> +  tango-icon-theme-0.8.90.ebuild:
> +  Since index.theme has Inherits=gnome and tango-icon-theme is a dead
> package
> +  thesedays, pull in x11-themes/gnome-icon-theme for the missing icons by
> +  USE="-minimal" wrt #518294
> 

Oh, so there it is. You found proper bug :) Sorry for not pointing out this directly, but the only thing I knew is that it is not working properly with tango icons and working properly with gnome ones.

> > I still believe this bug is not fixed. If in any doubt please do not
> > hesitate to ask me for missing information.
> 
> and i'm sure it is, provide complete `strace` output or snippet from the
> icon name from the source code showing an missing icon, if you still insist
> there is a problem left

Yeah, _now_ it is solved as you have changed tango theme, but it wasn't when I wrote what you quoted. ;)

> in fact, you verified this bug to be invalid :P  to reopen a bug, the status
> gets changed back to 'confirmed' or 'unconfirmed'

Oh, thanks for clarification, I thought that 'Verified' means 'Tested'.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2014-07-30 20:31:53 UTC
(In reply to Paweł Stankowski from comment #7)
> Oh, thanks for clarification, I thought that 'Verified' means 'Tested'.

np.   it does mean 'tested', but we don't use 'invalid' in combination with it, since then the bug would be incomplete and NOT show in simple 'open bugs' searh like it would if it's set to unconfirmed, confirmed or in progress

and yeah, bunch of icon theme packages miss their dependencies from index.theme's Inherits= line and the current desktops need a lot of different icons, so using Inherits=gnome if some icon theme package is missing the line and adding gnome-icon-theme as a backup to the ebuild is the safest bet to avoid icon problems...