Bug 212079

Summary: Review Request: freefont - Free UCS Outline Fonts
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: Package ReviewAssignee: Parag AN(पराग) <panemade>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: panemade, rdieter
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://www.cora.nwra.com/~orion/fedora/
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-11-02 22:39:17 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: 163779, 486977    

Description Orion Poplawski 2006-10-24 21:37:59 UTC
Spec Name or Url: http://www.cora.nwra.com/~orion/fedora/freefont.spec
SRPM Name or Url:
http://www.cora.nwra.com/~orion/fedora/freefont-20060126-1.fc5.src.rpm
Description: 

This project aims to privide a set of free scalable (i.e.,
OpenType) fonts covering the ISO 10646/Unicode UCS (Universal
Character Set).

Comment 1 Rex Dieter 2006-10-25 12:57:56 UTC
What a cool looking package! (:
quick comments: 

1. there's no need for any reference-to/use-of fonts.cache-2 (anymore).
2. %post scriplet shouldn't operate on /usr/share/fonts, but %fontdir.  Use 
something like this instead:

%post
if [ -x /usr/bin/fc-cache ]; then
  /usr/bin/fc-cache -f %{fontdir} || :
fi

Comment 2 Orion Poplawski 2006-10-25 15:20:48 UTC
(In reply to comment #1)
> What a cool looking package! (:
> quick comments: 
> 
> 1. there's no need for any reference-to/use-of fonts.cache-2 (anymore).

On all FC version?  fonts.cache-1 as well?  I don't see either on my fc5 system.

> 2. %post scriplet shouldn't operate on /usr/share/fonts, but %fontdir.  Use 
> something like this instead:
> 
> %post
> if [ -x /usr/bin/fc-cache ]; then
>   /usr/bin/fc-cache -f %{fontdir} || :
> fi

I believe you, but not according to
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#head-4863fc4c93cec14292719d8901d83f5d90c3e477

Need's updating?

Comment 3 Rex Dieter 2006-10-25 15:35:34 UTC
>> 1. there's no need for any reference-to/use-of fonts.cache-2 (anymore).

> On all FC version?  fonts.cache-1 as well?  I don't see either on my 
> fc5 system.

fonts.cache-2 is not used by *any* released version of FC.  fonts.cache-1 is
used by FC < 5, and FC5+ puts the cache files in /var/cache/fontconfig (which
you as packager need not worry about at all).

So technically, you don't need the fonts.cache-1 bits at all if you're only
going to target FC5+, but it doesn't hurt to keep it either (and the package
gains compatibility for legacy releases too).

> Need's updating?

Probably, though it's technically not wrong.  The %post code I suggested is
simply more right, imo.  (:

Comment 5 Parag AN(पराग) 2006-10-31 05:31:07 UTC
I may officially review this package but still there are some errors to remove
I did mock build for i386 rawhide and found that it built package successfully
but rpmlint is not silent on SRPM

W: freefont unversioned-explicit-obsoletes freefont-ttf
The specfile contains an unversioned Obsoletes: token, which will match all
older, equal and newer versions of the obsoleted thing.  This may cause update
problems, restrict future package/provides naming, and may match something it
was originally not inteded to match -- make the Obsoletes versioned if
possible.

===> use version number with package name

W: freefont unversioned-explicit-provides freefont-ttf
The specfile contains an unversioned Provides: token, which will match all
older, equal, and newer versions of the provided thing.  This may cause
update problems and will make versioned dependencies, obsoletions and conflicts
on the provided thing useless -- make the Provides versioned if possible.

===> use version number with package name

W: freefont setup-not-quiet
You should use -q to have a quiet extraction of the source tarball, as this
generate useless lines of log ( for buildbot, for example )

===> use setup -q not setup

W: freefont macro-in-%changelog fontdir
Macros are expanded in %changelog too, which can in unfortunate cases lead
to the package not building at all, or other subtle unexpected conditions that
affect the build.  Even when that doesn't happen, the expansion results in
possibly "rewriting history" on subsequent package revisions and generally
odd entries eg. in source rpms, which is rarely wanted.  Avoid use of macros
in %changelog altogether, or use two '%'s to escape them, like '%%foo'.

===> As suggested no problem to use macros in Chnagelog but you must use %
before macroname.

W: freefont mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 10)
The specfile mixes use of spaces and tabs for indentation, which is a
cosmetic annoyance.  Use either spaces or tabs for indentation, not both.

==>see the line 1 and 10 as suggested and remove tab replacing with spaces


rpmlint on binary built noarch package is silent


Comment 6 Orion Poplawski 2006-10-31 17:19:40 UTC
(In reply to comment #5)
> 
> W: freefont unversioned-explicit-obsoletes freefont-ttf
> W: freefont unversioned-explicit-provides freefont-ttf
> W: freefont setup-not-quiet
> W: freefont macro-in-%changelog fontdir
> W: freefont mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 10)

Fixed.

New versions:

http://www.cora.nwra.com/~orion/fedora/freefont.spec
http://www.cora.nwra.com/~orion/fedora/freefont-20060126-3.fc5.src.rpm

Comment 7 Parag AN(पराग) 2006-11-01 06:34:33 UTC
Review:
+ package builds fine in mock (development i386).
+ rpmlint is silent for RPM and SRPM.
+ source files match upstream.
822aba4e2ed065d9d3ded6e26e495854  freefont-ttf-20060126.tar.gz
+ package meets naming and packaging guidelines.
+ specfile is properly named, is cleanly written
+ Spec file is written in American English.
+ Spec file is legible.
+ dist tag is present.
+ build root is correct.
+ license is open source-compatible.  License text included in package.
+ %doc is small so -doc subpackage not required.
+ %doc does not affect runtime.
+ COPYING included in %doc.
+ BuildRequires are proper.
+ %clean is present.
+ package installed properly.
+ Macro use appears rather consistent.
+ Package contains code, not content.
+ no headers or static libraries.
+ no .pc files.
+ no -devel subpackage exists
+ no .la files.
+ no translations available
+ Provides: freefont-ttf = 20060126-3.fc6
+ Requires(post): /bin/sh
  Requires(postun): /bin/sh
  Requires: /usr/share/fonts
+ Obsoletes: freefont-ttf < 20060126-3.fc6
+ owns the directories it creates.
+ doesn't own any directories it shouldn't.
+ no duplicates in %files.
+ file permissions are appropriate.
+ scriptlets present and used according to its standards.
+ Not a GUI app

APPROVED.


Comment 8 Parag AN(पराग) 2006-11-01 06:35:49 UTC
Don't forget to CLOSE this BUG once you imported this package in CVS.

Comment 9 Orion Poplawski 2006-11-02 22:39:17 UTC
Checked in and built for devel.  Added to owners.list.  FC5 and FC6 branches
requested.

Thanks for the review!