losuler / icecat

Debian packaging for GNU IceCat (built from source).
GNU General Public License v2.0
20 stars 5 forks source link

Icon not found for the .desktop file #4

Closed EchedelleLR closed 3 years ago

EchedelleLR commented 3 years ago

snapshot30

The gear is the default icon set by Trinity Desktop for launchers without a correct icon.

In the menu, however, there is no such default icon given that this is only for launchers. There is no icon directly.

I didn't check the .deb package yet to find if an icon is provided which I think it is.

EchedelleLR commented 3 years ago

I found the issue.

Given the following:

/
/lib/
/lib/x86_64-linux-gnu/
/lib/x86_64-linux-gnu/icecat/
/lib/x86_64-linux-gnu/icecat/Throbber-small
/lib/x86_64-linux-gnu/icecat/application
/lib/x86_64-linux-gnu/icecat/browser/
/lib/x86_64-linux-gnu/icecat/browser/chrome/
/lib/x86_64-linux-gnu/icecat/browser/chrome/icons/
/lib/x86_64-linux-gnu/icecat/browser/chrome/icons/default/
/lib/x86_64-linux-gnu/icecat/browser/chrome/icons/default/default128
/lib/x86_64-linux-gnu/icecat/browser/chrome/icons/default/default16
/lib/x86_64-linux-gnu/icecat/browser/chrome/icons/default/default32
/lib/x86_64-linux-gnu/icecat/browser/chrome/icons/default/default48
/lib/x86_64-linux-gnu/icecat/browser/chrome/icons/default/default64
/lib/x86_64-linux-gnu/icecat/browser/crashreporter-override
/lib/x86_64-linux-gnu/icecat/browser/extensions/
/lib/x86_64-linux-gnu/icecat/browser/extensions/FreeUSPS@0xbeef
/lib/x86_64-linux-gnu/icecat/browser/extensions/SubmitMe@0xbeef
/lib/x86_64-linux-gnu/icecat/browser/extensions/disable-polymer-youtube@extension
/lib/x86_64-linux-gnu/icecat/browser/extensions/gnuzilla-ext-workarounds@gnu
/lib/x86_64-linux-gnu/icecat/browser/extensions/https-everywhere@eff
/lib/x86_64-linux-gnu/icecat/browser/extensions/jid1-KtlZuoiikVfFew@jetpack
/lib/x86_64-linux-gnu/icecat/browser/extensions/libgen
/lib/x86_64-linux-gnu/icecat/browser/extensions/tprb
/lib/x86_64-linux-gnu/icecat/browser/extensions/viewtube@extension
/lib/x86_64-linux-gnu/icecat/browser/features/
/lib/x86_64-linux-gnu/icecat/browser/features/doh-rollout@mozilla
/lib/x86_64-linux-gnu/icecat/browser/features/formautofill@mozilla
/lib/x86_64-linux-gnu/icecat/browser/features/screenshots@mozilla
/lib/x86_64-linux-gnu/icecat/browser/features/webcompat-reporter@mozilla
/lib/x86_64-linux-gnu/icecat/browser/features/webcompat@mozilla
/lib/x86_64-linux-gnu/icecat/browser/omni
/lib/x86_64-linux-gnu/icecat/crashreporter
/lib/x86_64-linux-gnu/icecat/crashreporter
/lib/x86_64-linux-gnu/icecat/defaults/
/lib/x86_64-linux-gnu/icecat/defaults/pref/
/lib/x86_64-linux-gnu/icecat/defaults/pref/channel-prefs
/lib/x86_64-linux-gnu/icecat/dependentlibs
/lib/x86_64-linux-gnu/icecat/fonts/
/lib/x86_64-linux-gnu/icecat/fonts/TwemojiMozilla
/lib/x86_64-linux-gnu/icecat/gmp-clearkey/
/lib/x86_64-linux-gnu/icecat/gmp-clearkey/0
/lib/x86_64-linux-gnu/icecat/gmp-clearkey/0
/lib/x86_64-linux-gnu/icecat/gmp-clearkey/0
/lib/x86_64-linux-gnu/icecat/gtk2/
/lib/x86_64-linux-gnu/icecat/gtk2/libmozgtk
/lib/x86_64-linux-gnu/icecat/icecat
/lib/x86_64-linux-gnu/icecat/icecat-bin
/lib/x86_64-linux-gnu/icecat/icons/
/lib/x86_64-linux-gnu/icecat/icons/updater
/lib/x86_64-linux-gnu/icecat/libfreeblpriv3
/lib/x86_64-linux-gnu/icecat/liblgpllibs
/lib/x86_64-linux-gnu/icecat/libmozavcodec
/lib/x86_64-linux-gnu/icecat/libmozavutil
/lib/x86_64-linux-gnu/icecat/libmozgtk
/lib/x86_64-linux-gnu/icecat/libmozsandbox
/lib/x86_64-linux-gnu/icecat/libmozsqlite3
/lib/x86_64-linux-gnu/icecat/libmozwayland
/lib/x86_64-linux-gnu/icecat/libnspr4
/lib/x86_64-linux-gnu/icecat/libnss3
/lib/x86_64-linux-gnu/icecat/libnssckbi
/lib/x86_64-linux-gnu/icecat/libnssutil3
/lib/x86_64-linux-gnu/icecat/libplc4
/lib/x86_64-linux-gnu/icecat/libplds4
/lib/x86_64-linux-gnu/icecat/libsmime3
/lib/x86_64-linux-gnu/icecat/libsoftokn3
/lib/x86_64-linux-gnu/icecat/libssl3
/lib/x86_64-linux-gnu/icecat/libxul
/lib/x86_64-linux-gnu/icecat/minidump-analyzer
/lib/x86_64-linux-gnu/icecat/omni
/lib/x86_64-linux-gnu/icecat/pingsender
/lib/x86_64-linux-gnu/icecat/platform
/lib/x86_64-linux-gnu/icecat/plugin-container
/lib/x86_64-linux-gnu/icecat/removed-files
/lib/x86_64-linux-gnu/icecat/update-settings
/lib/x86_64-linux-gnu/icecat/updater
/lib/x86_64-linux-gnu/icecat/updater
/usr/
/usr/bin/
/usr/share/
/usr/share/applications/
/usr/share/applications/icecat
/usr/share/doc/
/usr/share/doc/icecat/
/usr/share/doc/icecat/changelog
/usr/share/doc/icecat/changelog
/usr/share/doc/icecat/copyright
/usr/bin/icecat -> /lib/x86_64-linux-gnu/icecat/icecat

First, /lib/x86_64-linux-gnu/ is not a directory to install content. For additional apps which cannot be adapted to the directory hierarchy, it exists /opt.

Second, there is no symbolic link from at least an icon in /lib/x86_64-linux-gnu/icecat/browser/chrome/icons/default/ to /usr/share/icons.

losuler commented 3 years ago

Thanks for bringing this up. I hadn't realised icons weren't working, as they were appearing on my test machine (a mistake in my build environment). I've added the symlink now so icons will show.

As apart of this, I realised that I had incorrectly set libdir. This has been fixed now and it rightfully points to /usr/lib.

EchedelleLR commented 3 years ago

Is there a plan to move the installation directory to /opt?

Other projects such as Element, Pale Moon third party build and more use that and also is specified in the Linux Hierarchy of directories for that purpose.

losuler commented 3 years ago

The reason why I prefer to keep files in /usr over /opt is that I want to package this as closely to an official package for Debian as possible, where I've followed Debian's packaging guides as closely as possible (an area I recognise I still have room to improve on).

I am of the opinion that all packages, whether they are in the official repository for that distro or not, should adhere to the same guidelines as official packages. I think this ensures that packages are of the quality set by the standards of the distro, which in many cases encompasses reasons beyond mere preference (such as security and expectations of other software on the system).

I would like to point out that the Debian package for Pale Moon does infact install to /usr and not /opt. Whereas it appears the Debian package for Element installs to /opt as all of it's files exist in the one directory. Given too, that they provide the same identical .deb for Debian and Ubuntu, I think it shows little consideration for quality.

EchedelleLR commented 3 years ago

You are right. I was wrong with the Pale Moon case.

Maybe I confused it but at least I checked Element.

EchedelleLR commented 3 years ago

Do you plan make your package accepted by Debian itself?

BTW, I consider your point perfectly.