From 773e46026f578a9e0f5068a5f113461f63d7e667940b81616a373a4b7de3610b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Mon, 14 Jan 2008 09:18:35 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/sqlite3?expand=0&rev=1 --- .gitattributes | 23 ++ .gitignore | 1 + disable-check.diff | 11 + fix-64bit.diff | 11 + sqlite-3.5.4.tar.bz2 | 3 + sqlite-check_fsync_dir.c | 25 +++ sqlite-load-ext.diff | 20 ++ sqlite-test-notime.diff | 24 ++ sqlite.desktop | 4 + sqlite.diff | 26 +++ sqlite3.changes | 424 ++++++++++++++++++++++++++++++++++++ sqlite3.spec | 458 +++++++++++++++++++++++++++++++++++++++ 12 files changed, 1030 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 disable-check.diff create mode 100644 fix-64bit.diff create mode 100644 sqlite-3.5.4.tar.bz2 create mode 100644 sqlite-check_fsync_dir.c create mode 100644 sqlite-load-ext.diff create mode 100644 sqlite-test-notime.diff create mode 100644 sqlite.desktop create mode 100644 sqlite.diff create mode 100644 sqlite3.changes create mode 100644 sqlite3.spec 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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/disable-check.diff b/disable-check.diff new file mode 100644 index 0000000..f471443 --- /dev/null +++ b/disable-check.diff @@ -0,0 +1,11 @@ +--- test/expr.test ++++ test/expr.test 2007/07/30 14:41:17 +@@ -136,7 +136,7 @@ + test_expr expr-1.102 {i1=40, i2=1} {i2<1} 1 + + test_expr expr-1.106 {i1=0} {(1<<63)/-1} -9223372036854775808 diff --git a/fix-64bit.diff b/fix-64bit.diff new file mode 100644 index 0000000..036dc97 --- /dev/null +++ b/fix-64bit.diff @@ -0,0 +1,11 @@ +--- test/types3.test ++++ test/types3.test 2007/12/18 09:35:32 +@@ -35,7 +35,7 @@ + do_test types3-1.3 { + set V [expr {1+123456789012345}] + concat [tcl_variable_type V] [execsql {SELECT typeof(:V)}] +- } {wideInt integer} ++ } {int integer} + } else { + do_test types3-1.3 { + set V [expr {1+123456789012345}] diff --git a/sqlite-3.5.4.tar.bz2 b/sqlite-3.5.4.tar.bz2 new file mode 100644 index 0000000..419e6a1 --- /dev/null +++ b/sqlite-3.5.4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dde52db173e8e2eb73c842ee20880bf1665833478beb00a8c580490b37c8f65 +size 1634507 diff --git a/sqlite-check_fsync_dir.c b/sqlite-check_fsync_dir.c new file mode 100644 index 0000000..11bad65 --- /dev/null +++ b/sqlite-check_fsync_dir.c @@ -0,0 +1,25 @@ +#include +#include +#include +#include +#include +#include + +int main (int argc, char **argv) +{ + int fd, status; + + fd = open(".", O_RDONLY); + if (fd < 0) { + perror("open"); + exit(1); + } + status = fsync(fd); + if (status != 0) { + perror("fsync"); + exit(2); + } + close(fd); + printf("OK\n"); + exit(0); +} diff --git a/sqlite-load-ext.diff b/sqlite-load-ext.diff new file mode 100644 index 0000000..89289a1 --- /dev/null +++ b/sqlite-load-ext.diff @@ -0,0 +1,20 @@ +--- Makefile.in ++++ Makefile.in +@@ -119,7 +119,7 @@ + + # You should not have to change anything below this line + ############################################################################### +-TCC += -DSQLITE_OMIT_LOAD_EXTENSION=1 ++#TCC += -DSQLITE_OMIT_LOAD_EXTENSION=1 + + # Object files for the SQLite library. + # +@@ -292,7 +292,7 @@ + | $(NAWK) '{print $$5,$$6}' >last_change + + libsqlite3.la: $(LIBOBJ) +- $(LTLINK) -o libsqlite3.la $(LIBOBJ) $(LIBPTHREAD) \ ++ $(LTLINK) -o libsqlite3.la $(LIBOBJ) $(LIBPTHREAD) -ldl \ + -rpath $(libdir) -version-info "8:6:8" + + libtclsqlite3.la: tclsqlite.lo libsqlite3.la diff --git a/sqlite-test-notime.diff b/sqlite-test-notime.diff new file mode 100644 index 0000000..c720704 --- /dev/null +++ b/sqlite-test-notime.diff @@ -0,0 +1,24 @@ +--- test/select2.test ++++ test/select2.test 2006/04/11 15:09:32 +@@ -89,11 +89,16 @@ + list + } {} + puts "time without cache: $t2" +-ifcapable tclvar { +- do_test select2-2.0.3 { +- expr {[lindex $t1 0]<[lindex $t2 0]} +- } 1 +-} ++ ++## ++## wall clock comparisons are futile in a heavily loaded multiuser system ++## as found on a typical autobuild-host. Don't do that test here. ++## ++# ifcapable tclvar { ++# do_test select2-2.0.3 { ++# expr {[lindex $t1 0]<[lindex $t2 0]} ++# } 1 ++# } + + do_test select2-2.1 { + execsql {SELECT count(*) FROM tbl2} diff --git a/sqlite.desktop b/sqlite.desktop new file mode 100644 index 0000000..89c1ad4 --- /dev/null +++ b/sqlite.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Name=SQLite +DocPath=/usr/share/doc/packages/sqlite-devel/index.html +X-DOC-SearchMethod=htdig diff --git a/sqlite.diff b/sqlite.diff new file mode 100644 index 0000000..d7925a9 --- /dev/null +++ b/sqlite.diff @@ -0,0 +1,26 @@ +--- Makefile.in ++++ Makefile.in 2007/11/06 10:21:21 +@@ -308,7 +309,7 @@ + + libsqlite3.la: $(LIBOBJ) + $(LTLINK) -o libsqlite3.la $(LIBOBJ) $(LIBPTHREAD) \ +- ${ALLOWRELEASE} -rpath $(libdir) -version-info "8:6:8" ++ -rpath $(libdir) -version-info "8:6:8" + + libtclsqlite3.la: tclsqlite.lo libsqlite3.la + $(LTLINK) -o libtclsqlite3.la tclsqlite.lo \ +--- test/printf.test ++++ test/printf.test 2007/11/06 10:21:21 +@@ -163,12 +163,6 @@ + sqlite3_mprintf_scaled {A double: %+g} 1.0e307 100.0 + } {A double: +Inf} + +-do_test printf-8.1 { +- sqlite3_mprintf_int {%u %u %u} 0x7fffffff 0x80000000 0xffffffff +-} {2147483647 2147483648 4294967295} +-do_test printf-8.2 { +- sqlite3_mprintf_int {%lu %lu %lu} 0x7fffffff 0x80000000 0xffffffff +-} {2147483647 2147483648 4294967295} + do_test printf-8.3 { + sqlite3_mprintf_int64 {%llu %llu %llu} 2147483647 2147483648 4294967296 + } {2147483647 2147483648 4294967296} diff --git a/sqlite3.changes b/sqlite3.changes new file mode 100644 index 0000000..ff1ae77 --- /dev/null +++ b/sqlite3.changes @@ -0,0 +1,424 @@ +------------------------------------------------------------------- +Thu Jan 10 16:43:20 CET 2008 - lrupp@suse.de + +- split of libsqlite3-0 package (Shared Library Packaging Policy) +- rename sqlite to sqlite3 + +------------------------------------------------------------------- +Tue Dec 18 10:14:31 CET 2007 - adrian@suse.de + +- update to version 3.5.4 + From official changelog: + * Fix a critical bug in UPDATE or DELETE that occurs when an + OR REPLACE clause or a trigger causes rows in the same table to be + deleted as side effects. (See ticket #2832.) The most likely result + of this bug is a segmentation fault, though database corruption is + a possibility. + * Bring the processing of ORDER BY into compliance with the SQL + standard for case where a result alias and a table column name are + in conflict. Correct behavior is to prefer the result alias. Older + versions of SQLite incorrectly picked the table column. (See ticket #2822.) + * The VACUUM command preserves the setting of the legacy_file_format + pragma. (Ticket #2804.) + * Productize and officially support the group_concat() SQL function. + * Better optimization of some IN operator expressions. + * Add the ability to change the auto_vacuum status of a database by + setting the auto_vaccum pragma and VACUUMing the database. + * Prefix search in FTS3 is much more efficient. + * Relax the SQL statement length restriction in the CLI so that the + ".dump" output of databases with very large BLOBs and strings can + be played back to recreate the database. + * Other small bug fixes and optimizations. + +------------------------------------------------------------------- +Fri Nov 30 08:51:31 CET 2007 - adrian@suse.de + +- update to version 3.5.3 + * documentation has been removed from tar ball. + + From official changelog: + * Fix a long-standing bug in INSERT INTO ... SELECT ... statements + where the SELECT is compound. + * Fix a long-standing bug in RAISE(IGNORE) as used in BEFORE triggers. + * Fixed the operator precedence for the ~ operator. + * Allow collating sequence names to be quoted. + * Modify the TCL interface to use sqlite3_prepare_v2(). + * Fix multiple bugs that can occur following a malloc() failure. + * sqlite3_step() returns SQLITE_MISUSE instead of crashing when + called with a NULL parameter. + * FTS3 now uses the SQLite memory allocator exclusively. The FTS3 + amalgamation can now be appended to the SQLite amalgamation to + generate a super-amalgamation containing both. + * The DISTINCT keyword now will sometimes use an INDEX if an + appropriate index is available and the optimizer thinks its use + might be advantageous. + +------------------------------------------------------------------- +Mon Nov 5 09:40:03 CET 2007 - adrian@suse.de + +- update to version 3.5.2 + From the official changelog: + * The OS interface layer and the memory allocation subsystems in + SQLite have been reimplemented. The published API is largely + unchanged but the (unpublished) OS interface has been modified + extensively. Applications that implement their own OS interface + will require modification. + * This is a large change. Approximately 10% of the source code was + modified. + * Fix a long-standing bug that might cause database corruption if + a disk-full error occurs in the middle of a transaction and that + transaction is not rolled back. + +------------------------------------------------------------------- +Thu Oct 18 19:05:22 CEST 2007 - sbrabec@suse.cz + +- Build with column metadata support, as required by libgda. + +------------------------------------------------------------------- +Mon Aug 13 17:37:35 CEST 2007 - adrian@suse.de + +- call %post/%pre ldconfig again (#298292) + +------------------------------------------------------------------- +Mon Aug 6 17:40:32 CEST 2007 - adrian@suse.de + +- update to version 3.4.1 + * Bugfix release to solve database corruption + * remove static fts2 plugin patch, it is broken and get not used + * Changelog from the release: + - Fix a bug in VACUUM that can lead to database corruption if two + processes are connected to the database at the same time and one + VACUUMs then the other then modifies the database. + - The expression "+column" is now considered the same as "column" when + computing the collating sequence to use on the expression. + - In the TCL language interface, "@variable" instead of "$variable" always + binds as a blob. + - Added PRAGMA freelist_count for determining the current size of the + freelist. + - The PRAGMA auto_vacuum=incremental setting is now persistent. + - Add FD_CLOEXEC to all open files under unix. + - Fix a bug in the min()/max() optimization when applied to descending + indices. + - Make sure the TCL language interface works correctly with 64-bit integers + on 64-bit machines. + - Allow the value -9223372036854775808 as an integer literal in SQL + statements. + - Add the capability of "hidden" columns in virtual tables. + - Use the macro SQLITE_PRIVATE (defaulting to "static") on all internal + functions in the amalgamation. + - Add pluggable tokenizers and ICU tokenization support to FTS2 + - Other minor bug fixes and documentation enhancements + +------------------------------------------------------------------- +Tue Jun 26 11:29:19 CEST 2007 - adrian@suse.de + +- update to version 3.4.0 + WARNING: this version might cause incompatibilities due to new + limits. These limits could be raised again, if we run in + trouble, but let's follow upstream for now. + * Two important bugfixes for database corruption. + * New features like incremental BLOB I/O and incremental vacuum + +------------------------------------------------------------------- +Fri Apr 27 09:38:04 CEST 2007 - adrian@suse.de + +- update to version 3.3.17 + * bug fix in forwards-compatibility logic of SQLite + +------------------------------------------------------------------- +Thu Apr 19 12:04:35 CEST 2007 - adrian@suse.de + +- update to version 3.3.16 + * speed improvements were not enabled in .15 by accident + +------------------------------------------------------------------- +Mon Apr 16 10:45:39 CEST 2007 - adrian@suse.de + +- update to version 3.3.15 + * speed improvements + * new exclusive locking mode +- switch to -O3 now +- general spec file clean up + +------------------------------------------------------------------- +Mon Feb 19 11:46:31 CET 2007 - adrian@suse.de + +- update to version 3.3.13 + from the changelog: + * Add a "fragmentation" measurement in the output of sqlite3_analyzer. + * Add the COLLATE operator used to explicitly set the collating + sequence used by an expression. This feature is considered + experimental pending additional testing. + * Allow up to 64 tables in a join - the old limit was 32. + * Added two new experimental functions: randomBlob() and hex(). + Their intended use is to facilitate generating UUIDs. + * Fix a problem where PRAGMA count_changes was causing incorrect + results for updates on tables with triggers + * Fix a bug in the ORDER BY clause optimizer for joins where + the left-most table in the join is constrained by a UNIQUE index. + * Fixed a bug in the "copy" method of the TCL interface. + * Bug fixes in fts1 and fts2 modules. + +------------------------------------------------------------------- +Mon Feb 12 14:24:08 CET 2007 - dmueller@suse.de + +- fix library dependencies after loadable extensions were enabled + +------------------------------------------------------------------- +Tue Feb 6 17:04:03 CET 2007 - dmacvicar@suse.de + +- Enable support for loadable extensions + +------------------------------------------------------------------- +Mon Feb 5 13:16:20 CET 2007 - max@suse.de + +- Enable the fts1 and fts2 modules and link them in statically. + +------------------------------------------------------------------- +Wed Jan 31 08:57:50 CET 2007 - adrian@suse.de + +- update to version 3.3.12 + * further bugfixes, esp. for bugs introduced in 3.3.9 + +------------------------------------------------------------------- +Thu Jan 11 10:38:33 CET 2007 - adrian@suse.de + +- update to version 3.3.10 + * pure bug fix release + +------------------------------------------------------------------- +Tue Jan 9 13:43:26 CET 2007 - adrian@suse.de + +- update to version 3.3.9 + * fixes database corruption "under obscure and difficult to + reproduce circumstances". + * new sqlite3_prepare v2() api (new header file) + +------------------------------------------------------------------- +Mon Nov 6 12:09:35 CET 2006 - adrian@suse.de + +- fix permissions of installed man page + +------------------------------------------------------------------- +Mon Oct 16 17:23:39 CEST 2006 - adrian@suse.de + +- update to version 3.3.8 + * full-text search using the FTS1 module + * minor bufixes +- two testcases got disabled, because they fail. + We need to review the reason for that before shipping this package, + but this package builds again at least. + +------------------------------------------------------------------- +Wed Aug 23 12:28:42 CEST 2006 - adrian@suse.de + +- update to version 3.3.7 + * support for loadable extensions and virtual tables + * minor bugfixes + +------------------------------------------------------------------- +Thu May 18 12:52:29 CEST 2006 - adrian@suse.de + +- update to version 3.3.5 + Version 3.3 adds support for CHECK constraints, DESC indices, + separate REAL and INTEGER column affinities, a new OS interface + layer design, and many other changes. + The file format for version 3.3 has changed slightly. SQLite 3.3 + will read and write legacy databases created with any prior + version of SQLite 3. But databases created by version 3.3.0 will + not be readable or writable by earlier versions of the SQLite + +------------------------------------------------------------------- +Wed Mar 22 15:56:11 CET 2006 - schwab@suse.de + +- Fix another 64bit bug. + +------------------------------------------------------------------- +Wed Jan 25 21:41:45 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 9 14:55:01 CET 2006 - adrian@suse.de + +- disable "same thread check". It is only needed with broken + thread implementations and will be similar offered in sqlite 3.3 + +------------------------------------------------------------------- +Wed Jan 4 13:15:43 CET 2006 - adrian@suse.de + +- update to version 3.2.8 + * bugfix release + +------------------------------------------------------------------- +Tue Jan 3 14:32:02 CET 2006 - rguenthe@suse.de + +- Correct 64bit issues causing x86_64 testsuite failures. + +------------------------------------------------------------------- +Fri Dec 2 21:32:02 CET 2005 - jw@suse.de + +- VERSION parsing back to normal. + 3002007 looks better than 3000000 + +------------------------------------------------------------------- +Mon Oct 24 13:24:00 CEST 2005 - adrian@suse.de + +- fix build for 64bit + +------------------------------------------------------------------- +Mon Oct 17 09:38:03 CEST 2005 - adrian@suse.de + +- update to version 3.2.7 + * needed an additional fix for conflict.test + +------------------------------------------------------------------- +Tue Aug 30 15:02:55 CEST 2005 - jw@suse.de + +- disabled a timing test. This fixes failed builds + on heavy loaded autobuild hosts. + +------------------------------------------------------------------- +Wed Jun 29 18:54:12 CEST 2005 - jw@suse.de + +- configure script fixed: VERSION was misparsed. + +------------------------------------------------------------------- +Mon Jun 27 11:35:51 CEST 2005 - max@suse.de + +- Skip the testsuite if the underlaying file system doesn't + support fsync() on directories (e.g. tmpfs). + +------------------------------------------------------------------- +Tue Jun 21 10:46:36 CEST 2005 - max@suse.de + +- Update to version 3.2.2. +- Improved installation of the Tcl package. + +------------------------------------------------------------------- +Thu Apr 21 19:29:21 CEST 2005 - max@suse.de + +- Disabling of certain tests for certain architectures does not + seem to be needed anymore. + +------------------------------------------------------------------- +Wed Apr 20 01:20:42 CEST 2005 - ro@suse.de + +- get patch to even apply + +------------------------------------------------------------------- +Tue Apr 19 12:05:05 CEST 2005 - max@suse.de + +- Added a subpackage for the Tcl extension. + +------------------------------------------------------------------- +Fri Apr 8 17:23:52 CEST 2005 - adrian@suse.de + +- update to version 3.2.1 + +------------------------------------------------------------------- +Tue Mar 29 16:07:56 CEST 2005 - adrian@suse.de + +- update to version 3.2.0 + +------------------------------------------------------------------- +Mon Feb 28 08:23:34 CET 2005 - adrian@suse.de + +- update to version 3.1.3 + * a minor bugfix for VACUUM databases + * to remain compatible with future 3.2 databases +- obsoletes a testsuite workaround + +------------------------------------------------------------------- +Fri Feb 18 17:36:53 CET 2005 - adrian@suse.de + +- fix library versioning + +------------------------------------------------------------------- +Wed Feb 16 09:31:08 CET 2005 - adrian@suse.de + +- update to version 3.1.2 + * contains a criticial bugsfix, which can corrupted the database + when using the VACUUM command + +------------------------------------------------------------------- +Mon Nov 29 11:44:52 CET 2004 - adrian@suse.de + +- update to version 3.0.8 + +------------------------------------------------------------------- +Mon Nov 15 14:44:52 CET 2004 - adrian@suse.de + +- add susehelp desktop file for developer documentation + +------------------------------------------------------------------- +Mon Nov 15 13:29:09 CET 2004 - adrian@suse.de + +- fix libdir path in .la file for lib64 systems + +------------------------------------------------------------------- +Mon Oct 25 13:38:20 CEST 2004 - adrian@suse.de + +- enable utf-8 support + +------------------------------------------------------------------- +Fri Jul 30 13:21:06 CEST 2004 - adrian@suse.de + +- run "make alltest" + +------------------------------------------------------------------- +Thu Jul 29 18:51:48 CEST 2004 - adrian@suse.de + +- update to version 2.8.15 +- disable wrong tcl test case on 64bit + +------------------------------------------------------------------- +Mon Jun 21 09:59:55 CEST 2004 - adrian@suse.de + +- update to version 2.8.14 + +------------------------------------------------------------------- +Tue Jun 1 23:15:08 CEST 2004 - adrian@suse.de + +- package sqlite man page + +------------------------------------------------------------------- +Fri Apr 23 10:36:46 CEST 2004 - adrian@suse.de + +- update to version 2.8.13 + +------------------------------------------------------------------- +Mon Mar 1 10:58:10 CET 2004 - adrian@suse.de + +- disable format3 test case for ppc for now + +------------------------------------------------------------------- +Sun Feb 29 16:24:33 CET 2004 - adrian@suse.de + +- update to version 2.8.12 +- add usual 64bit fixes +- add -fno-strict-aliasing +- disable bigfile test case due to limits in autobuild + +------------------------------------------------------------------- +Thu Jan 22 09:15:59 CET 2004 - adrian@suse.de + +- update to version 2.8.11 + * one testcase fails on ppc, our ppc people will have a look + +------------------------------------------------------------------- +Mon Dec 29 17:52:40 CET 2003 - adrian@suse.de + +- update to version 2.8.8 + * several 64 bit fixes have been merged, some more are needed now +- ignore some not exact matching float test cases on s390* +- enable threading support + +------------------------------------------------------------------- +Tue Dec 2 17:08:42 CET 2003 - adrian@suse.de + +- initial package of version 2.8.6 +- a number of 64bit fixes +- some test cases got disabled, because they use an invalid Tcl + Interface for 64bit + diff --git a/sqlite3.spec b/sqlite3.spec new file mode 100644 index 0000000..22a7d51 --- /dev/null +++ b/sqlite3.spec @@ -0,0 +1,458 @@ +# +# spec file for package sqlite3 (Version 3.5.4) +# +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: sqlite3 +BuildRequires: gcc-c++ readline-devel tcl-devel +%if %{?suse_version:1}%{?!suse_version:0} +BuildRequires: update-desktop-files +%endif +License: Public Domain, Freeware +Group: Productivity/Databases/Servers +Summary: Embeddable SQL Database Engine +Url: http://www.sqlite.org/ +Version: 3.5.4 +Release: 1 +Requires: libsqlite3-0 = %version +Provides: sqlite = %version +Obsoletes: sqlite < %version +Source0: http://www.sqlite.org/sqlite-%version.tar.bz2 +Source1: sqlite.desktop +Source2: sqlite-check_fsync_dir.c +Patch0: sqlite.diff +Patch2: sqlite-test-notime.diff +Patch3: fix-64bit.diff +Patch7: sqlite-load-ext.diff +Patch8: disable-check.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +SQLite is a C library that implements an embeddable SQL database +engine. Programs that link with the SQLite library can have SQL +database access without running a separate RDBMS process. + +SQLite is not a client library used to connect to a big database +server. SQLite is a server and the SQLite library reads and writes +directly to and from the database files on disk. + +SQLite can be used via the sqlite command line tool or via any +application that supports the Qt database plug-ins. + + + +Authors: +-------- + D. Richard Hipp + +%package -n libsqlite3-0 +Summary: Shared libraries for the Embeddable SQL Database Engine +Group: Development/Libraries/C and C++ + +%description -n libsqlite3-0 +This package contains the shared libraries for the Embeddable SQL +Database Engine. + +SQLite is a C library that implements an embeddable SQL database +engine. Programs that link with the SQLite library can have SQL +database access without running a separate RDBMS process. + +SQLite is not a client library used to connect to a big database +server. SQLite is a server and the SQLite library reads and writes +directly to and from the database files on disk. + +SQLite can be used via the sqlite command line tool or via any +application that supports the Qt database plug-ins. + + + +Authors: +-------- + D. Richard Hipp + +%package tcl +Group: Development/Libraries/Tcl +Summary: Tcl binding for SQLite +Provides: sqlite-tcl = %version +Obsoletes: sqlite-tcl < %version + +%description tcl +SQLite is a C library that implements an embeddable SQL database +engine. Programs that link with the SQLite library can have SQL +database access without running a separate RDBMS process. + +This package contains an extension for the Tcl programming language to +access SQLite databases. + + + +Authors: +-------- + D. Richard Hipp + +%package devel +Group: Development/Libraries/C and C++ +Summary: Embeddable SQL Database Engine +Requires: %name = %version glibc-devel +Provides: sqlite-devel = %version +Obsoletes: sqlite-devel < %version + +%description devel +SQLite is a C library that implements an embeddable SQL database +engine. Programs that link with the SQLite library can have SQL +database access without running a separate RDBMS process. + +SQLite is not a client library used to connect to a big database +server; SQLite is the server. The SQLite library reads and writes +directly to and from the database files on disk. + +SQLite can be used via the sqlite command-line tool or via any +application which supports the Qt database plug-ins. + + + +Authors: +-------- + D. Richard Hipp + +%prep +%setup -q -n sqlite-%version +%patch0 +%patch2 +%ifarch x86_64 ppc64 s390x ia64 mips64 +%patch3 +%endif +%patch7 +%patch8 +# does not work due to our ulimits in our build system +rm test/bigfile.test + +%build +autoreconf -f -i + export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG=1 -O3 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SERVER=1" + export CXXFLAGS="$CFLAGS" + mkdir build + cd build + cp ../VERSION . + ../configure \ + --prefix=/usr \ + --libdir=%_libdir \ + --mandir=%_mandir \ + --enable-threadsafe \ + --enable-releasemode \ + --enable-tempstore=yes \ + --sysconfdir=/etc/ + make + # + # check if fsync() on directories works with the current file + # system, and skip the test suite if it doesn't. + # As of this writing, fsync() fails on directories inside tmpfs. + # + gcc %optflags -o check_fsync_dir %SOURCE2 + if ./check_fsync_dir; then + make fulltest + fi + +%install + cd build + make install \ + DESTDIR="$RPM_BUILD_ROOT" \ + tclscriptdir=%tclscriptdir \ + tcllibdir=%_libdir + install -d $RPM_BUILD_ROOT%_mandir/man1/ + install -m 0644 ../sqlite3.1 $RPM_BUILD_ROOT%_mandir/man1/ +#%if %{?suse_version:1}%{?!suse_version:0} +# sed -i 's,%buildroot,,' %buildroot/%tclscriptdir/sqlite*/pkgIndex.tcl +#%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +%post -n libsqlite3-0 -p /sbin/ldconfig + +%postun -n libsqlite3-0 -p /sbin/ldconfig + +%files +%defattr(-,root,root) +/usr/bin/sqlite3 +%_mandir/man1/* + +%files -n libsqlite3-0 +%defattr(-,root,root) +%_libdir/libsqlite*.so.* + +%files tcl +%defattr(-,root,root) +%tclscriptdir + +%files devel +%defattr(-,root,root) +/usr/include/*.h +%_libdir/libsqlite*.a +%_libdir/libsqlite*.la +%_libdir/libsqlite*.so +%_libdir/pkgconfig/sqlite3.pc + +%changelog +* Thu Jan 10 2008 - lrupp@suse.de +- split of libsqlite3-0 package (Shared Library Packaging Policy) +- rename sqlite to sqlite3 +* Tue Dec 18 2007 - adrian@suse.de +- update to version 3.5.4 + From official changelog: + * Fix a critical bug in UPDATE or DELETE that occurs when an + OR REPLACE clause or a trigger causes rows in the same table to be + deleted as side effects. (See ticket #2832.) The most likely result + of this bug is a segmentation fault, though database corruption is + a possibility. + * Bring the processing of ORDER BY into compliance with the SQL + standard for case where a result alias and a table column name are + in conflict. Correct behavior is to prefer the result alias. Older + versions of SQLite incorrectly picked the table column. (See ticket #2822.) + * The VACUUM command preserves the setting of the legacy_file_format + pragma. (Ticket #2804.) + * Productize and officially support the group_concat() SQL function. + * Better optimization of some IN operator expressions. + * Add the ability to change the auto_vacuum status of a database by + setting the auto_vaccum pragma and VACUUMing the database. + * Prefix search in FTS3 is much more efficient. + * Relax the SQL statement length restriction in the CLI so that the + ".dump" output of databases with very large BLOBs and strings can + be played back to recreate the database. + * Other small bug fixes and optimizations. +* Fri Nov 30 2007 - adrian@suse.de +- update to version 3.5.3 + * documentation has been removed from tar ball. + From official changelog: + * Fix a long-standing bug in INSERT INTO ... SELECT ... statements + where the SELECT is compound. + * Fix a long-standing bug in RAISE(IGNORE) as used in BEFORE triggers. + * Fixed the operator precedence for the ~ operator. + * Allow collating sequence names to be quoted. + * Modify the TCL interface to use sqlite3_prepare_v2(). + * Fix multiple bugs that can occur following a malloc() failure. + * sqlite3_step() returns SQLITE_MISUSE instead of crashing when + called with a NULL parameter. + * FTS3 now uses the SQLite memory allocator exclusively. The FTS3 + amalgamation can now be appended to the SQLite amalgamation to + generate a super-amalgamation containing both. + * The DISTINCT keyword now will sometimes use an INDEX if an + appropriate index is available and the optimizer thinks its use + might be advantageous. +* Mon Nov 05 2007 - adrian@suse.de +- update to version 3.5.2 + From the official changelog: + * The OS interface layer and the memory allocation subsystems in + SQLite have been reimplemented. The published API is largely + unchanged but the (unpublished) OS interface has been modified + extensively. Applications that implement their own OS interface + will require modification. + * This is a large change. Approximately 10%% of the source code was + modified. + * Fix a long-standing bug that might cause database corruption if + a disk-full error occurs in the middle of a transaction and that + transaction is not rolled back. +* Thu Oct 18 2007 - sbrabec@suse.cz +- Build with column metadata support, as required by libgda. +* Mon Aug 13 2007 - adrian@suse.de +- call %%post/%%pre ldconfig again (#298292) +* Mon Aug 06 2007 - adrian@suse.de +- update to version 3.4.1 + * Bugfix release to solve database corruption + * remove static fts2 plugin patch, it is broken and get not used + * Changelog from the release: + - Fix a bug in VACUUM that can lead to database corruption if two + processes are connected to the database at the same time and one + VACUUMs then the other then modifies the database. + - The expression "+column" is now considered the same as "column" when + computing the collating sequence to use on the expression. + - In the TCL language interface, "@variable" instead of "$variable" always + binds as a blob. + - Added PRAGMA freelist_count for determining the current size of the + freelist. + - The PRAGMA auto_vacuum=incremental setting is now persistent. + - Add FD_CLOEXEC to all open files under unix. + - Fix a bug in the min()/max() optimization when applied to descending + indices. + - Make sure the TCL language interface works correctly with 64-bit integers + on 64-bit machines. + - Allow the value -9223372036854775808 as an integer literal in SQL + statements. + - Add the capability of "hidden" columns in virtual tables. + - Use the macro SQLITE_PRIVATE (defaulting to "static") on all internal + functions in the amalgamation. + - Add pluggable tokenizers and ICU tokenization support to FTS2 + - Other minor bug fixes and documentation enhancements +* Tue Jun 26 2007 - adrian@suse.de +- update to version 3.4.0 + WARNING: this version might cause incompatibilities due to new + limits. These limits could be raised again, if we run in + trouble, but let's follow upstream for now. + * Two important bugfixes for database corruption. + * New features like incremental BLOB I/O and incremental vacuum +* Fri Apr 27 2007 - adrian@suse.de +- update to version 3.3.17 + * bug fix in forwards-compatibility logic of SQLite +* Thu Apr 19 2007 - adrian@suse.de +- update to version 3.3.16 + * speed improvements were not enabled in .15 by accident +* Mon Apr 16 2007 - adrian@suse.de +- update to version 3.3.15 + * speed improvements + * new exclusive locking mode +- switch to -O3 now +- general spec file clean up +* Mon Feb 19 2007 - adrian@suse.de +- update to version 3.3.13 + from the changelog: + * Add a "fragmentation" measurement in the output of sqlite3_analyzer. + * Add the COLLATE operator used to explicitly set the collating + sequence used by an expression. This feature is considered + experimental pending additional testing. + * Allow up to 64 tables in a join - the old limit was 32. + * Added two new experimental functions: randomBlob() and hex(). + Their intended use is to facilitate generating UUIDs. + * Fix a problem where PRAGMA count_changes was causing incorrect + results for updates on tables with triggers + * Fix a bug in the ORDER BY clause optimizer for joins where + the left-most table in the join is constrained by a UNIQUE index. + * Fixed a bug in the "copy" method of the TCL interface. + * Bug fixes in fts1 and fts2 modules. +* Mon Feb 12 2007 - dmueller@suse.de +- fix library dependencies after loadable extensions were enabled +* Tue Feb 06 2007 - dmacvicar@suse.de +- Enable support for loadable extensions +* Mon Feb 05 2007 - max@suse.de +- Enable the fts1 and fts2 modules and link them in statically. +* Wed Jan 31 2007 - adrian@suse.de +- update to version 3.3.12 + * further bugfixes, esp. for bugs introduced in 3.3.9 +* Thu Jan 11 2007 - adrian@suse.de +- update to version 3.3.10 + * pure bug fix release +* Tue Jan 09 2007 - adrian@suse.de +- update to version 3.3.9 + * fixes database corruption "under obscure and difficult to + reproduce circumstances". + * new sqlite3_prepare v2() api (new header file) +* Mon Nov 06 2006 - adrian@suse.de +- fix permissions of installed man page +* Mon Oct 16 2006 - adrian@suse.de +- update to version 3.3.8 + * full-text search using the FTS1 module + * minor bufixes +- two testcases got disabled, because they fail. + We need to review the reason for that before shipping this package, + but this package builds again at least. +* Wed Aug 23 2006 - adrian@suse.de +- update to version 3.3.7 + * support for loadable extensions and virtual tables + * minor bugfixes +* Thu May 18 2006 - adrian@suse.de +- update to version 3.3.5 + Version 3.3 adds support for CHECK constraints, DESC indices, + separate REAL and INTEGER column affinities, a new OS interface + layer design, and many other changes. + The file format for version 3.3 has changed slightly. SQLite 3.3 + will read and write legacy databases created with any prior + version of SQLite 3. But databases created by version 3.3.0 will + not be readable or writable by earlier versions of the SQLite +* Wed Mar 22 2006 - schwab@suse.de +- Fix another 64bit bug. +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Mon Jan 09 2006 - adrian@suse.de +- disable "same thread check". It is only needed with broken + thread implementations and will be similar offered in sqlite 3.3 +* Wed Jan 04 2006 - adrian@suse.de +- update to version 3.2.8 + * bugfix release +* Tue Jan 03 2006 - rguenthe@suse.de +- Correct 64bit issues causing x86_64 testsuite failures. +* Fri Dec 02 2005 - jw@suse.de +- VERSION parsing back to normal. + 3002007 looks better than 3000000 +* Mon Oct 24 2005 - adrian@suse.de +- fix build for 64bit +* Mon Oct 17 2005 - adrian@suse.de +- update to version 3.2.7 + * needed an additional fix for conflict.test +* Tue Aug 30 2005 - jw@suse.de +- disabled a timing test. This fixes failed builds + on heavy loaded autobuild hosts. +* Wed Jun 29 2005 - jw@suse.de +- configure script fixed: VERSION was misparsed. +* Mon Jun 27 2005 - max@suse.de +- Skip the testsuite if the underlaying file system doesn't + support fsync() on directories (e.g. tmpfs). +* Tue Jun 21 2005 - max@suse.de +- Update to version 3.2.2. +- Improved installation of the Tcl package. +* Thu Apr 21 2005 - max@suse.de +- Disabling of certain tests for certain architectures does not + seem to be needed anymore. +* Wed Apr 20 2005 - ro@suse.de +- get patch to even apply +* Tue Apr 19 2005 - max@suse.de +- Added a subpackage for the Tcl extension. +* Fri Apr 08 2005 - adrian@suse.de +- update to version 3.2.1 +* Tue Mar 29 2005 - adrian@suse.de +- update to version 3.2.0 +* Mon Feb 28 2005 - adrian@suse.de +- update to version 3.1.3 + * a minor bugfix for VACUUM databases + * to remain compatible with future 3.2 databases +- obsoletes a testsuite workaround +* Fri Feb 18 2005 - adrian@suse.de +- fix library versioning +* Wed Feb 16 2005 - adrian@suse.de +- update to version 3.1.2 + * contains a criticial bugsfix, which can corrupted the database + when using the VACUUM command +* Mon Nov 29 2004 - adrian@suse.de +- update to version 3.0.8 +* Mon Nov 15 2004 - adrian@suse.de +- add susehelp desktop file for developer documentation +* Mon Nov 15 2004 - adrian@suse.de +- fix libdir path in .la file for lib64 systems +* Mon Oct 25 2004 - adrian@suse.de +- enable utf-8 support +* Fri Jul 30 2004 - adrian@suse.de +- run "make alltest" +* Thu Jul 29 2004 - adrian@suse.de +- update to version 2.8.15 +- disable wrong tcl test case on 64bit +* Mon Jun 21 2004 - adrian@suse.de +- update to version 2.8.14 +* Tue Jun 01 2004 - adrian@suse.de +- package sqlite man page +* Fri Apr 23 2004 - adrian@suse.de +- update to version 2.8.13 +* Mon Mar 01 2004 - adrian@suse.de +- disable format3 test case for ppc for now +* Sun Feb 29 2004 - adrian@suse.de +- update to version 2.8.12 +- add usual 64bit fixes +- add -fno-strict-aliasing +- disable bigfile test case due to limits in autobuild +* Thu Jan 22 2004 - adrian@suse.de +- update to version 2.8.11 + * one testcase fails on ppc, our ppc people will have a look +* Mon Dec 29 2003 - adrian@suse.de +- update to version 2.8.8 + * several 64 bit fixes have been merged, some more are needed now +- ignore some not exact matching float test cases on s390* +- enable threading support +* Tue Dec 02 2003 - adrian@suse.de +- initial package of version 2.8.6 +- a number of 64bit fixes +- some test cases got disabled, because they use an invalid Tcl + Interface for 64bit