Bug 729512

Summary: Review Request: graphite2 - Font rendering capabilities for complex non-Roman writing systems
Product: [Fedora] Fedora Reporter: Nicholas van Oudtshoorn <vanoudt>
Component: Package ReviewAssignee: Martin Gieseking <martin.gieseking>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: martin.gieseking, mkrizek, notting, package-review
Target Milestone: ---Flags: martin.gieseking: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-07 07:23:45 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 Nicholas van Oudtshoorn 2011-08-10 01:46:52 UTC
Spec URL: http://dl.dropbox.com/u/8648526/graphite2.spec
SRPM URL: http://dl.dropbox.com/u/8648526/graphite2.spec
Description: 
LibreOffice has stopped using graphite in favour of graphite2. This will enable LibreOffice to once again be built with support for complex scripts and ligatures.
 
Graphite2 is a project within SIL’s Non-Roman Script Initiative and Language
Software Development groups to provide rendering capabilities for complex
non-Roman writing systems. Graphite can be used to create “smart fonts” capable
of displaying writing systems with various complex behaviors. With respect to
the Text Encoding Model, Graphite handles the "Rendering" aspect of writing
system implementation.

Comment 1 Nicholas van Oudtshoorn 2011-08-10 01:47:58 UTC
Ah!?!?! The SRPM Url is, of course:
SRPM URL: http://dl.dropbox.com/u/8648526/graphite2-1.0.1-1.fc15.src.rpm

Comment 2 Martin Krizek 2011-08-16 14:51:45 UTC
Hi Nicholas,

I tried to build the package from the spec file you provided but before I was able to do that I had to install following packages: cmake, freetype-devel (zlib-devel installed for dependecy). Shouldn't those be BuildRequirments?

Comment 3 Nicholas van Oudtshoorn 2011-08-17 01:43:54 UTC
D'Oh! Thanks for picking that up Martin. That's what I get for neglecting to run it through mock! An updated SPEC and SRPM have been made available with the required BuildRequires

Spec URL: http://dl.dropbox.com/u/8648526/graphite2.spec
SRPM URL: http://dl.dropbox.com/u/8648526/graphite2-1.0.1-2.fc15.src.rpm

Comment 4 Martin Krizek 2011-08-17 12:28:03 UTC
$ rpmlint rpmbuild/SRPMS/graphite2-1.0.1-2.fc15.src.rpm rpmbuild/SPECS/graphite2.spec rpmbuild/RPMS/x86_64/graphite2-*
graphite2.x86_64: W: no-manual-page-for-binary gr2fonttest
graphite2.x86_64: W: no-manual-page-for-binary comparerenderer
graphite2.x86_64: W: no-manual-page-for-binary gr2fonttest
graphite2.x86_64: W: no-manual-page-for-binary comparerenderer
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_features.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/direct_machine.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/TtfTypes.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/opcodes.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Bidi.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Face.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Face.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/XmlLog.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/Types.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_font.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheEntry.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Sparse.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/NameTable.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/opcode_table.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/XmlTraceLog.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFaceCache.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/NameTable.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/CompareRenderer.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCache.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/Font.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCache.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheStore.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CachedFace.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Slot.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/TtfUtil.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Font.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_segment.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Main.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/RenderedLine.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Silf.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/FeatureMap.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/FeatureParser.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Segment.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Segment.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/Renderer.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CmapCache.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheStore.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/XmlTraceLogTags.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/GrRenderer.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFaceCache.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/FeatureVal.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFace.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CmapCache.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_face.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/gr2fonttest/gr2FontTest.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_char_info.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/FeatureMap.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Silf.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/TtfUtil.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFace.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/processUTF.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Sparse.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/Gr2Renderer.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Pass.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/List.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Code.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CharInfo.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheEntry.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_logging.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/RendererOptions.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_slot.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Slot.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Font.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Code.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/Segment.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Position.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Machine.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/locale2lcid.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Pass.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CachedFace.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_features.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/direct_machine.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/TtfTypes.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/opcodes.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Bidi.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Face.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Face.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/XmlLog.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/Types.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_font.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheEntry.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Sparse.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/NameTable.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/opcode_table.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/XmlTraceLog.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFaceCache.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/NameTable.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/CompareRenderer.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCache.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/Font.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCache.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheStore.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CachedFace.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Slot.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/TtfUtil.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Font.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_segment.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Main.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/RenderedLine.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Silf.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/FeatureMap.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/FeatureParser.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Segment.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Segment.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/Renderer.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CmapCache.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheStore.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/XmlTraceLogTags.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/GrRenderer.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFaceCache.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/FeatureVal.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFace.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CmapCache.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_face.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/gr2fonttest/gr2FontTest.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_char_info.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/FeatureMap.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Silf.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/TtfUtil.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/GlyphFace.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/processUTF.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Sparse.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/Gr2Renderer.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Pass.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/List.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Code.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CharInfo.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/SegCacheEntry.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_logging.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/tests/comparerenderer/RendererOptions.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/gr_slot.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Slot.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Font.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Code.cpp
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/include/graphite2/Segment.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Position.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Machine.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/locale2lcid.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/Pass.h
graphite2-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/graphite2-1.0.1/src/CachedFace.cpp
graphite2-devel.x86_64: E: incorrect-fsf-address /usr/include/graphite2/Types.h
graphite2-devel.x86_64: E: incorrect-fsf-address /usr/include/graphite2/Font.h
graphite2-devel.x86_64: E: incorrect-fsf-address /usr/include/graphite2/Segment.h
graphite2-devel.x86_64: E: incorrect-fsf-address /usr/include/graphite2/Types.h
graphite2-devel.x86_64: E: incorrect-fsf-address /usr/include/graphite2/Font.h
graphite2-devel.x86_64: E: incorrect-fsf-address /usr/include/graphite2/Segment.h
7 packages and 1 specfiles checked; 146 errors, 4 warnings.

Comment 5 Martin Krizek 2011-08-17 12:30:49 UTC
During informal review I didn't find any issues, except those stated in the rpmlint output. I do however have some comments on the spec file:

I think following lines
cp LICENSE $RPM_BUILD_ROOT/usr/share/graphite2

%files
%doc /usr/share/graphite2/LICENSE
 
should be replaced with just
 
%files
%doc LICENSE
 
Also this line:
%doc /usr/share/graphite2/*.cmake
 
seems incorrect to me. Assuming *.cmake belongs to %doc (which I don't know) and therefore package can run without those files - is it neccessary to use the whole path? At least I would replace /usr/share with the macro (and graphite2 for that matter).

Comment 6 Martin Gieseking 2011-08-18 08:17:03 UTC
(In reply to comment #5)
> I think following lines
> cp LICENSE $RPM_BUILD_ROOT/usr/share/graphite2
> 
> %files
> %doc /usr/share/graphite2/LICENSE
> 
> should be replaced with just
> 
> %files
> %doc LICENSE

Yes, definitely. There's no need to install the doc files. Just add them with %doc by giving their relative location in the directory tree of the extracted tarball.

Also, add the files COPYING and ChangeLog to the base package.
 

> Also this line:
> %doc /usr/share/graphite2/*.cmake
> 
> seems incorrect to me. Assuming *.cmake belongs to %doc (which I don't know)
> and therefore package can run without those files - is it neccessary to use the
> whole path? At least I would replace /usr/share with the macro (and graphite2
> for that matter).

Yes. Just drop "%doc" and replace /usr/share with %{_datadir}. 


Some additional notes:
- The devel package must require the base package as mentioned here:
  https://fedoraproject.org/wiki/Packaging/Guidelines#Requiring_Base_Package

- You can drop Requires: pkgconfig as you probably don't want to build the
  package for EPEL < 6. The dependency on pkgconfig is detected automatically
  in Fedora and EPEL 6.

- Please be a bit more verbose in %files, i.e. try to avoid adding files
  with plain asterisks, especially, if only few files are addressed:
  %{_bindir}/comparerenderer
  %{_bindir}/gr2fonttest 
  %{_libdir}/libgraphite2.so.*
  %{_libdir}/libgraphite2.so
  %{_libdir}/pkgconfig/graphite2.pc
  %{_datadir}/graphite2/graphite2*.cmake
  etc.
 
  This helps to get a better overview of what's actually going to be added,
  and avoids packaging unwanted files.

- Add %dir %{_datadir}/graphite2/ to the devel package for proper directory
  ownership.

- Either add %defattr(-,root,root,-) to the base package or drop it from the 
  devel package. Both is fine but you should use it consistently.

- "make docs" in %build has no effect at the moment because of the missing
  BRs doxygen, tex(latex), and asciidoc. Add them and spread the generated
  documentation on the base and devel package (using %doc).

- Please ask upstream to update the FSF address in the source files and
  COPYING.

Comment 7 Nicholas van Oudtshoorn 2011-08-19 02:27:18 UTC
Thanks Martin (and Martin). Have updated the SPEC according to your suggestions above.

As for the FSF address, I'd already notified upstream - and am pleased to see that it's already been fixed in a new release (to which I have re-based the package).


Spec URL: http://dl.dropbox.com/u/8648526/graphite2.spec
SRPM URL: http://dl.dropbox.com/u/8648526/graphite2-1.0.2-1.fc15.src.rpm

Comment 8 Martin Gieseking 2011-08-19 07:13:50 UTC
OK, great. The package looks fine now. Just two (optional) suggestions:

- Move %post and %postun behind the %install section (and before %files). 
  It's just the common location.

- %{_libdir}/libgraphite2.so.2.0.0 is a bit too precise. :) In order to
  simplify future updates, I suggest to avoid mentioning the soversion:
  %{_libdir}/libgraphite2.so.*

But that's optional. The package is ready anyway.


$ rpmlint ./graphite2-*.rpm
graphite2.x86_64: W: no-manual-page-for-binary gr2fonttest
graphite2.x86_64: W: no-manual-page-for-binary comparerenderer
4 packages and 0 specfiles checked; 0 errors, 2 warnings.

---------------------------------
key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
    - LGPLv2+ according to source file headers

[+] MUST: The License field in the package spec file must match the actual license.
[+] MUST: The file containing the text of the license(s) for the package must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum graphite2-1.0.2.tgz*
    3115c721f5cb7c464f01c2dddccfaba6  graphite2-1.0.2.tgz
    3115c721f5cb7c464f01c2dddccfaba6  graphite2-1.0.2.tgz.1

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
    - koji scratch build:
    http://koji.fedoraproject.org/koji/taskinfo?taskID=3285384

[.] MUST: If the package does not successfully compile, build or work on an architecture, ...

[+] MUST: All build dependencies must be listed in BuildRequires.
[+] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied.
[.] MUST: The spec file MUST handle locales properly.
[+] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[+] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[+] MUST: If a package contains .so files with a suffix, then .so (without suffix) must go in a -devel package.
[+] MUST: devel packages must require the base package using a fully versioned dependency.
[+] MUST: Packages must NOT contain any .la libtool archives.
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file.
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

EPEL <= 5 only:
[X] MUST: The spec file must contain a valid BuildRoot field.
[X] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}.
[X] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}.
[X] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'


[.] SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
[+] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
[+] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.
[X] SHOULD: Your package should contain man pages for binaries/scripts.

----------------
Package APPROVED
----------------

Comment 9 Nicholas van Oudtshoorn 2011-08-22 02:37:26 UTC
New Package SCM Request
=======================
Package Name: graphite2
Short Description: Font rendering capabilities for complex non-Roman writing systems
Owners:vanoudt 
Branches: f15
InitialCC:

Comment 10 Gwyn Ciesla 2011-08-22 09:54:18 UTC
Git done (by process-git-requests).

Added f16 branch.

Comment 11 Fedora Update System 2011-08-22 10:32:47 UTC
graphite2-1.0.2-1.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/graphite2-1.0.2-1.fc15

Comment 12 Fedora Update System 2011-08-22 10:35:05 UTC
graphite2-1.0.2-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/graphite2-1.0.2-1.fc16

Comment 13 Fedora Update System 2011-08-22 18:35:21 UTC
graphite2-1.0.2-1.fc16 has been pushed to the Fedora 16 testing repository.

Comment 14 Fedora Update System 2011-08-26 10:02:16 UTC
graphite2-1.0.2-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/graphite2-1.0.2-2.fc15

Comment 15 Fedora Update System 2011-08-26 10:03:53 UTC
graphite2-1.0.2-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/graphite2-1.0.2-2.fc16