On Fri, Jun 21, 2024 at 8:20 PM Sandro <li...@penguinpee.nl> wrote:
> On 21-06-2024 16:11, Parag Nemade wrote: > > 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/ > > Thanks for the information. I still think this should have been > announced beforehand. An impact check should have brought that to light > before pushing the update to rawhide and then PRs could have been > provided for building in a side tag. > > Is this change going to propagate to stable branches as well? If not, > the change in path only applies to Fedora >= 41 and the symlink creation > in the spec file needs to be guarded by %if / %else. > > I never thought updating SPEC to follow new font packaging guidelines would break as the package name remained the same and I did not expect other packages to use a hard path of this font package. I will check if there are any more packages using the old Liberation font installation path and will fix it. I already updated my PR to have changed for Fedora > 41. > > 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 > > Thanks. I already fixed it myself and pushed a PR just before yours. > > > I am not aware of any packaging change for unifont package so can't speak > > for that here. > > As I wrote above, nothing has changed in unifont. The last update to > that package was about a year ago. I suspect the change is due to > updated fonts-rpm-macros. But I haven't looked into it to make sure. > > Moreover, my initial analysis wasn't entirely correct. I was going by > what was specified in the specfile. The BR was listed as unifont-fonts > before things broke. > > On my F39 system: > > $ repoquery -q --cache --provides /usr/share/fonts/unifont/unifont.ttf > font(unifont) > font(unifontupper) > metainfo() > metainfo(unifont.metainfo.xml) > unifont-ttf-fonts = 15.0.01-3.fc39 > > I will be changing the BR to `font(unifont)` and do the same for > Liberation Sans. That should safeguard against future renames. > > -- Sandro > > -- > _______________________________________________ > 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 >
-- _______________________________________________ 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