This commit is contained in:
Jan Staněk 2015-05-18 10:49:28 +02:00
parent 492fdc40b0
commit 90868c3c1e
5 changed files with 153 additions and 6 deletions

2
.gitignore vendored
View File

@ -64,3 +64,5 @@
/sqlite-doc-3080803.zip
/sqlite-src-3080900.zip
/sqlite-doc-3080900.zip
/sqlite-src-3081001.zip
/sqlite-doc-3081001.zip

View File

@ -1,2 +1,2 @@
5cf3e3314d5b060aadedda264305308d sqlite-src-3080900.zip
e25020345df35d35cd81201f9f045263 sqlite-doc-3080900.zip
a3f19a40cab1bb15df8587fb4a3bd9a9 sqlite-src-3081001.zip
3343ad078e887b2ce8f79e2cc6f4a1e6 sqlite-doc-3081001.zip

View File

@ -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 = " >> $@

View File

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

View File

@ -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 <jstanek@redhat.com> - 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 <jstanek@redhat.com> - 3.8.9-1
- Updated to version 3.8.9 (https://www.sqlite.org/releaselog/3_8_9.html)