Red Hat Bugzilla – Bug 1235413
several of the updated desktop packages changed desktop-ids
Last modified: 2015-11-19 03:18:43 EST
many gnome packages have adopted the convention of naming their desktop files after their bus name. This is required for them to be dbus activatable. Unfortunately, the convention wasn't adopted by some packages until after the versions shipped in RHEL7.0 . Following the 7.2 rebase, these packages will have new desktop ids. Those renames will cause breakage: 1) shared-mime-info defaults.list will refer to desktop ids that no longer exist 2) custom application handlers set up by users will fail to work 3) favorite applications in the gnome-shell overview dash and applications menu will disappear (although gnome-shell does have a hard coded mapping so we may be safe here) 4) applications that launch other applications by desktop id will stop working (although it's increasingly rare to find applications doing this these days, so we may be safe here) I don't have a complete list of applications that changed name, yet, but will look. I'm not sure what the right fix is...some changes we could consider: a) renaming all the ones that changed back. This means applications that generally expect to be dbus activated in gnome 3.14 will no longer get dbus activated. Instead their Exec= lines will get used like they were in 3.8. This is the hammer approach, but probably the most conservative way to go. b) update shared-mime-info to the new associations (will require getting shared-mime-info on the ACL, but tpelka is on board with that) c) make sure the mapping in gnome-shell covers all packages that have updated names. There's a strong chance it already does. d) add the same sort of mapping to glib/gio so applications that use the platform apis for managing desktop files work with either name. Filing for now, but will discuss with Matthias when he's back.
here are the gnome apps that changed desktop ids in the 7.2 rebase: baobab.desktop → org.gnome.baobab.desktop cheese.desktop → org.gnome.Cheese.desktop dconf-editor.desktop → ca.desrt.dconf-editor.desktop file-roller.desktop → org.gnome.FileRoller.desktop gedit.desktop → org.gnome.gedit.desktop gnome-boxes.desktop → org.gnome.Boxes.desktop gcalctool.desktop → gnome-calculator.desktop gnome-clocks.desktop → org.gnome.clocks.desktop gnome-contacts.desktop → org.gnome.Contacts.desktop gnome-documents.desktop → org.gnome.Documents.desktop gnome-font-viewer.desktop → org.gnome.font-viewer.desktop gnome-screenshot.desktop → org.gnome.Screenshot.desktop gnome-weather.desktop → org.gnome.Weather.Application.desktop nautilus.desktop → org.gnome.Nautilus.desktop totem.desktop → org.gnome.Totem.desktop
the gnome-shell mapping list is: 'baobab.desktop': 'org.gnome.baobab.desktop', 'cheese.desktop': 'org.gnome.Cheese.desktop', 'dconf-editor.desktop': 'ca.desrt.dconf-editor.desktop', 'file-roller.desktop': 'org.gnome.FileRoller.desktop', 'gcalctool.desktop': 'gnome-calculator.desktop', 'gedit.desktop': 'org.gnome.gedit.desktop', 'glchess.desktop': 'gnome-chess.desktop', 'glines.desktop': 'five-or-more.desktop', 'gnect.desktop': 'four-in-a-row.desktop', 'gnibbles.desktop': 'gnome-nibbles.desktop', 'gnobots2.desktop': 'gnome-robots.desktop', 'gnome-boxes.desktop': 'org.gnome.Boxes.desktop', 'gnome-clocks.desktop': 'org.gnome.clocks.desktop', 'gnome-contacts.desktop': 'org.gnome.Contacts.desktop', 'gnome-documents.desktop': 'org.gnome.Documents.desktop', 'gnome-font-viewer.desktop': 'org.gnome.font-viewer.desktop', 'gnome-photos.desktop': 'org.gnome.Photos.desktop', 'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop', 'gnome-software.desktop': 'org.gnome.Software.desktop', 'gnome-weather.desktop': 'org.gnome.Weather.Application.desktop', 'gnomine.desktop': 'gnome-mines.desktop', 'gnotravex.desktop': 'gnome-tetravex.desktop', 'gnotski.desktop': 'gnome-klotski.desktop', 'gtali.desktop': 'tali.desktop', 'mozilla-firefox.desktop': 'firefox.desktop', 'nautilus.desktop': 'org.gnome.Nautilus.desktop', 'polari.desktop': 'org.gnome.Polari.desktop', 'totem.desktop': 'org.gnome.Totem.desktop', It contains every desktop id we renamed, so we're good on that front.
the packages from comment 2 that have mime handlers are: org.gnome.baobab.desktop org.gnome.FileRoller.desktop org.gnome.gedit.desktop org.gnome.font-viewer.desktop org.gnome.Nautilus.desktop org.gnome.Totem.desktop
Okay so I think the plan of action should be 1) update defaults.list in shared-mime-info to use the new names for file-roller, gedit, nautilus and totem 2) ship a NoDisplay compat desktop file for each of those as well so user customized mime handlers continue to work I'll try those things locally and if it pans out then clone this tracker into sub bugs
so that seems to work. In the interesting of reducing paperwork and overhead, i'm going to move this bug to shared-mime-info (instead of making it a tracker) and then use the rebase bugs of the individual components to cover adding the compat desktop files.
okay i've updated all the rebased packages mentioned in comment 5 to have compat desktop files, and built shared-mime-info-1.1-8.el7 to list the new names in defaults.list
One more observation, you said compat files were added, from now I can see totem listed twice in default applications. Could it be caused by this change? Thanks -Tom
it is, see bug 1259292 comment 5
Thanks Ray, considering this issue as fixed even if it brought up bug 1259292, I guess we can document it for now and see if it can be fixed later, not sure if this issue is serious enough to meet expectations for snap3+.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2116.html