Bug 887846

Summary: Review Request: perl-Math-Geometry-Voronoi - Compute Voronoi diagrams from sets of points
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: notting, package-review, ppisar, t.h.amundsen
Target Milestone: ---Flags: ppisar: 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: 2013-01-12 15:14:15 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: 890839    

Description Miro Hrončok 2012-12-17 13:14:07 UTC
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-Math-Geometry-Voronoi.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-Math-Geometry-Voronoi-1.3-4.fc17.src.rpm
Description: This module computes Voronoi diagrams from a set of input points.
Fedora Account System Username: churchyard

Comment 1 Trond H. Amundsen 2012-12-17 13:46:28 UTC
> BuildRequires:  glibc-devel

This shouldn't be necessary, as it's part of the standard buildroot. E.g. gcc requires glibc-devel.

> Requires:       perl(Class::Accessor)
> Requires:       perl(List::Util)
> Requires:       perl(Params::Validate)
> Requires:       perl(Scalar::Util)
> Requires:       perl(XSLoader)

Why are these included? Doesn't rpmbuild find them?

Comment 2 Miro Hrončok 2012-12-17 14:38:35 UTC
(In reply to comment #1)
> This shouldn't be necessary, as it's part of the standard buildroot. E.g.
> gcc requires glibc-devel.
Removed.

> Why are these included? Doesn't rpmbuild find them?
Sorry, I forgot to remove them.


Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-Math-Geometry-Voronoi.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-Math-Geometry-Voronoi-1.3-5.fc17.src.rpm

Comment 3 Miro Hrončok 2012-12-17 15:23:10 UTC
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-Math-Geometry-Voronoi.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-Math-Geometry-Voronoi-1.3-6.fc17.src.rpm

- Removed accidentally added BRs (I've mixed two spec files)

Comment 4 Petr Pisar 2012-12-21 09:52:49 UTC
URL and Source0 are usable. Ok.
Source tar ball is original (SHA-256: 72075e4e9883cee51446ba9511264c8c32a015a80f4a5648a3f6b382c534402c). Ok.
Summary verified from lib/Math/Geometry/Voronoi.pm. Ok.
Description verified from lib/Math/Geometry/Voronoi.pm. Ok.
License verified from lib/Math/Geometry/Voronoi.pm, ppport.h, README, Math-Geometry-Voronoi-license-mail1.txt, and Math-Geometry-Voronoi-license-mail2.txt. Ok.
This code contains XS code. Architecture specific BuildArch is Ok.

Notice: I express a little bit worry about bundling original MIT code, but because it's heavily modified and not packaged in Fedora elsewhere, I do not consider this as bundling.

TODO: You can replace %{__perl} macros with plain perl.

TODO: Build-require `perl(base)' (lib/Math/Geometry/Voronoi.pm:15).

FIX: Build-require `perl(Class::Accessor::Fast)' instead of `perl(Class::Accessor)' (lib/Math/Geometry/Voronoi.pm:15).

All tests pass. Ok.


$ rpmlint perl-Math-Geometry-Voronoi.spec ../SRPMS/perl-Math-Geometry-Voronoi-1.3-6.fc19.src.rpm ../RPMS/x86_64/perl-Math-Geometry-Voronoi-*
perl-Math-Geometry-Voronoi.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/C-LICENSE
perl-Math-Geometry-Voronoi.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/license-mail2.txt
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/memory.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/edgelist.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: E: wrong-script-end-of-line-encoding /usr/src/debug/Math-Geometry-Voronoi-1.3/edgelist.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/output.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/heap.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: E: wrong-script-end-of-line-encoding /usr/src/debug/Math-Geometry-Voronoi-1.3/heap.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/voronoi_main.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/geometry.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: E: wrong-script-end-of-line-encoding /usr/src/debug/Math-Geometry-Voronoi-1.3/geometry.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/voronoi_core.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: E: wrong-script-end-of-line-encoding /usr/src/debug/Math-Geometry-Voronoi-1.3/voronoi_core.c
perl-Math-Geometry-Voronoi-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/Math-Geometry-Voronoi-1.3/vdefs.h

TODO: Recode C-LICENSE file to have UNIX-style end-of-lines.
TODO: Remove executable permission from source files.

Otherwise rpmlint is good.

$ rpm -q -lv -p ../RPMS/x86_64/perl-Math-Geometry-Voronoi-1.3-6.fc19.x86_64.rpm 
drwxr-xr-x    2 root    root                        0 Dec 21 10:31 /usr/lib64/perl5/vendor_perl/Math
drwxr-xr-x    2 root    root                        0 Dec 21 10:31 /usr/lib64/perl5/vendor_perl/Math/Geometry
-rw-r--r--    1 root    root                    12588 Jul 11  2009 /usr/lib64/perl5/vendor_perl/Math/Geometry/Voronoi.pm
-rw-r--r--    1 root    root                      486 Jul 11  2009 /usr/lib64/perl5/vendor_perl/Math/Geometry/leak-test.pl
drwxr-xr-x    2 root    root                        0 Dec 21 10:31 /usr/lib64/perl5/vendor_perl/auto/Math
drwxr-xr-x    2 root    root                        0 Dec 21 10:31 /usr/lib64/perl5/vendor_perl/auto/Math/Geometry
drwxr-xr-x    2 root    root                        0 Dec 21 10:31 /usr/lib64/perl5/vendor_perl/auto/Math/Geometry/Voronoi
-rwxr-xr-x    1 root    root                    28008 Dec 21 10:31 /usr/lib64/perl5/vendor_perl/auto/Math/Geometry/Voronoi/Voronoi.so
drwxr-xr-x    2 root    root                        0 Dec 21 10:31 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3
-rw-r--r--    1 root    root                     1111 Dec 21 10:31 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/C-LICENSE
-rw-r--r--    1 root    root                      606 Jul 11  2009 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/Changes
-rw-r--r--    1 root    root                     1220 Jul 11  2009 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/README
-rw-rw-r--    1 root    root                    10939 Dec 21 10:08 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/license-mail1.txt
-rw-rw-r--    1 root    root                    17427 Dec 21 10:08 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/license-mail2.txt
-rw-r--r--    1 root    root                     4417 Dec 21 10:31 /usr/share/man/man3/Math::Geometry::Voronoi.3pm.gz

TODO: Remove write permission for group on license-mail*.txt files.
TODO: Do not package leak-test.pl. The file is useful for upstream developer only and it's installed by EU::MM mistake.

$ rpm -q --requires -p ../RPMS/x86_64/perl-Math-Geometry-Voronoi-1.3-6.fc19.x86_64.rpm |sort |uniq -c
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.3.4)(64bit)
      1 perl >= 0:5.008
      1 perl(base)
      1 perl(Class::Accessor::Fast)
      1 perl(List::Util)
      1 perl(:MODULE_COMPAT_5.16.2)
      1 perl(Params::Validate)
      1 perl(strict)
      1 perl(warnings)
      1 perl(XSLoader)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
      1 rtld(GNU_HASH)
Binary requires are Ok.

$ rpm -q --provides -p ../RPMS/x86_64/perl-Math-Geometry-Voronoi-1.3-6.fc19.x86_64.rpm |sort |uniq -c
      1 perl(Math::Geometry::Voronoi) = 1.3
      1 perl-Math-Geometry-Voronoi = 1.3-6.fc19
      1 perl-Math-Geometry-Voronoi(x86-64) = 1.3-6.fc19
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/x86_64/perl-Math-Geometry-Voronoi-1.3-6.fc19.x86_64.rpm 
Binary dependencies resolvable. Ok.

Package builds in F19 (http://koji.fedoraproject.org/koji/taskinfo?taskID=4810244). Ok.

Otherwise package is in line with Fedora and Perl packaging guidelines.


Please correct all `FIX' issues, consider fixing `TODO' items, and provide new spec file.
Resolution: Package NOT approved.

Comment 5 Miro Hrončok 2012-12-22 20:05:13 UTC
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-Math-Geometry-Voronoi.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-Math-Geometry-Voronoi-1.3-7.fc17.src.rpm

- Changed %{__perl} to perl
- Added BR: perl(base)
- Changed BR perl(Class::Accessor) to perl(Class::Accessor::Fast)
- Recoded newlines: C-LICENCE, second mail and *.c
- Removed executable perms from sources and group write perms from e-mails

Comment 6 Petr Pisar 2013-01-02 13:38:16 UTC
Spec file changes:

--- perl-Math-Geometry-Voronoi.spec.old 2012-12-21 10:07:49.763000000 +0100
+++ perl-Math-Geometry-Voronoi.spec     2013-01-02 14:16:51.245000000 +0100
@@ -1,6 +1,6 @@
 Name:           perl-Math-Geometry-Voronoi
 Version:        1.3
-Release:        6%{?dist}
+Release:        7%{?dist}
 Summary:        Compute Voronoi diagrams from sets of points
 License:        (GPL+ or Artistic) and MIT
 # Perl module is licensed as Perl, underlaying C code is MIT
@@ -9,14 +9,16 @@
 Source0:        http://www.cpan.org/authors/id/S/SA/SAMTREGAR/Math-Geometry-Voronoi-%{version}.tar.gz
 Source1:        Math-Geometry-Voronoi-license-mail1.txt
 Source2:        Math-Geometry-Voronoi-license-mail2.txt
-BuildRequires:  perl(Class::Accessor)
+BuildRequires:  perl(base)
+BuildRequires:  perl(Class::Accessor::Fast)
 BuildRequires:  perl(ExtUtils::MakeMaker)
 BuildRequires:  perl(List::Util)
 BuildRequires:  perl(Params::Validate)
 BuildRequires:  perl(Scalar::Util)
 BuildRequires:  perl(Test::More)
 BuildRequires:  perl(XSLoader)
-Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+BuildRequires:  dos2unix
+Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))

 %{?perl_default_filter} # Filters (not)shared c libs

@@ -27,12 +29,14 @@
 %setup -q -n Math-Geometry-Voronoi-%{version}
 cp -p %{SOURCE1} license-mail1.txt
 cp -p %{SOURCE2} license-mail2.txt
+dos2unix *.c
+chmod -x *.c *.h

 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
+perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
 make %{?_smp_mflags}
 # Get the license from the e-mail
-tail -22 license-mail1.txt | head -20 | base64 -d > C-LICENSE
+tail -22 license-mail1.txt | head -20 | base64 -d | dos2unix > C-LICENSE

 %install
 make pure_install DESTDIR=%{buildroot}
@@ -41,6 +45,7 @@
 find %{buildroot} -type f -name '*.bs' -size 0 -exec rm -f {} \;

 %{_fixperms} %{buildroot}/*
+rm -rf %{buildroot}%{perl_vendorarch}/Math/Geometry/leak-test.pl

 %check
 make test
@@ -52,6 +57,13 @@
 %{_mandir}/man3/*

 %changelog
+* Sat Dec 22 2012 Miro Hrončok <miro> - 1.3-7
+- Changed %%{__perl} to perl
+- Added BR: perl(base)
+- Changed BR perl(Class::Accessor) to perl(Class::Accessor::Fast)
+- Recoded newlines: C-LICENCE, second mail and *.c
+- Removed executable perms from sources and group write perms from e-mails
+
 * Mon Dec 17 2012 Miro Hrončok <miro> - 1.3-6
 - Removed accidentally added BRs


> TODO: You can replace %{__perl} macros with plain perl.
Ok.

> TODO: Build-require `perl(base)' (lib/Math/Geometry/Voronoi.pm:15).
+BuildRequires:  perl(base)
Ok.

> FIX: Build-require `perl(Class::Accessor::Fast)' instead of `perl(Class::Accessor)' (lib/Math/Geometry/Voronoi.pm:15).
-BuildRequires:  perl(Class::Accessor)
+BuildRequires:  perl(Class::Accessor::Fast)
Ok.

> TODO: Recode C-LICENSE file to have UNIX-style end-of-lines.
-tail -22 license-mail1.txt | head -20 | base64 -d > C-LICENSE
+tail -22 license-mail1.txt | head -20 | base64 -d | dos2unix > C-LICENSE
Ok.

> TODO: Remove executable permission from source files.
+chmod -x *.c *.h
Ok.

> TODO: Do not package leak-test.pl. The file is useful for upstream developer only and it's installed by EU::MM mistake.
+rm -rf %{buildroot}%{perl_vendorarch}/Math/Geometry/leak-test.pl
Ok.

$ rpmlint perl-Math-Geometry-Voronoi.spec ../SRPMS/perl-Math-Geometry-Voronoi-1.3-7.fc19.src.rpm ../RPMS/x86_64/perl-Math-Geometry-Voronoi-*1.3-7.*
3 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/x86_64/perl-Math-Geometry-Voronoi-1.3-7.fc19.x86_64.rpm 
drwxr-xr-x    2 root    root                        0 Jan  2 14:26 /usr/lib64/perl5/vendor_perl/Math
drwxr-xr-x    2 root    root                        0 Jan  2 14:26 /usr/lib64/perl5/vendor_perl/Math/Geometry
-rw-r--r--    1 root    root                    12588 Jul 11  2009 /usr/lib64/perl5/vendor_perl/Math/Geometry/Voronoi.pm
drwxr-xr-x    2 root    root                        0 Jan  2 14:26 /usr/lib64/perl5/vendor_perl/auto/Math
drwxr-xr-x    2 root    root                        0 Jan  2 14:26 /usr/lib64/perl5/vendor_perl/auto/Math/Geometry
drwxr-xr-x    2 root    root                        0 Jan  2 14:26 /usr/lib64/perl5/vendor_perl/auto/Math/Geometry/Voronoi
-rwxr-xr-x    1 root    root                    28008 Jan  2 14:26 /usr/lib64/perl5/vendor_perl/auto/Math/Geometry/Voronoi/Voronoi.so
drwxr-xr-x    2 root    root                        0 Jan  2 14:26 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3
-rw-r--r--    1 root    root                     1106 Jan  2 14:26 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/C-LICENSE
-rw-r--r--    1 root    root                      606 Jul 11  2009 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/Changes
-rw-r--r--    1 root    root                     1220 Jul 11  2009 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/README
-rw-r--r--    1 root    root                    10939 Jan  2 14:26 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/license-mail1.txt
-rw-r--r--    1 root    root                    17000 Jan  2 14:26 /usr/share/doc/perl-Math-Geometry-Voronoi-1.3/license-mail2.txt
-rw-r--r--    1 root    root                     4417 Jan  2 14:26 /usr/share/man/man3/Math::Geometry::Voronoi.3pm.gz
> TODO: Remove write permission for group on license-mail*.txt files.
Ok.

Package builds in F19 (http://koji.fedoraproject.org/koji/taskinfo?taskID=4832007). 

Package is good.

Resolution: Package APPROVED.

Comment 7 Miro Hrončok 2013-01-02 15:00:18 UTC
New Package SCM Request
=======================
Package Name: perl-Math-Geometry-Voronoi
Short Description: Compute Voronoi diagrams from sets of points
Owners: churchyard
Branches: f17 f18
InitialCC: perl-sig

Comment 8 Gwyn Ciesla 2013-01-02 15:13:21 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2013-01-03 17:15:50 UTC
perl-Math-Geometry-Voronoi-1.3-7.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/perl-Math-Geometry-Voronoi-1.3-7.fc18

Comment 10 Fedora Update System 2013-01-03 17:17:01 UTC
perl-Math-Geometry-Voronoi-1.3-7.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/perl-Math-Geometry-Voronoi-1.3-7.fc17

Comment 11 Fedora Update System 2013-01-03 23:48:06 UTC
perl-Math-Geometry-Voronoi-1.3-7.fc18 has been pushed to the Fedora 18 testing repository.

Comment 12 Fedora Update System 2013-01-12 15:14:17 UTC
perl-Math-Geometry-Voronoi-1.3-7.fc18 has been pushed to the Fedora 18 stable repository.

Comment 13 Fedora Update System 2013-01-14 04:24:39 UTC
perl-Math-Geometry-Voronoi-1.3-7.fc17 has been pushed to the Fedora 17 stable repository.