Hi,

On Fri, Jun 21, 2024 at 6:12 PM Sandro <li...@penguinpee.nl> wrote:

> Hi,
>
> Looking into flare-engine failing to build from source, I encountered
> two issues with font packages:
>
> 1. Path change in liberation-sans-fonts
> 2. Name change of subpkg for unifont
>
> The first appeared trivial. The path to the fonts was changed from
> `/usr/share/fonts/liberation-sans` to
> `/usr/share/fonts/liberation-sans-fonts` in
> liberation-sans-fonts-1:2.1.5-11.fc41.noarch. That broke the symlink
> flare-engine creates. Easy fix. Yet still a surprise.
>
> For the second change I haven't been able to figure out with certainty
> what package is responsible. Looks like it might be changes to
> fonts-rpm-macros.
>
> The issue is `/usr/share/fonts/unifont/unifont.ttf` is no longer
> provided by unifont-fonts, but by unifont-ttf-fonts. However, package
> unifont hasn't seen any update in a year. So, the cause must be outside
> that package.
>
> Either way, it's a breaking change that should have been announced here.
> Preferably, this should have been dealt with by proper Obsoletes /
> Provides if possible. But maybe I missed something.
>
> For flare and flare-engine, there's a check in the spec file checking
> for broken symlinks. Without that this change might have gone unnoticed,
> leaving the packages in a broken state.
>

Not all font packages still follow the new fonts packaging guidelines in
Fedora. And when those guidelines got approved some years back, it was
known that many font packages would break the path. The font installation
path is determined by the font family name as per Fonts packaging policy.

The liberation-fonts and liberation-narrow-fonts were long overdue to
convert its SPEC. The reason why a simple SPEC conversion of
liberation-fonts broke was because the metapackage liberation-fonts-all
generation did not have a way to auto add obsoletes/provides on main
package rpm names that include Epoch: value. This has been fixed now in
https://src.fedoraproject.org/rpms/fonts-rpm-macros/c/381fa2dd4653094832e36ceb7a34ed8c245be5c8?branch=rawhide
That was realized later after I built the package in rawhide. The latest
liberation-fonts-all metapackage now also provides the older
liberation-fonts package.

If packages in Fedora are using hardcoded installation paths of liberation
fonts then they need to be fixed. I request all the package owners whose
packages are using hard coded path to liberation fonts, please update your
spec to use a new font installed path.
e.g. Path /usr/share/fonts/liberation-sans/ changed to
/usr/share/fonts/liberation-sans-fonts/
Path /usr/share/fonts/liberation-serif/ changed to
/usr/share/fonts/liberation-serif-fonts/
Patch /usr/share/fonts/liberation-mono/ changed to
/usr/share/fonts/liberation-mono-fonts/

If anyone needs help with their packages do reply to me and I will be happy
to help you. For flare-engine package here is PR
https://src.fedoraproject.org/rpms/flare-engine/pull-request/9

I am not aware of any packaging change for unifont package so can't speak
for that here.

Regards,
Parag
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to