Bug 754749 - Review Request: perl-Glib-Object-Introspection - Dynamically create Perl language bindings
Summary: Review Request: perl-Glib-Object-Introspection - Dynamically create Perl lang...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Emmanuel Seyman
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 754754
TreeView+ depends on / blocked
 
Reported: 2011-11-17 16:09 UTC by Daniel Berrangé
Modified: 2012-01-04 01:56 UTC (History)
4 users (show)

Fixed In Version: perl-Glib-Object-Introspection-0.004-1.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-11-25 10:50:43 UTC
Type: ---
Embargoed:
emmanuel: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Daniel Berrangé 2011-11-17 16:09:01 UTC
Spec URL: http://berrange.fedorapeople.org/review/perl-Glib-Object-Introspection/perl-Glib-Object-Introspection.spec
SRPM URL: http://berrange.fedorapeople.org/review/perl-Glib-Object-Introspection/perl-Glib-Object-Introspection-0.003-1.fc15.src.rpm
Description: 
Glib::Object::Introspection uses the gobject-introspection and libffi projects
to dynamically create Perl bindings for a wide variety of libraries.  Examples
include gtk+, webkit, libsoup and many more.

Comment 1 Trond H. Amundsen 2011-11-17 17:10:20 UTC
A few comments and nitpicks:

1. According to the perl packaging guidelines[1] you should include a Requires to the particular version of perl the module was built against:
   Requires:  perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

2. The same guidelines also states that the package should own vendorarch and exlude the auto dir:
   %{perl_vendorarch}/*
   %exclude %dir %{perl_vendorarch}/auto/

3. If you plan an EPEL branch, you need to add a %clean section, and for EPEL5 and below also a BuildRoot tag and manual cleaning of %{buildroot} in the %install section. Just something to consider.

4. I prefer %{buildroot} and %{optflags} over $RPM_BUILD_ROOT and $RPM_OPT_FLAGS, respectively, but that's just me :)

[1] http://fedoraproject.org/wiki/Packaging:Perl

Comment 2 Emmanuel Seyman 2011-11-17 21:49:20 UTC
Taking.

Comment 3 Daniel Berrangé 2011-11-18 11:13:02 UTC
FYI, EPEL is not relevant here because AFAIK there is no GTK3 support in EPEL, nor can it be added, since the base RHEL version of glib2 is too old to support it.

Comment 4 Emmanuel Seyman 2011-11-20 15:32:50 UTC
This package fails to build so I can't properly start review.

Daniel, you'll want to add a BuildRequires on perl-Glib-devel (Glib::MakeHelper is needed during build and that's the package it's in). FTR, It's probably best to test that your package builds, in mock and/or in a scratch koji build before submitting it.

As Trond noted, you'll definitely want to include a MODULE_COMPAT Requires.

Is there a reason you're forcing LANG=en_US.UTF8 ? If so, it's recommended to add a comment explaining why.

Note that the defattr line is no longer needed in Fedora-only packages (but leaving it in isn't a blocker).

Comment 5 Daniel Berrangé 2011-11-21 11:32:48 UTC
Sigh, I don't know why I forgot to test it in mock, as I normally do that. Here is an updated SRPM which does actually build in mock. Updated .spec at the same URL as before.

http://berrange.fedorapeople.org/review/perl-Glib-Object-Introspection/perl-Glib-Object-Introspection-0.003-2.fc15.src.rpm

Comment 6 Emmanuel Seyman 2011-11-22 22:43:11 UTC
=== KEY ===

 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===

 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format
%{name}.spec.
 [x] Package meets the Packaging Guidelines including the Perl specific items
 [x] Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     Tested on: http://koji.fedoraproject.org/koji/taskinfo?taskID=3533759

 [x] Rpmlint output:

perl-Glib-Object-Introspection.src: W: spelling-error %description -l en_US gobject -> object, g object
perl-Glib-Object-Introspection.src: W: spelling-error %description -l en_US libffi -> bailiff
perl-Glib-Object-Introspection.src: W: spelling-error %description -l en_US gtk -> gt, gt k
perl-Glib-Object-Introspection.src: W: spelling-error %description -l en_US webkit -> web kit, web-kit, website
perl-Glib-Object-Introspection.src: W: spelling-error %description -l en_US libsoup -> lib soup, lib-soup, libelous
perl-Glib-Object-Introspection.x86_64: W: spelling-error %description -l en_US gobject -> object, g object
perl-Glib-Object-Introspection.x86_64: W: spelling-error %description -l en_US libffi -> bailiff
perl-Glib-Object-Introspection.x86_64: W: spelling-error %description -l en_US gtk -> gt, gt k
perl-Glib-Object-Introspection.x86_64: W: spelling-error %description -l en_US webkit -> web kit, web-kit, website
perl-Glib-Object-Introspection.x86_64: W: spelling-error %description -l en_US libsoup -> lib soup, lib-soup, libelous
perl-Glib-Object-Introspection.x86_64: W: private-shared-object-provides /usr/lib64/perl5/vendor_perl/auto/Glib/Object/Introspection/Introspection.so Introspection.so()(64bit)
perl-Glib-Object-Introspection.x86_64: W: private-shared-object-provides /usr/lib64/perl5/vendor_perl/auto/Glib/Object/Introspection/Introspection.so Introspection.so()(64bit)
perl-Glib-Object-Introspection.x86_64: E: incorrect-fsf-address /usr/share/doc/perl-Glib-Object-Introspection-0.003/LICENSE
perl-Glib-Object-Introspection.x86_64: E: incorrect-fsf-address /usr/lib64/perl5/vendor_perl/Glib/Object/Introspection.pm

The spelling mistakes are rpmlint's usual false positives. You can fix the
private-shared-object-provides by using the perl default filter. Feel free to
do this with all your perl module packages.
http://fedoraproject.org/wiki/Perl_default_filter
 
Please file a bug in CPAN's RT for the incorrect fsf address. This isn't a
blocker but it's in upstream's best interest to have the correct address.

 [x] Package is not relocatable.
 [x] Buildroot is correct
None specified, default used.

 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [!] License field in the package spec file matches the actual license.

This module is distributed under the LGPL but the License field says "GPLv2+".
What's going on?

 [x] If (and only if) the source package includes the text of the license(s) in
its own file, then that file, containing the text of the license(s) for the
package is included in %doc.
 [x] Spec file is legible and written in American English.
 [x] Sources used to build the package matches the upstream source, as provided
in the spec URL.

bbcfe3c9a0bd392a9b6c826f319e6b03  Glib-Object-Introspection-0.003.tar.gz

 [x] Package is not known to require ExcludeArch
 [x] All build dependencies are listed in BuildRequires, except for any that
are listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [-] ldconfig called in %post and %postun if required.
 [x] Package must own all directories that it creates.
 [x] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [-] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -devel subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [-] Fully versioned dependency in subpackages, if present.
 [x] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
application.
 [x] Package does not own files or directories owned by other packages.

=== SUGGESTED ITEMS ===

 [!] Latest version is packaged.

Version 0.004 came out a few days ago.

 [x] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
 [x] Reviewer should test that the package builds in mock.
     Tested on: fedora-rawhide-x86_64
 [x] Package should compile and build into binary rpms on all supported
architectures.
     Tested on: http://koji.fedoraproject.org/koji/taskinfo?taskID=3533759
 [?] Package functions as described.
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [-] File based requires are sane.
 [!] %check is present and the tests pass
Files=14, Tests=0,  0 wallclock secs ( 0.05 usr  0.03 sys +  0.44 cusr  0.11 csys =  0.63 CPU)
Result: NOTESTS

Say what? Please have the tests actually run. 

Fix the filter error, the License field, make the tests run and you're good to go.

Comment 8 Emmanuel Seyman 2011-11-23 23:11:58 UTC
Running a diff of the changes made to the latest spec file and making a scratch build of the .src.rpm (http://koji.fedoraproject.org/koji/taskinfo?taskID=3536070), this fixes all the issues in the previous .src.rpm.

Note that the build log contains this line :

t/cairo-integration.t ......... skipped: Need Cairo::GObject

Daniel, feel free to add perl(Cairo::GObject) once this module is packaged in Fedora.

APPROVED.

Comment 9 Daniel Berrangé 2011-11-24 10:04:56 UTC
New Package SCM Request
=======================
Package Name: perl-Glib-Object-Introspection
Short Description: Dynamically create Perl language bindings
Owners: berrange
Branches: f15 f16
InitialCC: perl-sig

Comment 10 Gwyn Ciesla 2011-11-25 03:36:16 UTC
Git done (by process-git-requests).

Comment 11 Daniel Berrangé 2011-11-25 10:50:43 UTC
Built into rawhide.

Comment 12 Fedora Update System 2011-12-15 09:11:51 UTC
perl-Glib-Object-Introspection-0.004-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/perl-Glib-Object-Introspection-0.004-1.fc16

Comment 13 Fedora Update System 2011-12-15 09:43:24 UTC
perl-Glib-Object-Introspection-0.004-1.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/perl-Glib-Object-Introspection-0.004-1.fc15

Comment 14 Fedora Update System 2012-01-04 01:56:32 UTC
perl-Glib-Object-Introspection-0.004-1.fc15 has been pushed to the Fedora 15 stable repository.

Comment 15 Fedora Update System 2012-01-04 01:56:57 UTC
perl-Glib-Object-Introspection-0.004-1.fc16 has been pushed to the Fedora 16 stable repository.


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