(New page: <noinclude>{{CompactHeader|fonts-sig}} Fedora includes a large selection of font packages. Unfortunately, due to uneven upstream release practices, uneven pack...) |
No edit summary |
||
Line 24: | Line 24: | ||
== Checking package naming == | == Checking package naming == | ||
We have strict [[Packaging:FontsPolicy#Naming|naming]] rules that all font packages should follow. Please check they're respected. | We have strict [[:Packaging:FontsPolicy#Naming|naming]] rules that all font packages should follow. Please check they're respected. | ||
== Checking package split == | |||
Check that all the different [[Fonts spec template notes/font-family|font families]] are properly [[:Packaging:FontsPolicy#Package_layout_for_fonts|split]] in independent packages, and that you can un-install other font or application packages without removing the one you want to keep. | |||
== Checking upgrade paths == | == Checking upgrade paths == | ||
Line 33: | Line 37: | ||
{{:Checking fontconfig rules}} | {{:Checking fontconfig rules}} | ||
== Checking comps == | |||
Check all our font packages are properly declared in the fonts or legacy-fonts [http://cvs.fedoraproject.org/viewcvs/comps/ comps [[:Packaging:FontsPolicy#Grouping|groups]]. | |||
== Checking spec files == | == Checking spec files == |
Revision as of 13:39, 22 February 2009
Fedora includes a large selection of font packages. Unfortunately, due to uneven upstream release practices, uneven packager experience, commitment or attention to detail, uneven package complexity[1], they're not all to the same quality standard.
This page will help you improve our font package quality pool by specifying ways you can help existing maintainers enhance their packages.
Checking summaries and descriptions
To give users more flexibility, especially in an automatic font installation context, we require fine-grained font packages.
Unfortunately that also increases the number of summaries and descriptions font packagers need to write, and upstreams do not always provide ready-to-use text snippets[2]. Many packagers would appreciate proposals to improve those:
Summaries
Font summaries need to be short and to the point. Usual informations are font style and Unicode coverage. Only repeat the font name(s) if you don't have anything else to write.
Descriptions
Font descriptions must detail information on the font style, Unicode coverage, and intended use[3] to help users choose the right packages to install. Also, it is considered good form to credit the original font designer and sum up the font history.
Incidentally, this is a good way to check if the licensing information declared by upstream is correct and if some fontconfig substitution rules can be added to the package.
Examples of terrific font descriptions are found on the Greek Font Society web site. This is what other font packages should strive to emulate.
Checking package naming
We have strict naming rules that all font packages should follow. Please check they're respected.
Checking package split
Check that all the different font families are properly split in independent packages, and that you can un-install other font or application packages without removing the one you want to keep.
Checking upgrade paths
To check an upgrade path works:
- find a test Fedora system,
- make sure none of the new packages are already installed[4],
- install part or all of the old package set,
- copy the new packages to a local directory[5],
- run createrepo on this directory[6],
- point dnf to it[7],
- try a dnf upgrade.
- if that fails, try to understand why, rpm -e whatever dnf upgrade installed and repeat from step 1.
You can also use:
rpm -qp --obsoletes mypackage
… to check the obsoletes declared by one of your new packages and,
dnf list obsoletes
before the dnf upgrate to check what dnf thinks about your new packages[8].
Checking fontconfig rules
Our fontconfig rules have many origins[9] and mistakes are common[10]. To help identify and fix them:
- try to find a packageset that works and packageset that does not
- compare the output of:
fc-match -s :family=<name>:lang=<loc>
in both cases, with <name> the font family you requested[11] and <loc> the target locale[12]. - if necessary, identify more precisely the problem font,
- examine the fontconfig rules shipped with the problem package,
# yum install fontpackages-devel meld $ meld foo.conf /usr/share/fontconfig/templates/bar.conf
- report your findings.
Checking comps
Check all our font packages are properly declared in the fonts or legacy-fonts [http://cvs.fedoraproject.org/viewcvs/comps/ comps groups.
Checking spec files
Check out the files the packager used, compare them to the official templates in fontpackages-devel[13], and report discrepancies which have no justification.
Graphical diff tools such as meld can be especially helpful.
Notes:
- ↑ Especially if layers of legacy compatibility rules make the spec file hard to read or maintain.
- ↑ Or they do not provide them in English
- ↑ Print, screen, headings, code…
- ↑ It would confuse the tools.
- ↑ If you're creating them:
- ↑
createrepo <directory>
- ↑ Use a repo file such as this one:
[tmp] name=tmp baseurl=file:///tmp/rpm enabled=1 gpgcheck=0
- ↑ But that won't check scriptlets and other packaging bits so do check dnf upgrade works afterwards.
- ↑
- default rules provided by fontconfig upstream,
- rules written by Fedora packagers using our own templates: install fontpackages-devel and look in /usr/share/fontconfig/templates/,
- rules written by Fedora packagers without regard for our templates,
- rules written by font projects.
- ↑ While trying to:
- workaround KDE/QT fontconfig processing bugs,
- make sure one's font is the default for some languages,
- make sure one's font rendering preferences are default for one font,
- ↑ For example sans, serif…
- ↑ For example ja-jp, zh, etc.
- ↑ Look in /etc/rpmdevtools/.