diff --git a/0000-perl-DBD-SQLite-bz543982.patch b/0000-perl-DBD-SQLite-bz543982.patch deleted file mode 100644 index 1d85380..0000000 --- a/0000-perl-DBD-SQLite-bz543982.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up DBD-SQLite-1.27/Makefile.PL.old DBD-SQLite-1.27/Makefile.PL ---- DBD-SQLite-1.27/Makefile.PL.old 2009-11-23 12:08:05.000000000 +0100 -+++ DBD-SQLite-1.27/Makefile.PL 2010-01-11 15:40:56.456399143 +0100 -@@ -129,7 +129,7 @@ if ( $@ or DBI->VERSION < $DBI_required - # a system sqlite is also sophisticated enough to have a patching system - # that can change the if ( 0 ) to if ( 1 ) - my ($sqlite_local, $sqlite_base, $sqlite_lib, $sqlite_inc); --if ( 0 ) { -+if ( 1 ) { - require File::Spec; - if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) { - $sqlite_base =~ /=(.*)/; diff --git a/0001-DBD-SQLite-1.50-Remove-bundled-source-extentions.patch b/0001-DBD-SQLite-1.50-Remove-bundled-source-extentions.patch deleted file mode 100644 index 878663b..0000000 --- a/0001-DBD-SQLite-1.50-Remove-bundled-source-extentions.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 8973008e7e50b14e266dd3ff6b4728289910ba5f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Thu, 18 Feb 2016 14:16:06 +0100 -Subject: [PATCH] Remove bundled source extentions -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - README | 30 ------------------------------ - lib/DBD/SQLite.pm | 31 ------------------------------- - 2 files changed, 61 deletions(-) - -diff --git a/README b/README -index c1577c2..bf7503c 100644 ---- a/README -+++ b/README -@@ -1222,36 +1222,6 @@ R* TREE SUPPORT - using callbacks, as mentioned in the prior link, have not been - implemented yet. - --FOR DBD::SQLITE EXTENSION AUTHORS -- Since 1.30_01, you can retrieve the bundled sqlite C source and/or -- header like this: -- -- use File::ShareDir 'dist_dir'; -- use File::Spec::Functions 'catfile'; -- -- # the whole sqlite3.h header -- my $sqlite3_h = catfile(dist_dir('DBD-SQLite'), 'sqlite3.h'); -- -- # or only a particular header, amalgamated in sqlite3.c -- my $what_i_want = 'parse.h'; -- my $sqlite3_c = catfile(dist_dir('DBD-SQLite'), 'sqlite3.c'); -- open my $fh, '<', $sqlite3_c or die $!; -- my $code = do { local $/; <$fh> }; -- my ($parse_h) = $code =~ m{( -- /\*+[ ]Begin[ ]file[ ]$what_i_want[ ]\*+ -- .+? -- /\*+[ ]End[ ]of[ ]$what_i_want[ ]\*+/ -- )}sx; -- open my $out, '>', $what_i_want or die $!; -- print $out $parse_h; -- close $out; -- -- You usually want to use this in your extension's "Makefile.PL", and you -- may want to add DBD::SQLite to your extension's "CONFIGURE_REQUIRES" to -- ensure your extension users use the same C source/header they use to -- build DBD::SQLite itself (instead of the ones installed in their -- system). -- - TO DO - The following items remain to be done. - -diff --git a/lib/DBD/SQLite.pm b/lib/DBD/SQLite.pm -index d03aeb5..60b74a7 100644 ---- a/lib/DBD/SQLite.pm -+++ b/lib/DBD/SQLite.pm -@@ -2494,37 +2494,6 @@ sources, etc. - - Other Perl virtual tables may also be published separately on CPAN. - --=head1 FOR DBD::SQLITE EXTENSION AUTHORS -- --Since 1.30_01, you can retrieve the bundled SQLite C source and/or --header like this: -- -- use File::ShareDir 'dist_dir'; -- use File::Spec::Functions 'catfile'; -- -- # the whole sqlite3.h header -- my $sqlite3_h = catfile(dist_dir('DBD-SQLite'), 'sqlite3.h'); -- -- # or only a particular header, amalgamated in sqlite3.c -- my $what_i_want = 'parse.h'; -- my $sqlite3_c = catfile(dist_dir('DBD-SQLite'), 'sqlite3.c'); -- open my $fh, '<', $sqlite3_c or die $!; -- my $code = do { local $/; <$fh> }; -- my ($parse_h) = $code =~ m{( -- /\*+[ ]Begin[ ]file[ ]$what_i_want[ ]\*+ -- .+? -- /\*+[ ]End[ ]of[ ]$what_i_want[ ]\*+/ -- )}sx; -- open my $out, '>', $what_i_want or die $!; -- print $out $parse_h; -- close $out; -- --You usually want to use this in your extension's C, --and you may want to add DBD::SQLite to your extension's C --to ensure your extension users use the same C source/header they use --to build DBD::SQLite itself (instead of the ones installed in their --system). -- - =head1 TO DO - - The following items remain to be done. --- -2.5.0 - diff --git a/0002-DBD-SQLite-1.58-Unbundle-Test-NoWarnings.patch b/0002-DBD-SQLite-1.58-Unbundle-Test-NoWarnings.patch deleted file mode 100644 index 2c883e7..0000000 --- a/0002-DBD-SQLite-1.58-Unbundle-Test-NoWarnings.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 1944bbf4f29181690097e61f1410d30d43343b02 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Thu, 29 Mar 2018 10:40:17 +0200 -Subject: [PATCH] Unbundle Test::NoWarnings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - Makefile.PL | 6 ++---- - t/virtual_table/11_filecontent_fulltext.t | 7 ++----- - -diff --git a/Makefile.PL b/Makefile.PL -index fcdf771..3860eda 100644 ---- a/Makefile.PL -+++ b/Makefile.PL -@@ -330,8 +330,7 @@ WriteMakefile( - 'Tie::Hash' => 0, - 'File::Spec' => (WINLIKE ? '3.27' : '0.82'), - 'DBI' => $DBI_required, -- 'Test::More' => '0.47', # Test::NoWarnings -- 'Test::Builder' => '0.86', # Test::NoWarnings -+ 'Test::More' => 0, - ( WINLIKE ? ( - 'Win32' => '0.30', - ) : () ), -@@ -363,8 +362,7 @@ WriteMakefile( - build_requires => { - 'File::Spec' => (WINLIKE ? '3.27' : '0.82'), - 'Test::More' => '0.42', -- # Bundled in /inc -- # 'Test::NoWarnings' => '0.081', -+ 'Test::NoWarnings' => '0.081', - }, - requires => { - 'Tie::Hash' => 0, -diff --git a/t/virtual_table/11_filecontent_fulltext.t b/t/virtual_table/11_filecontent_fulltext.t -index b95b115..7e805f1 100644 ---- a/t/virtual_table/11_filecontent_fulltext.t -+++ b/t/virtual_table/11_filecontent_fulltext.t -@@ -27,9 +27,7 @@ my @tests = ( - lib/DBD/SQLite/VirtualTable/FileContent.pm - lib/DBD/SQLite/VirtualTable/PerlData.pm]], - ["install_method" => qw[lib/DBD/SQLite.pm]], -- ['"use strict"' => qw[inc/Test/NoWarnings.pm -- inc/Test/NoWarnings/Warning.pm -- lib/DBD/SQLite.pm -+ ['"use strict"' => qw[lib/DBD/SQLite.pm - lib/DBD/SQLite/Constants.pm - lib/DBD/SQLite/VirtualTable.pm - lib/DBD/SQLite/VirtualTable/FileContent.pm -@@ -42,8 +40,7 @@ my @tests = ( - # literally. - if (grep /ENABLE_FTS3_PARENTHESIS/, DBD::SQLite::compile_options()) { - push @tests, ( -- ['"use strict" AND "use warnings"' => qw[inc/Test/NoWarnings.pm -- lib/DBD/SQLite/Constants.pm -+ ['"use strict" AND "use warnings"' => qw[lib/DBD/SQLite/Constants.pm - lib/DBD/SQLite/VirtualTable.pm - lib/DBD/SQLite/VirtualTable/FileContent.pm - lib/DBD/SQLite/VirtualTable/PerlData.pm --- -2.14.3 - diff --git a/0003-Handle-unknown-op-in-DBD-SQLite-VirtualTable-PerlDat.patch b/0003-Handle-unknown-op-in-DBD-SQLite-VirtualTable-PerlDat.patch deleted file mode 100644 index 681a910..0000000 --- a/0003-Handle-unknown-op-in-DBD-SQLite-VirtualTable-PerlDat.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 1fd1a0d15f2be081391710c5035f2ba69d5a51a0 Mon Sep 17 00:00:00 2001 -From: Max Maischein -Date: Fri, 25 Jan 2019 19:05:07 +0100 -Subject: [PATCH 089/102] Handle 'unknown' op in - DBD::SQLite::VirtualTable::PerlData - -This patch adds code and a test when SQLite generates an 'unknown' -op for a table join in the BEST_INDEX() callback. The Perl code crashed -when such an op was generated for a JOIN criterion by the SQLite engine. - -The SQLite engine creates an 'unknown' op on the following SQL -for example: - - select r.nodepath - from temp.scan_results r - left join temp.scan_results m - on r.nodepath = m.nodepath+1 - where m.nodepath is null - -The important part is that the right side of the left join must be -checked for IS NULL. ---- - MANIFEST | 1 + - lib/DBD/SQLite/VirtualTable/PerlData.pm | 2 +- - t/virtual_table/unknown_op.t | 93 +++++++++++++++++++++++++ - 3 files changed, 95 insertions(+), 1 deletion(-) - create mode 100644 t/virtual_table/unknown_op.t - -diff --git a/MANIFEST b/MANIFEST -index 96e1192..c53f269 100644 ---- a/MANIFEST -+++ b/MANIFEST -@@ -138,5 +138,6 @@ t/virtual_table/20_perldata.t - t/virtual_table/21_perldata_charinfo.t - t/virtual_table/rt_99748.t -+t/virtual_table/unknown_op.t - typemap - xt/cpp_comments.t - xt/meta.t -diff --git a/lib/DBD/SQLite/VirtualTable/PerlData.pm b/lib/DBD/SQLite/VirtualTable/PerlData.pm -index 39ca09b..0e58d7d 100644 ---- a/lib/DBD/SQLite/VirtualTable/PerlData.pm -+++ b/lib/DBD/SQLite/VirtualTable/PerlData.pm -@@ -88,7 +88,7 @@ sub BEST_INDEX { - # in FILTER() for deciding which rows match the constraints. - my @conditions; - my $ix = 0; -- foreach my $constraint (grep {$_->{usable}} @$constraints) { -+ foreach my $constraint (grep {$_->{usable} and exists $SQLOP2PERLOP{ $_->{op} } } @$constraints) { - my $col = $constraint->{col}; - my ($member, $optype); - -diff --git a/t/virtual_table/unknown_op.t b/t/virtual_table/unknown_op.t -new file mode 100644 -index 0000000..e8fe04b ---- /dev/null -+++ b/t/virtual_table/unknown_op.t -@@ -0,0 +1,93 @@ -+#!perl -w -+ -+use strict; -+use Test::More tests => 4; -+ -+our $scan_results = [ -+ { nodepath => 1 }, -+ { nodepath => 2 }, -+ { nodepath => 3 }, -+]; -+ -+my $dbh = DBI->connect("dbi:SQLite:dbname=:memory:", '', '', -+ {RaiseError => 1, AutoCommit => 1}); -+ -+# register the module -+$dbh->sqlite_create_module(perl => "DBD::SQLite::VirtualTable::PerlData"); -+$dbh->do(<<'SQL'); -+ CREATE VIRTUAL TABLE temp.scan_results -+ USING perl(file varchar, -+ value varchar, -+ selector varchar, -+ nodepath varchar, -+ expected integer, -+ preference integer, -+ complexity integer, -+ location varchar, -+ type varchar, -+ hashrefs="main::scan_results") -+SQL -+ -+my $ok = eval { -+ my $sth = $dbh->prepare(<<'SQL'); -+ select distinct r.selector -+ from temp.scan_results r -+ left join temp.scan_results m -+ on r.nodepath = m.nodepath+1 -+ where m.nodepath = 1 -+SQL -+$sth->execute; -+ #use DBIx::RunSQL; print DBIx::RunSQL->format_results( sth => $sth ); -+ 1; -+}; -+is $ok, 1, "We survive a numeric comparison"; -+undef $ok; -+ -+$ok = eval { -+ my $sth = $dbh->prepare(<<'SQL'); -+ select distinct r.selector -+ from temp.scan_results r -+ left join temp.scan_results m -+ on r.nodepath = m.nodepath+1 -+ where m.nodepath is not null -+SQL -+ $sth->execute; -+ 1; -+ #use DBIx::RunSQL; print DBIx::RunSQL->format_results( sth => $sth ); -+}; -+is $ok, 1, "We survive an isnull comparison"; -+undef $ok; -+ -+$ok = eval { -+ my $sth = $dbh->prepare(<<'SQL'); -+ select r.nodepath -+ from temp.scan_results r -+ left join temp.scan_results m -+ on r.nodepath = m.nodepath+1 -+ where r.nodepath is null -+SQL -+ $sth->execute; -+ 1; -+ #use DBIx::RunSQL; print DBIx::RunSQL->format_results( sth => $sth ); -+}; -+is $ok, 1, "We survive an isnull comparison on the left side"; -+undef $ok; -+ -+my $sth; -+$ok = eval { -+ $sth = $dbh->prepare(<<'SQL'); -+ select r.nodepath -+ from temp.scan_results r -+ left join temp.scan_results m -+ on r.nodepath = m.nodepath+1 -+ where m.nodepath is null -+SQL -+ $sth->execute; -+ 1; -+ #use DBIx::RunSQL; print DBIx::RunSQL->format_results( sth => $sth ); -+}; -+is $ok, 1, "We survive an isnull comparison on the right side"; -+undef $ok; -+#my $rows = $sth->fetchall_arrayref; -+#use Data::Dumper; -+#warn Dumper $rows; -\ No newline at end of file --- -2.19.1 - diff --git a/0004-added-a-boilerplace-for-test.patch b/0004-added-a-boilerplace-for-test.patch deleted file mode 100644 index 7d3226d..0000000 --- a/0004-added-a-boilerplace-for-test.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 90ec098f1ccd5e253799a656de630bfab7badd3b Mon Sep 17 00:00:00 2001 -From: Kenichi Ishigaki -Date: Sat, 26 Jan 2019 06:56:16 +0900 -Subject: [PATCH 091/102] added a boilerplace for test - ---- - t/virtual_table/unknown_op.t | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -diff --git a/t/virtual_table/unknown_op.t b/t/virtual_table/unknown_op.t -index e8fe04b..885c1d2 100644 ---- a/t/virtual_table/unknown_op.t -+++ b/t/virtual_table/unknown_op.t -@@ -1,7 +1,9 @@ --#!perl -w -- - use strict; --use Test::More tests => 4; -+use warnings; -+use lib "t/lib"; -+use SQLiteTest; -+use Test::More; -+use if -d ".git", "Test::FailWarnings"; - - our $scan_results = [ - { nodepath => 1 }, -@@ -9,8 +11,7 @@ our $scan_results = [ - { nodepath => 3 }, - ]; - --my $dbh = DBI->connect("dbi:SQLite:dbname=:memory:", '', '', -- {RaiseError => 1, AutoCommit => 1}); -+my $dbh = connect_ok(RaiseError => 1, AutoCommit => 1); - - # register the module - $dbh->sqlite_create_module(perl => "DBD::SQLite::VirtualTable::PerlData"); -@@ -90,4 +91,6 @@ is $ok, 1, "We survive an isnull comparison on the right side"; - undef $ok; - #my $rows = $sth->fetchall_arrayref; - #use Data::Dumper; --#warn Dumper $rows; -\ No newline at end of file -+#warn Dumper $rows; -+ -+done_testing; --- -2.19.1 - diff --git a/0005-fixed-for-older-DBI.patch b/0005-fixed-for-older-DBI.patch deleted file mode 100644 index 24280b7..0000000 --- a/0005-fixed-for-older-DBI.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b0fad50e4c17edaffd0a0627232b5c50aa17bc64 Mon Sep 17 00:00:00 2001 -From: Kenichi Ishigaki -Date: Sat, 26 Jan 2019 07:12:40 +0900 -Subject: [PATCH 093/102] fixed for older DBI - ---- - t/virtual_table/unknown_op.t | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/t/virtual_table/unknown_op.t b/t/virtual_table/unknown_op.t -index 885c1d2..c9f9952 100644 ---- a/t/virtual_table/unknown_op.t -+++ b/t/virtual_table/unknown_op.t -@@ -14,7 +14,7 @@ our $scan_results = [ - my $dbh = connect_ok(RaiseError => 1, AutoCommit => 1); - - # register the module --$dbh->sqlite_create_module(perl => "DBD::SQLite::VirtualTable::PerlData"); -+$dbh->$sqlite_call(create_module => perl => "DBD::SQLite::VirtualTable::PerlData"); - $dbh->do(<<'SQL'); - CREATE VIRTUAL TABLE temp.scan_results - USING perl(file varchar, --- -2.19.1 - diff --git a/DBD-SQLite-1.58.tar.gz b/DBD-SQLite-1.58.tar.gz deleted file mode 100644 index 51b6e7e..0000000 Binary files a/DBD-SQLite-1.58.tar.gz and /dev/null differ diff --git a/DBD-SQLite-1.65_02.tar.gz b/DBD-SQLite-1.65_02.tar.gz new file mode 100644 index 0000000..212cce4 Binary files /dev/null and b/DBD-SQLite-1.65_02.tar.gz differ diff --git a/perl-DBD-SQLite.spec b/perl-DBD-SQLite.spec index f80bc1d..8185a6b 100644 --- a/perl-DBD-SQLite.spec +++ b/perl-DBD-SQLite.spec @@ -1,18 +1,11 @@ Name: perl-DBD-SQLite -Version: 1.58 -Release: 5 +Version: 1.65_02 +Release: 1 Summary: DBD::SQLite embeds SQLite database engine into a DBD driver License: (GPL+ or Artistic) and Public Domain URL: https://metacpan.org/release/DBD-SQLite Source0: https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-%{version}.tar.gz -Patch0: 0000-perl-DBD-SQLite-bz543982.patch -Patch1: 0001-DBD-SQLite-1.50-Remove-bundled-source-extentions.patch -Patch2: 0002-DBD-SQLite-1.58-Unbundle-Test-NoWarnings.patch -Patch3: 0003-Handle-unknown-op-in-DBD-SQLite-VirtualTable-PerlDat.patch -Patch4: 0004-added-a-boilerplace-for-test.patch -Patch5: 0005-fixed-for-older-DBI.patch - BuildRequires: sqlite-devel coreutils findutils BuildRequires: gcc make perl-devel BuildRequires: perl-generators perl-interpreter perl(:VERSION) >= 5.6 @@ -52,11 +45,6 @@ This contains man files for the using of perl-DBD-SQLite. %prep %autosetup -n DBD-SQLite-%{version} -p1 -rm sqlite* -sed -i -e '/^sqlite/ d' MANIFEST -rm -rf inc -sed -i -e '/^inc\// d' MANIFEST - %build CFLAGS="%{optflags}" perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 %make_build OPTIMIZE="%{optflags}" @@ -78,6 +66,9 @@ make test %{_mandir}/man3/*.3pm* %changelog +* Fri Jul 17 2020 yanglongkang - 1.65_02-1 +- update package to 1.65_02 + * Wed Jul 1 2020 Wu Bo - 1.58-5 - rebuild package @@ -100,4 +91,4 @@ make test - DESC:Handle unknown op in DBD SQLite VirtualTable PerlData added a boilerplace for test fixed for older DBI -- Package init +- Package init \ No newline at end of file