Hello devel,
I recently packaged blackbox-terminal, but, someone packaging another
app, extension-manager noticed that his package conflicted with mine,
and a `dnf whatprovides` later noticed that it also conflicted with
cozy*. I soon discovered that all those apps shared icons from the Icon
Development Kit[1] app, mostly known thanks to Icon Library[2].
Icon Library instruct developers to include these icons in a gresource
file, basically hard coding them into the app. But, it seems that this
is not followed by all app developers, and that some install them
directly in `/usr/share/icons/hicolor/`.
There are multiple other apps packaged in Fedora out there using these
icons. And it is likely that some of them are causing implicit conflicts
we haven't caught (Note: fortunately, that does not seem to be the case,
look at the end note). And, this problem will only worsen with time.
So, if you are a maintainer of a GNOME app, please check if your app is
concerned. Especially since most packagers "glob" icons in the %files
section.
Fortunately, Icon Development Kit is under CC0, so we're kinda saved
from a Licensing apocalypse (although, I have to admit that this is not
ideal).
From there, packagers who have noticed the conflict have three options
at their disposal:
1- Using gresource files, or
2- Renaming the icons by appending the app's name or uuid, or
3- Install them somewhere else, like in /usr/share/%{name}/icons
Both require patching the source code of the app, and quite a bit of effort.
Another option would be to package those icons, and delete all icons
concerned from what the app installs (maybe using a macro to simplify
things), and make the app depend on the package containing these icons.
Another question we should ask ourselves is how to prevent those
conflicts from slipping by in the distribution in the Future.
Regards,
Lyes Saadi
---
Note:
I've decided before sending this e-mail to check which packages have
installed in /usr/share/icons/hicolor an icon for which an icon with a
similar name exists in Icon Development Kit. My script seems to have
some errors, I thus might have missed some, but it already took me 1h30
to execute it, so I'll try to fix it another day. Anyway, here is the list:
cozy
gnome-system-monitor
geary
notejot
gnome-control-center
Fortunately, the number of affected packages is limited, but the fact
that some core apps are there show that no package is immune from this
problem.
---
* not all of them are from the Icon Development Kit.
[1]: https://gitlab.gnome.org/Teams/Design/icon-development-kit
[2]: https://apps.gnome.org/fr/app/org.gnome.design.IconLibrary/
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue