Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 702264

Summary: www-client/firefox-bin should use Icon=firefox in /usr/share/applications/firefox-bin.desktop
Product: Gentoo Linux Reporter: Simon <simon.vanderveldt+gentoo>
Component: Current packagesAssignee: Thomas Deutschmann (RETIRED) <whissi>
Status: RESOLVED WONTFIX    
Severity: normal CC: mozilla, proxy-maint, tripolar
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Simon 2019-12-07 22:11:33 UTC
www-client/firefox-bin uses Icon=firefox-bin in the .desktop file installed in /usr/share/applications/firefox-bin.desktop.
This means themeing won't work because firefox-bin is a non-standard name.
Can the entry in the .desktop file be changed to use Icon=firefox instead?

Reproducible: Always
Comment 1 Jory A. Pratt gentoo-dev 2019-12-08 21:58:51 UTC
This is the price of using a binary package. I am not gonna permit a conflict between source and -bin as there are people using both on their systems.
Comment 2 Simon 2019-12-08 23:03:17 UTC
(In reply to Jory A. Pratt from comment #1)
> This is the price of using a binary package. I am not gonna permit a
> conflict between source and -bin as there are people using both on their
> systems.

Sorry, but I don't understand. What kind of conflict could arise? It's just the name of the icon to use.

The current situation is like this:
- If having only-firefox-bin installed: It's icon doesn't get themed since not a single theme has a firefox-bin icon meaning the user gets an inconsistent UI
- If having both firefox and firefox-bin installed: The firefox icon gets themed, and again the firefox-bin icon doesn't get themed because not a single theme has a firefox-bin icon meaning again the user gets an inconsistent UI

The fix seems simple, use Icon=firefox. I don't see anything that could cause a conflict by doing so but I might be missing something.
Comment 3 Jory A. Pratt gentoo-dev 2019-12-08 23:49:46 UTC
(In reply to Simon from comment #2)
> (In reply to Jory A. Pratt from comment #1)
> > This is the price of using a binary package. I am not gonna permit a
> > conflict between source and -bin as there are people using both on their
> > systems.
> 
> Sorry, but I don't understand. What kind of conflict could arise? It's just
> the name of the icon to use.
> 
> The current situation is like this:
> - If having only-firefox-bin installed: It's icon doesn't get themed since
> not a single theme has a firefox-bin icon meaning the user gets an
> inconsistent UI
> - If having both firefox and firefox-bin installed: The firefox icon gets
> themed, and again the firefox-bin icon doesn't get themed because not a
> single theme has a firefox-bin icon meaning again the user gets an
> inconsistent UI
> 
> The fix seems simple, use Icon=firefox. I don't see anything that could
> cause a conflict by doing so but I might be missing something.

We already have an icon installed in the firefox source build for firefox.png. We would have a conflict between the two packages for ownership of the file. You can always copy the desktop file to ${HOME}/.local/share/applications and rename the icon if you want to use a themes icon.
Comment 4 Simon 2019-12-08 23:56:52 UTC
(In reply to Jory A. Pratt from comment #3)
> (In reply to Simon from comment #2)
> > (In reply to Jory A. Pratt from comment #1)
> > > This is the price of using a binary package. I am not gonna permit a
> > > conflict between source and -bin as there are people using both on their
> > > systems.
> > 
> > Sorry, but I don't understand. What kind of conflict could arise? It's just
> > the name of the icon to use.
> > 
> > The current situation is like this:
> > - If having only-firefox-bin installed: It's icon doesn't get themed since
> > not a single theme has a firefox-bin icon meaning the user gets an
> > inconsistent UI
> > - If having both firefox and firefox-bin installed: The firefox icon gets
> > themed, and again the firefox-bin icon doesn't get themed because not a
> > single theme has a firefox-bin icon meaning again the user gets an
> > inconsistent UI
> > 
> > The fix seems simple, use Icon=firefox. I don't see anything that could
> > cause a conflict by doing so but I might be missing something.
> 
> We already have an icon installed in the firefox source build for
> firefox.png. We would have a conflict between the two packages for ownership
> of the file.

Ah, so the problem is that both firefox and firefox-bin include an icon file which would collide if we wanted to use Icon=firefox since then both would need to provide effectively the same file. Is that correct?

I guess, assuming we want to be able to install both at the same time, there's not much that can be done about it then.

> You can always copy the desktop file to
> ${HOME}/.local/share/applications and rename the icon if you want to use a
> themes icon.

Normally I'd use a patch to fix the .desktop file but since the .desktop file comes from the ebuild and not from the upstream archive I'm afraid that won't work. Guess there's no other option than to add the .desktop file for every user :(
Comment 5 Thomas Deutschmann (RETIRED) gentoo-dev 2019-12-09 00:02:47 UTC
I am wondering how that theming works. Maybe there's something else we can add to that file to help themes recognizing that application?
Comment 6 Jory A. Pratt gentoo-dev 2019-12-09 00:08:50 UTC
(In reply to Simon from comment #4)
> Normally I'd use a patch to fix the .desktop file but since the .desktop
> file comes from the ebuild and not from the upstream archive I'm afraid that
> won't work. Guess there's no other option than to add the .desktop file for
> every user :(

Negative, you can always use /usr/local/share/applications to override
Comment 7 Simon 2020-10-30 22:50:39 UTC
In case anyone else runs into this, a simple patch using a post src_install hook works just fine :)

$ cat /etc/portage/env/www-client/firefox-bin 
post_src_install() {
  echo "Fixing .desktop icon"
  sed -i -e "s/Icon=firefox-bin/Icon=firefox/" "${D}/usr/share/applications/${PN}.desktop" || die "sed failed"
}