Introduction
Sarantis Paskalis noticed the new font templates use absolute symlinks for fontconfig files which triggers an rpmlint warning. He then proceeded to locate the upstream rpmlint discussion that led to the addition of this check.
Note that even though the title of this draft says "fonts templates", the relative vs absolute symlinks issue is not at all specific to font packages, but a generic packaging consideration.
Discussion
- The value of the check is dubious, chroots present many problems and nowadays vms are a lot safer.
- The rpmlint check does not tell packagers at all how to safely create relative symlinks. A package will almost always put files in directories defined by rpm macros that are supposed to expand to anything, a packager will create relative symlinks by positing some fixed value for those macros.
- The safe way to create relative symlinks is the little used and little known symlinks command. But rpmlint won't tell people this.
So we have a warning that addresses an obscure corner case already broken in many ways, that will induce packagers to write spec files broken WRT rpm macros, with the correct solution not documented anywhere. There are two possible options for FPC to choose:
Option 1: remove the warning
Ask our rpmlint packager to disable the warning in Fedora, since it's more pain that it's worth.
Option 2: change our guidelines
- Make the rpmlint check an actual Fedora packaging guideline.
- Generalise the use of symlinks instead of ln in our spec files, and document it in our guidelines.
- Ask our rpmlint packager to make the warning a little more obvious (as in, stating the command people are actually supposed to use)
- Change the font templates to use symlinks like the rest of the distro.