Bug 1824327 Comment 3 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

- Take https://searchfox.org/mozilla-central/source/taskcluster/docker/firefox-snap/firefox.desktop
- change Icon to Icon=MOZ_APP_REMOTINGNAME (and install icons with xdg-icon-resource like Chrome or create symlinks like [Debian](https://salsa.debian.org/mozilla-team/firefox/-/blob/release/master/debian/browser.links.in))
- add StartupWMClass=MOZ_APP_REMOTINGNAME (e.g. `StartupWMClass=firefox-nightly`)
- name it MOZ_APP_REMOTINGNAME.desktop

Other resources for comparison:
https://salsa.debian.org/mozilla-team/firefox/-/blob/release/master/debian/browser.desktop.in#L103
https://github.com/archlinux/svntogit-packages/blob/packages/firefox/trunk/firefox.desktop

Chrome
* adds a daily cronjob to ensure the chrome repository is readded after disto upgrades
* adds desktop file, menu file, default-apps file, etc.
* installs icons with xdg-icon-resource (in google-chrome-stable_current_amd64.deb/control.tar.xz/postinst)
```
$ dpkg -L google-chrome-stable
/.
/etc
/etc/cron.daily
/opt
/opt/google
/opt/google/chrome
/opt/google/chrome/MEIPreload
/opt/google/chrome/MEIPreload/manifest.json
/opt/google/chrome/MEIPreload/preloaded_data.pb
/opt/google/chrome/WidevineCdm
/opt/google/chrome/WidevineCdm/LICENSE
/opt/google/chrome/WidevineCdm/_platform_specific
/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64
/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
/opt/google/chrome/WidevineCdm/manifest.json
/opt/google/chrome/chrome
/opt/google/chrome/chrome-management-service
/opt/google/chrome/chrome-sandbox
/opt/google/chrome/chrome_100_percent.pak
/opt/google/chrome/chrome_200_percent.pak
/opt/google/chrome/chrome_crashpad_handler
/opt/google/chrome/cron
/opt/google/chrome/cron/google-chrome
/opt/google/chrome/default-app-block
/opt/google/chrome/default_apps
/opt/google/chrome/default_apps/external_extensions.json
/opt/google/chrome/google-chrome
/opt/google/chrome/icudtl.dat
/opt/google/chrome/libEGL.so
/opt/google/chrome/libGLESv2.so
/opt/google/chrome/liboptimization_guide_internal.so
/opt/google/chrome/libqt5_shim.so
/opt/google/chrome/libvk_swiftshader.so
/opt/google/chrome/libvulkan.so.1
/opt/google/chrome/locales
/opt/google/chrome/locales/af.pak
/opt/google/chrome/locales/am.pak
/opt/google/chrome/locales/ar.pak
/opt/google/chrome/locales/bg.pak
/opt/google/chrome/locales/bn.pak
/opt/google/chrome/locales/ca.pak
/opt/google/chrome/locales/cs.pak
/opt/google/chrome/locales/da.pak
/opt/google/chrome/locales/de.pak
/opt/google/chrome/locales/el.pak
/opt/google/chrome/locales/en-GB.pak
/opt/google/chrome/locales/en-US.pak
/opt/google/chrome/locales/es-419.pak
/opt/google/chrome/locales/es.pak
/opt/google/chrome/locales/et.pak
/opt/google/chrome/locales/fa.pak
/opt/google/chrome/locales/fi.pak
/opt/google/chrome/locales/fil.pak
/opt/google/chrome/locales/fr.pak
/opt/google/chrome/locales/gu.pak
/opt/google/chrome/locales/he.pak
/opt/google/chrome/locales/hi.pak
/opt/google/chrome/locales/hr.pak
/opt/google/chrome/locales/hu.pak
/opt/google/chrome/locales/id.pak
/opt/google/chrome/locales/it.pak
/opt/google/chrome/locales/ja.pak
/opt/google/chrome/locales/kn.pak
/opt/google/chrome/locales/ko.pak
/opt/google/chrome/locales/lt.pak
/opt/google/chrome/locales/lv.pak
/opt/google/chrome/locales/ml.pak
/opt/google/chrome/locales/mr.pak
/opt/google/chrome/locales/ms.pak
/opt/google/chrome/locales/nb.pak
/opt/google/chrome/locales/nl.pak
/opt/google/chrome/locales/pl.pak
/opt/google/chrome/locales/pt-BR.pak
/opt/google/chrome/locales/pt-PT.pak
/opt/google/chrome/locales/ro.pak
/opt/google/chrome/locales/ru.pak
/opt/google/chrome/locales/sk.pak
/opt/google/chrome/locales/sl.pak
/opt/google/chrome/locales/sr.pak
/opt/google/chrome/locales/sv.pak
/opt/google/chrome/locales/sw.pak
/opt/google/chrome/locales/ta.pak
/opt/google/chrome/locales/te.pak
/opt/google/chrome/locales/th.pak
/opt/google/chrome/locales/tr.pak
/opt/google/chrome/locales/uk.pak
/opt/google/chrome/locales/ur.pak
/opt/google/chrome/locales/vi.pak
/opt/google/chrome/locales/zh-CN.pak
/opt/google/chrome/locales/zh-TW.pak
/opt/google/chrome/nacl_helper
/opt/google/chrome/nacl_helper_bootstrap
/opt/google/chrome/nacl_irt_x86_64.nexe
/opt/google/chrome/product_logo_128.png
/opt/google/chrome/product_logo_16.png
/opt/google/chrome/product_logo_24.png
/opt/google/chrome/product_logo_256.png
/opt/google/chrome/product_logo_32.png
/opt/google/chrome/product_logo_32.xpm
/opt/google/chrome/product_logo_48.png
/opt/google/chrome/product_logo_64.png
/opt/google/chrome/resources.pak
/opt/google/chrome/v8_context_snapshot.bin
/opt/google/chrome/vk_swiftshader_icd.json
/opt/google/chrome/xdg-mime
/opt/google/chrome/xdg-settings
/usr
/usr/bin
/usr/share
/usr/share/appdata
/usr/share/appdata/google-chrome.appdata.xml
/usr/share/applications
/usr/share/applications/google-chrome.desktop
/usr/share/doc
/usr/share/doc/google-chrome-stable
/usr/share/doc/google-chrome-stable/changelog.gz
/usr/share/gnome-control-center
/usr/share/gnome-control-center/default-apps
/usr/share/gnome-control-center/default-apps/google-chrome.xml
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/google-chrome-stable.1.gz
/usr/share/menu
/usr/share/menu/google-chrome.menu
/etc/cron.daily/google-chrome
/usr/bin/google-chrome-stable
/usr/share/man/man1/google-chrome.1.gz
```
- Take https://searchfox.org/mozilla-central/source/taskcluster/docker/firefox-snap/firefox.desktop
- change Icon to Icon=MOZ_APP_REMOTINGNAME (and install icons by creating symlinks like [Debian](https://salsa.debian.org/mozilla-team/firefox/-/blob/release/master/debian/browser.links.in) or by using xdg-icon-resource like Chrome)
- add StartupWMClass=MOZ_APP_REMOTINGNAME (e.g. `StartupWMClass=firefox-nightly`)
- name it MOZ_APP_REMOTINGNAME.desktop

Other resources for comparison:
https://salsa.debian.org/mozilla-team/firefox/-/blob/release/master/debian/browser.desktop.in#L103
https://github.com/archlinux/svntogit-packages/blob/packages/firefox/trunk/firefox.desktop

Chrome
* adds a daily cronjob to ensure the chrome repository is readded after disto upgrades
* adds desktop file, menu file, default-apps file, etc.
* installs icons with xdg-icon-resource (in google-chrome-stable_current_amd64.deb/control.tar.xz/postinst)
```
$ dpkg -L google-chrome-stable
/.
/etc
/etc/cron.daily
/opt
/opt/google
/opt/google/chrome
/opt/google/chrome/MEIPreload
/opt/google/chrome/MEIPreload/manifest.json
/opt/google/chrome/MEIPreload/preloaded_data.pb
/opt/google/chrome/WidevineCdm
/opt/google/chrome/WidevineCdm/LICENSE
/opt/google/chrome/WidevineCdm/_platform_specific
/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64
/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
/opt/google/chrome/WidevineCdm/manifest.json
/opt/google/chrome/chrome
/opt/google/chrome/chrome-management-service
/opt/google/chrome/chrome-sandbox
/opt/google/chrome/chrome_100_percent.pak
/opt/google/chrome/chrome_200_percent.pak
/opt/google/chrome/chrome_crashpad_handler
/opt/google/chrome/cron
/opt/google/chrome/cron/google-chrome
/opt/google/chrome/default-app-block
/opt/google/chrome/default_apps
/opt/google/chrome/default_apps/external_extensions.json
/opt/google/chrome/google-chrome
/opt/google/chrome/icudtl.dat
/opt/google/chrome/libEGL.so
/opt/google/chrome/libGLESv2.so
/opt/google/chrome/liboptimization_guide_internal.so
/opt/google/chrome/libqt5_shim.so
/opt/google/chrome/libvk_swiftshader.so
/opt/google/chrome/libvulkan.so.1
/opt/google/chrome/locales
/opt/google/chrome/locales/af.pak
/opt/google/chrome/locales/am.pak
/opt/google/chrome/locales/ar.pak
/opt/google/chrome/locales/bg.pak
/opt/google/chrome/locales/bn.pak
/opt/google/chrome/locales/ca.pak
/opt/google/chrome/locales/cs.pak
/opt/google/chrome/locales/da.pak
/opt/google/chrome/locales/de.pak
/opt/google/chrome/locales/el.pak
/opt/google/chrome/locales/en-GB.pak
/opt/google/chrome/locales/en-US.pak
/opt/google/chrome/locales/es-419.pak
/opt/google/chrome/locales/es.pak
/opt/google/chrome/locales/et.pak
/opt/google/chrome/locales/fa.pak
/opt/google/chrome/locales/fi.pak
/opt/google/chrome/locales/fil.pak
/opt/google/chrome/locales/fr.pak
/opt/google/chrome/locales/gu.pak
/opt/google/chrome/locales/he.pak
/opt/google/chrome/locales/hi.pak
/opt/google/chrome/locales/hr.pak
/opt/google/chrome/locales/hu.pak
/opt/google/chrome/locales/id.pak
/opt/google/chrome/locales/it.pak
/opt/google/chrome/locales/ja.pak
/opt/google/chrome/locales/kn.pak
/opt/google/chrome/locales/ko.pak
/opt/google/chrome/locales/lt.pak
/opt/google/chrome/locales/lv.pak
/opt/google/chrome/locales/ml.pak
/opt/google/chrome/locales/mr.pak
/opt/google/chrome/locales/ms.pak
/opt/google/chrome/locales/nb.pak
/opt/google/chrome/locales/nl.pak
/opt/google/chrome/locales/pl.pak
/opt/google/chrome/locales/pt-BR.pak
/opt/google/chrome/locales/pt-PT.pak
/opt/google/chrome/locales/ro.pak
/opt/google/chrome/locales/ru.pak
/opt/google/chrome/locales/sk.pak
/opt/google/chrome/locales/sl.pak
/opt/google/chrome/locales/sr.pak
/opt/google/chrome/locales/sv.pak
/opt/google/chrome/locales/sw.pak
/opt/google/chrome/locales/ta.pak
/opt/google/chrome/locales/te.pak
/opt/google/chrome/locales/th.pak
/opt/google/chrome/locales/tr.pak
/opt/google/chrome/locales/uk.pak
/opt/google/chrome/locales/ur.pak
/opt/google/chrome/locales/vi.pak
/opt/google/chrome/locales/zh-CN.pak
/opt/google/chrome/locales/zh-TW.pak
/opt/google/chrome/nacl_helper
/opt/google/chrome/nacl_helper_bootstrap
/opt/google/chrome/nacl_irt_x86_64.nexe
/opt/google/chrome/product_logo_128.png
/opt/google/chrome/product_logo_16.png
/opt/google/chrome/product_logo_24.png
/opt/google/chrome/product_logo_256.png
/opt/google/chrome/product_logo_32.png
/opt/google/chrome/product_logo_32.xpm
/opt/google/chrome/product_logo_48.png
/opt/google/chrome/product_logo_64.png
/opt/google/chrome/resources.pak
/opt/google/chrome/v8_context_snapshot.bin
/opt/google/chrome/vk_swiftshader_icd.json
/opt/google/chrome/xdg-mime
/opt/google/chrome/xdg-settings
/usr
/usr/bin
/usr/share
/usr/share/appdata
/usr/share/appdata/google-chrome.appdata.xml
/usr/share/applications
/usr/share/applications/google-chrome.desktop
/usr/share/doc
/usr/share/doc/google-chrome-stable
/usr/share/doc/google-chrome-stable/changelog.gz
/usr/share/gnome-control-center
/usr/share/gnome-control-center/default-apps
/usr/share/gnome-control-center/default-apps/google-chrome.xml
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/google-chrome-stable.1.gz
/usr/share/menu
/usr/share/menu/google-chrome.menu
/etc/cron.daily/google-chrome
/usr/bin/google-chrome-stable
/usr/share/man/man1/google-chrome.1.gz
```

Back to Bug 1824327 Comment 3