Bug 494872 - Review Request: perl-Data-ObjectDriver - Simple, transparent data interface, with caching
Review Request: perl-Data-ObjectDriver - Simple, transparent data interface, ...
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Chris Weyl
Fedora Extras Quality Assurance
https://rt.cpan.org/Ticket/Display.ht...
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-04-08 09:58 EDT by Emmanuel Seyman
Modified: 2009-06-19 09:40 EDT (History)
4 users (show)

See Also:
Fixed In Version: 0.06-3.fc10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-06-19 09:40:14 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
cweyl: fedora‑review+
tibbs: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Emmanuel Seyman 2009-04-08 09:58:23 EDT
Spec URL: http://people.parinux.org/~seyman/fedora/perl-Data-ObjectDriver/perl-Data-ObjectDriver.spec
SRPM URL: http://people.parinux.org/~seyman/fedora/perl-Data-ObjectDriver/perl-Data-ObjectDriver-0.05-1.fc10.src.rpm
Description: 
Data::ObjectDriver is an object relational mapper, meaning that it maps object-
oriented design concepts onto a relational database.
Comment 1 Chris Weyl 2009-04-08 19:38:09 EDT
The fedora-review flag should only be set ('?') by the reviewer... clearing. :)
Comment 2 Chris Weyl 2009-04-10 19:15:23 EDT
Koji (FAILURE) http://koji.fedoraproject.org/koji/taskinfo?taskID=1290136
Comment 3 Emmanuel Seyman 2009-04-10 19:37:28 EDT
(In reply to comment #2)
>
> Koji (FAILURE) http://koji.fedoraproject.org/koji/taskinfo?taskID=1290136  

I can't see a failure here.
What is wrong, exactly ?
Comment 4 Chris Weyl 2009-04-10 19:59:07 EDT
Sorry, that was more of a failure in my script than with the build.  ('Connection reset by peer')
Comment 5 Chris Weyl 2009-04-10 20:35:17 EDT
Things to fix:

1) The test suite needs to be run in %clean, or a compelling justification as
to why not needs to be given.  This includes adding as BR's all modules
required to run the full test suite.  (With the exception of
Test::Pod::Coverage and Test::Perl::Critic).

2) While there is indeed a Build.PL, this module is actually using
Module::Install, and cpanspec is getting it wrong by picking the Module::Build
incantations over ExtUtils::MakeMaker/Module::Install.  Modern versions of 
M::I have dropped support for the M::B style, so it's probably best we don't 
go that route.  (For a typical specfile with EU::MM style build/install, 
run "rpmdev-newspec -t perl".)

Things to think about:

1) It looks like all but one of the manual "Requires:" lines you have in the
spec are redundant against the auto-generated requires; I wouldn't leave them
in but they don't harm anything, so I'm not going to consider them blockers.

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

Source tarballs match upstream (sha1sum):
646bba8987696dbf2fca7fcb633cd907b370a8c6 Data-ObjectDriver-0.05.tar.gz
646bba8987696dbf2fca7fcb633cd907b370a8c6 Data-ObjectDriver-0.05.tar.gz.srpm

Final provides / requires are sane:

0 packages and 1 specfiles checked; 0 errors, 0 warnings.
=====> perl-Data-ObjectDriver-0.05-1.fc10.src.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-Data-ObjectDriver-0.05-1.fc10.src.rpm
====> requires for perl-Data-ObjectDriver-0.05-1.fc10.src.rpm
perl(Class::Accessor::Fast)  
perl(Class::Data::Inheritable)  
perl(Class::Trigger)  
perl(DBI)  
perl(Module::Build)  
perl(Test::Exception)  
perl(Text::SimpleTable)  

=====> perl-Data-ObjectDriver-0.05-1.fc10.noarch.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-Data-ObjectDriver-0.05-1.fc10.noarch.rpm
perl(Data::ObjectDriver) = 0.05
perl(Data::ObjectDriver::BaseObject)  
perl(Data::ObjectDriver::BaseView)  
perl(Data::ObjectDriver::Driver::BaseCache)  
perl(Data::ObjectDriver::Driver::Cache::Apache)  
perl(Data::ObjectDriver::Driver::Cache::Cache)  
perl(Data::ObjectDriver::Driver::Cache::Memcached)  
perl(Data::ObjectDriver::Driver::Cache::RAM)  
perl(Data::ObjectDriver::Driver::DBD)  
perl(Data::ObjectDriver::Driver::DBD::Pg)  
perl(Data::ObjectDriver::Driver::DBD::SQLite)  
perl(Data::ObjectDriver::Driver::DBD::mysql)  
perl(Data::ObjectDriver::Driver::DBI)  
perl(Data::ObjectDriver::Driver::MultiPartition)  
perl(Data::ObjectDriver::Driver::Multiplexer)  
perl(Data::ObjectDriver::Driver::Partition)  
perl(Data::ObjectDriver::Driver::SimplePartition)  
perl(Data::ObjectDriver::Errors)  
perl(Data::ObjectDriver::Iterator)  
perl(Data::ObjectDriver::Profiler)  
perl(Data::ObjectDriver::ResultSet)  
perl(Data::ObjectDriver::SQL)  
perl-Data-ObjectDriver = 0.05-1.fc10
====> requires for perl-Data-ObjectDriver-0.05-1.fc10.noarch.rpm
perl(:MODULE_COMPAT_5.10.0)  
perl(Carp)  
perl(Class::Accessor::Fast)  
perl(Class::Accessor::Fast)  
perl(Class::Data::Inheritable)  
perl(Class::Trigger)  
perl(Class::Trigger)  
perl(DBI)  
perl(DBI)  
perl(Data::Dumper)  
perl(Data::ObjectDriver::Driver::DBD)  
perl(Data::ObjectDriver::Driver::MultiPartition)  
perl(Data::ObjectDriver::Errors)  
perl(Data::ObjectDriver::Iterator)  
perl(Data::ObjectDriver::ResultSet)  
perl(Data::ObjectDriver::SQL)  
perl(List::Util)  
perl(Storable)  
perl(Text::SimpleTable)  
perl(base)  
perl(constant)  
perl(strict)  
perl(warnings)  

Switch the prep/build/install/test incantations to ExtUtils::MakeMaker and 
enable the test suite (or convince me why it should remain disabled) and I'll
approve.
Comment 6 Chris Weyl 2009-04-10 22:51:11 EDT
Actually, after thinking about it for a while, I'm going to back off on #2.  Using a depreciated build method in a spec file isn't a blocker, just a Bad Idea as you're basically guaranteeing yourself more work in the future.  I suggest oyu change it, but I'm not going to insist on it.

Also, is there a reason the latest version (0.06) isn't being packaged?
Comment 7 Emmanuel Seyman 2009-04-11 08:14:21 EDT
(In reply to comment #4)
>
> ('Connection reset by peer')  

Damn you, peer! (Sorry, couldn't resist)

(In reply to comment #6)
> Actually, after thinking about it for a while, I'm going to back off on #2. 

I fexed it anyways.

> Also, is there a reason the latest version (0.06) isn't being packaged?  

I forgot to refresh the specfile before submitting it.
Updating to 0.06 makes the test suite pass (it crashed and burned in 0.05) so I
re-enabled it in the %check section.

rpm auto-generates perl(DBD::Oracle) as a dependency so I deactivated AutoReq and build the deps by hand.

New spec and .src.rpm :
http://people.parinux.org/~seyman/fedora/perl-Data-ObjectDriver/
Comment 9 Chris Weyl 2009-04-14 23:18:17 EDT
Koji (success) http://koji.fedoraproject.org/koji/taskinfo?taskID=1299521
Comment 10 Chris Weyl 2009-04-15 01:50:18 EDT
Sorry this took so long -- used this as an excuse to update my "find a koji
scratch build" code :)

In any case, in all but trivial cases, we do need to have AutoProv on.
Disabling it caused a number of deps to be skipped over... (see below)

Once that's back on, we need to filter out perl(DBD::Oracle)... There's a good
example in the Perl packaging guidelines to do this.

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

====> requires with autoprov disabled
perl(Class::Accessor::Fast)  
perl(Class::Trigger)  
perl(DBI)  
perl(:MODULE_COMPAT_5.10.0)  

====> requires with autoprov enabled
perl(:MODULE_COMPAT_5.10.0)  
perl(Carp)  
perl(Class::Accessor::Fast)  
perl(Class::Accessor::Fast)  
perl(Class::Trigger)  
perl(Class::Trigger)  
perl(DBD::Oracle)  
perl(DBI)  
perl(DBI)  
perl(Data::Dumper)  
perl(Data::ObjectDriver::Driver::DBD)  
perl(Data::ObjectDriver::Driver::MultiPartition)  
perl(Data::ObjectDriver::Errors)  
perl(Data::ObjectDriver::Iterator)  
perl(Data::ObjectDriver::ResultSet)  
perl(Data::ObjectDriver::SQL)  
perl(Data::ObjectDriver::SQL::Oracle)  
perl(Digest::MD5)  
perl(List::Util)  
perl(Storable)  
perl(base)  
perl(constant)  
perl(strict)  
perl(warnings)
Comment 11 Emmanuel Seyman 2009-04-15 07:21:14 EDT
(In reply to comment #10)
> Sorry this took so long -- used this as an excuse to update my "find a koji
> scratch build" code :)

No sweat.

> 
> In any case, in all but trivial cases, we do need to have AutoProv on.
> Disabling it caused a number of deps to be skipped over... (see below)
> 
> Once that's back on, we need to filter out perl(DBD::Oracle)... There's a good
> example in the Perl packaging guidelines to do this.

Okay, that took a bit of effort to get done.

Src.rpm:
http://people.parinux.org/~seyman/fedora/perl-Data-ObjectDriver/perl-Data-ObjectDriver-0.06-2.fc10.src.rpm

spec file:
http://people.parinux.org/~seyman/fedora/perl-Data-ObjectDriver/perl-Data-ObjectDriver.spec
Comment 12 Chris Weyl 2009-04-16 01:09:55 EDT
(In reply to comment #11)
> Okay, that took a bit of effort to get done.

Yeah...  Annoying but necessary, until rpm lets us exclude things better.
Comment 13 Chris Weyl 2009-04-16 01:11:59 EDT
Koji (success) http://koji.fedoraproject.org/koji/taskinfo?taskID=1301530
Comment 14 Chris Weyl 2009-04-16 01:36:02 EDT
Hmm... so a couple things.

1) autoreq is still disabled :)
2) looks like we need to BR DBD::SQLite

From doing the two above and issuing a scratch build, we get:

3) looks like one test fails on ppc64?!

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

#   Failed test 'removing all bad wine'
#   at t/02-basic.t line 245.
#          got: '3'
#     expected: '0E0'
# Looks like you failed 1 test of 67.
t/02-basic.t ............... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/67 subtests 

This same test passes cleanly on my local machine (x86_64).  Hm.

I suspect this might have something to do with DBD::SQLite on this arch than anything else...  Let me see if I can get the level of that module brought up to 1.21, and if that impacts anything.
Comment 15 Emmanuel Seyman 2009-04-16 04:51:58 EDT
(In reply to comment #14)
> 
> 1) autoreq is still disabled :)

/me is an idiot.

> This same test passes cleanly on my local machine (x86_64).  Hm.

Now that I've add perl(DBD::SQLite) to the BRs, I'm getting it on mock/fedora-rawhide-i386 but I can't reproduce on my local machine (fedora-10-i386).
Comment 16 Emmanuel Seyman 2009-04-19 06:19:10 EDT
After several tests, I can reproduce the errors only when I take rawhide's sqlite .src.rpm and rebuild it on F10 (and rebuilding perl-DBD-SQLite against that just in case).

Using DBD::SQLite 1.14 or 1.21 gives the same result.
Comment 17 Emmanuel Seyman 2009-04-21 08:12:37 EDT
This is ticket #45186 on CPAN's RT.
Comment 18 Emmanuel Seyman 2009-04-27 04:11:48 EDT
Since the last comment on this bug :

- An update to sqlite on all maintained branches pushed its version to 3.5.9, making the building of this rpm fail on all branches.

- Upstream has patched the test suite.

I've patched the test on my side to pass.

Src rpm: http://people.parinux.org/~seyman/fedora/perl-Data-ObjectDriver/perl-Data-ObjectDriver-0.06-3.fc10.src.rpm

Spec file: http://people.parinux.org/~seyman/fedora/perl-Data-ObjectDriver/perl-Data-ObjectDriver.spec
Comment 19 Emmanuel Seyman 2009-05-14 04:45:29 EDT
Chris, ping?
Comment 20 Chris Weyl 2009-06-02 23:16:16 EDT
Koji (success) http://koji.fedoraproject.org/koji/taskinfo?taskID=1390372
Comment 21 Chris Weyl 2009-06-02 23:21:13 EDT
With apologies for the severely delayed final review.  *sigh*

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

Everything passed cleanly in the scratch build.

Source tarballs match upstream (sha1sum):
00ffbef8967033ae1f51c6c13938bacc6cf3b323 Data-ObjectDriver-0.06.tar.gz
00ffbef8967033ae1f51c6c13938bacc6cf3b323 Data-ObjectDriver-0.06.tar.gz.srpm

Final provides / requires are sane:

0 packages and 1 specfiles checked; 0 errors, 0 warnings.
=====> perl-Data-ObjectDriver-0.06-3.fc12.noarch.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-Data-ObjectDriver-0.06-3.fc12.noarch.rpm
perl(Data::ObjectDriver) = 0.06
perl-Data-ObjectDriver = 0.06-3.fc12
perl(Data::ObjectDriver::BaseObject)  
perl(Data::ObjectDriver::BaseView)  
perl(Data::ObjectDriver::Driver::BaseCache)  
perl(Data::ObjectDriver::Driver::Cache::Apache)  
perl(Data::ObjectDriver::Driver::Cache::Cache)  
perl(Data::ObjectDriver::Driver::Cache::Memcached)  
perl(Data::ObjectDriver::Driver::Cache::RAM)  
perl(Data::ObjectDriver::Driver::DBD)  
perl(Data::ObjectDriver::Driver::DBD::mysql)  
perl(Data::ObjectDriver::Driver::DBD::Oracle)  
perl(Data::ObjectDriver::Driver::DBD::Oracle::db)  
perl(Data::ObjectDriver::Driver::DBD::Pg)  
perl(Data::ObjectDriver::Driver::DBD::SQLite)  
perl(Data::ObjectDriver::Driver::DBI)  
perl(Data::ObjectDriver::Driver::GearmanDBI)  
perl(Data::ObjectDriver::Driver::MultiPartition)  
perl(Data::ObjectDriver::Driver::Multiplexer)  
perl(Data::ObjectDriver::Driver::Partition)  
perl(Data::ObjectDriver::Driver::SimplePartition)  
perl(Data::ObjectDriver::Errors)  
perl(Data::ObjectDriver::Iterator)  
perl(Data::ObjectDriver::Profiler)  
perl(Data::ObjectDriver::ResultSet)  
perl(Data::ObjectDriver::SQL)  
perl(Data::ObjectDriver::SQL::Oracle)  
====> requires for perl-Data-ObjectDriver-0.06-3.fc12.noarch.rpm
perl(base)  
perl(Carp)  
perl(Class::Accessor::Fast)  
perl(Class::Trigger)  
perl(constant)  
perl(Data::Dumper)  
perl(Data::ObjectDriver::Driver::DBD)  
perl(Data::ObjectDriver::Driver::MultiPartition)  
perl(Data::ObjectDriver::Errors)  
perl(Data::ObjectDriver::Iterator)  
perl(Data::ObjectDriver::ResultSet)  
perl(Data::ObjectDriver::SQL)  
perl(Data::ObjectDriver::SQL::Oracle)  
perl(DBI)  
perl(Digest::MD5)  
perl(List::Util)  
perl(:MODULE_COMPAT_5.10.0)  
perl(Storable)  
perl(strict)  
perl(warnings)  

=====> perl-Data-ObjectDriver-0.06-3.fc12.src.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-Data-ObjectDriver-0.06-3.fc12.src.rpm
====> requires for perl-Data-ObjectDriver-0.06-3.fc12.src.rpm
perl(Class::Accessor::Fast)  
perl(Class::Data::Inheritable)  
perl(Class::Trigger)  
perl(DBD::SQLite)  
perl(DBI)  
perl(ExtUtils::MakeMaker)  
perl(Test::Exception)  

APPROVED
Comment 22 Emmanuel Seyman 2009-06-03 04:33:31 EDT
(In reply to comment #21)
>
> With apologies for the severely delayed final review.  *sigh*

No sweat, Chris. Thanks for the review.

New Package CVS Request
=======================
Package Name: perl-Data-ObjectDriver
Short Description: Simple, transparent data interface, with caching
Owners: eseyman
Branches: F-9 F-10 F-11
InitialCC: perl-sig
Comment 23 Jason Tibbitts 2009-06-03 12:53:09 EDT
CVS done.
Comment 24 Fedora Update System 2009-06-04 04:37:32 EDT
perl-Data-ObjectDriver-0.06-3.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/perl-Data-ObjectDriver-0.06-3.fc10
Comment 25 Fedora Update System 2009-06-15 22:37:05 EDT
perl-Data-ObjectDriver-0.06-3.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update perl-Data-ObjectDriver'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-6433
Comment 26 Fedora Update System 2009-06-19 09:40:08 EDT
perl-Data-ObjectDriver-0.06-3.fc10 has been pushed to the Fedora 10 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.