Bug 477478

Summary: Please convert to new font packaging guidelines
Product: [Fedora] Fedora Reporter: Nicolas Mailhot <nicolas.mailhot>
Component: vdr-skinsAssignee: Ville Skyttä <ville.skytta>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fonts-bugs, ville.skytta
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 20081124-3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-10 20:58:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 477044    

Description Nicolas Mailhot 2008-12-21 00:43:11 UTC
This bug has been filed because we've detected your package includes one or several font files:                                                                                                                                                             repoquery -C --repoid=rawhide -f '*.ttf' -f '*.otf' -f '*.pfb' -f '*.pfa' --qf='%{SOURCERPM}\n' |sed -e 's+-[0-9.-]*\.fc[123456789]\(.*\)src.rpm++g'|sort|uniq                                                                                                                                                             Unfortunately the script does not detect symlinks to other packages, so if that's your case, you can close this bug report now.                                                                                                                                                              Otherwise, you should know that:                                                                                                                                                              - Fedora guidelines demand the packaging of fonts in a separate package or subpackage: http://fedoraproject.org/wiki/Packaging/Guidelines#Avoid_bundling_of_fonts_in_other_packages                                                                                - our font packaging guidelines recently changed, and every package that ships fonts must be adapted to the new templates available in the fontpackages-devel package. http://fedoraproject.org/wiki/PackagingDrafts/Fonts_packaging_automation_(2008-11-18) http://fedoraproject.org/wiki/Fedora_fonts_policy_package http://fedoraproject.org/wiki/Simple_fonts_spec_template http://fedoraproject.org/wiki/Fonts_spec_template_for_multiple_fonts                                                                                                                                                              Please make your package conform to the current guidelines in rawhide.                                                                                                                                                             If your package is not principaly a font package, depending on a separate font package or subpackage is the prefered solution. If your application does not use fontconfig you can always package symlinks to the files provided by the font package and installed in the correct fontconfig directories.                                                                                                                                                              It is preferred to make a font package or subpackage per font family, though it is not currently a hard guidelines requirement (it may become before Fedora 11 is released). The definition of a font family is given on http://fedoraproject.org/wiki/Fonts_spec_template_notes/font-family                                                                                                                                                              The new templates should make the creation of font subpackages easy and safe.                                                                                                                                                              The following packages have already been converted and can serve as examples: - andika-fonts - apanov-heuristica-fonts - bitstream-vera-fonts - charis-fonts - dejavu-fonts - ecolier-court-fonts - edrip-fonts - gfs-ambrosia-fonts - gfs-artemisia-fonts - gfs-baskerville-fonts - gfs-bodoni-classic-fonts - gfs-bodoni-fonts - gfs-complutum-fonts - gfs-didot-classic-fonts - gfs-didot-fonts - gfs-eustace-fonts - gfs-fleischman-fonts - gfs-garaldus-fonts - gfs-gazis-fonts - gfs-jackson-fonts - gfs-neohellenic-fonts - gfs-nicefore-fonts - gfs-olga-fonts - gfs-porson-fonts - gfs-solomos-fonts - gfs-theokritos-fonts - stix-fonts - yanone-kaffeesatz-fonts                                                                                                                                                           If you have any remaining questions about the new guidelines please ask them on fedora-fonts-list at redhat.com

Comment 1 Nicolas Mailhot 2008-12-21 00:57:38 UTC
[Since the bot made a mess of the text here it is again in properly indented form.]

This bug has been filed because we've detected your package includes one or several font files:

repoquery -C --repoid=rawhide -f '*.ttf' -f '*.otf' -f '*.pfb' -f '*.pfa' --qf='%{SOURCERPM}\n' |sed -e 's+-[0-9.-]*\.fc[123456789]\(.*\)src.rpm++g'|sort|uniq

Unfortunately this script does not detect symlinks to other packages, so if that's your case, you can close this bug report now.

Otherwise, you should know that:

— Fedora guidelines demand the packaging of fonts in a separate package (or subpackage):
http://fedoraproject.org/wiki/Packaging/Guidelines#Avoid_bundling_of_fonts_in_other_packages

— our font packaging guidelines recently changed, and every package that ships fonts must be adapted to the new templates available in the fontpackages-devel package:
  – http://fedoraproject.org/wiki/PackagingDrafts/Fonts_packaging_automation_(2008-11-18)
  – http://fedoraproject.org/wiki/Fedora_fonts_policy_packagehttp://fedoraproject.org/wiki/Simple_fonts_spec_templatehttp://fedoraproject.org/wiki/Fonts_spec_template_for_multiple_fonts

Please make your package conform to the current guidelines in rawhide (you can use the fontpackages package in F9 or F10 to test, but only submit changes to rawhide please).

If your package is not principaly a font package, depending on a separate font package or subpackage is the prefered solution. If your application does not use fontconfig you can always package symlinks to the files provided by the font package and installed in the correct fontconfig directories.

It is preferred to create a font package or subpackage per font family, though it is not currently a hard guidelines requirement (it may become before Fedora 11 is released). The definition of a font family is given on:
http://fedoraproject.org/wiki/Fonts_spec_template_notes/font-family

The new templates should make the creation of font subpackages easy and safe.

The following packages have already been converted by their packager and can serve as examples:
❄ andika-fonts
❄ apanov-heuristica-fonts
❄ bitstream-vera-fonts
❄ charis-fonts
❄ dejavu-fonts
❄ ecolier-court-fonts
❄ edrip-fonts
❄ gfs-ambrosia-fonts
❄ gfs-artemisia-fonts
❄ gfs-baskerville-fonts
❄ gfs-bodoni-classic-fonts
❄ gfs-bodoni-fonts
❄ gfs-complutum-fonts
❄ gfs-didot-classic-fonts
❄ gfs-didot-fonts
❄ gfs-eustace-fonts
❄ gfs-fleischman-fonts
❄ gfs-garaldus-fonts
❄ gfs-gazis-fonts
❄ gfs-jackson-fonts
❄ gfs-neohellenic-fonts
❄ gfs-nicefore-fonts
❄ gfs-olga-fonts
❄ gfs-porson-fonts
❄ gfs-solomos-fonts
❄ gfs-theokritos-fonts
❄ stix-fonts
❄ yanone-kaffeesatz-fonts

If you have any remaining questions about the new guidelines please ask them on:
fedora-fonts-list at redhat.com

Comment 2 Ville Skyttä 2008-12-25 06:47:33 UTC
Fixed in 20081124-2, better fix depends on vdr-text2skin gaining fontconfig support: http://projects.vdr-developer.org/issues/show/36

Comment 3 Nicolas Mailhot 2009-01-09 13:42:48 UTC
Two QA remarks:

1. Even though the same default font set is likely to be installed in all Fedora system it's not 100% guaranteed. Fontconfig apps can manage very well as long as there is one font on the system so we don't peg specific ones via deps in that case. OTOH, you absolutely need the exact target of your symlinks to be present or I suppose bad things will happen. So I advice to actually require the packages providing the font files you've symlinked in your app.

2. While the LGC variants of dejavu are smaller, we install the full versions by default. So if you depend on the full versions, your app won't consume resources not already available on most systems. And if you depend on the LGC versions, you'll force the download of additional material. Therefore linking the full version instead of the LGC one will be a space win in the majority of cases

Comment 4 Ville Skyttä 2009-01-09 17:19:29 UTC
1) vdr-skins already has dependencies to the symlink target providing dejavu-fonts-lgc-sans and dejavu-fonts-lgc-sans-mono packages.  Did I miss something?

Ideally I'd actually like to depend on the exact symlinked filenames (they have moved at least 3 times during the last 18 or so months which is not fun at all) but that would cause download of yum filelists which is very much frowned upon.  So I'll keep the package name dependencies (and have a build time %check test which unfortunately does not help after build), hoping that the font filenames are no longer moved around.

2) Thanks for the info - in Aug 2007, dejavu-lgc had become more ubiquitous than vera and full dejavu which is why I changed to it.  Will take a look at switching to full dejavu.

Comment 5 Nicolas Mailhot 2009-01-09 17:34:45 UTC
(In reply to comment #4)
> 1) vdr-skins already has dependencies to the symlink target providing
> dejavu-fonts-lgc-sans and dejavu-fonts-lgc-sans-mono packages.  Did I miss
> something?

I'm the one who messed up, too many font spec reviews today, I'm starting to see double :(

> hoping that the font filenames
> are no longer moved around.

I though they moved twice, once because of a guideline change on our part and once because upstream changed. But that was for dejavu full, lgc may have had a more bumpy history as it's less critical.

We do try to avoid renammings, but sometimes they happen. Fontconfig apps don't care :)

> 2) Thanks for the info - in Aug 2007, dejavu-lgc had become more ubiquitous
> than vera and full dejavu which is why I changed to it.  Will take a look at
> switching to full dejavu.

We first used dejavu LGC as default in F6 then switched to DejaVu full for F9 when Behdad felt comfortable enough about it. Nowadays DejaVu LGC like Bitstream Vera is pretty much an historical package I don't like to see deps on.

Comment 6 Nicolas Mailhot 2009-01-09 18:29:06 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > 1) vdr-skins already has dependencies to the symlink target providing
> > dejavu-fonts-lgc-sans and dejavu-fonts-lgc-sans-mono packages.  Did I miss
> > something?
> 
> I'm the one who messed up, too many font spec reviews today, I'm starting to
> see double :(

To clarify: as loog as you do not use fontconfig to discover font you do need to depend on the font files your app use (either via filename deps or via package deps, I don't care which one but others do)

Comment 7 Ville Skyttä 2009-01-10 20:58:22 UTC
Changed to full dejavu in 20081124-3.