Bug 672246 - Review Request: perl-Statistics-Basic - A collection of very basic statistics modules
Review Request: perl-Statistics-Basic - A collection of very basic statistics...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Marcela Mašláňová
Fedora Extras Quality Assurance
:
: 1184809 (view as bug list)
Depends On:
Blocks: 672284 1183218
  Show dependency treegraph
 
Reported: 2011-01-24 10:16 EST by Petr Pisar
Modified: 2015-03-08 18:45 EDT (History)
6 users (show)

See Also:
Fixed In Version: perl-Statistics-Basic-1.6611-3.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-01-25 09:46:16 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mmaslano: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Petr Pisar 2011-01-24 10:16:30 EST
Spec URL: http://ppisar.fedorapeople.org/perl-Statistics-Basic/perl-Statistics-Basic.spec
SRPM URL: http://ppisar.fedorapeople.org/perl-Statistics-Basic/perl-Statistics-Basic-1.6602-1.fc14.src.rpm
Description:
use Statistics::Basic qw(:all);

my $median = median( 1,2,3 );
my $mean   = mean(  [1,2,3]); # array refs are ok too

my $variance = variance( 1,2,3 );
my $stddev   = stddev(   1,2,3 );

my $correlation = correlation( [1 .. 3], [1 .. 3] );
Comment 1 Marcela Mašláňová 2011-01-24 11:28:23 EST
- rpmlint OK
- package must be named according to Guidelines OK
- spec file name must match the base package %{name} OK
- package must meet the Packaging Guidelines OK
- package must be licensed with Fedora approved license OK
- license field must match actual license OK
- text of the license in its own file must be included in %doc OK
- sources must match the upstream source OK
- package MUST successfully compile and build OK
http://koji.fedoraproject.org/koji/taskinfo?taskID=2739487
- architecture listed in ExcludeArch MUST have a bug filed in bugzilla OK
- build dependencies must be listed in BuildRequires OK
- handle locales properly with %find_lang macro OK
- shared library files must call ldconfig in %post(un) OK
- packages must NOT bundle system libraries OK
- package must own all directories that it creates OK
- permissions on files must be set properly OK
- package must consistently use macros OK
- package must contain code, or permissable content OK
- large documentation must go in a -doc OK
- %doc must not affect the runtime of the application OK
- header files must be in a -devel package OK
- static libraries must be in a -static package OK
- library files that end in .so (without suffix) must go in a -devel OK
- devel package usually require base package OK
- packages must NOT contain any .la libtool archives OK
- GUI applications must include a %{name}.desktop file OK
- packages must not own files or directories already owned by other packages OK

rpm -qp --provides perl-Statistics-Basic-1.6602-1.fc14.noarch.rpm 
perl(Statistics::Basic) = 1.6602
perl(Statistics::Basic::ComputedVector)  
perl(Statistics::Basic::Correlation)  
perl(Statistics::Basic::Covariance)  
perl(Statistics::Basic::LeastSquareFit)  
perl(Statistics::Basic::Mean)  
perl(Statistics::Basic::Median)  
perl(Statistics::Basic::Mode)  
perl(Statistics::Basic::_OneVectorBase)  
perl(Statistics::Basic::StdDev)  
perl(Statistics::Basic::_TwoVectorBase)  
perl(Statistics::Basic::Variance)  
perl(Statistics::Basic::Vector)  
perl-Statistics-Basic = 1.6602-1.fc14

rpm -qp --requires perl-Statistics-Basic-1.6602-1.fc14.noarch.rpm 
perl(:MODULE_COMPAT_5.12.2)  
perl(Number::Format) >= 1.42
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(VersionedDependencies) <= 3.0.3-1
perl(base)  
perl(Carp)  
perl(Scalar::Util)  
perl(Statistics::Basic)  
perl(strict)  
perl(warnings)  
rpmlib(VersionedDependencies) <= 3.0.3-1

Comments:
* I dislike your description, but that's nothing better on upstream page.
* Shouldn't be also perl(Statistics::Basic) provided without version? This could be blocker for other packages requiring any other release.
Comment 2 Petr Pisar 2011-01-24 11:46:08 EST
> * I dislike your description, but that's nothing better on upstream page.
The description is content of README. Main module POD has not short description.

> * Shouldn't be also perl(Statistics::Basic) provided without version? This
could be blocker for other packages requiring any other release.

I think the Provides and Requires RPM atoms has structure SYMBOL RELATION VERSION
and that Requires equaled to SYMBOL is satisfied regardless RELATION and VERSION values or existence.

E.g.

$ rpm -q --provides glibc |grep glibc
config(glibc) = 2.13-1
glibc = 2.13-1
glibc(x86-64) = 2.13-1

does not provides `glibc' atom only.
Comment 3 Marcela Mašláňová 2011-01-24 14:28:45 EST
Ok, ACCEPT
Comment 4 Petr Pisar 2011-01-25 03:27:23 EST
New Package SCM Request
=======================
Package Name: perl-Statistics-Basic
Short Description: A collection of very basic statistics modules
Owners: ppisar, mmaslano, psabata
Branches: 
InitialCC: perl-sig
Comment 5 Jason Tibbitts 2011-01-25 09:10:52 EST
Git done (by process-git-requests).
Comment 6 Petr Pisar 2011-01-25 09:46:16 EST
Thank you for review and repository.
Comment 7 Paul Howarth 2011-02-02 07:13:12 EST
Just reading through some mailing lists I'd fallen behind with when I came across this:

(In reply to comment #1)
> rpm -qp --provides perl-Statistics-Basic-1.6602-1.fc14.noarch.rpm 
> perl(Statistics::Basic) = 1.6602
> perl(Statistics::Basic::ComputedVector)  
> perl(Statistics::Basic::Correlation)  
> perl(Statistics::Basic::Covariance)  
> perl(Statistics::Basic::LeastSquareFit)  
> perl(Statistics::Basic::Mean)  
> perl(Statistics::Basic::Median)  
> perl(Statistics::Basic::Mode)  
> perl(Statistics::Basic::_OneVectorBase)  
> perl(Statistics::Basic::StdDev)  
> perl(Statistics::Basic::_TwoVectorBase)  
> perl(Statistics::Basic::Variance)  
> perl(Statistics::Basic::Vector)  
> perl-Statistics-Basic = 1.6602-1.fc14
> 
> rpm -qp --requires perl-Statistics-Basic-1.6602-1.fc14.noarch.rpm 
> perl(:MODULE_COMPAT_5.12.2)  
> perl(Number::Format) >= 1.42
> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> rpmlib(CompressedFileNames) <= 3.0.4-1
> rpmlib(VersionedDependencies) <= 3.0.3-1
> perl(base)  
> perl(Carp)  
> perl(Scalar::Util)  
> perl(Statistics::Basic)  
> perl(strict)  
> perl(warnings)  
> rpmlib(VersionedDependencies) <= 3.0.3-1
> 
> Comments:
> * I dislike your description, but that's nothing better on upstream page.
> * Shouldn't be also perl(Statistics::Basic) provided without version? This
> could be blocker for other packages requiring any other release.

On the contrary, unversioned provides should be avoided if at all possible because rpm treats them as "any version".

So for instance, if a package containing perl(foo) version 1.01 contained an unversioned provide of perl(foo), package "bar" that required "perl(foo) > 2" would be satisfied by that version 1.01 package even if it also contained a provide for "perl(foo) = 1.01" due to the unversioned provide satisfying the dependency.
Comment 8 Petr Pisar 2011-02-16 09:44:16 EST
Really? Nasty RPM. I thought unversioned Provides never satisfied versioned Requires. Is it a feature, or should I report it as a bug to rpm?

Nevertheless I fix it in perl-Statistics-Basic-1.6602-3.
Comment 9 Paul Howarth 2011-02-16 11:02:07 EST
(In reply to comment #8)
> Really? Nasty RPM. I thought unversioned Provides never satisfied versioned
> Requires. Is it a feature, or should I report it as a bug to rpm?

This has always been the case, and it's why rpmlint will complain if there is both a versioned and an unversioned provide for something in a package. It's not always possible to determine the version of something, which is why it's not a bug or even an rpmlint issue for an automatically generated provide to be unversioned normally.
Comment 10 Petr Pisar 2011-02-16 11:56:58 EST
(In reply to comment #9)
> It's not always possible to determine the version of something, which is why
> it's not a bug or even an rpmlint issue for an automatically generated provide
> to be unversioned normally.

I'm not against Provides without version per se. That's completely reasonable.

I'm against versioned Requires being satisfied with unversioned Provides (i.e. the bad one is dependency solver). Because either the version specifier (of Requires) is superfluous and unneeded and can (should) be removed, or the version specifier is meaningful, important and thus the two packages are obviously incompatible.

To be clear: The perl-Statistics-Basic is buggy at sources level. Upstream should version the modules. Meantime I can fix it by manual versioning in spec file. I'm just curious about RPM dependency solver because current arithmetic seems broken for me.
Comment 11 Iain Arnell 2011-04-28 13:29:17 EDT
Petr, would you mind branching this for f14 as well? It's a dependency of perl-ORLite-Statistics.
Comment 12 Petr Pisar 2011-04-29 04:43:49 EDT
Package Change Request
======================
Package Name: perl-Statistics-Basic
Owners: ppisar, mmaslano, psabata
New Branches: f14
InitialCC: perl-sig

Dependency for other new package routed into f14.
Comment 13 Jason Tibbitts 2011-04-29 12:08:14 EDT
Git done (by process-git-requests).
Comment 14 Petr Šabata 2011-05-02 08:46:57 EDT
(In reply to comment #11)
> Petr, would you mind branching this for f14 as well? It's a dependency of
> perl-ORLite-Statistics.

perl-Statistics-Basic-1.6602-3.fc14

(In reply to comment #13)
> Git done (by process-git-requests).

Thanks, Jason.
Comment 15 Fedora Update System 2011-05-02 08:50:09 EDT
perl-Statistics-Basic-1.6602-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/perl-Statistics-Basic-1.6602-3.fc14
Comment 16 Fedora Update System 2011-05-19 01:10:28 EDT
perl-Statistics-Basic-1.6602-3.fc14 has been pushed to the Fedora 14 stable repository.
Comment 17 Petr Pisar 2015-01-22 05:37:46 EST
*** Bug 1184809 has been marked as a duplicate of this bug. ***
Comment 18 Petr Pisar 2015-01-22 05:41:35 EST
Package Change Request
======================
Package Name: perl-Statistics-Basic
New Branches: el6 epel7
Owners: ddick
InitialCC: perl-sig

ddick offered to maintain this package in these branches, see bug #1184809.
Comment 19 Jon Ciesla 2015-01-22 08:57:04 EST
Git done (by process-git-requests).
Comment 20 Fedora Update System 2015-01-22 13:55:36 EST
perl-Statistics-Basic-1.6611-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/perl-Statistics-Basic-1.6611-3.el6
Comment 21 Fedora Update System 2015-02-13 21:41:53 EST
perl-Statistics-Basic-1.6611-3.el6 has been pushed to the Fedora EPEL 6 stable repository.
Comment 22 Fedora Update System 2015-02-16 01:16:42 EST
perl-Statistics-Basic-1.6611-3.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/perl-Statistics-Basic-1.6611-3.el7
Comment 23 Fedora Update System 2015-03-08 18:45:04 EDT
perl-Statistics-Basic-1.6611-3.el7 has been pushed to the Fedora EPEL 7 stable repository.

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