Ticket #1077 (closed task: fixed)
Drop usage of --vendor from .desktop files
|Reported by:||toshio||Owned by:|
Many Fedora packages are using the --vendor flag to install .desktop files. This is starting to cause real world problems.
In the very long ago past, the Fedora Guidelines asked to install .desktop files using the --vendor flag. Unfortunately the implementation of --vendor changed the file name of the .desktop package. Very little of the software that processed .desktop files was able to deal with .desktop files with changing names. The various pieces of software would treat fedora-gimp.desktop as a separate entry from gimp.desktop.
At the time when this was recognized, the FPC decided to ban all further use of --vendor in new packages but also required that previous packages that used the --vendor flag would continue to use it. This was seen as the best practice because it did not lead to duplication and churn for end users if they had previously customized their menus and therefore had a copy of the "fedora-APPLICATION.desktop" file in their home directories.
Fast forward many years to the present. https://fedorahosted.org/fpc/ticket/247 and the mailing list thread around it show that present software is depending on the filename of the .desktop filename even more than before leading to real-world breakage if the --vendor flag is used. FPC decided that it was time to remove the --vendor flag altogether. This would necessitate a flag day for F19 where people who had customized those entries might end up with duplicate entries or other corner-case brokenness on upgrade. But it would allow us to finally get rid of the --vendor prefix mess.
However, doing this as maintainers got around to it would be a mess as it could mean that the breakage would extend out over many releases with end users having the same symptoms for different packages as each package chose to upgrade.
To make the flag day effective, the change to .desktop files should happen in a single release. We'll need someone to:
- Identify the .desktop files that are installed with --vendor. This should be doable by scanning the repodata for instances of fedora-*.desktop
- Change all those .spec files from: desktop-file-install --vendor="fedora" to: desktop-file-install
- Rebuild the packages
The latter two steps require provenpackager permissions.