Bug 483865

Summary: Review Request: bpg-fonts - Georgian Unicode fonts
Product: [Fedora] Fedora Reporter: Tom "spot" Callaway <tcallawa>
Component: Package ReviewAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: cra, fedora-package-review, fonts-bugs, mfabian, notting
Target Milestone: ---Flags: nicolas.mailhot: fedora-review+
tcallawa: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 20090205-5.fc9 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-28 03:26:24 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:

Description Tom "spot" Callaway 2009-02-04 00:48:48 UTC
Spec URL: http://www.auroralinux.org/people/spot/review/new/bpg-fonts.spec
SRPM URL: http://www.auroralinux.org/people/spot/review/new/bpg-fonts-20090203-1.fc11.src.rpm
Description: 
BPG Fonts are a set of GPL licensed Georgian Unicode fonts.

A few notes: 

* There is no version present for the GPL, but there is the font exception, which causes the license to be GPL+ with exceptions. rpmlint doesn't know about that yet, but I added it to the Licensing list.

* One of the font families (Sans Modern) is derived from a Bitstream Vera font (Deja Vu). You cannot start with a Bitstream Vera licensed font and make a GPL licensed derivative, because the Bitstream Vera license is GPL incompatible. Thus, I've marked that family as License: Bitstream Vera. None of the other families are Deja Vu derivatives.

Comment 1 Charles R. Anderson 2009-02-04 02:57:13 UTC
Initial review:

>rpmlint bpg-fonts-20090203-1.fc11.src.rpm
bpg-fonts.src: W: invalid-license GPL+ with exceptions
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Upstream source sha1sum matches:

fb996423afac1f8a1091d907795115f98249cd7f  BPG_GPL&GNU_Fonts.zip

http://fedoraproject.org/wiki/Packaging:FontsPolicy
+ Fonts are in a single upstream archive.
? Multiple different families are in the same upstream archive.  They share a release date, but the subpackages have different Versions.  Additionally, as stated above, one of the font families has a different license.  Can you check with upstream about splitting these into one-archive-per-family?  It would probably be better to split at least the one non-GPL font into a different archive, and probably a different SRPM altogether.
+ Each family is in a separate subpackage.
+ naming follows projectname-fontfamilyname-fonts
- SHOULD be built from sources, but font spec template says "For GPLed or LGPLed fonts this is required by the license."  %build section is empty.  Is TTF the preferred source for modifying/building these fonts?  If not, where is the source?

>rpmlint bpg-*.noarch.rpm
bpg-algeti-fonts.noarch: W: no-documentation
bpg-algeti-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-algeti.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-algeti.conf
bpg-algeti-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-chveulebrivi-fonts.noarch: W: no-documentation
bpg-chveulebrivi-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-chveulebrivi.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-chveulebrivi.conf
bpg-chveulebrivi-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-courier-fonts.noarch: W: no-documentation
bpg-courier-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-courier.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-courier.conf
bpg-courier-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-courier-s-fonts.noarch: W: no-documentation
bpg-courier-s-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-courier-s.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-courier-s.conf
bpg-courier-s-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-elite-fonts.noarch: W: no-documentation
bpg-elite-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-elite.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-elite.conf
bpg-elite-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-fonts-common.noarch: W: invalid-license GPL+ with exceptions
bpg-glaho-fonts.noarch: W: no-documentation
bpg-glaho-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-glaho.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-glaho.conf
bpg-glaho-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-ingiri-fonts.noarch: W: no-documentation
bpg-ingiri-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-ingiri.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-ingiri.conf
bpg-ingiri-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-nino-medium-cond-fonts.noarch: W: no-documentation
bpg-nino-medium-cond-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-nino-medium-cond.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-nino-medium-cond.conf
bpg-nino-medium-cond-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-nino-medium-fonts.noarch: W: no-documentation
bpg-nino-medium-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-nino-medium.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-nino-medium.conf
bpg-nino-medium-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-sans-fonts.noarch: W: no-documentation
bpg-sans-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-sans.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-sans.conf
bpg-sans-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-sans-medium-fonts.noarch: W: no-documentation
bpg-sans-medium-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-sans-medium.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-sans-medium.conf
bpg-sans-medium-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-sans-modern-fonts.noarch: W: no-documentation
bpg-sans-modern-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-sans-modern.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-sans-modern.conf
bpg-sans-regular-fonts.noarch: W: no-documentation
bpg-sans-regular-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-sans-regular.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-sans-regular.conf
bpg-sans-regular-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-serif-fonts.noarch: W: no-documentation
bpg-serif-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-serif.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-serif.conf
bpg-serif-fonts.noarch: W: invalid-license GPL+ with exceptions
bpg-serif-modern-fonts.noarch: W: no-documentation
bpg-serif-modern-fonts.noarch: W: symlink-should-be-relative /etc/fonts/conf.d/60-bpg.conf-serif-modern.conf /usr/share/fontconfig/conf.avail/60-bpg.conf-serif-modern.conf
bpg-serif-modern-fonts.noarch: W: invalid-license GPL+ with exceptions
16 packages and 0 specfiles checked; 0 errors, 45 warnings.

Should the symlinks be relative, or is rpmlint being too pedantic here?

Comment 2 Tom "spot" Callaway 2009-02-04 14:52:50 UTC
(In reply to comment #1)

> ? Multiple different families are in the same upstream archive.  They share a
> release date, but the subpackages have different Versions.  Additionally, as
> stated above, one of the font families has a different license.  Can you check
> with upstream about splitting these into one-archive-per-family?  It would
> probably be better to split at least the one non-GPL font into a different
> archive, and probably a different SRPM altogether.

I can check, but that would effectively be 15 zip files instead of just one. If it were me, I wouldn't do it. :)

Upstream is probably unaware of the GPL incompatibility with the Bitstream Vera derived font. Font licensing compatibility is poorly understood.

> + Each family is in a separate subpackage.
> + naming follows projectname-fontfamilyname-fonts
> - SHOULD be built from sources, but font spec template says "For GPLed or
> LGPLed fonts this is required by the license."  %build section is empty.  Is
> TTF the preferred source for modifying/building these fonts?  If not, where is
> the source?

TTF is typically the preferred source for modifying fonts, with tools like fontforge.

Comment 3 Tom "spot" Callaway 2009-02-04 14:54:37 UTC
> Should the symlinks be relative, or is rpmlint being too pedantic here?

rpmlint's check here was decided by the FPC (and just ratified by FESCo) to be a bit too strict.

I'm going to write this up today, but you can look at https://fedoraproject.org/wiki/PackagingDrafts/Symlinks , which says:

"There are two ways of making a symlink, either as a relative link or an absolute link. In Fedora, neither method is required. Packagers should use their best judgement when deciding which method of symlink creation is appropriate."

Comment 4 Tom "spot" Callaway 2009-02-05 14:02:00 UTC
Upstream clarified the legal issues and released a new zip file with the licensing accurately described. I've updated the package to reflect the new zip file:

New SRPM: http://www.auroralinux.org/people/spot/review/new/bpg-fonts-20090205-1.fc11.src.rpm
New SPEC: http://www.auroralinux.org/people/spot/review/new/bpg-fonts.spec

Comment 5 Nicolas Mailhot 2009-02-11 21:10:19 UTC
Ok, some feedback (awesome work BTW)

1. minor: since consensus seems to be that multiple directory ownership is ok in some conditions, %_font_pkg now does it automatically, so you don't need the %dir %{_fontdir} in common anymore (though it's probably harmless). Will need to update the wiki templates to reflect this

2. it does not build in mock, but does build in koji, so your package is probably fine and that's a mock bug (bug #485146)

3. major: the font files declare font family names like "BPG Courier S GPL&GNU". Since fontconfig works with whatever the font files declare, you need to use those names in your fontconfig files in you want them to work (how to pass the & safely is an interesting problem to discuss with Behdad)

4. I'd have used a fontconfig priority of 63-64 to make sure the latin glyphs in those fonts do not override the ones in more mainstream fonts

Comment 7 Nicolas Mailhot 2009-02-17 19:23:48 UTC
Add the font bug list in CC so we don't miss issue updates again

Comment 8 Nicolas Mailhot 2009-02-17 19:48:55 UTC
Ok, my bad for not being crystal-clear. & is one of the few reserved characters in XML, you can't use it as-is. I'd say replace it with &#38;

http://www.w3.org/TR/REC-xml/#sec-predefined-ent


Also, while I'm at it

1. next week the new koji will allow srpm building with rawhide rpm, and rawhide rpm has support for group inheritance, so you can drop all the
Group:		User Interface/X
from subpackages

2. for some reason upstream decided is was smart to add GPL&GNU to the font names this release. So for interoperability reasons with other distros and documents that use the old font names, it's better to use the substitution template to alias the old names
/usr/share/fontconfig/templates/substitution-font-template.conf

(at least for the fonts in the "old pack" at
http://groups.google.com/group/bpg-fonts/web/Old_BPG_GPL_GNU_Fonts.zip )

Comment 9 Tom "spot" Callaway 2009-02-17 20:01:24 UTC
1. Well, that's nice, but I'll be building these fonts for older releases as well, so I'll keep them. It doesn't hurt.

2. Okay, fixed, along with the &#38 replacement across the board.

New SRPM: http://www.auroralinux.org/people/spot/review/new/bpg-fonts-20090205-3.fc11.src.rpm
New SPEC: http://www.auroralinux.org/people/spot/review/new/bpg-fonts.spec

Comment 10 Nicolas Mailhot 2009-02-17 22:11:05 UTC
missing the trailing ";", an SGML/XML entity has the "&something;" format

Comment 12 Nicolas Mailhot 2009-02-17 22:40:50 UTC
Very fine work on a non-trivial package. I don't see any obvious problem now.

♖♖♖ APPROVED ♖♖♖

Comment 13 Nicolas Mailhot 2009-02-17 22:42:07 UTC
You can now continue from
http://fedoraproject.org/wiki/Font_package_lifecycle#3.a

as usual

Comment 14 Tom "spot" Callaway 2009-02-20 22:15:56 UTC
New Package CVS Request
=======================
Package Name: bpg-fonts
Short Description: Georgian Unicode fonts
Owners: spot
Branches: F-9 F-10 devel
InitialCC: fonts-sig

...and it's done.

Comment 15 Fedora Update System 2009-02-26 14:32:17 UTC
bpg-fonts-20090205-5.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/bpg-fonts-20090205-5.fc9

Comment 16 Fedora Update System 2009-02-26 14:32:22 UTC
bpg-fonts-20090205-5.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/bpg-fonts-20090205-5.fc10

Comment 17 Fedora Update System 2009-02-28 03:26:19 UTC
bpg-fonts-20090205-5.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2009-02-28 03:28:01 UTC
bpg-fonts-20090205-5.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.