commit 333d1ce97cc1be56b47b9c35e60a8601a98d5e7c0748973153096503fcb75843 Author: Adrian Schröter Date: Fri May 3 18:01:08 2024 +0200 Sync from SUSE:SLFO:Main perl-DBI revision 99d8185f54f8ce3f55053296fe163257 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/DBI-1.643.tar.gz b/DBI-1.643.tar.gz new file mode 100644 index 0000000..8fdb76c --- /dev/null +++ b/DBI-1.643.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa +size 612372 diff --git a/cpanspec.yml b/cpanspec.yml new file mode 100644 index 0000000..d949c62 --- /dev/null +++ b/cpanspec.yml @@ -0,0 +1,18 @@ +--- +#description_paragraphs: 3 +#no_testing: broken upstream +sources: + - perl-DBI.rpmlintrc +patches: + perl-DBI-CVE-2014-10402.patch: -p1 +#preamble: |- +# BuildRequires: gcc-c++ +#post_prep: |- +# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` +# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL +#post_install: |- +# sed on %{name}.files +#license: SUSE-NonFree +#skip_noarch: 1 +#custom_build: - +#./Build build flags=%{?_smp_mflags} --myflag diff --git a/perl-DBI-CVE-2014-10402.patch b/perl-DBI-CVE-2014-10402.patch new file mode 100644 index 0000000..0e84257 --- /dev/null +++ b/perl-DBI-CVE-2014-10402.patch @@ -0,0 +1,257 @@ +From 32398bff24f054f4e9b48b97ecb70ce72267296c Mon Sep 17 00:00:00 2001 +From: Jens Rehsack +Date: Tue, 6 Oct 2020 06:50:37 +0200 +Subject: [PATCH 1/3] DBD/File,DBI/DBD/SqlEngine: bump copyright year + +Bump copyright years for both since there has been done work in meantime ... +including intended f_dir= fix for CVE-2014-10401 + +Signed-off-by: Jens Rehsack +--- + lib/DBD/File.pm | 4 ++-- + lib/DBI/DBD/SqlEngine.pm | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm +index dd4312b..fb14e9a 100644 +--- a/lib/DBD/File.pm ++++ b/lib/DBD/File.pm +@@ -9,7 +9,7 @@ + # + # The original author is Jochen Wiedmann. + # +-# Copyright (C) 2009-2013 by H.Merijn Brand & Jens Rehsack ++# Copyright (C) 2009-2020 by H.Merijn Brand & Jens Rehsack + # Copyright (C) 2004 by Jeff Zucker + # Copyright (C) 1998 by Jochen Wiedmann + # +@@ -1430,7 +1430,7 @@ The original author is Jochen Wiedmann. + + =head1 COPYRIGHT AND LICENSE + +- Copyright (C) 2009-2013 by H.Merijn Brand & Jens Rehsack ++ Copyright (C) 2009-2020 by H.Merijn Brand & Jens Rehsack + Copyright (C) 2004-2009 by Jeff Zucker + Copyright (C) 1998-2004 by Jochen Wiedmann + +diff --git a/lib/DBI/DBD/SqlEngine.pm b/lib/DBI/DBD/SqlEngine.pm +index fb755ab..8e933f7 100644 +--- a/lib/DBI/DBD/SqlEngine.pm ++++ b/lib/DBI/DBD/SqlEngine.pm +@@ -9,7 +9,7 @@ + # + # The original author is Jochen Wiedmann. + # +-# Copyright (C) 2009-2013 by H.Merijn Brand & Jens Rehsack ++# Copyright (C) 2009-2020 by H.Merijn Brand & Jens Rehsack + # Copyright (C) 2004 by Jeff Zucker + # Copyright (C) 1998 by Jochen Wiedmann + # +@@ -2216,7 +2216,7 @@ The original authors are Jochen Wiedmann and Jeff Zucker. + + =head1 COPYRIGHT AND LICENSE + +- Copyright (C) 2009-2013 by H.Merijn Brand & Jens Rehsack ++ Copyright (C) 2009-2020 by H.Merijn Brand & Jens Rehsack + Copyright (C) 2004-2009 by Jeff Zucker + Copyright (C) 1998-2004 by Jochen Wiedmann + + +From 27b10b5c3aacabc091046beaba478e671bb6111c Mon Sep 17 00:00:00 2001 +From: Jens Rehsack +Date: Tue, 6 Oct 2020 08:23:55 +0200 +Subject: [PATCH 2/3] t/51dbm_file.t: add test from RT#99508 + +Add test with f_dir="something-not-existing" as reported in RT#99508 +to verify when it's fixed for real. + +Signed-off-by: Jens Rehsack +--- + t/51dbm_file.t | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +diff --git a/t/51dbm_file.t b/t/51dbm_file.t +index d9824cf..686a3d2 100644 +--- a/t/51dbm_file.t ++++ b/t/51dbm_file.t +@@ -15,6 +15,27 @@ use DBI; + + do "./t/lib.pl"; + ++{ ++ # test issue reported in RT#99508 ++ my @msg; ++ eval { ++ local $SIG{__DIE__} = sub { push @msg, @_ }; ++ my $dbh = DBI->connect ("dbi:DBM:f_dir=./hopefully-doesnt-existst;sql_identifier_case=1;RaiseError=1"); ++ }; ++ like ("@msg", qr{.*hopefully-doesnt-existst.*}, "Cannot open from non-existing directory with attributes in DSN"); ++ ++ @msg = (); ++ eval { ++ local $SIG{__DIE__} = sub { push @msg, @_ }; ++ my $dbh = DBI->connect ("dbi:DBM:", , undef, undef, { ++ f_dir => "./hopefully-doesnt-existst", ++ sql_identifier_case => 1, ++ RaiseError => 1, ++ }); ++ }; ++ like ("@msg", qr{.*hopefully-doesnt-existst}, "Cannot open from non-existing directory with attributes in HASH"); ++} ++ + my $dir = test_dir(); + + my $dbh = DBI->connect( 'dbi:DBM:', undef, undef, { +@@ -23,6 +44,8 @@ my $dbh = DBI->connect( 'dbi:DBM:', undef, undef, { + } + ); + ++ok( $dbh, "Connect with driver attributes in hash" ); ++ + ok( $dbh->do(q/drop table if exists FRED/), 'drop table' ); + + my $dirfext = $^O eq 'VMS' ? '.sdbm_dir' : '.dir'; + +From 19d0fb169eed475e1c053e99036b8668625cfa94 Mon Sep 17 00:00:00 2001 +From: Jens Rehsack +Date: Tue, 6 Oct 2020 10:22:17 +0200 +Subject: [PATCH 3/3] lib/DBD/File.pm: fix CVE-2014-10401 + +Dig into the root cause of RT#99508 - which resulted in CVE-2014-10401 - and +figure out that DBI->parse_dsn is the wrong helper to parse our attributes in +DSN, since in DBD::dr::connect only the "dbname" remains from DSN which causes +parse_dsn to bailout. + +Parsing on our own similar to parse_dsn shows the way out. + +Signed-off-by: Jens Rehsack +--- + lib/DBD/File.pm | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm +index fb14e9a..f55076f 100644 +--- a/lib/DBD/File.pm ++++ b/lib/DBD/File.pm +@@ -109,7 +109,11 @@ sub connect + # We do not (yet) care about conflicting attributes here + # my $dbh = DBI->connect ("dbi:CSV:f_dir=test", undef, undef, { f_dir => "text" }); + # will test here that both test and text should exist +- if (my $attr_hash = (DBI->parse_dsn ($dbname))[3]) { ++ # ++ # Parsing on our own similar to parse_dsn to find attributes in 'dbname' parameter. ++ if ($dbname) { ++ my @attrs = split /;/ => $dbname; ++ my $attr_hash = { map { split /\s*=>?\s*|\s*,\s*/, $_} @attrs }; + if (defined $attr_hash->{f_dir} && ! -d $attr_hash->{f_dir}) { + my $msg = "No such directory '$attr_hash->{f_dir}"; + $drh->set_err (2, $msg); +@@ -120,7 +124,6 @@ sub connect + if ($attr and defined $attr->{f_dir} && ! -d $attr->{f_dir}) { + my $msg = "No such directory '$attr->{f_dir}"; + $drh->set_err (2, $msg); +- $attr->{RaiseError} and croak $msg; + return; + } + +From c71b64a678bcd708c7b75ee2bef5a360c836444c Mon Sep 17 00:00:00 2001 +From: "H.Merijn Brand - Tux" +Date: Wed, 28 Oct 2020 15:57:17 +0100 +Subject: [PATCH] Document the new behavior for f_dir + +These changes also warrant a version increase +--- + lib/DBD/File.pm | 5 +++++ + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm +index baffefa..afbff26 100644 +--- a/lib/DBD/File.pm ++++ b/lib/DBD/File.pm +@@ -1062,6 +1062,11 @@ directory) when the dbh attribute is set. + + f_dir => "/data/foo/csv", + ++If C is set to a non-existing location, the connection will fail. ++See CVE-2014-10401 for reasoning. Because of this, folders to use cannot ++be created after the connection, but must exist before the connection is ++initiated. ++ + See L. + + =head4 f_dir_search +From 89f0d4cd38b83f0ee426a5fdf7d1ad5ea371c883 Mon Sep 17 00:00:00 2001 +From: "H.Merijn Brand - Tux" +Date: Wed, 28 Oct 2020 15:03:48 +0100 +Subject: [PATCH] Fix for empty attributes in DSN + +dbm_type=SDBM_File;dbm_mldbm=;f_lockfile=.lck' + ^ +would result in + +Odd number of elements in anonymous hash +--- + lib/DBD/File.pm | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm +index f55076f..baffefa 100644 +--- a/lib/DBD/File.pm ++++ b/lib/DBD/File.pm +@@ -112,8 +112,9 @@ sub connect + # + # Parsing on our own similar to parse_dsn to find attributes in 'dbname' parameter. + if ($dbname) { +- my @attrs = split /;/ => $dbname; +- my $attr_hash = { map { split /\s*=>?\s*|\s*,\s*/, $_} @attrs }; ++ my $attr_hash = { ++ map { (m/^\s* (\S+) \s*(?: =>? | , )\s* (\S*) \s*$/x) } ++ split m/;/ => $dbname }; + if (defined $attr_hash->{f_dir} && ! -d $attr_hash->{f_dir}) { + my $msg = "No such directory '$attr_hash->{f_dir}"; + $drh->set_err (2, $msg); +From 2eda0ec996d0a9357885acd442c72ac206adb7b3 Mon Sep 17 00:00:00 2001 +From: "H.Merijn Brand - Tux" +Date: Wed, 28 Oct 2020 15:09:01 +0100 +Subject: [PATCH] Catch warning + +--- + t/51dbm_file.t | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/t/51dbm_file.t b/t/51dbm_file.t +index 686a3d2..0ae910c 100644 +--- a/t/51dbm_file.t ++++ b/t/51dbm_file.t +@@ -18,21 +18,25 @@ do "./t/lib.pl"; + { + # test issue reported in RT#99508 + my @msg; +- eval { +- local $SIG{__DIE__} = sub { push @msg, @_ }; +- my $dbh = DBI->connect ("dbi:DBM:f_dir=./hopefully-doesnt-existst;sql_identifier_case=1;RaiseError=1"); ++ my $dbh = eval { ++ local $SIG{__WARN__} = sub { push @msg, @_ }; ++ local $SIG{__DIE__} = sub { push @msg, @_ }; ++ DBI->connect ("dbi:DBM:f_dir=./hopefully-doesnt-existst;sql_identifier_case=1;RaiseError=1"); + }; ++ is ($dbh, undef, "Connect failed"); + like ("@msg", qr{.*hopefully-doesnt-existst.*}, "Cannot open from non-existing directory with attributes in DSN"); + + @msg = (); +- eval { +- local $SIG{__DIE__} = sub { push @msg, @_ }; +- my $dbh = DBI->connect ("dbi:DBM:", , undef, undef, { ++ $dbh = eval { ++ local $SIG{__WARN__} = sub { push @msg, @_ }; ++ local $SIG{__DIE__} = sub { push @msg, @_ }; ++ DBI->connect ("dbi:DBM:", , undef, undef, { + f_dir => "./hopefully-doesnt-existst", + sql_identifier_case => 1, + RaiseError => 1, + }); + }; ++ is ($dbh, undef, "Connect failed"); + like ("@msg", qr{.*hopefully-doesnt-existst}, "Cannot open from non-existing directory with attributes in HASH"); + } + diff --git a/perl-DBI.changes b/perl-DBI.changes new file mode 100644 index 0000000..3dc8f03 --- /dev/null +++ b/perl-DBI.changes @@ -0,0 +1,837 @@ +------------------------------------------------------------------- +Tue Nov 3 16:29:26 UTC 2020 - Pedro Monreal + +- Security fix [bsc#1176492, CVE-2014-10401, CVE-2014-10402] + * DBD::File drivers can open files from folders other than those + specifically passed via the f_dir attribute in the data source + name (DSN). +- Add perl-DBI-CVE-2014-10402.patch + +------------------------------------------------------------------- +Sat Feb 1 03:11:35 UTC 2020 - + +- updated to 1.643 + see /usr/share/doc/packages/perl-DBI/Changes + +------------------------------------------------------------------- +Mon Sep 23 11:12:59 UTC 2019 - Pedro Monreal Gonzalez + +- Fix invalid utf-8 encoding in Changelogtext + +------------------------------------------------------------------- +Thu Nov 8 06:11:49 UTC 2018 - Stephan Kulow + +- updated to 1.642 + see /usr/share/doc/packages/perl-DBI/Changes + + =head2 Changes in DBI 1.642 - 28th October 2018 + + Fix '.' in @INC for proxy test under parallel load + thanks to H.Merijn Brand. + Fix driver-related croak() in DBI->connect to report the original DSN + thanks to maxatome #67 + + Introduce a new statement DBI method $sth->last_insert_id() + thanks to pali #64 + Allow to call $dbh->last_insert_id() method without arguments + thanks to pali #64 + Added a new XS API function variant dbd_db_do6() + thanks to Pali #61 + + Fix misprints in doc of selectall_hashref + thanks to Perlover #69 + Remove outdated links to DBI related training resources. RT#125999 + +------------------------------------------------------------------- +Tue Mar 20 06:11:59 UTC 2018 - coolo@suse.com + +- updated to 1.641 + see /usr/share/doc/packages/perl-DBI/Changes + + =head2 Changes in DBI 1.641 - 19th March 2018 + + Remove dependency on Storable 2.16 introduced in DBI 1.639 + thanks to Ribasushi #60 + Avoid compiler warnings in Driver.xst #59 + thanks to pali #59 + +------------------------------------------------------------------- +Wed Feb 7 15:19:14 UTC 2018 - coolo@suse.com + +- updated to 1.640 + see /usr/share/doc/packages/perl-DBI/Changes + +------------------------------------------------------------------- +Fri Dec 29 06:13:44 UTC 2017 - coolo@suse.com + +- updated to 1.639 + see /usr/share/doc/packages/perl-DBI/Changes + +------------------------------------------------------------------- +Fri Aug 18 05:16:23 UTC 2017 - coolo@suse.com + +- updated to 1.637 + see /usr/share/doc/packages/perl-DBI/Changes + + =head2 Changes in DBI 1.637 - ... + + Fix use of externally controlled format string (CWE-134) thanks to pali #44 + This could cause a crash if, for example, a db error contained a %. + https://cwe.mitre.org/data/definitions/134.html + Fix extension detection for DBD::File related drivers + Fix tests for perl without dot in @INC RT#120443 + Fix loss of error message on parent handle, thanks to charsbar #34 + Fix disappearing $_ inside callbacks, thanks to robschaber #47 + + Allow objects to be used as passwords without throwing an error, thanks to demerphq #40 + Allow $sth NAME_* attributes to be set from Perl code, re #45 + Added support for DBD::XMLSimple thanks to nigelhorne #38 + + Documentation updates: + Improve examples using eval to be more correct, thanks to pali #39 + Add cautionary note to prepare_cached docs re refs in %attr #46 + Small POD changes (Getting Help -> Online) thanks to openstrike #33 + Adds links to more module names and fix typo, thanks to oalders #43 + Typo fix thanks to bor #37 + +------------------------------------------------------------------- +Mon May 23 11:35:58 UTC 2016 - coolo@suse.com + +- updated to 1.636 + see /usr/share/doc/packages/perl-DBI/Changes + + =head2 Changes in DBI 1.636 - 24th April 2016 + + Fix compilation for threaded perl <= 5.12 broken in 1.635 RT#113955 + Revert change to DBI::PurePerl DESTROY in 1.635 + Change t/16destroy.t to avoid race hazard RT#113951 + Output perl version and archname in t/01basics.t + Add perl 5.22 and 5.22-extras to travis-ci config + + =head2 Changes in DBI 1.635 - 24th April 2016 + + Fixed RaiseError/PrintError for UTF-8 errors/warnings. RT#102404 + Fixed cases where ShowErrorStatement might show incorrect Statement RT#97434 + Fixed DBD::Gofer for UTF-8-enabled STDIN/STDOUT + thanks to mauke PR#32 + Fixed fetchall_arrayref({}) behavior with no columns + thanks to Dan McGee PR#31 + Fixed tied CachedKids ref leak in attribute cache by weakening + thanks to Michael Conrad RT#113852 + Fixed "panic: attempt to copy freed scalar" upon commit() or rollback() + thanks to fbriere for detailed bug report RT#102791 + Ceased to ignore DESTROY of outer handle in DBI::PurePerl + Treat undef in DBI::Profile Path as string "undef" + thanks to fREW Schmidt RT#113298 + Fix SQL::Nano parser to ignore trailing semicolon + thanks to H.Merijn Brand. + + Added @ary = $dbh->selectall_array(...) method + thanks to Ed Avis RT#106411 + Added appveyor support (Travis like CI for windows) + thanks to mbeijen PR#30 + + Corrected spelling errors in pod + thanks to Gregor Herrmann RT#107838 + Corrected and/or removed broken links to SQL standards + thanks to David Pottage RT#111437 + Corrected doc example to use dbi: instead of DBI: in DSN + thanks to Michael R. Davis RT#101181 + Removed/updated broken links in docs + thanks to mbeijen PR#29 + Clarified docs for DBI::hash($string) + Removed the ancient DBI::FAQ module RT#102714 + Fixed t/pod.t to require Test::Pod >= 1.41 RT#101769 + + This release was developed at the Perl QA Hackathon 2016 + L + which was made possible by the generosity of many sponsors: + + L FastMail, + L ZipRecruiter, + L ActiveState, + L OpusVL, + L Strato, + L SureVoIP, + L CV-Library, + L Infinity, + L Perl Careers, + L MongoDB, + L thinkproject!, + L Dreamhost, + L Perl 6, + L Perl Services, + L Evozon, + L Booking, + L Eligo, + L Oetiker+Partner, + L CAPSiDE, + L Procura, + L Constructor.io, + L Robbie Bow, + L Ron Savage, + L Charlie Gonzalez, + L Justin Cook. + +------------------------------------------------------------------- +Sun Sep 20 15:44:57 UTC 2015 - coolo@suse.com + +- updated to 1.634 + see /usr/share/doc/packages/perl-DBI/Changes + + =head2 Changes in DBI 1.634 - 3rd August 2015 + + Enabled strictures on all modules (Jose Luis Perez Diez) #22 + Note that this might cause new exceptions in existing code. + Please take time for extra testing before deploying to production. + Improved handling of row counts for compiled drivers and enable them to + return larger row counts (IV type) by defining new *_iv macros. + Fixed quote_identifier that was adding a trailing separator when there + was only a catalog (Martin J. Evans) + + Removed redundant keys() call in fetchall_arrayref with hash slice (ilmari) #24 + Corrected pod xref to Placeholders section (Matthew D. Fuller) + Corrected pod grammar (Nick Tonkin) #25 + + Added support for tables('', '', '', '%') special case (Martin J. Evans) + Added support for DBD prefixes with numbers (Jens Rehsack) #19 + Added extra initializer for DBI::DBD::SqlEngine based DBD's (Jens Rehsack) + Added Memory Leaks section to the DBI docs (Tim) + Added Artistic v1 & GPL v1 LICENSE file (Jose Luis Perez Diez) #21 + +------------------------------------------------------------------- +Thu Apr 16 16:09:22 UTC 2015 - coolo@suse.com + +- updated to 1.633 + see /usr/share/doc/packages/perl-DBI/Changes + + =head2 Changes in DBI 1.633 - 11th Jan 2015 + + Fixed selectrow_*ref to return undef on error in list context + instead if an empty list. + Changed t/42prof_data.t more informative + Changed $sth->{TYPE} to be NUMERIC in DBD::File drivers as per the + DBI docs. Note TYPE_NAME is now also available. [H.Merijn Brand] + Fixed compilation error on bleadperl due DEFSV no longer being an lvalue + [Dagfinn Ilmari] + + Added docs for escaping placeholders using a backslash. + Added docs for get_info(9000) indicating ability to escape placeholders. + Added multi_ prefix for DBD::Multi (Dan Wright) and ad2_ prefix for + DBD::AnyData2 + + =head2 Changes in DBI 1.632 - 9th Nov 2014 + + Fixed risk of memory corruption with many arguments to methods + originally reported by OSCHWALD for Callbacks but may apply + to other functionality in DBI method dispatch RT#86744. + Fixed DBD::PurePerl to not set $sth->{Active} true by default + drivers are expected to set it true as needed. + Fixed DBI::DBD::SqlEngine to complain loudly when prerequite + driver_prefix is not fulfilled (RT#93204) [Jens Rehsack] + Fixed redundant sprintf argument warning RT#97062 [Reini Urban] + Fixed security issue where DBD::File drivers would open files + from folders other than specifically passed using the + f_dir attribute RT#99508 [H.Merijn Brand] + + Changed delete $h->{$key} to work for keys with 'private_' prefix + per request in RT#83156. local $h->{$key} works as before. + + Added security notice to DBD::Proxy and DBI::ProxyServer because they + use Storable which is insecure. Thanks to ppisar@redhat.com RT#90475 + Added note to AutoInactiveDestroy docs strongly recommending that it + is enabled in all new code. + + =head2 Changes in DBI 1.631 - 20th Jan 2014 + + NOTE: This release changes the handle passed to Callbacks from being an 'inner' + handle to being an 'outer' handle. If you have code that makes use of Callbacks, + ensure that you understand what this change means and review your callback code. + + Fixed err_hash handling of integer err RT#92172 [Dagfinn Ilmari] + Fixed use of \Q vs \E in t/70callbacks.t + + Changed the handle passed to Callbacks from being an 'inner' + handle to being an 'outer' handle. + + Improved reliability of concurrent testing + PR#8 [Peter Rabbitson] + Changed optional dependencies to "suggest" + PR#9 [Karen Etheridge] + Changed to avoid mg_get in neatsvpv during global destruction + PR#10 [Matt Phillips] + + =head2 Changes in DBI 1.630 - 28th Oct 2013 + + NOTE: This release enables PrintWarn by default regardless of $^W. + Your applications may generate more log messages than before. + + Fixed err for new drh to be undef not to 0 [Martin J. Evans] + Fixed RT#83132 - moved DBIstcf* constants to util + export tag [Martin J. Evans] + PrintWarn is now triggered by warnings recorded in methods like STORE + that don't clear err RT#89015 [Tim Bunce] + + Changed tracing to no longer show quote and quote_identifier calls + at trace level 1. + Changed DBD::Gofer ping while disconnected set_err from warn to info. + Clarified wording of log message when err is cleared. + Changed bootstrap to use $XS_VERSION RT#89618 [Andreas Koenig] + + Added connect_cached.connected Callback PR#3 [David E. Wheeler] + + Clarified effect of refs in connect_cached attributes [David E. Wheeler] + Extended ReadOnly attribute docs for when the driver cannot + ensure read only [Martin J. Evans] + Corrected SQL_BIGINT docs to say ODBC value is used PR#5 [ilmari] + + There was no DBI 1.629 release. + +------------------------------------------------------------------- +Tue Jul 30 05:11:20 UTC 2013 - coolo@suse.com + +- updated to 1.628 + Fixed missing fields on partial insert via DBI::DBD::SqlEngine + engines (DBD::CSV, DBD::DBM etc.) [H.Merijn Brand, Jens Rehsack] + Fixed stack corruption on callbacks RT#85562 RT#84974 [Aaron Schweiger] + Fixed DBI::SQL::Nano_::Statement handling of "0" [Jens Rehsack] + Fixed exit op precedence in test RT#87029 [Reni Urban] + + Added support for finding tables in multiple directories + via new DBD::File f_dir_search attribute [H.Merijn Brand] + Enable compiling by C++ RT#84285 [Kurt Jaeger] + + Typo fixes in pod and comment [David Steinbrunner] + Change DBI's docs to refer to git not svn [H.Merijn Brand] + Clarify bind_col TYPE attribute is sticky [Martin J. Evans] + Fixed reference to $sth in selectall_arrayref docs RT#84873 + Spelling fixes [Ville Skytt344] + Changed $VERSIONs to hardcoded strings [H.Merijn Brand] + +------------------------------------------------------------------- +Sun Jun 16 06:48:13 UTC 2013 - coolo@suse.com + +- updated to 1.627 + Fixed VERSION regression in DBI::SQL::Nano [Tim Bunce] + Fixed pod text/link was reversed in a few cases RT#85168 + Handle aliasing of STORE'd attributes in DBI::DBD::SqlEngine + Updated repository URI to git [Jens Rehsack] + Fixed skip() count arg in t/48dbi_dbd_sqlengine.t [Tim Bunce] + Fixed heap-use-after-free during global destruction RT#75614 + thanks to Reini Urban. + Fixed ignoring RootClass attribute during connect() by + DBI::DBD::SqlEngine reported in RT#84260 by Michael Schout + + Fixed Gofer for hash randomization in perl 5.17.10+ RT#84146 + + Clarify docs for can() re RT#83207 + + Fixed RT#64330 - ping wipes out errstr (Martin J. Evans). + Fixed RT#75868 - DBD::Proxy shouldn't call connected() on the server. + Fixed RT#80474 - segfault in DESTROY with threads. + Fixed RT#81516 - Test failures due to hash randomisation in perl 5.17.6 + thanks to Jens Rehsack and H.Merijn Brand and feedback on IRC + Fixed RT#81724 - Handle copy-on-write scalars (sprout) + Fixed unused variable / self-assignment compiler warnings. + Fixed default table_info in DBI::DBD::SqlEngine which passed NAMES + attribute instead of NAME to DBD::Sponge RT72343 (Martin J. Evans) + + Corrected a spelling error thanks to Chris Sanders. + Corrected typo in DBI->installed_versions docs RT#78825 + thanks to Jan Dubois. + + Refactored table meta information management from DBD::File into + DBI::DBD::SqlEngine (H.Merijn Brand, Jens Rehsack) + Prevent undefined f_dir being used in opendir (H.Merijn Brand) + + Added logic to force destruction of children before parents + during global destruction. See RT#75614. + Added DBD::File Plugin-Support for table names and data sources + (Jens Rehsack, #dbi Team) + Added new tests to 08keeperr for RT#64330 + +------------------------------------------------------------------- +Tue Jan 31 09:49:34 UTC 2012 - vcizek@suse.com + +- update to 1.617 + * Fixed ParamTypes example in the pod (Martin J. Evans) + * Fixed the definition of ArrayTupleStatus and remove confusion over + rows affected in list context of execute_array (Martin J. Evans) + * Fixed sql_type_cast example and typo in errors (Martin J. Evans) + * Fixed Gofer error handling for keeperr methods like ping (Tim Bunce) + * Fixed $dbh->clone({}) RT73250 (Tim Bunce) + * Fixed is_nested_call logic error RT73118 (Reini Urban) + * Enhanced performance for threaded perls (Dave Mitchell, Tim Bunce) + * Enhanced and standardized driver trace level mechanism (Tim Bunce) + * Removed old code that was an inneffective attempt to detect + people doing DBI->{Attrib}. + * Clear ParamValues on bind_param param count error RT66127 (Tim Bunce) + * Changed DBI::ProxyServer to require DBI at compile-time RT62672 (Tim Bunce) + * Added pod for default_user to DBI::DBD (Martin J. Evans) + * Added CON, ENC and DBD trace flags and extended 09trace.t (Martin J. Evans) + * Added TXN trace flags and applied CON and TXN to relevant methods (Tim Bunce) + * Added some more fetchall_arrayref(..., $maxrows) tests (Tim Bunce) + * Clarified docs for fetchall_arrayref called on an inactive handle. + * Clarified docs for clone method (Tim Bunce) + * Added note to DBI::Profile about async queries (Marcel Grunauer). + * Reserved spatialite_ as a driver prefix for DBD::Spatialite + * Reserved mo_ as a driver prefix for DBD::MO + * Updated link to the SQL Reunion 95 docs, RT69577 (Ash Daminato) + * Changed links for DBI recipes. RT73286 (Martin J. Evans) + +------------------------------------------------------------------- +Fri Nov 18 11:09:37 UTC 2011 - coolo@suse.com + +- use original .tar.gz + +------------------------------------------------------------------- +Fri Jan 7 14:44:15 UTC 2011 - vcizek@novell.com + +- update to 1.616 + * Fixed RT#61513 by catching attribute assignment to tied table access + interface (Jens Rehsack) + * Fixed compiler warnings RT#62640 + + * Optimized connect() to remove redundant FETCH of \%attrib values. + Improved initialization phases in DBI::DBD::SqlEngine (Jens Rehsack) + + * Added DBD::Gofer::Transport::corostream. An experimental proof-of-concept + transport that enables asynchronous database calls with few code changes. + It enables asynchronous use of DBI frameworks like DBIx::Class. + +------------------------------------------------------------------- +Wed Dec 1 13:31:55 UTC 2010 - coolo@novell.com + +- switch to perl_requires macro + +------------------------------------------------------------------- +Tue Nov 30 13:10:56 UTC 2010 - coolo@novell.com + +- do not use recommends on fedora + +------------------------------------------------------------------- +Thu Sep 30 16:05:23 CEST 2010 - anicka@suse.cz + +- update to 1.615 + * bugfixes + +------------------------------------------------------------------- +Tue Sep 21 09:58:15 CEST 2010 - anicka@suse.cz + +- update to 1.614 + * Added $h->{AutoInactiveDestroy} as simpler safer form of + $h->{InactiveDestroy} + * Added ability for parallel testing "prove -j4 ..." + * Added tests for delete in DBM + * Added test for absolute filename as table to 51dbm_file + * Added two initialization phases to DBI::DBD::SqlEngine + * Added improved developers documentation for DBI::DBD::SqlEngine + * Added guides how to write DBI drivers using DBI::DBD::SqlEngine + or DBD::File + * Added register_compat_map() and table_meta_attr_changed() to + DBD::File::Table + * bugfixes, test fixes + +------------------------------------------------------------------- +Fri Aug 6 14:08:17 UTC 2010 - chris@computersalat.de + +- update to 1.613 + o Fixed Win32 prerequisite module from PathTools to File::Spec. + o Changed attribute headings and fixed references in DBI pod (Martin J. Evans) + o Corrected typos in DBI::FAQ and DBI::ProxyServer (Ansgar Burchardt) + +------------------------------------------------------------------- +Tue Jul 20 13:26:42 UTC 2010 - chris@computersalat.de + +- recreated by cpanspec 1.78 + o fix deps + +------------------------------------------------------------------- +Mon Jul 19 14:37:28 CEST 2010 - anicka@suse.cz + +- update to 1.612 + * Changed Makefile.PL to modernize with CONFLICTS, recommended + dependencies and resources (Jens Rehsack) + * Changed DBI::ProfileDumper to rename any existing profile file by + appending .prev, instead of overwriting it. + * Changed DBI::ProfileDumper::Apache to work in more configurations + including vhosts using PerlOptions +Parent. + * Add driver_prefix method to DBI (Jens Rehsack) + * bugfixes, test fixes + +------------------------------------------------------------------- +Wed Jun 2 14:25:00 UTC 2010 - chris@computersalat.de + +- update to 1.611 + * Fixed selectcol_arrayref MaxRows attribute to count rows not values + thanks to Vernon Lyon. + * Fixed DBI->trace(0, *STDERR); (H.Merijn Brand) + which tried to open a file named "*main::STDERR" in perl-5.10.x + * Fixes in DBD::DBM for use under threads (Jens Rehsack) + * Changed "Issuing rollback() due to DESTROY without explicit disconnect" + warning to not be issued if ReadOnly set for that dbh. + * Added f_lock and f_encoding support to DBD::File (H.Merijn Brand) + * Added ChildCallbacks => { ... } to Callbacks as a way to + specify Callbacks for child handles. + With tests added by David E. Wheeler. + * Added DBI::sql_type_cast($value, $type, $flags) to cast a string value + to an SQL type. e.g. SQL_INTEGER effectively does $value += 0; + Has other options plus an internal interface for drivers. +- recreated spec by cpanspec 1.78 + +------------------------------------------------------------------- +Sun Jan 10 15:43:32 CET 2010 - jengelh@medozas.de + +- enable parallel build + +------------------------------------------------------------------- +Tue Oct 13 14:21:52 UTC 2009 - chris@computersalat.de + +- cleanup spec + o removed some obsolete defines + +------------------------------------------------------------------- +Sat Jul 25 19:37:00 CEST 2009 - chris@computersalat.de + +- spec mods + * removed ^---------- + * removed ^#--------- + +------------------------------------------------------------------- +Fri Jun 19 01:09:45 CEST 2009 - chris@computersalat.de + +- spec fix for perl-macros + +------------------------------------------------------------------- +Thu Jun 18 02:28:09 CEST 2009 - chris@computersalat.de + +- added perl-macros + o autogen filelist with perl_gen_filelist + +------------------------------------------------------------------- +Mon Jun 15 02:12:22 CEST 2009 - chris@computersalat.de + +- update to 1.609 + * Fixes to DBD::File (H.Merijn Brand) + added f_schema attribute + table names case sensitive when quoted, insensitive when unquoted + workaround a bug in SQL::Statement (temporary fix) related + to the "You passed x parameters where y required" error + * Added ImplementorClass and Name info to the "Issuing rollback() due to + DESTROY without explicit disconnect" warning to identify the handle. + Applies to compiled drivers when they are recompiled. + * Added DBI->visit_handles($coderef) method. + * Added $h->visit_child_handles($coderef) method. + * Added docs for column_info()'s COLUMN_DEF value. + * Clarified docs on stickyness of data type via bind_param(). + * Clarified docs on stickyness of data type via bind_col(). +- some spec mods + +------------------------------------------------------------------- +Mon May 18 15:47:34 CEST 2009 - anicka@suse.cz + +- update to 1.608 + * Fixes to DBD::File (H.Merijn Brand) + bind_param () now honors the attribute argument + added f_ext attribute + File::Spec is always required. (CORE since 5.00405) + Fail and set errstr on parameter count mismatch in execute () + * Fixed two small memory leaks when running in mod_perl + one in DBI->connect and one in DBI::Gofer::Execute. + Both due to "local $ENV{...};" leaking memory. + * Fixed DBD_ATTRIB_DELETE macro for driver authors + and updated DBI::DBD docs thanks to Martin J. Evans. + * Fixed 64bit issues in trace messages thanks to Charles Jardine. + * Fixed FETCH_many() method to work with drivers that incorrectly + return an empty list from $h->FETCH. Affected gofer. + * Added 'sqlite_' as registered prefix for DBD::SQLite. + * Corrected many typos in DBI docs thanks to Martin J. Evans. + * Improved DBI::DBD docs thanks to H.Merijn Brand. + +------------------------------------------------------------------- +Fri Jul 25 15:12:59 CEST 2008 - anicka@suse.cz + +- update to 1.607 + * NOTE: Perl 5.8.1 is now the minimum supported version. + * Fixed missing import of carp in DBI::Gofer::Execute. + * Added note to docs about effect of execute(@empty_array). + * Clarified docs for ReadOnly thanks to Martin Evans. + +------------------------------------------------------------------- +Fri Jun 27 16:36:24 CEST 2008 - anicka@suse.cz + +- update to 1.605 + * Fixed broken DBIS macro with threads on big-endian machines + with 64bit ints but 32bit pointers. + * Fixed the selectall_arrayref, selectrow_arrayref, and + selectrow_array methods that get embedded into compiled drivers + to use the inner sth handle when passed a $sth instead of an + sql string. Drivers will need to be recompiled to pick up + this change. + * Fixed leak in neat() for some kinds of values + * Fixed DBI::PurePerl neat() to behave more like XS neat(). + * Increased default $DBI::neat_maxlen from 400 to 1000. + * Increased timeout on tests to accomodate very slow systems. + * other minor improvements and fixes + - remove -dbis patch (fixed in upstream) + +------------------------------------------------------------------- +Wed Mar 26 13:28:43 CET 2008 - anicka@suse.cz + +- update to 1.604 + * Fixed fetchall_arrayref with $max_rows argument broken + in 1.603 + +------------------------------------------------------------------- +Mon Mar 24 15:50:40 CET 2008 - anicka@suse.cz +- update to 1.603 + * Fixed pure-perl fetchall_arrayref with $max_rows argument + to not error when fetching after all rows already fetched. + * Fixed C sprintf formats and casts, fixing compiler warnings. + * Changed dbi_profile() to accept a hash of profiles + and apply to all. + * Changed gofer stream transport to improve error reporting. + * Changed gofer test timeout to avoid spurious failures + on slow systems. + * Added options to t/85gofer.t so it's more useful for + manual testing. + +------------------------------------------------------------------- +Thu Feb 21 11:02:50 CET 2008 - anicka@suse.cz + +- update to 1.602 + * bugfixes + * test and documentation enhancements + +------------------------------------------------------------------- +Thu Nov 1 15:34:20 CET 2007 - anicka@suse.cz + +- update to 1.601 + * Fixed t/05thrclone.t to work with Test::More >= 0.71 + * Fixed DBI for VMS thanks to Peter (Stig) Edwards. + * Added client-side caching to DBD::Gofer. + * Added DBI::Util::CacheMemory for use with DBD::Gofer caching. + +------------------------------------------------------------------- +Mon Oct 8 10:21:26 CEST 2007 - anicka@suse.cz + +- update to 1.59 + * Added check_response_sub to DBI::Gofer::Execute + * bugfixes. test fixes + +------------------------------------------------------------------- +Tue Jul 3 08:56:03 CEST 2007 - anicka@suse.cz + +- update to 1.58 + * Fixed code triggering fatal error in bleadperl + * Fixed compiler warning + * values than before *if* your perl was built with 64-bit + 'int' type (i.e. "perl -V:intsize" says intsize='8'). + * Fixed XS versions of select*_*() methods to call execute() + fetch() etc., with inner handle instead of outer. + * Fixed execute_for_fetch() to not cache errstr values + * Fixed unused var compiler warning thanks to JDHEDDEN. + * Changed DBI::hash to return 'I32' type instead of 'int' so results + are portable/consistent regardless of size of the int type. + * test fixes, added documenttion + +------------------------------------------------------------------- +Mon Jun 11 15:50:10 CEST 2007 - anicka@suse.cz + +- update to 1.56 + * bugfixes, documentation fixes, test fixes + * Added DBI_GOFER_RANDOM env var that can be use to trigger random + failures and delays when executing gofer requests. + * Added more functionality to the (undocumented) Callback mechanism. + * Added $h->{ReadOnly} attribute. + * Added support for DBI Profile Path to contain refs to scalars + which will be de-ref'd for each profile sample. + * Added dbilogstrip utility to edit DBI logs for diff'ing (gets installed) + * Added details for SQLite 3.3 to NULL handling docs thanks to Alex Teslik. + * Added take_imp_data() to DBI::PurePerl. + * many gofer related changes + +------------------------------------------------------------------- +Mon Feb 26 11:04:27 CET 2007 - anicka@suse.cz + +- update to 1.54 + * Added new DBD::Gofer 'stateless proxy' driver and framework, + * and the DBI test suite is now also executed via DBD::Gofer, + * and DBD::Gofer+DBI::PurePerl, in addition to DBI::PurePerl. + * Added ability for trace() to support filehandle argument, + * including tracing into a string, thanks to Dean Arnold. + * Added ability for drivers to implement func() method + * so proxy drivers can proxy the func method itself. + * Added SQL_BIGINT type code + * Added $h->private_attribute_info method. + +------------------------------------------------------------------- +Wed Dec 13 13:24:04 CET 2006 - anicka@suse.cz + +- update to 1.53 + * Fixed checks for weaken to work with early 5.8.x versions + * Fixed DBD::Proxy handling of some methods, including commit + and rollback. + * Fixed to be more robust against drivers not handling multiple + result sets properly. + * Test fixes. + * Added array context support to execute_array and + execute_for_fetch methods which returns executed tuples + and rows affected. + * Added Tie::Cache::LRU example to docs + +------------------------------------------------------------------- +Wed Sep 13 11:14:39 CEST 2006 - anicka@suse.cz + +- update to 1.52 + * fixed several memory leaks + * changes and additions to profiling + +------------------------------------------------------------------- +Wed Jul 12 13:03:53 CEST 2006 - anicka@suse.cz + +- update to 1.51 + * many bugfixes, see upstream changelog + +------------------------------------------------------------------- +Mon Mar 27 18:56:07 CEST 2006 - mls@suse.de + +- set DBIS in a way compatible to the header file, fixes + use64bit issue [#155067] + +------------------------------------------------------------------- +Wed Jan 25 21:39:37 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Jan 3 15:39:52 CET 2006 - anicka@suse.cz + +- update to 1.50 + +------------------------------------------------------------------- +Mon Aug 1 13:55:09 CEST 2005 - cthiel@suse.de + +- update to version 1.48 + +------------------------------------------------------------------- +Tue Jul 26 13:05:45 CEST 2005 - anicka@suse.cz + +- add perl-PlRPC to Requires + +------------------------------------------------------------------- +Thu Feb 17 19:39:10 CET 2005 - mjancar@suse.cz + +- update to 1.47 + +------------------------------------------------------------------- +Fri Aug 06 18:49:42 CEST 2004 - mjancar@suse.cz + +- update to 1.43 + +------------------------------------------------------------------- +Thu Feb 26 14:51:28 CET 2004 - mjancar@suse.cz + +- update to 1.41 + +------------------------------------------------------------------- +Tue Oct 21 19:13:01 CEST 2003 - mjancar@suse.cz + +- update to 1.38 + +------------------------------------------------------------------- +Fri Aug 22 14:25:41 CEST 2003 - mjancar@suse.cz + +- require the perl version we build with + +------------------------------------------------------------------- +Tue Jul 15 14:39:19 CEST 2003 - mjancar@suse.cz + +- adapt to perl-5.8.1 +- use %perl_process_packlist + +------------------------------------------------------------------- +Mon Jun 16 17:49:03 CEST 2003 - mjancar@suse.cz + +- fix filelist + +------------------------------------------------------------------- +Thu Jun 05 21:45:27 CEST 2003 - mjancar@suse.cz + +- fix test failing on 64bit architectures + +------------------------------------------------------------------- +Wed Jun 04 18:41:10 CEST 2003 - mjancar@suse.cz + +- update to 1.37 + * Changed execute_array() return value from row + count to executed tuple count, and now the + ArrayTupleStatus attribute is mandatory. +- use $RPM_OPT_FLAGS +- don't package MANIFEST + +------------------------------------------------------------------- +Tue May 20 12:42:17 CEST 2003 - mjancar@suse.cz + +- remove unpackaged files + +------------------------------------------------------------------- +Fri Dec 13 15:32:12 CET 2002 - prehak@suse.cz + +- update to version 1.32 + +------------------------------------------------------------------- +Tue Jul 9 18:22:13 CEST 2002 - prehak@suse.cz + +- updated to version 1.28 + +------------------------------------------------------------------- +Tue Jul 2 17:40:06 MEST 2002 - mls@suse.de + +- remove race in .packlist generation + +------------------------------------------------------------------- +Tue Jan 22 16:20:20 CET 2002 - rvasice@suse.cz + +- update to version 1.20 + +------------------------------------------------------------------- +Tue Aug 14 12:14:23 CEST 2001 - rvasice@suse.cz + +- update to version 1.19 +- spec file cleanup + +------------------------------------------------------------------- +Tue Feb 13 08:32:01 CET 2001 - cihlar@suse.cz + +- bzipped sources +- use %{version} +- update to version 1.14 +- added %clean +- fixed file list +- added make test + +------------------------------------------------------------------- +Tue Nov 7 13:00:20 CET 2000 - grimmer@suse.de + +- removed BuildRoot path via sed calls in spec file + +------------------------------------------------------------------- +Tue Oct 31 18:24:48 CET 2000 - grimmer@suse.de + +- renamed from perl_dbi to perl-DBI +- added BuildRoot + +------------------------------------------------------------------- +Wed Jul 5 12:53:49 CEST 2000 - grimmer@suse.de + +- marked man pages as documentation +- added missing man pages from section 1 +- added Group tag +- added "Provides: DBI" + +------------------------------------------------------------------- +Wed May 24 14:35:05 MEST 2000 - ug@suse.de + +- added to distribution + diff --git a/perl-DBI.rpmlintrc b/perl-DBI.rpmlintrc new file mode 100644 index 0000000..67d25fd --- /dev/null +++ b/perl-DBI.rpmlintrc @@ -0,0 +1 @@ +addFilter("devel-file-in-non-devel-package") diff --git a/perl-DBI.spec b/perl-DBI.spec new file mode 100644 index 0000000..72c4253 --- /dev/null +++ b/perl-DBI.spec @@ -0,0 +1,78 @@ +# +# spec file for package perl-DBI +# +# Copyright (c) 2020 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: perl-DBI +Version: 1.643 +Release: 0 +%define cpan_name DBI +Summary: Database independent interface for Perl +License: Artistic-1.0 OR GPL-1.0-or-later +Group: Development/Libraries/Perl +URL: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/T/TI/TIMB/%{cpan_name}-%{version}.tar.gz +Source1: perl-DBI.rpmlintrc +Source2: cpanspec.yml +# MANUAL BEGIN +Patch0: perl-DBI-CVE-2014-10402.patch +# MANUAL END +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: perl +BuildRequires: perl-macros +BuildRequires: perl(Test::Simple) >= 0.90 +%{perl_requires} + +%description +The DBI is a database access module for the Perl programming language. It +defines a set of methods, variables, and conventions that provide a +consistent database interface, independent of the actual database being +used. + +It is important to remember that the DBI is just an interface. The DBI is a +layer of "glue" between an application and one or more database _driver_ +modules. It is the driver modules which do most of the real work. The DBI +provides a standard interface and framework for the drivers to operate +within. + +This document often uses terms like _references_, _objects_, _methods_. If +you're not familiar with those terms then it would be a good idea to read +at least the following perl manuals first: perlreftut, perldsc, perllol, +and perlboot. + +%prep +%setup -q -n %{cpan_name}-%{version} +%patch0 -p1 +find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 + +%build +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" +make %{?_smp_mflags} + +%check +make test + +%install +%perl_make_install +%perl_process_packlist +%perl_gen_filelist + +%files -f %{name}.files +%defattr(-,root,root,755) +%doc Changes Driver.xst README.md +%license LICENSE + +%changelog