Sync from SUSE:SLFO:Main perl-DBI revision 99d8185f54f8ce3f55053296fe163257

This commit is contained in:
Adrian Schröter 2024-05-03 18:01:08 +02:00
commit 333d1ce97c
7 changed files with 1217 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

BIN
DBI-1.643.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

18
cpanspec.yml Normal file
View File

@ -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

View File

@ -0,0 +1,257 @@
From 32398bff24f054f4e9b48b97ecb70ce72267296c Mon Sep 17 00:00:00 2001
From: Jens Rehsack <sno@netbsd.org>
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 <sno@netbsd.org>
---
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 <sno@netbsd.org>
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 <sno@netbsd.org>
---
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 <sno@netbsd.org>
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 <sno@netbsd.org>
---
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" <linux@tux.freedom.nl>
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<f_dir> 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<KNOWN BUGS AND LIMITATIONS>.
=head4 f_dir_search
From 89f0d4cd38b83f0ee426a5fdf7d1ad5ea371c883 Mon Sep 17 00:00:00 2001
From: "H.Merijn Brand - Tux" <linux@tux.freedom.nl>
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" <linux@tux.freedom.nl>
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");
}

837
perl-DBI.changes Normal file
View File

@ -0,0 +1,837 @@
-------------------------------------------------------------------
Tue Nov 3 16:29:26 UTC 2020 - Pedro Monreal <pmonreal@suse.com>
- 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 - <timueller+perl@suse.de>
- updated to 1.643
see /usr/share/doc/packages/perl-DBI/Changes
-------------------------------------------------------------------
Mon Sep 23 11:12:59 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Fix invalid utf-8 encoding in Changelogtext
-------------------------------------------------------------------
Thu Nov 8 06:11:49 UTC 2018 - Stephan Kulow <coolo@suse.com>
- 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<http://act.qa-hackathon.org/qa2016/>
which was made possible by the generosity of many sponsors:
L<https://www.fastmail.com> FastMail,
L<https://www.ziprecruiter.com> ZipRecruiter,
L<http://www.activestate.com> ActiveState,
L<http://www.opusvl.com> OpusVL,
L<https://www.strato.com> Strato,
L<http://www.surevoip.co.uk> SureVoIP,
L<http://www.cv-library.co.uk> CV-Library,
L<https://www.iinteractive.com/> Infinity,
L<https://opensource.careers/perl-careers/> Perl Careers,
L<https://www.mongodb.com> MongoDB,
L<https://www.thinkproject.com> thinkproject!,
L<https://www.dreamhost.com/> Dreamhost,
L<http://www.perl6.org/> Perl 6,
L<http://www.perl-services.de/> Perl Services,
L<https://www.evozon.com/> Evozon,
L<http://www.booking.com> Booking,
L<http://eligo.co.uk> Eligo,
L<http://www.oetiker.ch/> Oetiker+Partner,
L<http://capside.com/en/> CAPSiDE,
L<https://www.procura.nl/> Procura,
L<https://constructor.io/> Constructor.io,
L<https://metacpan.org/author/BABF> Robbie Bow,
L<https://metacpan.org/author/RSAVAGE> Ron Savage,
L<https://metacpan.org/author/ITCHARLIE> Charlie Gonzalez,
L<https://twitter.com/jscook2345> 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

1
perl-DBI.rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter("devel-file-in-non-devel-package")

78
perl-DBI.spec Normal file
View File

@ -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