diff --git a/.cvsignore b/.cvsignore index e69de29..6285110 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +DBIx-Class-0.08010.tar.gz diff --git a/fix_startup_check.patch b/fix_startup_check.patch new file mode 100644 index 0000000..ff6efb9 --- /dev/null +++ b/fix_startup_check.patch @@ -0,0 +1,11 @@ +--- lib/DBIx/Class/StartupCheck.pm.orig 2008-01-11 14:18:03.729504216 -0800 ++++ lib/DBIx/Class/StartupCheck.pm 2008-01-11 14:18:54.635512980 -0800 +@@ -13,7 +13,7 @@ + } + + sub _possibly_has_bad_overload_performance { +- return $] < 5.008009 && ! _has_bug_34925(); ++ return $] < 5.008009 && _has_bug_34925(); + } + + unless ($ENV{DBIC_NO_WARN_BAD_PERL}) { diff --git a/perl-DBIx-Class.spec b/perl-DBIx-Class.spec new file mode 100644 index 0000000..2e6d207 --- /dev/null +++ b/perl-DBIx-Class.spec @@ -0,0 +1,196 @@ +Name: perl-DBIx-Class +Version: 0.08010 +Release: 5%{?dist} +Summary: Extensible and flexible object <-> relational mapper +License: GPL+ or Artistic +Group: Development/Libraries +URL: http://search.cpan.org/dist/DBIx-Class/ +Source0: http://www.cpan.org/authors/id/A/AS/ASH/DBIx-Class-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + +## patches... +Patch0: there_is_no_0.73.patch +Patch2: fix_startup_check.patch +# make tests skip a little more verbosely +Patch3: verbose.patch + +# core +BuildRequires: perl >= 1:5.6.1 +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(Scalar::Util) +bUIldRequires: perl(Storable) +BuildRequires: perl(Test::Builder) >= 0.32 + +## Dependencies +BuildRequires: perl(Carp::Clan) +BuildRequires: perl(Class::Accessor::Grouped) >= 0.05002 +BuildRequires: perl(Class::C3) >= 0.13 +BuildRequires: perl(Class::C3::Componentised) +# for CDBI-compat bits... +BuildRequires: perl(Class::Data::Inheritable) +BuildRequires: perl(Class::Inspector) +BuildRequires: perl(Class::Trigger) +BuildRequires: perl(Data::Page) >= 2 +# see BZ#245699 -- requires patched version, not CPAN +BuildRequires: perl(DBD::SQLite) >= 1.13 +BuildRequires: perl(DBI) >= 1.4 +BuildRequires: perl(DBIx::ContextualFetch) +BuildRequires: perl(JSON::Any) +BuildRequires: perl(Module::Find) +BuildRequires: perl(Scope::Guard) >= 0.03 +BuildRequires: perl(SQL::Abstract) >= 1.2 +# darn RPM version compares... +#BuildRequires: perl(SQL::Abstract::Limit) >= 0.101 +BuildRequires: perl(SQL::Abstract::Limit) +BuildRequires: perl(Test::Exception) +# optional tests +BuildRequires: perl(DateTime::Format::MySQL) +BuildRequires: perl(Text::CSV_XS) +BuildRequires: perl(Test::Memory::Cycle) +BuildRequires: perl(Test::Pod) +BuildRequires: perl(Test::Pod::Coverage) +BuildRequires: perl(SQL::Translator) +BuildRequires: perl(DateTime) +BuildRequires: perl(DateTime::Format::Oracle) +BuildRequires: perl(DBIx::ContextualFetch) + + +# not picked up... +Requires: perl(Class::Accessor::Grouped) >= 0.05002 +Requires: perl(Class::C3::Componentised) +Requires: perl(SQL::Abstract) >= 1.2 + +# not picked up automagically (yet)... +Provides: perl(DBIx::Class::ClassResolver::PassThrough) = 0 +Provides: perl(DBIx::Class::Storage::TxnScopeGuard) = 0 + +%description +This is an SQL to OO mapper with an object API inspired by Class::DBI +(and a compatibility layer as a springboard for porting) and a +resultset API that allows abstract encapsulation of database +operations. It aims to make representing queries in your code as perl- +ish as possible while still providing access to as many of the +capabilities of the database as possible, including retrieving related +records from multiple tables in a single query, JOIN, LEFT JOIN, COUNT, +DISTINCT, GROUP BY and HAVING support. + +%prep +%setup -q -n DBIx-Class-%{version} + +# correct version reqs in Makefile.PL +%patch0 + +# don't complain; as near as I can tell this bug has been nixed in Fedora perl +%patch2 + +# tell us why we're skipping, eh? +%patch3 + +find t/ -type f -exec perl -pi -e 's|\r||; s|^#!perl|#!/usr/bin/perl|' {} + +find . -type f -exec chmod -c -x {} + +find t/ -type f -name '*.orig' -exec rm -v {} + + +# utf8 issues +BAD='README ./lib/DBIx/Class/Storage/DBI/Replication.pm ./lib/DBIx/Class.pm' +for i in $BAD ; do + iconv -f iso8859-1 -t UTF-8 $i > foo + mv foo $i +done + +# Filter unwanted Provides: +cat << \EOF > %{name}-prov +#!/bin/sh +%{__perl_provides} $* |\ + sed \ + -e '/perl(DBICVersion::Schema) = 1.0/d' \ + -e '/perl(DBIC.*Test.*)/d' \ + -e '/perl(My.*)/d' \ + -e '/perl(DeletingFilm)/d' \ + -e '/perl(.*Thing)/d' +EOF + +%define __perl_provides %{_builddir}/DBIx-Class-%{version}/%{name}-prov +chmod +x %{__perl_provides} + +# Filter unwanted Requires: +cat << \EOF > %{name}-req +#!/bin/sh +%{__perl_requires} $* |\ + sed \ + -e '/perl(Time::Piece::MySQL)/d' \ + -e '/perl(DBD::.*)/d' \ + -e '/perl(DBIC.*Test.*)/d' \ + -e '/perl(My.*)/d' \ + -e '/perl(DeletingFilm)/d' \ + -e '/perl(.*Thing)/d' +EOF + +%define __perl_requires %{_builddir}/DBIx-Class-%{version}/%{name}-req +chmod +x %{__perl_requires} + +%build +%{__perl} Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} + +%install +rm -rf %{buildroot} + +make pure_install PERL_INSTALL_ROOT=%{buildroot} + +find %{buildroot} -type f -name .packlist -exec rm -f {} + +find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \; + +%{_fixperms} %{buildroot}/* + +%check +# note this test suite is noisy! +make test + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%doc Changes README t/ +%{perl_vendorlib}/* +%{_bindir}/* +%{_mandir}/man[13]/* + + +%changelog +* Wed Apr 09 2008 Chris Weyl 0.08010-5 +- pod coverage testing NOT enabled; test currently "fails" +- make tests skip a little more verbosely... +- add a br of Class::Data::Inheritable for the CDBI-compat testing + +* Tue Apr 01 2008 Chris Weyl 0.08010-4 +- drop unneeded patch1 +- set explicit provides version to 0 :) + +* Wed Mar 19 2008 Chris Weyl 0.08010-3 +- add perl(Test::Exception) as a br +- revert patches to skip on DBD::SQLite < 1.13 + +* Tue Mar 18 2008 Chris Weyl 0.08010-2 +- BR JSON -> JSON::Any +- rework sqlite/tests patch to skip on DBD::SQLite < 1.15... 1.14 is in + rawhide/f9, and frankly, doesn't quite pass muster *sigh* + +* Sun Mar 09 2008 Chris Weyl 0.08010-1 +- update to 0.08010 + +* Wed Jan 16 2008 Chris Weyl 0.08008-3 +- add additional BR's for optional tests + +* Fri Jan 11 2008 Chris Weyl 0.08008-2 +- patch to work around certain tests as DBD::SQLite isn't going to 1.13 + anytime soon (see RH#245699) + +* Tue Dec 04 2007 Chris Weyl 0.08008-1 +- update to 0.08008 +- correct provides filtering... + +* Tue Sep 18 2007 Chris Weyl 0.08007-1 +- Specfile autogenerated by cpanspec 1.71. diff --git a/sources b/sources index e69de29..2bf4c50 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +5b7eee3c1ddf6f865c816cde9e9bdf62 DBIx-Class-0.08010.tar.gz diff --git a/there_is_no_0.73.patch b/there_is_no_0.73.patch new file mode 100644 index 0000000..bf02c08 --- /dev/null +++ b/there_is_no_0.73.patch @@ -0,0 +1,12 @@ +--- Makefile.PL.orig 2007-10-18 21:24:19.780115911 -0700 ++++ Makefile.PL 2007-10-18 21:57:59.878232747 -0700 +@@ -23,7 +23,7 @@ + requires 'Encode' => 0 if ($] <= 5.008000); + +-build_requires 'DBD::SQLite' => 1.13; +-build_requires 'Test::Builder' => 0.33; ++build_requires 'DBD::SQLite' => 1.12; ++build_requires 'Test::Builder' => 0.32; + + install_script 'script/dbicadmin'; + diff --git a/verbose.patch b/verbose.patch new file mode 100644 index 0000000..3ac3443 --- /dev/null +++ b/verbose.patch @@ -0,0 +1,38 @@ +--- t/86sqlt.t.orig 2008-04-09 18:38:26.386901609 -0700 ++++ t/86sqlt.t 2008-04-09 18:38:42.825891026 -0700 +@@ -6,7 +6,7 @@ + use DBICTest; + + eval "use SQL::Translator"; +-plan skip_all => 'SQL::Translator required' if $@; ++plan skip_all => "SQL::Translator required: $@" if $@; + + my $schema = DBICTest->init_schema; + +--- t/94versioning.t.orig 2008-04-09 18:40:14.843894626 -0700 ++++ t/94versioning.t 2008-04-09 18:40:29.297893113 -0700 +@@ -7,7 +7,7 @@ + BEGIN { + eval "use DBD::SQLite; use SQL::Translator 0.09;"; + plan $@ +- ? ( skip_all => 'needs DBD::SQLite and SQL::Translator 0.09 for testing' ) ++ ? ( skip_all => "needs DBD::SQLite and SQL::Translator 0.09 for testing: $@" ) + : ( tests => 6 ); + } + +--- t/cdbi-t/03-subclassing.t.orig 2008-04-09 19:04:38.142892256 -0700 ++++ t/cdbi-t/03-subclassing.t 2008-04-09 19:05:00.557893935 -0700 +@@ -8,11 +8,11 @@ + BEGIN { + eval "use DBIx::Class::CDBICompat;"; + if ($@) { +- plan (skip_all => 'Class::Trigger and DBIx::ContextualFetch required'); ++ plan (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@"); + next; + } + eval "use DBD::SQLite"; +- plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 6); ++ plan $@ ? (skip_all => "needs DBD::SQLite for testing: $@") : (tests => 6); + } + + use lib 't/testlib';