Bug 477468 - Please convert to new font packaging guidelines
Summary: Please convert to new font packaging guidelines
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: tiresias-fonts
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F11-new-font-rules
TreeView+ depends on / blocked
 
Reported: 2008-12-21 00:41 UTC by Nicolas Mailhot
Modified: 2009-01-15 20:39 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-15 20:39:03 UTC
Type: ---


Attachments (Terms of Use)

Description Nicolas Mailhot 2008-12-21 00:41:26 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:24 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 Nicolas Mailhot 2009-01-11 15:20:29 UTC
To help packagers manage the transition to the new guidelines, we've published the following FAQ

http://fedoraproject.org/wiki/Shipping_fonts_in_other_packages_(FAQ)

Comment 3 Nicolas Mailhot 2009-01-14 18:38:10 UTC
FPC approved those two additional guidelines recently, please take them into account if you need to create or update a fonts package or subpackage:

– 2009-01-14: naming
http://fedoraproject.org/wiki/PackagingDrafts/Font_package_naming_%282009-01-13%29

— 2009-01-06: exact splitting rules
http://fedoraproject.org/wiki/PackagingDrafts/Font_package_splitting_rules_%282008-12-21%29

(packagers that can drop font files and just depend on an existing font package are not impacted)

Comment 4 Tom "spot" Callaway 2009-01-15 18:02:00 UTC
So, given the naming scheme:

"Fedora font packages are named [foundryname-][projectname-]fontfamilyname-fonts, in lowercase."

The foundryname is "tiresias". The projectname is "tiresias". 
Upstream thinks that the familyname is "tiresias", but there are arguably five font families here:
"infofont"
"keyfont"
"lpfont"
"pcfont"
"signfont"

Since the naming guidelines say "When foundryname, projectname or fontfamilyname contain the font or fonts affix, it should be skipped to avoid foofont-fonts packages."

This means that I should skip the fontfamilyname as well. This leaves me with "tiresias-fonts", which is the current naming and packaging structure.

Now, I could do:

tiresias-info-fonts
tiresias-key-fonts
tiresias-lp-fonts
tiresias-pc-fonts
tiresias-sign-fonts

But that would not be accurate. Please advise as to what I should do in this scenario.

Comment 5 Nicolas Mailhot 2009-01-15 18:52:53 UTC
(In reply to comment #4)
> So, given the naming scheme:
> 
> "Fedora font packages are named
> [foundryname-][projectname-]fontfamilyname-fonts, in lowercase."
> 
> The foundryname is "tiresias". The projectname is "tiresias".

Right. So your font package names should be
tiresias-fontfamilyname-fonts

instead of

tiresias-tiresias-fontfamilyname-fonts

> Upstream thinks that the familyname is "tiresias", but there are arguably five
> font families here:
> "infofont"
> "keyfont"
> "lpfont"
> "pcfont"
> "signfont"

Actually, it isn't the font family.
I haven't repeated the definition of font family in the naming section, because it should already be introduced by the splitting rule submitted and approved before. But to repeat it from

https://fedoraproject.org/wiki/PackagingDrafts/Font_package_splitting_rules_(2008-12-21)

“ What is a font family?
* A font family corresponds to one entry in GUI font lists. For example, DejaVu Sans, DejaVu Serif and DejaVu Sans Mono are three different font families.
* A font family is subdivided in faces or styles. DejaVu Sans Normal, DejaVu Sans Bold, DejaVu Sans Condensed Italic are three faces of the DejaVu Sans font family.
* The gnome-font-viewer command can be used to check the font family name and the font face/style declared by a font file.”

Using the gnome-font-viewer command for example you'll see the infofont fonts declare the "Tiresias Infofont" and "Tiresias Infofont Z" (so you have two different families in this archive)

for the first font set, you would get
tiresias-fontfamilyname-fonts ⇒ tiresias-tiresias-infofont-fonts

That should obviously normalise to tiresias-infofont-fonts, except I need to rework the wording a bit

> Since the naming guidelines say "When foundryname, projectname or
> fontfamilyname contain the font or fonts affix, it should be skipped to avoid
> foofont-fonts packages."

This should say "the affix should be skipped" instead of "it should be skipped" I didn't thought one could read it like you did

tiresias-infofont-fonts ⇒ tiresias-info-fonts

So the guidelines more or less work, and produce about the same naming as you proposed, except I need to rework some little points to avoid misinterpretations

I've updated the guideline proposal with some clarifications

Comment 6 Tom "spot" Callaway 2009-01-15 20:39:03 UTC
Okay, I migrated this one over. It now writes out:

tiresias-fonts-1.0-3.fc11.src.rpm
tiresias-fonts-common-1.0-3.fc11.noarch.rpm
tiresias-info-fonts-1.0-3.fc11.noarch.rpm
tiresias-info-z-fonts-1.0-3.fc11.noarch.rpm
tiresias-key-v2-fonts-1.0-3.fc11.noarch.rpm
tiresias-lp-fonts-1.0-3.fc11.noarch.rpm
tiresias-pc-fonts-1.0-3.fc11.noarch.rpm
tiresias-pc-z-fonts-1.0-3.fc11.noarch.rpm
tiresias-sign-fonts-1.0-3.fc11.noarch.rpm
tiresias-sign-z-fonts-1.0-3.fc11.noarch.rpm

The font families are:
Infofont, Infofont Z, Keyfont V2, LPfont, PCfont, PCfont Z, Signfont, Signfont Z


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