From 90868c3c1e81d273a235f29c3ad75748f0c6ee5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Stan=C4=9Bk?= Date: Mon, 18 May 2015 10:49:28 +0200 Subject: [PATCH] Updated to version 3.8.10.1 (https://www.sqlite.org/releaselog/3_8_10_1.html) --- .gitignore | 2 + sources | 4 +- sqlite-3.8.10.1-dbstat-vtab-define-fix.patch | 14 +++ sqlite-3.8.10.1-tcl-regress-tests.patch | 122 +++++++++++++++++++ sqlite.spec | 17 ++- 5 files changed, 153 insertions(+), 6 deletions(-) create mode 100644 sqlite-3.8.10.1-dbstat-vtab-define-fix.patch create mode 100644 sqlite-3.8.10.1-tcl-regress-tests.patch diff --git a/.gitignore b/.gitignore index 8e23ea1..878ad46 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,5 @@ /sqlite-doc-3080803.zip /sqlite-src-3080900.zip /sqlite-doc-3080900.zip +/sqlite-src-3081001.zip +/sqlite-doc-3081001.zip diff --git a/sources b/sources index a086ec8..324e78c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -5cf3e3314d5b060aadedda264305308d sqlite-src-3080900.zip -e25020345df35d35cd81201f9f045263 sqlite-doc-3080900.zip +a3f19a40cab1bb15df8587fb4a3bd9a9 sqlite-src-3081001.zip +3343ad078e887b2ce8f79e2cc6f4a1e6 sqlite-doc-3081001.zip diff --git a/sqlite-3.8.10.1-dbstat-vtab-define-fix.patch b/sqlite-3.8.10.1-dbstat-vtab-define-fix.patch new file mode 100644 index 0000000..1a47eb8 --- /dev/null +++ b/sqlite-3.8.10.1-dbstat-vtab-define-fix.patch @@ -0,0 +1,14 @@ +diff -up sqlite-src-3081001/Makefile.in.old sqlite-src-3081001/Makefile.in +--- sqlite-src-3081001/Makefile.in.old 2015-05-11 09:24:56.310577370 +0200 ++++ sqlite-src-3081001/Makefile.in 2015-05-11 09:25:42.618876370 +0200 +@@ -995,7 +995,9 @@ smoketest: testfixture$(TEXE) fuzzershel + + sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl + echo "#define TCLSH 2" > $@ +- echo "#define SQLITE_ENABLE_DBSTAT_VTAB" >> $@ ++ echo "#ifndef SQLITE_ENABLE_DBSTAT_VTAB" >> $@ ++ echo "#define SQLITE_ENABLE_DBSTAT_VTAB 0" >> $@ ++ echo "#endif" >> $@ + cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@ + echo "static const char *tclsh_main_loop(void){" >> $@ + echo "static const char *zMainloop = " >> $@ diff --git a/sqlite-3.8.10.1-tcl-regress-tests.patch b/sqlite-3.8.10.1-tcl-regress-tests.patch new file mode 100644 index 0000000..793c517 --- /dev/null +++ b/sqlite-3.8.10.1-tcl-regress-tests.patch @@ -0,0 +1,122 @@ +This patch disables a test which caused failed assertion in tcl 8.6.3. +According to sqlite upstream[1], this should be fixed in tcl 8.6.5. + +[1] http://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-users/2015-May/059518.html + +diff -up sqlite-src-3081001/test/shell1.test.old sqlite-src-3081001/test/shell1.test +--- sqlite-src-3081001/test/shell1.test.old 2015-05-18 10:33:00.360463061 +0200 ++++ sqlite-src-3081001/test/shell1.test 2015-05-18 10:33:13.353532231 +0200 +@@ -863,59 +863,59 @@ do_test shell1-4.6 { + + # Test using arbitrary byte data with the shell via standard input/output. + # +-do_test shell1-5.0 { +- # +- # NOTE: Skip NUL byte because it appears to be incompatible with command +- # shell argument parsing. +- # +- for {set i 1} {$i < 256} {incr i} { +- # +- # NOTE: Due to how the Tcl [exec] command works (i.e. where it treats +- # command channels opened for it as textual ones), the carriage +- # return character (and on Windows, the end-of-file character) +- # cannot be used here. +- # +- if {$i==0x0D || ($tcl_platform(platform)=="windows" && $i==0x1A)} { +- continue +- } +- set hex [format %02X $i] +- set char [subst \\x$hex]; set oldChar $char +- set escapes [list] +- if {$tcl_platform(platform)=="windows"} { +- # +- # NOTE: On Windows, we need to escape all the whitespace characters, +- # the alarm (\a) character, and those with special meaning to +- # the SQLite shell itself. +- # +- set escapes [list \ +- \a \\a \b \\b \t \\t \n \\n \v \\v \f \\f \r \\r \ +- " " "\" \"" \" \\\" ' \"'\" \\ \\\\] +- } else { +- # +- # NOTE: On Unix, we need to escape most of the whitespace characters +- # and those with special meaning to the SQLite shell itself. +- # The alarm (\a), backspace (\b), and carriage-return (\r) +- # characters do not appear to require escaping on Unix. For +- # the alarm and backspace characters, this is probably due to +- # differences in the command shell. For the carriage-return, +- # it is probably due to differences in how Tcl handles command +- # channel end-of-line translations. +- # +- set escapes [list \ +- \t \\t \n \\n \v \\v \f \\f \ +- " " "\" \"" \" \\\" ' \"'\" \\ \\\\] +- } +- set char [string map $escapes $char] +- set x [catchcmdex test.db ".print $char\n"] +- set code [lindex $x 0] +- set res [lindex $x 1] +- if {$code ne "0"} { +- error "failed with error: $res" +- } +- if {$res ne "$oldChar\n"} { +- error "failed with byte $hex mismatch" +- } +- } +-} {} ++#do_test shell1-5.0 { ++# # ++# # NOTE: Skip NUL byte because it appears to be incompatible with command ++# # shell argument parsing. ++# # ++# for {set i 1} {$i < 256} {incr i} { ++# # ++# # NOTE: Due to how the Tcl [exec] command works (i.e. where it treats ++# # command channels opened for it as textual ones), the carriage ++# # return character (and on Windows, the end-of-file character) ++# # cannot be used here. ++# # ++# if {$i==0x0D || ($tcl_platform(platform)=="windows" && $i==0x1A)} { ++# continue ++# } ++# set hex [format %02X $i] ++# set char [subst \\x$hex]; set oldChar $char ++# set escapes [list] ++# if {$tcl_platform(platform)=="windows"} { ++# # ++# # NOTE: On Windows, we need to escape all the whitespace characters, ++# # the alarm (\a) character, and those with special meaning to ++# # the SQLite shell itself. ++# # ++# set escapes [list \ ++# \a \\a \b \\b \t \\t \n \\n \v \\v \f \\f \r \\r \ ++# " " "\" \"" \" \\\" ' \"'\" \\ \\\\] ++# } else { ++# # ++# # NOTE: On Unix, we need to escape most of the whitespace characters ++# # and those with special meaning to the SQLite shell itself. ++# # The alarm (\a), backspace (\b), and carriage-return (\r) ++# # characters do not appear to require escaping on Unix. For ++# # the alarm and backspace characters, this is probably due to ++# # differences in the command shell. For the carriage-return, ++# # it is probably due to differences in how Tcl handles command ++# # channel end-of-line translations. ++# # ++# set escapes [list \ ++# \t \\t \n \\n \v \\v \f \\f \ ++# " " "\" \"" \" \\\" ' \"'\" \\ \\\\] ++# } ++# set char [string map $escapes $char] ++# set x [catchcmdex test.db ".print $char\n"] ++# set code [lindex $x 0] ++# set res [lindex $x 1] ++# if {$code ne "0"} { ++# error "failed with error: $res" ++# } ++# if {$res ne "$oldChar\n"} { ++# error "failed with byte $hex mismatch" ++# } ++# } ++#} {} + + finish_test diff --git a/sqlite.spec b/sqlite.spec index 239c6e7..804871b 100644 --- a/sqlite.spec +++ b/sqlite.spec @@ -3,9 +3,9 @@ %bcond_with static %bcond_without check -%define realver 3080900 -%define docver 3080900 -%define rpmver 3.8.9 +%define realver 3081001 +%define docver 3081001 +%define rpmver 3.8.10.1 Summary: Library that implements an embeddable SQL database engine Name: sqlite @@ -27,6 +27,10 @@ Patch2: sqlite-3.7.7.1-stupid-openfiles-test.patch Patch3: sqlite-3.7.15-no-malloc-usable-size.patch # Temporary workaround for failed percentile test, see patch for details Patch4: sqlite-3.8.0-percentile-test.patch +# Fix define of new compile option +Patch5: sqlite-3.8.10.1-dbstat-vtab-define-fix.patch +# Disable test failing due to tcl regression. Details in patch file. +Patch6: sqlite-3.8.10.1-tcl-regress-tests.patch BuildRequires: ncurses-devel readline-devel glibc-devel BuildRequires: autoconf @@ -113,6 +117,8 @@ This package contains the analysis program for %{name}. %patch2 -p1 -b .stupid-openfiles-test %patch3 -p1 -b .no-malloc-usable-size %patch4 -p1 -b .nonprecise-percentile-test +%patch5 -p1 -b .dbstat-vtab-define +%patch6 -p1 -b .tcl-regress # Remove cgi-script erroneously included in sqlite-doc-3070500 rm -f %{name}-doc-%{realver}/search @@ -120,7 +126,7 @@ rm -f %{name}-doc-%{realver}/search autoconf # Rerun with new autoconf to add support for aarm64 %build -export CFLAGS="$RPM_OPT_FLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -Wall -fno-strict-aliasing" +export CFLAGS="$RPM_OPT_FLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -Wall -fno-strict-aliasing" %configure %{!?with_tcl:--disable-tcl} \ --enable-threadsafe \ --enable-threads-override-locks \ @@ -204,6 +210,9 @@ make test %endif %changelog +* Mon May 18 2015 Jan Stanek - 3.8.10.1-1 +- Updated to version 3.8.10.1 (https://www.sqlite.org/releaselog/3_8_10_1.html) + * Tue Apr 14 2015 Jan Stanek - 3.8.9-1 - Updated to version 3.8.9 (https://www.sqlite.org/releaselog/3_8_9.html)