Bug 1017801 - Don't display icon sets without index.theme
Don't display icon sets without index.theme
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: gnome-tweak-tool (Show other bugs)
20
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Mohamed El Morabity
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-10 10:22 EDT by Kamil Páral
Modified: 2013-11-10 03:06 EST (History)
4 users (show)

See Also:
Fixed In Version: gnome-tweak-tool-3.10.0-2.fc20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-10 03:06:46 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
gnome shell overview with Fedora icon set (657.04 KB, image/png)
2013-10-10 10:22 EDT, Kamil Páral
no flags Details
nautilus screenshot with Fedora icon set (53.36 KB, image/png)
2013-10-10 10:23 EDT, Kamil Páral
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Bugzilla 710275 None None None Never

  None (edit)
Description Kamil Páral 2013-10-10 10:22:32 EDT
Created attachment 810548 [details]
gnome shell overview with Fedora icon set

Description of problem:
In Fedora 19 I used "Fedora" icon set (set through gnome-tweak-tool) and everything worked fine. The benefit was that some apps showed nice fedora logos when displaying the default system icon.

In Fedora 20, this completely breaks everything. Gnome Shell doesn't display icons in top right menu, many applications lost their icons, and there are no icons in Nautilus.

Version-Release number of selected component (if applicable):
fedora-logos-19.0.4-3.fc20.noarch
nautilus-3.10.0-1.fc20.x86_64
gnome-shell-3.10.0.1-1.fc20.x86_64


How reproducible:
always

Steps to Reproduce:
1. run gnome-tweak-tool
2. Appearance -> Icons -> Fedora
3. see broken icons everywhere
Comment 1 Kamil Páral 2013-10-10 10:23:16 EDT
Created attachment 810553 [details]
nautilus screenshot with Fedora icon set
Comment 2 Tom "spot" Callaway 2013-10-10 10:31:19 EDT
I'm not sure how this is a fedora-logos bug. The images haven't changed, GNOME did. Additionally, the only "icon" in fedora-logos is the Fedora logo, so I think you might be referring to some other images package. Perhaps it is missing?

If you can specify the file names for the icons that you used to use in F19, I might be able to help you identify the missing package.
Comment 3 Kamil Páral 2013-10-10 10:37:39 EDT
Doesn't fedora-logos have some kind of "dependency" on the GNOME icons? Because when I used it in F19, everything looked exactly the same as with the GNOME icon set, except for the OS icon (fedora logo).

The dependency doesn't seem to work in F20. Basically when I upgraded from F19 to F20, half of my icons went missing. I learned that by switching to "GNOME" icon set they come back.
Comment 4 Tom "spot" Callaway 2013-10-10 10:39:52 EDT
No, there is no dependency on the GNOME icons. I think you have fedora-logos confused with some other icon package. Possibly bluecurve-icon-theme or tango-icon-theme?
Comment 5 Kamil Páral 2013-10-15 10:08:51 EDT
When I said "dependency", I didn't mean RPM dependency, but rather some kind of fallback definition ("if the icon is not in Fedora icon set, search in GNOME icon set").

I'm quite sure I'm not mistaken. Could you please try reproducing this according to the reproducer in comment 0? It can be easily tested in a VM:
http://download.eng.brq.redhat.com/pub/fedora/fedora-alt/stage/
Thanks.

When I select "Fedora" icon set in gnome-tweak-tool, I believe it refers to /usr/share/icons/Fedora and that is owned by fedora-logos.

$ rpm -qf /usr/share/icons/Fedora/
fedora-logos-19.0.4-3.fc20.noarch
Comment 6 Tom "spot" Callaway 2013-10-15 19:14:17 EDT
I think you are incorrect here. The only "icons" provided by fedora-logos are for Anaconda and the old GNOME 2 start menu icon (which is not used in GNOME 3 afaik). Look through that directory.

It is possible that gnome-tweak-tool is picking up the "Fedora" directory under /usr/share/icons/Fedora and expecting a full set of icons to be there (and since they're not, things are disappearing), but that is either:

A) A bug in gnome-tweak-tool, where it used to fall back to something in case of missing icons (which it really should do, IMHO).

or

B) A bug in fedora-logos, where we should stop including the /usr/share/icons/Fedora directory (and move the files in there to other places) to prevent the gnome-tweak tool from thinking there is a full icon directory there.

I really think you should work with the GNOME upstream to figure out which of these cases is correct from their perspective, and if I need to make changes to the fedora-logos package, I will.
Comment 7 Adam Williamson 2013-10-16 06:43:38 EDT
/usr/share/icons/Fedora/index.theme has:

Inherits=Mist

which means 'use the Mist theme for any icons not in this icon theme'. The Mist theme is part of gnome-themes:

[root@vaioz icons]# rpm -qf /usr/share/icons/Mist/
gnome-themes-2.32.0-11.fc20.noarch

but fedora-logos does not require this:

[root@vaioz icons]# rpm -q --requires fedora-logos | grep theme
[root@vaioz icons]# 

which seems broken. If the stuff in /usr/share/icons/Fedora is not really supposed to be a selectable icon theme, indeed, it should be moved elsewhere and not constructed as an icon theme (with an index.theme file etc) - the few icons it contains could just be moved into hicolor, or something. If we still want it as a selectable icon theme, then it should have a dependency on the theme it inherits.
Comment 8 Adam Williamson 2013-10-16 06:48:18 EDT
seems like fedora-icon-theme owns the directories and provides the index.theme file, but contains no actual icons, and does require gnome-themes, so the Mist dependency ought to be installed if fedora-icon-theme is...but kparal had fedora-logos installed with no fedora-icon-theme . As spot says, it may be considered a bug in gnome-tweak-tool that it considers a directory under /usr/share/icons with no index.theme to be a selectable icon theme.
Comment 9 Kamil Páral 2013-10-16 06:54:48 EDT
If I install fedora-icon-theme (and gnome-themes), things start to work. So either gnome-tweak-tool should not allow to select icon sets without index.theme present, or the packaging should be done in a different way (put start-here.png and anaconda.png to /usr/share/icons/hicolor?).
Comment 10 Adam Williamson 2013-10-16 07:01:58 EDT
So, to summarize:

* fedora-icon-theme provides the index.theme in /usr/share/icons/Fedora, and depends on gnome-themes to satisfy the Inherits=Mist
* fedora-logos and generic-logos provide alternate (branded and non-branded) anaconda logos within that icon theme
* fedora-logos also provides a 'start-here' icon within that icon theme; generic-logos does not
* there are no dependencies of any kind between fedora-logos, fedora-icon-theme and generic-logos
* gnome-tweak-tool considers the directory tree that exists when fedora-logos is installed but fedora-icon-theme is not to be a selectable icon theme

I am not sure what if any of the above things could be considered broken, but that's the space we're functioning in. The 'anaconda' icon is presumably the one used by the installer; I'm not sure why it needs to be in the Fedora icon theme? Couldn't it simply be put in hicolor? I don't immediately see why that wouldn't work. I'm not sure of the purpose of the 'start-here' icon, or why it doesn't exist in generic-logos.
Comment 11 Kamil Páral 2013-10-16 07:24:19 EDT
Adding gnome-tweak-tool maintainer to CC.
Comment 12 Adam Williamson 2013-10-16 07:33:00 EDT
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html states:

"In at least one of the theme directories there must be a file called index.theme that describes the theme. The first index.theme found while searching the base directories in order is used. This file describes the general attributes of the theme."

I suppose you could argue that to mean that gnome-tweak-tool should not consider a directory without an index.theme to be an 'icon theme', or that a packaging setup which allows something very icon-theme-y but with no index.theme is incorrect, or both.
Comment 13 Matthias Clasen 2013-10-16 10:45:37 EDT
gnome-tweak-tool fix is here: 
https://bugzilla.gnome.org/show_bug.cgi?id=710275
Comment 14 Kamil Páral 2013-10-17 03:57:42 EDT
Thanks, reassigning to gnome-tweak-tool. If the icon set is not selectable, we don't need to change packaging (of course we still can if spot thinks it's a good idea).
Comment 15 Fedora Update System 2013-10-19 18:23:44 EDT
gnome-tweak-tool-3.10.0-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/gnome-tweak-tool-3.10.0-2.fc20
Comment 16 Fedora Update System 2013-10-20 13:45:33 EDT
Package gnome-tweak-tool-3.10.0-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing gnome-tweak-tool-3.10.0-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-19540/gnome-tweak-tool-3.10.0-2.fc20
then log in and leave karma (feedback).
Comment 17 Kamil Páral 2013-10-21 04:35:27 EDT
Updated version fixes the problem, all directories without index.theme are gone.
Comment 18 Fedora Update System 2013-11-10 03:06:46 EST
gnome-tweak-tool-3.10.0-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.