Bug 460867 (perl-ORLite)

Summary: Review Request: perl-ORLite - Extremely light weight SQLite-specific ORM
Product: [Fedora] Fedora Reporter: Marcela Mašláňová <mmaslano>
Component: Package ReviewAssignee: Chris Weyl <cweyl>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: medium    
Version: rawhideCC: cweyl, fedora-package-review, notting
Target Milestone: ---Flags: cweyl: fedora-review+
huzaifas: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://mmaslano.fedorapeople.org/perl-ORLite/perl-ORLite-0.10-1.fc9.src.rpm
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-03 06:46:30 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: 457517    

Description Marcela Mašláňová 2008-09-02 07:56:38 UTC
DESCRIPTION
THIS CODE IS EXPERIMENTAL AND SUBJECT TO CHANGE WITHOUT NOTICE
YOU HAVE BEEN WARNED!
SQLite is a light weight single file SQL database that provides an excellent platform for embedded storage of structured data.

However, while it is superficially similar to a regular server-side SQL database, SQLite has some significant attributes that make using it like a traditional database difficult.

For example, SQLite is extremely fast to connect to compared to server databases (1000 connections per second is not unknown) and is particularly bad at concurrency, as it can only lock transactions at a database-wide level.

This role as a superfast internal data store can clash with the roles and designs of traditional object-relational modules like Class::DBI or DBIx::Class.

What this situation would seem to need is an object-relation system that is designed specifically for SQLite and is aligned with its idiosyncracies.

ORLite is an object-relation system specifically for SQLite that follows many of the same principles as the ::Tiny series of modules and has a design that aligns directly to the capabilities of SQLite.

Further documentation will be available at a later time, but the synopsis gives a pretty good idea of how it will work.

http://mmaslano.fedorapeople.org/perl-ORLite/perl-ORLite-0.10-1.fc9.src.rpm

Comment 1 Rakesh Pandit 2008-09-02 09:22:44 UTC
It helps to explicitly specify SPEC file URL - uploaded at some place.
Secondly, IMHO description can be improved.

Comment 2 Marcela Mašláňová 2008-09-02 10:39:03 UTC
http://mmaslano.fedorapeople.org/perl-ORLite/perl-ORLite.spec

I like this one paragraph, that should be enough.

Description:
ORLite is an object-relation system specifically for SQLite that follows many
of the same principles as the ::Tiny series of modules and has a design that
aligns directly to the capabilities of SQLite.

Comment 3 Chris Weyl 2008-09-07 11:15:06 UTC
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=811675

=====> perl-ORLite-0.10-1.fc9.noarch.rpm <=====
====> rpmlint
perl-ORLite.noarch: E: description-line-too-long SQLite is a light weight single file SQL database that provides an excellent platform
perl-ORLite.noarch: E: description-line-too-long for embedded storage of structured data. However, while it is superficially similar to
perl-ORLite.noarch: E: description-line-too-long a regular server-side SQL database, SQLite has some significant attributes that make using
perl-ORLite.noarch: E: description-line-too-long it like a traditional database difficult. For example, SQLite is extremely fast to connect
perl-ORLite.noarch: E: description-line-too-long to compared to server databases (1000 connections per second is not unknown) and is
perl-ORLite.noarch: E: description-line-too-long particularly bad at concurrency, as it can only lock transactions at a database-wide level.
perl-ORLite.noarch: E: description-line-too-long This role as a superfast internal data store can clash with the roles and designs of
perl-ORLite.noarch: E: description-line-too-long traditional object-relational modules like Class::DBI or DBIx::Class. What this situation
perl-ORLite.noarch: E: description-line-too-long would seem to need is an object-relation system that is designed specifically for SQLite
perl-ORLite.noarch: E: description-line-too-long and is aligned with its idiosyncracies. ORLite is an object-relation system specifically
perl-ORLite.noarch: E: description-line-too-long for SQLite that follows many of the same principles as the ::Tiny series of modules and
1 packages and 0 specfiles checked; 11 errors, 0 warnings.
====> provides for perl-ORLite-0.10-1.fc9.noarch.rpm
perl(ORLite) = 0.10
perl-ORLite = 0.10-1.fc9
====> requires for perl-ORLite-0.10-1.fc9.noarch.rpm
perl >= 0:5.006
perl(:MODULE_COMPAT_5.10.0)  
perl(Carp)  
perl(DBD::SQLite) >= 1.14
perl(DBI)  
perl(DBI) >= 1.58
perl(File::Spec)  
perl(File::Temp)  
perl(Params::Util)  
perl(Params::Util) >= 0.33
perl(strict)  
perl(vars)

rpmlint isn't happy at the long lines in %description; refactoring these to be < 80 char long should do the trick.

Also, there are two duplicate requires, both caused by explicit requires in the spec as well as auto-detected ones.  Are those two requires in the spec really needed?

Aside from that, everything else looks kosher; fix those two things and I'll approve.

Comment 4 Rakesh Pandit 2008-09-13 09:11:20 UTC
changing status from NEW to ASSIGNED

Comment 5 Chris Weyl 2008-09-16 02:33:23 UTC
Ping?

Comment 7 Chris Weyl 2008-09-18 15:16:38 UTC
No problem -- I know how busy works :)

So.

Please bump the revision and update the changelog whenever changing the spec.... helps keep things clear.

Also, I note while the changes to %description have been made, there are still explicit requires in the spec causing issues...  Version 0.11 has also been out since 09 Sep 2008.

Please fix the explicit provides and update to 0.11.

Comment 8 Marcela Mašláňová 2008-09-19 07:42:00 UTC
> Please bump the revision and update the changelog whenever changing the
> spec.... helps keep things clear.

I was always confused why new package has release different from 1. It makes sense to bump release even if don't like it.

> Also, I note while the changes to %description have been made, there are still
> explicit requires in the spec causing issues...

rpmlint is quite. Which issues?

> Please fix the explicit provides and update to 0.11.

Updated.
http://mmaslano.fedorapeople.org/perl-ORLite/perl-ORLite.spec
http://mmaslano.fedorapeople.org/perl-ORLite/perl-ORLite-0.11-1.fc9.src.rpm

Comment 9 manuel wolfshant 2008-09-19 09:39:46 UTC
Marcela: I bet Chris is speaking about

 Requires:       perl(DBD::SQLite) >= 1.14
 Requires:       perl(DBI) >= 1.58

rpmbuild should pick these automatically. Generally speaking, " Requires " lines should be added only when rpmbuild does not lead to the explicitely results by itself.

Comment 10 manuel wolfshant 2008-09-19 10:04:19 UTC
Scrap the last phrase, it contains a pasted word from another context.
I wanted to say:

Generally speaking, " Requires " lines should be added only when rpmbuild does not lead to the correct results by itself.

Comment 12 Chris Weyl 2008-09-20 18:17:27 UTC
There's still an errant second provides for perl(Params::Util) in the requires...  Is there a reason this requires (line 16 in the current spec) is needed?

=====> perl-ORLite-0.11-2.fc9.noarch.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-ORLite-0.11-2.fc9.noarch.rpm
perl(ORLite) = 0.11
perl-ORLite = 0.11-2.fc9
====> requires for perl-ORLite-0.11-2.fc9.noarch.rpm
perl >= 0:5.006
perl(:MODULE_COMPAT_5.10.0)  
perl(Carp)  
perl(DBI)  
perl(File::Spec)  
perl(File::Temp)  
perl(Params::Util)  
perl(Params::Util) >= 0.33
perl(strict)  
perl(vars)

Comment 15 Chris Weyl 2008-10-02 04:19:29 UTC
Looks good, all issues have been addressed.

=====> perl-ORLite-0.13-1.fc9.noarch.rpm <=====
====> rpmlint
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
====> provides for perl-ORLite-0.13-1.fc9.noarch.rpm
perl(ORLite) = 0.13
perl-ORLite = 0.13-1.fc9
====> requires for perl-ORLite-0.13-1.fc9.noarch.rpm
perl >= 0:5.006
perl(:MODULE_COMPAT_5.10.0)  
perl(Carp)  
perl(DBI)  
perl(File::Spec)  
perl(File::Temp)  
perl(Params::Util)  
perl(strict)  
perl(vars)  

APPROVED

Comment 16 Marcela Mašláňová 2008-10-02 08:03:27 UTC
New Package CVS Request
=======================
Package Name: perl-ORLite
Short Description: relation system specifically for SQLite
Owners: mmaslano
Branches: F-10
InitialCC: fedora-perl-devel-list

Comment 17 Huzaifa S. Sidhpurwala 2008-10-03 06:11:21 UTC
cvs done