Bug 670608 - Review Request: libgaiagraphics - Graphics canvas for GIS rendering
Summary: Review Request: libgaiagraphics - Graphics canvas for GIS rendering
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Martin Gieseking
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-18 19:43 UTC by Volker Fröhlich
Modified: 2011-12-13 21:56 UTC (History)
4 users (show)

Fixed In Version: libgaiagraphics-0.4-2.fc15
Clone Of:
Environment:
Last Closed: 2011-12-13 21:52:48 UTC
Type: ---
Embargoed:
martin.gieseking: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Volker Fröhlich 2011-01-18 19:43:00 UTC
Spec URL: http://www.geofrogger.net/review/libgaiagraphics.spec
SRPM URL: http://www.geofrogger.net/review/libgaiagraphics-0.4-1.fc13.src.rpm

Description: 

Libgaigraphics wraps raster- and vector graphics, to implement a reasonably
abstract and platform independent graphics canvas for GIS rendering.


http://koji.fedoraproject.org/koji/taskinfo?taskID=2729732

rpmlint:

libgaiagraphics.src: W: spelling-error %description -l en_US Libgaigraphics -> Stratigraphical, Calligraphic, Stratigraphic
libgaiagraphics.x86_64: W: spelling-error %description -l en_US Libgaigraphics -> Stratigraphical, Calligraphic, Stratigraphic
libgaiagraphics.x86_64: W: shared-lib-calls-exit /usr/lib64/libgaiagraphics.so.1.0.0 exit.5
libgaiagraphics-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 4 warnings.

As of the exit call, I expect the response to be much like https://bugzilla.redhat.com/show_bug.cgi?id=657795#c13 as it is the same developer.

Comment 1 Mario Blättermann 2011-02-18 12:03:06 UTC
$ rpmlint libgaiagraphics*src.rpm
libgaiagraphics.src: W: spelling-error %description -l en_US Libgaigraphics -> Stratigraphical, Calligraphic, Stratigraphic
1 packages and 0 specfiles checked; 0 errors, 1 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.
    GPLv3+
[+] 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.
[X] MUST: The spec file must be written in American English.
    The package name in %description is unique and not included in usual
    dictionaries. Doesn't matter that rpmlint decries the name.
    Small typo in the description: "Libgaigraphics" has to be changed into
    "Libgaiagraphics".
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum libgaiagraphics-0.4.tar.gz{,.packaged}
    43321ff1ccfdf33980b55897e68344e9  libgaiagraphics-0.4.tar.gz
    43321ff1ccfdf33980b55897e68344e9  libgaiagraphics-0.4.tar.gz.packaged

[+] MUST: The package MUST successfully compile and build into binary rpms on
at least one primary architecture.
[.] MUST: If the package does not successfully compile, build or work on an
architecture, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly.
[.] MUST: If a package installs files below %{_datadir}/icons, the icon cache
must be updated.
[+] 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: Packages must not provide RPM dependency information when that
information is not global in nature, or are otherwise handled.
[.] MUST: When filtering automatically generated RPM dependency information,
the filtering system implemented by Fedora must be used.
[+] 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 library files with a suffix (e.g.
libfoo.so.1.1), ...
[+] 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: .desktop files must be properly installed with desktop-file-install
in the %install section.
[+] MUST: Packages must not own files or directories already owned by other
packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.


[.] SHOULD: If the source package does not include license text(s) as a
    separate file from upstream, the packager SHOULD query upstream...

[+] SHOULD: Timestamps of files should be preserved.
[+] SHOULD: The reviewer should test that the package builds in mock.
    It builds at least for the x86 architecture.
[+] SHOULD: The reviewer should test that the package functions as described.
    Not done yet. I assume the packager has tested its functions properly...
[.] 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 ...
[.] SHOULD: Your package should contain man pages for binaries/scripts.
    Currently no man page available.

Comment 2 Martin Gieseking 2011-02-18 13:40:13 UTC
In addition to Mario's informal review:

- According to the source file headers, libgaiagraphics is licensed under 
  LGPLv3+. File COPYING contains the GPLv3 license text. Please adapt the 
  License field and ask upstream to provide the correct license text with the
  tarball.

- I recommend to use macro %{version} in Source0 to simplify future updates.

- Add a short comment above Patch0 telling what the patch does.

- Please be more specific in %files, especially if only single files are added.
  This helps to prevent accidentally packaging unwanted files:
  %{_libdir}/libgaiagraphics.so.*

  %{_includedir}/gaiagraphics.h
  %{_libdir}/libgaiagraphics.so
  %{_libdir}/pkgconfig/gaiagraphics.pc

- If you want to maintain the package for EPEL < 6 too, add
  Requires: pkgconfig to the -devel subpackage. Otherwise, you can drop all 
  the buildroot stuff.



$ rpmlint /var/lib/mock/fedora-14-i386/result/*.rpm
libgaiagraphics.i686: W: spelling-error %description -l en_US Libgaigraphics -> Stratigraphical, Calligraphic, Stratigraphic
libgaiagraphics.i686: W: shared-lib-calls-exit /usr/lib/libgaiagraphics.so.1.0.0 exit
libgaiagraphics.src: W: spelling-error %description -l en_US Libgaigraphics -> Stratigraphical, Calligraphic, Stratigraphic
libgaiagraphics-devel.i686: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 4 warnings.

- fix the spelling error as per Mario's comment
- shared-lib-calls-exit can be ignored but should possibly be fixed upstream
- no-documentation is expected and can be ignored

Comment 3 Volker Fröhlich 2011-02-18 15:21:49 UTC
Thank you for reviewing. I sent an e-mail and will put up a corrected package as soon as I get a reply.

The license actually should be GPLv3+. The developer must have forgotten to replace it.

Comment 4 Volker Fröhlich 2011-10-30 22:25:12 UTC
Ages later:

http://www.geofrogger.net/review/libgaiagraphics.spec
http://www.geofrogger.net/review/libgaiagraphics-0.4-2.fc15.src.rpm

Changelog:

- Place isa in devel package's Requires
- Correct license to LPGLv3+
- Correct spelling of the name in description
- More specific file list
- Add Requires for pkgconfig to devel sub-package (EPEL 5)
- Switch to name and version macro in source URL
- Remove zlib-devel as BR; libpng-devel already requires it

Comment 5 Martin Gieseking 2011-11-23 21:38:12 UTC
The package looks good now. If you want to build it for EPEL5 as well, some more work is needed because the build system of libgaiagraphics is not compatible with the old autotools coming with EPEL5. Especially, configure.ac requires autoconf >= 2.61.

Please drop the LICENSE file from %doc as long as it contains the wrong license text (still GPLv3), and ask upstream to bring it in sync with the copyright headers of the sources (currently LGPLv3+). This isn't a blocker, though.

$ rpmlint *.rpm
libgaiagraphics.x86_64: W: shared-lib-calls-exit /usr/lib64/libgaiagraphics.so.1.0.0 exit.5
libgaiagraphics-devel.x86_64: W: no-documentation
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.
    - LGPLv3+ 

[+] 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 libgaiagraphics-0.4.tar.gz*
    43321ff1ccfdf33980b55897e68344e9  libgaiagraphics-0.4.tar.gz
    43321ff1ccfdf33980b55897e68344e9  libgaiagraphics-0.4.tar.gz.upstream

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[.] 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 library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .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:
[+] MUST: The spec file must contain a valid BuildRoot field.
[+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}.
[+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}.
[+] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'

[X] 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 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.
[.] SHOULD: Your package should contain man pages for binaries/scripts.

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

Comment 6 Volker Fröhlich 2011-11-23 22:17:41 UTC
New Package SCM Request
=======================
Package Name: libgaiagraphics
Short Description: Graphics canvas for GIS rendering
Owners: volter
Branches: f15 f16
InitialCC:

Comment 7 Gwyn Ciesla 2011-11-25 03:28:15 UTC
Git done (by process-git-requests).

Comment 8 Fedora Update System 2011-12-04 20:04:21 UTC
libgaiagraphics-0.4-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/libgaiagraphics-0.4-2.fc16

Comment 9 Fedora Update System 2011-12-04 20:04:32 UTC
libgaiagraphics-0.4-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/libgaiagraphics-0.4-2.fc15

Comment 10 Fedora Update System 2011-12-06 01:04:25 UTC
libgaiagraphics-0.4-2.fc15 has been pushed to the Fedora 15 testing repository.

Comment 11 Fedora Update System 2011-12-13 21:52:48 UTC
libgaiagraphics-0.4-2.fc16 has been pushed to the Fedora 16 stable repository.

Comment 12 Fedora Update System 2011-12-13 21:56:13 UTC
libgaiagraphics-0.4-2.fc15 has been pushed to the Fedora 15 stable repository.


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