Bug 705372 - Review Request: perl-Unicode-LineBreak - UAX #14 Unicode Line Breaking Algorithm
Summary: Review Request: perl-Unicode-LineBreak - UAX #14 Unicode Line Breaking Algorithm
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: 705319
Blocks: 705382
TreeView+ depends on / blocked
 
Reported: 2011-05-17 14:14 UTC by Xavier Bachelot
Modified: 2011-12-12 19:28 UTC (History)
4 users (show)

Fixed In Version: perl-Unicode-LineBreak-2011.11-2.el5
Clone Of:
Environment:
Last Closed: 2011-11-25 08:41:49 UTC
Type: ---
Embargoed:
emmanuel: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Xavier Bachelot 2011-05-17 14:14:56 UTC
Spec URL: http://www.bachelot.org/fedora/SPECS/perl-Unicode-LineBreak.spec
SRPM URL: http://www.bachelot.org/fedora/SRPMS/perl-Unicode-LineBreak-2011.05-1.fc14.src.rpm
Description: 
Unicode::LineBreak performs Line Breaking Algorithm described in Unicode
Standards Annex #14 [UAX #14]. East_Asian_Width informative properties
defined by Annex #11 [UAX #11] will be concerned to determine breaking
positions.

Comment 1 Emmanuel Seyman 2011-05-28 12:05:25 UTC
Taking.

Comment 2 Emmanuel Seyman 2011-05-28 12:21:04 UTC
I hadn't seen that this module depends on another package, not reviewed yet.
Releasing and I'm sorry for the bugzilla spam.

Comment 3 Emmanuel Seyman 2011-07-31 12:30:26 UTC
Taking (yes, again).

Comment 4 Emmanuel Seyman 2011-07-31 12:57:49 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=3241211

 [!] Rpmlint output:
perl-Unicode-LineBreak.x86_64: E: useless-provides perl(Unicode::LineBreak)
perl-Unicode-LineBreak.x86_64: W: private-shared-object-provides /usr/lib64/perl5/vendor_perl/auto/Unicode/LineBreak/LineBreak.so LineBreak.so()(64bit)
perl-Unicode-LineBreak.x86_64: W: private-shared-object-provides /usr/lib64/perl5/vendor_perl/auto/Unicode/LineBreak/LineBreak.so LineBreak.so()(64bit)
perl-Unicode-LineBreak.x86_64: E: incorrect-fsf-address /usr/share/doc/perl-Unicode-LineBreak-2011.05/GPL
3 packages and 1 specfiles checked; 2 errors, 2 warnings.

I'm not sure where the perl(Unicode::LineBreak) provides is being generated. On a hunch, I'm guessing that it comes from lib/Unicode/LineBreak/Defaults.pm.sample which contains the line "package Unicode::LineBreak;". Try filtering that.

The private-shared-object-provides can be removed by using the perl default filter. See http://fedoraproject.org/wiki/Perl_default_filter for details.

The incorrect fsf address is a bug that should be filed upstream but I won't block the review on this.

 [x] Package is not relocatable.
 [x] Buildroot is correct
%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Ignored on Fedora, used in EPEL

 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [x] License field in the package spec file matches the actual license.
     License type: GPL+ or Artistic
 [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.
87a22cce46d57d75601f64e8ab03ae66  Unicode-LineBreak-2011.05.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.
 [-] 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 ===

 [x] Latest version is packaged.
 [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: 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=3241211
 [?] Package functions as described.
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [-] File based requires are sane.
 [x] %check is present and the tests pass
All tests successful.
Files=18, Tests=134,  1 wallclock secs ( 0.07 usr  0.01 sys +  0.96 cusr  0.10 csys =  1.14 CPU)
Result: PASS

Please fix the filtering.

Comment 5 Xavier Bachelot 2011-08-03 20:14:08 UTC
Thanks for the review Emmanuel.

I've filed a bug upstream about the FSF address : https://rt.cpan.org/Public/Bug/Display.html?id=69999

I can't seem to get rid off of the useless-provides perl(Unicode::LineBreak). I'm probably doing something stupid with the filters, or may be the %filter_provides_in and %perl_default_filter don't stack up nicely, but here is a new package with better filtering anyway :
http://www.bachelot.org/fedora/SPECS/perl-Unicode-LineBreak.spec
http://www.bachelot.org/fedora/SRPMS/perl-Unicode-LineBreak-2011.05-2.fc15.src.rpm

Comment 6 Emmanuel Seyman 2011-08-10 14:22:03 UTC
(In reply to comment #5)
>
> I can't seem to get rid off of the useless-provides perl(Unicode::LineBreak).

After running "/usr/lib/rpm/rpmdeps -P" by hand on the buildroot (kids, don't try this at home, I am a trained professional), I've noted that both Unicode/LineBreak/Constants.pm and Unicode/LineBreak/Defaults.pm.sample provide "perl(Unicode::LineBreak)". It turns out that both files start with the line "package Unicode::LineBreak;".

Xavier, you need to patch the code so that :

* Unicode/LineBreak/Constants.pm provides "perl(Unicode::LineBreak::Constants)"
* Unicode/LineBreak/Defaults.pm.sample provides "perl(Unicode::LineBreak::Defaults)"

You then need to filter that last one out since your package doesn't actually provide it.

> a new package with better filtering anyway :
> http://www.bachelot.org/fedora/SPECS/perl-Unicode-LineBreak.spec

Huh ?
We're talking about provides and this spec file filters requires.

Comment 7 Xavier Bachelot 2011-08-10 14:46:19 UTC
(In reply to comment #6)
> (In reply to comment #5)
> >
> > I can't seem to get rid off of the useless-provides perl(Unicode::LineBreak).
> 
> After running "/usr/lib/rpm/rpmdeps -P" by hand on the buildroot (kids, don't
> try this at home, I am a trained professional), I've noted that both
> Unicode/LineBreak/Constants.pm and Unicode/LineBreak/Defaults.pm.sample provide
> "perl(Unicode::LineBreak)". It turns out that both files start with the line
> "package Unicode::LineBreak;".
> 
Great trick, I didn't know about it. Thanks :-)

> Xavier, you need to patch the code so that :
> 
> * Unicode/LineBreak/Constants.pm provides "perl(Unicode::LineBreak::Constants)"
> * Unicode/LineBreak/Defaults.pm.sample provides
> "perl(Unicode::LineBreak::Defaults)"
> 
> You then need to filter that last one out since your package doesn't actually
> provide it.
> 
Will do, thanks for the help.

> > a new package with better filtering anyway :
> > http://www.bachelot.org/fedora/SPECS/perl-Unicode-LineBreak.spec
> 
> Huh ?
> We're talking about provides and this spec file filters requires.

I was talking about the fedora and epel 6 filtering, but you're right the epel 5 filtering is most probably broken.

Comment 8 Emmanuel Seyman 2011-10-09 10:23:41 UTC
Xavier, is this package still moving forward ?

Comment 9 Xavier Bachelot 2011-10-10 21:20:16 UTC
Sorry, I've not had enough time to fix the package as needed. I've not lost interest and I'll get back to it soon.

Comment 11 Xavier Bachelot 2011-10-17 23:46:18 UTC
Upstream found the patch to be unsuitable and rejected it.
https://rt.cpan.org/Ticket/Display.html?id=71657

New version with stricter Provides filtering :
http://www.bachelot.org/fedora/SPECS/perl-Unicode-LineBreak.spec
http://www.bachelot.org/fedora/SRPMS/perl-Unicode-LineBreak-2011.05-4.fc15.src.rpm

Comment 12 Petr Pisar 2011-11-02 06:46:12 UTC
Xavier, you can remove both identical provides by filtering and add one only manually. The manual dependencies are added into package after filtering (at least on Fedora). However I do not think duplicate equivalent Provides are so big problem. They do not bother anything (except little more memory in dependency solvers) and this is bug in rpm which should be fixed sometimes.

Also the %filter_from_provides does not work in conjunction with %perl_default_filter on F16 and newer. You need to use <https://fedorahosted.org/fpc/ticket/76>.

Comment 13 Xavier Bachelot 2011-11-18 02:33:32 UTC
Emmanuel, Petr, based on the above comments, I'm not sure if I need to filter the duplicates provides or not.
Also, the referenced ticket and draft confused me more than it helped and I need to study them again. I'll wait for an answer whether to filter the duplicate provide or not before changing the filtering to accommodate for all 3 variants (EL5; F14/EL6; F15+)

Anyway, upstream released a new version :
http://www.bachelot.org/fedora/SPECS/perl-Unicode-LineBreak.spec
http://www.bachelot.org/fedora/SRPMS/perl-Unicode-LineBreak-2011.11-1.fc15.src.rpm

Comment 14 Xavier Bachelot 2011-11-22 23:14:59 UTC
Ok, so I think now I got the requires/provides filtering right.

http://www.bachelot.org/fedora/SPECS/perl-Unicode-LineBreak.spec
http://www.bachelot.org/fedora/SRPMS/perl-Unicode-LineBreak-2011.11-2.fc15.src.rpm

Comment 15 Emmanuel Seyman 2011-11-23 23:52:16 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=3536100

 [x] Rpmlint output:
2 packages and 1 specfiles checked; 0 errors, 0 warnings.


 [x] Package is not relocatable.
 [x] Buildroot is correct
%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Ignored on Fedora, used in EPEL

 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [x] License field in the package spec file matches the actual license.
     License type: GPL+ or Artistic
 [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.
817d44a2ac08a13bd68af53e95e88ed2  Unicode-LineBreak-2011.11.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.
 [-] 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 ===

 [x] Latest version is packaged.
 [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: 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=3536100
 [?] Package functions as described.
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [-] File based requires are sane.
 [x] %check is present and the tests pass
All tests successful.
Files=18, Tests=5536,  2 wallclock secs ( 0.55 usr  0.04 sys +  2.12 cusr  0.11 csys =  2.82 CPU)
Result: PASS

Xavier, this is brilliant.
APPROVED.

Comment 16 Xavier Bachelot 2011-11-24 08:45:04 UTC
Thanks again for the review Emmanuel. This was a though but interesting one :-)

New Package SCM Request
=======================
Package Name: perl-Unicode-LineBreak
Short Description: UAX #14 Unicode Line Breaking Algorithm
Owners: xavierb
Branches: f15 f16 el5 el6
InitialCC: perl-sig

Comment 17 Petr Pisar 2011-11-24 09:39:11 UTC
New Package SCM Request
=======================
Package Name: perl-Unicode-LineBreak 
Short Description: UAX #14 Unicode Line Breaking Algorithm
Owners: ppisar mmaslano psabata
Branches: 
InitialCC: perl-sig

Comment 18 Petr Pisar 2011-11-24 09:40:37 UTC
(In reply to comment #17)
> New Package SCM Request
> =======================
> Package Name: perl-Unicode-LineBreak 
> Short Description: UAX #14 Unicode Line Breaking Algorithm
> Owners: ppisar mmaslano psabata
> Branches: 
> InitialCC: perl-sig

Oops. Ignore it. I thought this is my package.

Comment 19 Xavier Bachelot 2011-11-24 09:42:51 UTC
Petr, do you want to co-maintain some or all of the branches ?

Comment 20 Petr Pisar 2011-11-24 09:45:46 UTC
No, thanks, I have a lot of my packages already.

Actually I think this comment sequence could confuse SCM tools. Maybe you should append your original SCM request again.

Comment 21 Xavier Bachelot 2011-11-24 09:56:32 UTC
(In reply to comment #20)
> No, thanks, I have a lot of my packages already.
> 
> Actually I think this comment sequence could confuse SCM tools. Maybe you
> should append your original SCM request again.

Yup, that what I was going to do but was waiting for your answer first. Thanks for the quick reply.

Comment 22 Xavier Bachelot 2011-11-24 09:56:45 UTC
New Package SCM Request
=======================
Package Name: perl-Unicode-LineBreak
Short Description: UAX #14 Unicode Line Breaking Algorithm
Owners: xavierb
Branches: f15 f16 el5 el6
InitialCC: perl-sig

Comment 23 Gwyn Ciesla 2011-11-25 03:33:45 UTC
Git done (by process-git-requests).

Comment 24 Xavier Bachelot 2011-11-25 08:41:49 UTC
Imported and built for Rawhide, F16, F15, EL6 and EL5.

Comment 25 Fedora Update System 2011-11-25 08:46:11 UTC
perl-Unicode-LineBreak-2011.11-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/perl-Unicode-LineBreak-2011.11-2.fc16

Comment 26 Fedora Update System 2011-11-25 08:46:21 UTC
perl-Unicode-LineBreak-2011.11-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/perl-Unicode-LineBreak-2011.11-2.fc15

Comment 27 Fedora Update System 2011-11-25 08:46:30 UTC
perl-Unicode-LineBreak-2011.11-2.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/perl-Unicode-LineBreak-2011.11-2.el5

Comment 28 Fedora Update System 2011-11-25 08:46:38 UTC
perl-Unicode-LineBreak-2011.11-2.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/perl-Unicode-LineBreak-2011.11-2.el6

Comment 29 Fedora Update System 2011-12-05 00:24:04 UTC
perl-Unicode-LineBreak-2011.11-2.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 30 Fedora Update System 2011-12-05 00:27:20 UTC
perl-Unicode-LineBreak-2011.11-2.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 31 Fedora Update System 2011-12-12 19:26:44 UTC
perl-Unicode-LineBreak-2011.11-2.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 32 Fedora Update System 2011-12-12 19:28:20 UTC
perl-Unicode-LineBreak-2011.11-2.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.


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