Bug 477478 - Please convert to new font packaging guidelines
Please convert to new font packaging guidelines
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: vdr-skins (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Ville Skyttä
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks: F11-new-font-rules
  Show dependency treegraph
 
Reported: 2008-12-20 19:43 EST by Nicolas Mailhot
Modified: 2009-01-10 15:58 EST (History)
2 users (show)

See Also:
Fixed In Version: 20081124-3
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-01-10 15:58:22 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Nicolas Mailhot 2008-12-20 19:43:11 EST
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-20 19:57:38 EST
[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 01:47:33 EST
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 08:42:48 EST
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 12:19:29 EST
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 12:34:45 EST
(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 13:29:06 EST
(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 15:58:22 EST
Changed to full dejavu in 20081124-3.

Note You need to log in before you can comment on or make changes to this bug.