debian/0000775000000000000000000000000013433547326007202 5ustar debian/libsqlite3-tcl.dirs0000664000000000000000000000001011543606320012675 0ustar usr/lib debian/libsqlite3-0.dirs0000664000000000000000000000001011346740676012270 0ustar usr/lib debian/control0000664000000000000000000000713212261313005010567 0ustar Source: sqlite3 Section: devel Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Laszlo Boszormenyi (GCS) Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 9), autoconf (>= 2.59), libtool (>= 1.5.2), automake, autotools-dev, chrpath, libreadline-dev, tcl8.6-dev, dh-autoreconf Build-Conflicts: tcl8.4, tcl8.4-dev, tcl8.5, tcl8.5-dev Homepage: http://www.sqlite.org/ Standards-Version: 3.9.4 Package: lemon Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: LALR(1) Parser Generator for C or C++ Lemon is an LALR(1) parser generator for C or C++. It does the same job as bison and yacc. But lemon is not another bison or yacc clone. It uses a different grammar syntax which is designed to reduce the number of coding errors. Lemon also uses a more sophisticated parsing engine that is faster than yacc and bison and which is both reentrant and thread-safe. Furthermore, Lemon implements features that can be used to eliminate resource leaks, making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers. Package: sqlite3 Section: database Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libsqlite3-0 (= ${binary:Version}) Suggests: sqlite3-doc Multi-Arch: foreign Description: Command line interface for SQLite 3 SQLite is a C library that implements an SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. Package: sqlite3-doc Section: doc Architecture: all Depends: ${misc:Depends} Recommends: sqlite3 Description: SQLite 3 documentation SQLite is a C library that implements an SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. . This package contains the documentation that is also available on the SQLite homepage. Package: libsqlite3-0-dbg Section: debug Architecture: any Priority: extra Depends: libsqlite3-0 (= ${binary:Version}), ${misc:Depends} Multi-Arch: foreign Description: SQLite 3 debugging symbols SQLite is a C library that implements an SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. . This package contains the debugging symbols for the libraries. Package: libsqlite3-0 Section: libs Architecture: any Priority: standard Depends: ${shlibs:Depends}, ${misc:Depends} Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Description: SQLite 3 shared library SQLite is a C library that implements an SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. Package: libsqlite3-dev Suggests: sqlite3-doc Section: libdevel Architecture: any Depends: libsqlite3-0 (= ${binary:Version}), ${misc:Depends}, libc6-dev Multi-Arch: same Description: SQLite 3 development files SQLite is a C library that implements an SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. . This package contains the development files (headers, static libraries) Package: libsqlite3-tcl Suggests: sqlite3-doc Section: interpreters Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: SQLite 3 Tcl bindings SQLite is a C library that implements an SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. . This package contains the Tcl bindings. debian/clean-www.sh0000775000000000000000000000024112066321704011431 0ustar #!/bin/sh rm -f www/images/fileformat/._filesystem1.gif rm -f www/images/fileformat/._master_journal_ptr.gif rm -f www/images/fileformat/.~lock.indexpage.odg# debian/libsqlite3-tcl.install0000664000000000000000000000005611543606320013414 0ustar usr/lib/tcltk/sqlite3 usr/lib/tcltk/ debian/libsqlite3-0.postinst0000664000000000000000000000011411524615500013200 0ustar #!/bin/sh set -e if [ "$1" = "configure" ] then ldconfig fi #DEBHELPER# debian/lemon.docs0000664000000000000000000000001712123400341011140 0ustar doc/lemon.html debian/rules0000775000000000000000000001031212261314062010242 0ustar #!/usr/bin/make -f #-*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk DESTDIR=$(CURDIR)/debian/tmp DDEBUG=`if (echo $(DEB_BUILD_OPTIONS) | grep -q debug) then \ echo "--enable-debug"; \ else \ echo ""; \ fi` export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) confflags += --build $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/lib/$(DEB_HOST_MULTIARCH)/tcl8.6 export CROSS_BUILDING=no else confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/lib/$(DEB_HOST_MULTIARCH)/tcl8.6 LDFLAGS=-L/usr/lib/$(DEB_HOST_MULTIARCH) export CROSS_BUILDING=yes endif #export DEB_CFLAGS_MAINT_APPEND = -O2 -fno-strict-aliasing export CFLAGS += -O2 -fno-strict-aliasing \ -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_COLUMN_METADATA \ -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SOUNDEX=1 \ -DSQLITE_ENABLE_UNLOCK_NOTIFY \ -DSQLITE_OMIT_LOOKASIDE=1 \ -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \ -DSQLITE_MAX_SCHEMA_RETRY=25 \ -DSQLITE_MAX_VARIABLE_NUMBER=250000 configure: configure-stamp configure-stamp: dh_testdir dh_autoreconf dh_autotools-dev_updateconfig ./configure --prefix=/usr --mandir="/usr/share/man" \ $(confflags) --enable-threadsafe \ --enable-load-extension \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ --libexecdir=\$${libdir}/sqlite3 \ TCLLIBDIR=/usr/lib/tcltk/sqlite3 \ $(DDEBUG) # remove double -ldl from sqlite3.pc sed -i "s/\([-ldl .+]\) -ldl/\1/" sqlite3.pc touch $@ build-arch: build-stamp build-indep: build-stamp build: build-arch build-indep build-stamp: configure dh_testdir $(MAKE) ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) $(MAKE) lemon endif touch $@ clean: dh_testdir dh_testroot rm -f configure-stamp build-stamp rm -f config.log config.h pkgIndex.tcl configure [ ! -f Makefile ] || $(MAKE) distclean rm -f config.h rm -f debian/libsqlite3-0.install debian/libsqlite3-dev.install dh_autotools-dev_restoreconfig dh_autoreconf_clean dh_clean install: build dh_testdir dh_testroot $(MAKE) install DESTDIR=$(DESTDIR) chrpath -d $(DESTDIR)/usr/bin/sqlite3 chrpath -d $(DESTDIR)/usr/lib/tcltk/sqlite3/libtclsqlite3.so install -m 0664 libtclsqlite3.la $(DESTDIR)/usr/lib/tcltk/sqlite3/ install -d $(DESTDIR)/usr/share/lemon install -m 0664 tool/lempar.c $(DESTDIR)/usr/share/lemon/ install -m 0775 lemon $(DESTDIR)/usr/bin # Remove *.la files per policy 3.9.1.0 sed -i "/dependency_libs/ s/'.*'/''/" `find $(DESTDIR) -name '*.la'` # Create the pkgIndex.tcl file for the Tcl module. This generated file # actually turns out to be relocatable. ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) echo "pkg_mkIndex -verbose $(DESTDIR)/usr/lib/tcltk/sqlite3" | \ LD_LIBRARY_PATH=$(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH) \ tclsh8.6 grep -q 'package ifneeded sqlite3' \ $(DESTDIR)/usr/lib/tcltk/sqlite3/pkgIndex.tcl || \ (echo "pkgIndex.tcl seems to be wrong" && exit 1) else echo "" > $(DESTDIR)/usr/lib/tcltk/sqlite3/pkgIndex.tcl endif binary-indep: build install dh_testdir dh_testroot dh_install -i --sourcedir=$(DESTDIR) dh_installdocs -i dh_installchangelogs -i www/changes.html dh_compress -i dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i binary-arch: build install dh_testdir dh_testroot for file in libsqlite3-0.install libsqlite3-dev.install; do \ sed -e"s,\$${DEB_HOST_MULTIARCH},${DEB_HOST_MULTIARCH},g" \ debian/$${file}.in > debian/$$file; \ done dh_install -a --sourcedir=$(DESTDIR) dh_installman -a dh_installdocs -a dh_installchangelogs -a www/changes.html dh_strip -a --dbg-package=libsqlite3-0-dbg dh_compress -a dh_fixperms -a dh_makeshlibs -a dh_installdeb -a dh_shlibdeps -a -Ldebian/libsqlite3-0/usr/lib/$(DEB_HOST_MULTIARCH) dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary-arch .PHONY: build build-indep build-arch clean configure binary-indep binary-arch binary debian/sqlite3.manpages0000664000000000000000000000001211524620103012254 0ustar sqlite3.1 debian/libsqlite3-0.symbols0000664000000000000000000001541312212542504013013 0ustar libsqlite3.so.0 libsqlite3-0 #MINVER# sqlite3_aggregate_context@Base 3.5.9 sqlite3_aggregate_count@Base 3.5.9 sqlite3_auto_extension@Base 3.5.9 sqlite3_backup_finish@Base 3.6.11 sqlite3_backup_init@Base 3.6.11 sqlite3_backup_pagecount@Base 3.6.11 sqlite3_backup_remaining@Base 3.6.11 sqlite3_backup_step@Base 3.6.11 sqlite3_bind_blob@Base 3.5.9 sqlite3_bind_double@Base 3.5.9 sqlite3_bind_int64@Base 3.5.9 sqlite3_bind_int@Base 3.5.9 sqlite3_bind_null@Base 3.5.9 sqlite3_bind_parameter_count@Base 3.5.9 sqlite3_bind_parameter_index@Base 3.5.9 sqlite3_bind_parameter_name@Base 3.5.9 sqlite3_bind_text16@Base 3.5.9 sqlite3_bind_text@Base 3.5.9 sqlite3_bind_value@Base 3.5.9 sqlite3_bind_zeroblob@Base 3.5.9 sqlite3_blob_bytes@Base 3.5.9 sqlite3_blob_close@Base 3.5.9 sqlite3_blob_open@Base 3.5.9 sqlite3_blob_read@Base 3.5.9 sqlite3_blob_reopen@Base 3.7.4 sqlite3_blob_write@Base 3.5.9 sqlite3_busy_handler@Base 3.5.9 sqlite3_busy_timeout@Base 3.5.9 sqlite3_cancel_auto_extension@Base 3.8.0.1 sqlite3_changes@Base 3.5.9 sqlite3_clear_bindings@Base 3.5.9 sqlite3_close@Base 3.5.9 sqlite3_close_v2@Base 3.7.14 sqlite3_collation_needed16@Base 3.5.9 sqlite3_collation_needed@Base 3.5.9 sqlite3_column_blob@Base 3.5.9 sqlite3_column_bytes16@Base 3.5.9 sqlite3_column_bytes@Base 3.5.9 sqlite3_column_count@Base 3.5.9 sqlite3_column_database_name16@Base 3.5.9 sqlite3_column_database_name@Base 3.5.9 sqlite3_column_decltype16@Base 3.5.9 sqlite3_column_decltype@Base 3.5.9 sqlite3_column_double@Base 3.5.9 sqlite3_column_int64@Base 3.5.9 sqlite3_column_int@Base 3.5.9 sqlite3_column_name16@Base 3.5.9 sqlite3_column_name@Base 3.5.9 sqlite3_column_origin_name16@Base 3.5.9 sqlite3_column_origin_name@Base 3.5.9 sqlite3_column_table_name16@Base 3.5.9 sqlite3_column_table_name@Base 3.5.9 sqlite3_column_text16@Base 3.5.9 sqlite3_column_text@Base 3.5.9 sqlite3_column_type@Base 3.5.9 sqlite3_column_value@Base 3.5.9 sqlite3_commit_hook@Base 3.5.9 sqlite3_compileoption_get@Base 3.6.23 sqlite3_compileoption_used@Base 3.6.23 sqlite3_complete16@Base 3.5.9 sqlite3_complete@Base 3.5.9 sqlite3_config@Base 3.6.0 sqlite3_context_db_handle@Base 3.5.9 sqlite3_create_collation16@Base 3.5.9 sqlite3_create_collation@Base 3.5.9 sqlite3_create_collation_v2@Base 3.5.9 sqlite3_create_function16@Base 3.5.9 sqlite3_create_function@Base 3.5.9 sqlite3_create_function_v2@Base 3.7.3 sqlite3_create_module@Base 3.5.9 sqlite3_create_module_v2@Base 3.5.9 sqlite3_data_count@Base 3.5.9 sqlite3_data_directory@Base 3.7.13 sqlite3_db_config@Base 3.6.1 sqlite3_db_filename@Base 3.7.10 sqlite3_db_handle@Base 3.5.9 sqlite3_db_mutex@Base 3.6.5 sqlite3_db_readonly@Base 3.7.11 sqlite3_db_release_memory@Base 3.7.10 sqlite3_db_status@Base 3.6.1 sqlite3_declare_vtab@Base 3.5.9 sqlite3_enable_load_extension@Base 3.5.9 sqlite3_enable_shared_cache@Base 3.5.9 sqlite3_errcode@Base 3.5.9 sqlite3_errmsg16@Base 3.5.9 sqlite3_errmsg@Base 3.5.9 sqlite3_errstr@Base 3.7.15 sqlite3_exec@Base 3.5.9 sqlite3_expired@Base 3.5.9 sqlite3_extended_errcode@Base 3.6.5 sqlite3_extended_result_codes@Base 3.5.9 sqlite3_file_control@Base 3.5.9 sqlite3_finalize@Base 3.5.9 sqlite3_free@Base 3.5.9 sqlite3_free_table@Base 3.5.9 sqlite3_get_autocommit@Base 3.5.9 sqlite3_get_auxdata@Base 3.5.9 sqlite3_get_table@Base 3.5.9 sqlite3_global_recover@Base 3.5.9 sqlite3_initialize@Base 3.6.0 sqlite3_interrupt@Base 3.5.9 sqlite3_last_insert_rowid@Base 3.5.9 sqlite3_libversion@Base 3.5.9 sqlite3_libversion_number@Base 3.5.9 sqlite3_limit@Base 3.5.9 sqlite3_load_extension@Base 3.5.9 sqlite3_log@Base 3.6.23 sqlite3_malloc@Base 3.5.9 sqlite3_memory_alarm@Base 3.5.9 sqlite3_memory_highwater@Base 3.5.9 sqlite3_memory_used@Base 3.5.9 sqlite3_mprintf@Base 3.5.9 sqlite3_mutex_alloc@Base 3.5.9 sqlite3_mutex_enter@Base 3.5.9 sqlite3_mutex_free@Base 3.5.9 sqlite3_mutex_leave@Base 3.5.9 sqlite3_mutex_try@Base 3.5.9 sqlite3_next_stmt@Base 3.6.0 sqlite3_open16@Base 3.5.9 sqlite3_open@Base 3.5.9 sqlite3_open_v2@Base 3.5.9 sqlite3_os_end@Base 3.6.0 sqlite3_os_init@Base 3.6.0 sqlite3_overload_function@Base 3.5.9 sqlite3_prepare16@Base 3.5.9 sqlite3_prepare16_v2@Base 3.5.9 sqlite3_prepare@Base 3.5.9 sqlite3_prepare_v2@Base 3.5.9 sqlite3_profile@Base 3.5.9 sqlite3_progress_handler@Base 3.5.9 sqlite3_randomness@Base 3.5.9 sqlite3_realloc@Base 3.5.9 sqlite3_release_memory@Base 3.5.9 sqlite3_reset@Base 3.5.9 sqlite3_reset_auto_extension@Base 3.5.9 sqlite3_result_blob@Base 3.5.9 sqlite3_result_double@Base 3.5.9 sqlite3_result_error16@Base 3.5.9 sqlite3_result_error@Base 3.5.9 sqlite3_result_error_code@Base 3.5.9 sqlite3_result_error_nomem@Base 3.5.9 sqlite3_result_error_toobig@Base 3.5.9 sqlite3_result_int64@Base 3.5.9 sqlite3_result_int@Base 3.5.9 sqlite3_result_null@Base 3.5.9 sqlite3_result_text16@Base 3.5.9 sqlite3_result_text16be@Base 3.5.9 sqlite3_result_text16le@Base 3.5.9 sqlite3_result_text@Base 3.5.9 sqlite3_result_value@Base 3.5.9 sqlite3_result_zeroblob@Base 3.5.9 sqlite3_rollback_hook@Base 3.5.9 sqlite3_rtree_geometry_callback@Base 3.6.0 sqlite3_set_authorizer@Base 3.5.9 sqlite3_set_auxdata@Base 3.5.9 sqlite3_shutdown@Base 3.6.0 sqlite3_sleep@Base 3.5.9 sqlite3_snprintf@Base 3.5.9 sqlite3_soft_heap_limit64@Base 3.7.3 sqlite3_soft_heap_limit@Base 3.5.9 sqlite3_sourceid@Base 3.6.18 sqlite3_sql@Base 3.5.9 sqlite3_status@Base 3.6.0 sqlite3_step@Base 3.5.9 sqlite3_stmt_busy@Base 3.7.10 sqlite3_stmt_readonly@Base 3.7.4 sqlite3_stmt_status@Base 3.6.4 sqlite3_strglob@Base 3.7.17 sqlite3_stricmp@Base 3.7.11 sqlite3_strnicmp@Base 3.6.17 sqlite3_table_column_metadata@Base 3.5.9 sqlite3_temp_directory@Base 3.5.9 sqlite3_test_control@Base 3.5.9 sqlite3_thread_cleanup@Base 3.5.9 sqlite3_threadsafe@Base 3.5.9 sqlite3_total_changes@Base 3.5.9 sqlite3_trace@Base 3.5.9 sqlite3_transfer_bindings@Base 3.5.9 sqlite3_unlock_notify@Base 3.6.12 sqlite3_update_hook@Base 3.5.9 sqlite3_uri_boolean@Base 3.7.10 sqlite3_uri_int64@Base 3.7.10 sqlite3_uri_parameter@Base 3.7.7 sqlite3_user_data@Base 3.5.9 sqlite3_value_blob@Base 3.5.9 sqlite3_value_bytes16@Base 3.5.9 sqlite3_value_bytes@Base 3.5.9 sqlite3_value_double@Base 3.5.9 sqlite3_value_int64@Base 3.5.9 sqlite3_value_int@Base 3.5.9 sqlite3_value_numeric_type@Base 3.5.9 sqlite3_value_text16@Base 3.5.9 sqlite3_value_text16be@Base 3.5.9 sqlite3_value_text16le@Base 3.5.9 sqlite3_value_text@Base 3.5.9 sqlite3_value_type@Base 3.5.9 sqlite3_version@Base 3.5.9 sqlite3_vfs_find@Base 3.6.0 sqlite3_vfs_register@Base 3.6.0 sqlite3_vfs_unregister@Base 3.6.0 sqlite3_vmprintf@Base 3.5.9 sqlite3_vsnprintf@Base 3.7.5 sqlite3_vtab_config@Base 3.7.7 sqlite3_vtab_on_conflict@Base 3.7.7 sqlite3_wal_autocheckpoint@Base 3.7.0 sqlite3_wal_checkpoint@Base 3.7.0 sqlite3_wal_checkpoint_v2@Base 3.7.6.1 sqlite3_wal_hook@Base 3.7.0 debian/patches/0000775000000000000000000000000013433547326010631 5ustar debian/patches/02-lemon-snprintf.patch0000664000000000000000000000536412024324656015046 0ustar --- sqlite3-3.6.10.orig/tool/lemon.c 2010-03-13 17:12:20.004507610 +0000 +++ sqlite3-3.6.10/tool/lemon.c 2010-03-13 17:25:51.799607483 +0000 @@ -2347,7 +2347,7 @@ for(z=psp->filename, nBack=0; *z; z++){ if( *z=='\\' ) nBack++; } - sprintf(zLine, "#line %d ", psp->tokenlineno); + snprintf(zLine,sizeof zLine, "#line %d ", psp->tokenlineno); nLine = lemonStrlen(zLine); n += nLine + lemonStrlen(psp->filename) + nBack; } @@ -2916,7 +2916,7 @@ while( cfp ){ char buf[20]; if( cfp->dot==cfp->rp->nrhs ){ - sprintf(buf,"(%d)",cfp->rp->index); + snprintf(buf,sizeof buf,"(%d)",cfp->rp->index); fprintf(fp," %5s ",buf); }else{ fprintf(fp," "); @@ -2970,6 +2970,7 @@ char *pathbufptr; char *pathbuf; char *path,*cp; + size_t pathsz; char c; #ifdef __WIN32__ @@ -3087,14 +3121,16 @@ cp = strrchr(lemp->filename,'.'); if( cp ){ - sprintf(buf,"%.*s.lt",(int)(cp-lemp->filename),lemp->filename); + snprintf(buf,sizeof buf,"%.*s.lt",(int)(cp-lemp->filename),lemp->filename); }else{ - sprintf(buf,"%s.lt",lemp->filename); + snprintf(buf,sizeof buf,"%s.lt",lemp->filename); } if( access(buf,004)==0 ){ tpltname = buf; }else if( access(templatename,004)==0 ){ tpltname = templatename; + }else if( access("/usr/share/lemon/lempar.c",004)==0 ){ + tpltname = "/usr/share/lemon/lempar.c"; }else{ tpltname = pathsearch(lemp->argv0,templatename,0); } @@ -3106,7 +3109,7 @@ } in = fopen(tpltname,"rb"); if( in==0 ){ - fprintf(stderr,"Can't open the template file \"%s\".\n",templatename); + fprintf(stderr,"Can't open the template file \"%s\".\n",tpltname); lemp->errorcnt++; return 0; } @@ -3240,7 +3243,7 @@ while( n-- > 0 ){ c = *(zText++); if( c=='%' && n>0 && zText[0]=='d' ){ - sprintf(zInt, "%d", p1); + snprintf(zInt,sizeof zInt, "%d", p1); p1 = p2; strcpy(&z[used], zInt); used += lemonStrlen(&z[used]); @@ -3856,7 +3859,7 @@ /* Generate a table containing the symbolic name of every symbol */ for(i=0; insymbol; i++){ - sprintf(line,"\"%s\",",lemp->symbols[i]->name); + snprintf(line,sizeof line,"\"%s\",",lemp->symbols[i]->name); fprintf(out," %-15s",line); if( (i&3)==3 ){ fprintf(out,"\n"); lineno++; } } @@ -4023,7 +4023,7 @@ if( in ){ int nextChar; for(i=1; interminal && fgets(line,LINESIZE,in); i++){ - sprintf(pattern,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i); + snprintf(pattern,sizeof pattern,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i); if( strcmp(line,pattern) ) break; } nextChar = fgetc(in); debian/patches/10-665363-disable-malloc-usable-size.patch0000664000000000000000000000121711747452245017735 0ustar Description: Disable malloc_usable_size Disable code introduced in sqlite 3.7.10 using malloc_usable_size, as it caused a regression on 64-bit platforms. Author: Steven Chamberlain Bug-Debian: http://bugs.debian.org/665363 --- sqlite3-3.7.11.orig/configure.ac +++ sqlite3-3.7.11/configure.ac @@ -127,7 +127,7 @@ ######### # Figure out whether or not we have these functions # -AC_CHECK_FUNCS([usleep fdatasync localtime_r gmtime_r localtime_s utime malloc_usable_size]) +AC_CHECK_FUNCS([usleep fdatasync localtime_r gmtime_r localtime_s utime]) ######### # By default, we use the amalgamation (this may be changed below...) debian/patches/0002-Better-error-message-text-when-the-schema-is-corrupt.patch0000664000000000000000000000367013433547165024300 0ustar From: "D. Richard Hipp" Date: Fri, 16 Mar 2018 20:15:58 +0000 Subject: [PATCH] Better error message text when the schema is corrupted by a CREATE TABLE AS entry. --- src/build.c | 6 ++++-- src/parse.y | 9 ++------- src/prepare.c | 2 +- 3 files changed, 7 insertions(+), 10 deletions(-) --- sqlite3-3.8.2.orig/src/build.c +++ sqlite3-3.8.2/src/build.c @@ -1758,8 +1758,6 @@ void sqlite3EndTable( p = pParse->pNewTable; if( p==0 ) return; - assert( !db->init.busy || !pSelect ); - /* If the db->init.busy is 1 it means we are reading the SQL off the ** "sqlite_master" or "sqlite_temp_master" table on the disk. ** So do not write to the disk again. Extract the root page number @@ -1767,6 +1765,10 @@ void sqlite3EndTable( ** should have been put there by the sqliteOpenCb routine.) */ if( db->init.busy ){ + if( pSelect ){ + sqlite3ErrorMsg(pParse, ""); + return; + } p->tnum = db->init.newTnum; } --- sqlite3-3.8.2.orig/src/parse.y +++ sqlite3-3.8.2/src/parse.y @@ -167,13 +167,8 @@ create_table_args ::= LP columnlist cons sqlite3EndTable(pParse,&X,&E,F,0); } create_table_args ::= AS select(S). { - if( pParse->db->init.busy==0 ){ - sqlite3EndTable(pParse,0,0,0,S); - sqlite3SelectDelete(pParse->db, S); - }else{ - sqlite3SelectDelete(pParse->db, S); - sqlite3ErrorMsg(pParse, "corrupt schema"); - } + sqlite3EndTable(pParse,0,0,0,S); + sqlite3SelectDelete(pParse->db, S); } %type table_options {u8} table_options(A) ::= . {A = 0;} --- sqlite3-3.8.2.orig/src/prepare.c +++ sqlite3-3.8.2/src/prepare.c @@ -29,7 +29,7 @@ static void corruptSchema( if( zObj==0 ) zObj = "?"; sqlite3SetString(pData->pzErrMsg, db, "malformed database schema (%s)", zObj); - if( zExtra ){ + if( zExtra && zExtra[0] ) { *pData->pzErrMsg = sqlite3MAppendf(db, *pData->pzErrMsg, "%s - %s", *pData->pzErrMsg, zExtra); } debian/patches/30-cross.patch0000664000000000000000000000304612207754421013220 0ustar Index: sqlite3-3.7.4/Makefile.in =================================================================== --- sqlite3-3.7.4.orig/Makefile.in +++ sqlite3-3.7.4/Makefile.in @@ -555,10 +555,20 @@ # Rules to build the LEMON compiler generator # -lemon$(BEXE): $(TOP)/tool/lemon.c $(TOP)/src/lempar.c +lemon-for-build$(BEXE): $(TOP)/tool/lemon.c $(TOP)/src/lempar.c $(BCC) -o $@ $(TOP)/tool/lemon.c cp $(TOP)/src/lempar.c . +lemon$(TEXE): $(TOP)/tool/lemon.c $(TOP)/src/lempar.c + $(LTLINK) -o $@ $(TOP)/tool/lemon.c + cp $(TOP)/src/lempar.c . + +ifeq ($(CROSS_BUILDING),yes) +LEMON_FOR_BUILD = lemon-for-build$(BEXE) +else +LEMON_FOR_BUILD = lemon$(TEXE) +endif + # Rules to build individual *.o files from generated *.c files. This # applies to: # @@ -805,10 +805,10 @@ # parse.h: parse.c -parse.c: $(TOP)/src/parse.y lemon$(BEXE) $(TOP)/addopcodes.awk +parse.c: $(TOP)/src/parse.y $(LEMON_FOR_BUILD) $(TOP)/addopcodes.awk cp $(TOP)/src/parse.y . rm -f parse.h - ./lemon$(BEXE) $(OPT_FEATURE_FLAGS) $(OPTS) parse.y + ./$(LEMON_FOR_BUILD) $(OPT_FEATURE_FLAGS) $(OPTS) parse.y mv parse.h parse.h.temp $(NAWK) -f $(TOP)/addopcodes.awk parse.h.temp >parse.h @@ -958,7 +968,10 @@ rm -f *.lo *.la *.o sqlite3$(TEXE) libsqlite3.la rm -f sqlite3.h opcodes.* rm -rf .libs .deps - rm -f lemon$(BEXE) lempar.c parse.* sqlite*.tar.gz + rm -f $(LEMON_FOR_BUILD) lempar.c parse.* sqlite*.tar.gz +ifeq ($(CROSS_BUILDING), yes) + rm -f lemon$(TEXE) +endif rm -f mkkeywordhash$(BEXE) keywordhash.h rm -f *.da *.bb *.bbg gmon.out rm -rf quota2a quota2b quota2c debian/patches/10-520478-squash-bad-deps.patch0000664000000000000000000000163712232277007015617 0ustar --- sqlite3-3.8.1.orig/Makefile.in +++ sqlite3-3.8.1/Makefile.in @@ -503,18 +503,20 @@ sqlite3.pc: $(TOP)/sqlite3.pc.in libsqlite3.la: $(LIBOBJ) $(LTLINK) -no-undefined -o $@ $(LIBOBJ) $(TLIBS) \ ${ALLOWRELEASE} -rpath "$(libdir)" -version-info "8:6:8" + sed -i "/dependency_libs/s/'.*'/''/" $@ libtclsqlite3.la: tclsqlite.lo libsqlite3.la $(LTLINK) -no-undefined -o $@ tclsqlite.lo \ - libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ + libsqlite3.la @TCL_STUB_LIB_SPEC@ \ -rpath "$(TCLLIBDIR)" \ -version-info "8:6:8" \ -avoid-version + sed -i "/dependency_libs/s/'.*'/''/" $@ sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h $(LTLINK) $(READLINE_FLAGS) \ -o $@ $(TOP)/src/shell.c libsqlite3.la \ - $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)" + $(LIBREADLINE) -rpath "$(libdir)" mptester$(EXE): sqlite3.c $(TOP)/mptest/mptest.c $(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.c \ debian/patches/11-update-manpage.patch0000664000000000000000000001143311655230260014751 0ustar --- sqlite3/sqlite3.1.orig 2011-11-05 12:42:19.529586105 +0000 +++ sqlite3/sqlite3.1 2011-11-05 12:47:45.765585988 +0000 @@ -2,7 +2,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH SQLITE3 1 "Mon Apr 15 23:49:17 2002" +.TH SQLITE3 1 "Sat Nov 5 15:57:18 CET 2011" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -49,7 +49,7 @@ $ .B sqlite3 mydata.db .br -SQLite version 3.1.3 +SQLite version 3.7.9 .br Enter ".help" for instructions .br @@ -108,15 +108,24 @@ .B .help .nf .cc | +.backup ?DB? FILE Backup DB (default "main") to FILE +.bail ON|OFF Stop after hitting an error. Default OFF .databases List names and files of attached databases .dump ?TABLE? ... Dump the database in an SQL text format + If TABLE specified, only dump tables matching + LIKE pattern TABLE. .echo ON|OFF Turn command echo on or off .exit Exit this program -.explain ON|OFF Turn output mode suitable for EXPLAIN on or off. +.explain ?ON|OFF? Turn output mode suitable for EXPLAIN on or off. + With no args, it turns EXPLAIN on. .header(s) ON|OFF Turn display of headers on or off .help Show this message .import FILE TABLE Import data from FILE into TABLE -.indices TABLE Show names of all indices on TABLE +.indices ?TABLE? Show names of all indices + If TABLE specified, only show indices for tables + matching LIKE pattern TABLE. +.load FILE ?ENTRY? Load an extension library +.log FILE|off Turn logging on or off. FILE can be stderr/stdout .mode MODE ?TABLE? Set output mode where MODE is one of: csv Comma-separated values column Left-aligned columns. (See .width) @@ -132,25 +141,29 @@ .prompt MAIN CONTINUE Replace the standard prompts .quit Exit this program .read FILENAME Execute SQL in FILENAME +.restore ?DB? FILE Restore content of DB (default "main") from FILE .schema ?TABLE? Show the CREATE statements + If TABLE specified, only show tables matching + LIKE pattern TABLE. .separator STRING Change separator used by output mode and .import .show Show the current values for various settings -.tables ?PATTERN? List names of tables matching a LIKE pattern +.stats ON|OFF Turn stats on or off +.tables ?TABLE? List names of tables + If TABLE specified, only list tables matching + LIKE pattern TABLE. .timeout MS Try opening locked tables for MS milliseconds -.width NUM NUM ... Set column widths for "column" mode +.width NUM1 NUM2 ... Set column widths for "column" mode +.timer ON|OFF Turn the CPU timer measurement on or off sqlite> |cc . .sp .fi - .SH OPTIONS .B sqlite3 has the following options: .TP -.BI \-init\ file -Read and execute commands from -.I file -, which can contain a mix of SQL statements and meta-commands. +.BI \-init\ file +Read and execute commands from file , which can contain a mix of SQL statements and meta-commands. .TP .B \-echo Print commands before execution. @@ -158,11 +171,23 @@ .B \-[no]header Turn headers on or off. .TP +.B \-bail +Stop after hitting an error. +.TP +.B \-interactive +Force interactive I/O . +.TP +.B \-batch +Force batch I/O . +.TP .B \-column Query results will be displayed in a table like form, using whitespace characters to separate the columns and align the output. .TP +.B \-csv +Set output mode to CSV (comma separated values). +.TP .B \-html Query results will be output as simple HTML tables. .TP @@ -178,6 +203,9 @@ .BI \-separator\ separator Set output field separator. Default is '|'. .TP +.B \-stats +Print memory stats before each finalize. +.TP .BI \-nullvalue\ string Set string used to represent NULL values. Default is '' (empty string). @@ -185,6 +213,9 @@ .B \-version Show SQLite version. .TP +.BI \-vfs\ name +Use name as the default VFS . +.TP .B \-help Show help on options and exit. @@ -222,8 +253,9 @@ .SH SEE ALSO http://www.sqlite.org/ .br -The sqlite-doc package +The sqlite3-doc package. .SH AUTHOR This manual page was originally written by Andreas Rottmann , for the Debian GNU/Linux system (but may be used -by others). It was subsequently revised by Bill Bumgarner . +by others). It was subsequently revised by Bill Bumgarner and +further updated by Laszlo Boszormenyi . debian/patches/series0000664000000000000000000000070413433547165012050 0ustar 02-lemon-snprintf.patch 10-520466-libsqlite3-depends-on-libdl.patch 10-520478-squash-bad-deps.patch 11-update-manpage.patch 20-hurd-locking-style.patch 30-cross.patch 10-665363-disable-malloc-usable-size.patch 31-increase_SQLITE_MAX_DEFAULT_PAGE_SIZE_to_32k.patch CVE-2013-7443.patch CVE-2015-3414.patch CVE-2015-3416.patch 0001-Fix-a-parsing-issue-associated-with-a-corrupt-sqlite.patch 0002-Better-error-message-text-when-the-schema-is-corrupt.patch debian/patches/CVE-2015-3414.patch0000664000000000000000000001542412551242564013247 0ustar Description: fix improper dequoting of collation-sequence names Origin: backport, https://www.sqlite.org/src/info/eddc05e7bb31fae7 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783968 Index: sqlite3-3.8.2/src/expr.c =================================================================== --- sqlite3-3.8.2.orig/src/expr.c 2015-07-14 13:21:33.315441659 -0400 +++ sqlite3-3.8.2/src/expr.c 2015-07-14 13:22:27.224092310 -0400 @@ -65,9 +65,9 @@ ** If a memory allocation error occurs, that fact is recorded in pParse->db ** and the pExpr parameter is returned unchanged. */ -Expr *sqlite3ExprAddCollateToken(Parse *pParse, Expr *pExpr, Token *pCollName){ +Expr *sqlite3ExprAddCollateToken(Parse *pParse, Expr *pExpr, Token *pCollName, int dequote){ if( pCollName->n>0 ){ - Expr *pNew = sqlite3ExprAlloc(pParse->db, TK_COLLATE, pCollName, 1); + Expr *pNew = sqlite3ExprAlloc(pParse->db, TK_COLLATE, pCollName, dequote); if( pNew ){ pNew->pLeft = pExpr; pNew->flags |= EP_Collate|EP_Skip; @@ -81,7 +81,7 @@ assert( zC!=0 ); s.z = zC; s.n = sqlite3Strlen30(s.z); - return sqlite3ExprAddCollateToken(pParse, pExpr, &s); + return sqlite3ExprAddCollateToken(pParse, pExpr, &s, 0); } /* Index: sqlite3-3.8.2/src/parse.y =================================================================== --- sqlite3-3.8.2.orig/src/parse.y 2015-07-14 13:21:33.315441659 -0400 +++ sqlite3-3.8.2/src/parse.y 2015-07-14 13:21:33.311441610 -0400 @@ -829,7 +829,7 @@ spanSet(&A, &X, &X); } expr(A) ::= expr(E) COLLATE ids(C). { - A.pExpr = sqlite3ExprAddCollateToken(pParse, E.pExpr, &C); + A.pExpr = sqlite3ExprAddCollateToken(pParse, E.pExpr, &C, 1); A.zStart = E.zStart; A.zEnd = &C.z[C.n]; } @@ -1150,14 +1150,14 @@ idxlist_opt(A) ::= . {A = 0;} idxlist_opt(A) ::= LP idxlist(X) RP. {A = X;} idxlist(A) ::= idxlist(X) COMMA nm(Y) collate(C) sortorder(Z). { - Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &C); + Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &C, 1); A = sqlite3ExprListAppend(pParse,X, p); sqlite3ExprListSetName(pParse,A,&Y,1); sqlite3ExprListCheckLength(pParse, A, "index"); if( A ) A->a[A->nExpr-1].sortOrder = (u8)Z; } idxlist(A) ::= nm(Y) collate(C) sortorder(Z). { - Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &C); + Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &C, 1); A = sqlite3ExprListAppend(pParse,0, p); sqlite3ExprListSetName(pParse, A, &Y, 1); sqlite3ExprListCheckLength(pParse, A, "index"); Index: sqlite3-3.8.2/src/sqliteInt.h =================================================================== --- sqlite3-3.8.2.orig/src/sqliteInt.h 2015-07-14 13:21:33.315441659 -0400 +++ sqlite3-3.8.2/src/sqliteInt.h 2015-07-14 13:22:47.552337483 -0400 @@ -3136,7 +3136,7 @@ CollSeq *sqlite3FindCollSeq(sqlite3*,u8 enc, const char*,int); CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char*zName); CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr); -Expr *sqlite3ExprAddCollateToken(Parse *pParse, Expr*, Token*); +Expr *sqlite3ExprAddCollateToken(Parse *pParse, Expr*, Token*, int); Expr *sqlite3ExprAddCollateString(Parse*,Expr*,const char*); Expr *sqlite3ExprSkipCollate(Expr*); int sqlite3CheckCollSeq(Parse *, CollSeq *); Index: sqlite3-3.8.2/src/where.c =================================================================== --- sqlite3-3.8.2.orig/src/where.c 2015-07-14 13:21:33.315441659 -0400 +++ sqlite3-3.8.2/src/where.c 2015-07-14 13:21:33.311441610 -0400 @@ -1256,7 +1256,7 @@ Expr *pNewExpr2; int idxNew1; int idxNew2; - Token sCollSeqName; /* Name of collating sequence */ + const char *zCollSeqName; /* Name of collating sequence */ pLeft = pExpr->x.pList->a[1].pExpr; pStr2 = sqlite3ExprDup(db, pStr1, 0); @@ -1276,11 +1276,10 @@ } *pC = c + 1; } - sCollSeqName.z = noCase ? "NOCASE" : "BINARY"; - sCollSeqName.n = 6; + zCollSeqName = noCase ? "NOCASE" : "BINARY"; pNewExpr1 = sqlite3ExprDup(db, pLeft, 0); pNewExpr1 = sqlite3PExpr(pParse, TK_GE, - sqlite3ExprAddCollateToken(pParse,pNewExpr1,&sCollSeqName), + sqlite3ExprAddCollateString(pParse,pNewExpr1,zCollSeqName), pStr1, 0); transferJoinMarkings(pNewExpr1, pExpr); idxNew1 = whereClauseInsert(pWC, pNewExpr1, TERM_VIRTUAL|TERM_DYNAMIC); @@ -1288,7 +1287,7 @@ exprAnalyze(pSrc, pWC, idxNew1); pNewExpr2 = sqlite3ExprDup(db, pLeft, 0); pNewExpr2 = sqlite3PExpr(pParse, TK_LT, - sqlite3ExprAddCollateToken(pParse,pNewExpr2,&sCollSeqName), + sqlite3ExprAddCollateString(pParse,pNewExpr2,zCollSeqName), pStr2, 0); transferJoinMarkings(pNewExpr2, pExpr); idxNew2 = whereClauseInsert(pWC, pNewExpr2, TERM_VIRTUAL|TERM_DYNAMIC); Index: sqlite3-3.8.2/test/collate1.test =================================================================== --- sqlite3-3.8.2.orig/test/collate1.test 2015-07-14 13:21:33.315441659 -0400 +++ sqlite3-3.8.2/test/collate1.test 2015-07-14 13:21:33.315441659 -0400 @@ -10,12 +10,12 @@ # #*********************************************************************** # This file implements regression tests for SQLite library. The -# focus of this script is page cache subsystem. +# focus of this script is testing collation sequences. # -# $Id: collate1.test,v 1.5 2007/02/01 23:02:46 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl +set testprefix collate1 # # Tests are roughly organised as follows: @@ -334,4 +334,58 @@ } } {1 2} + + +#------------------------------------------------------------------------- +# Fix problems with handling collation sequences named '"""'. +# +do_execsql_test 6.1 { + SELECT """"""""; +} {\"\"\"} + +do_catchsql_test 6.2 { + CREATE TABLE x1(a); + SELECT a FROM x1 ORDER BY a COLLATE """"""""; +} {1 {no such collation sequence: """}} + +do_catchsql_test 6.3 { + SELECT a FROM x1 ORDER BY 1 COLLATE """"""""; +} {1 {no such collation sequence: """}} + +do_catchsql_test 6.4 { + SELECT 0 UNION SELECT 0 ORDER BY 1 COLLATE """"""""; +} {1 {no such collation sequence: """}} + +db collate {"""} [list string compare -nocase] + +do_execsql_test 6.5 { + PRAGMA foreign_keys = ON; + CREATE TABLE p1(a PRIMARY KEY COLLATE '"""'); + CREATE TABLE c1(x, y REFERENCES p1); +} {} + +do_execsql_test 6.6 { + INSERT INTO p1 VALUES('abc'); + INSERT INTO c1 VALUES(1, 'ABC'); +} + +ifcapable foreignkey { + do_catchsql_test 6.7 { + DELETE FROM p1 WHERE rowid = 1 + } {1 {FOREIGN KEY constraint failed}} +} + +do_execsql_test 6.8 { + INSERT INTO p1 VALUES('abb'); + INSERT INTO p1 VALUES('wxz'); + INSERT INTO p1 VALUES('wxy'); + + INSERT INTO c1 VALUES(2, 'abb'); + INSERT INTO c1 VALUES(3, 'wxz'); + INSERT INTO c1 VALUES(4, 'WXY'); + SELECT x, y FROM c1 ORDER BY y COLLATE """"""""; +} {2 abb 1 ABC 4 WXY 3 wxz} + finish_test + + debian/patches/CVE-2015-3416.patch0000664000000000000000000001112612551243041013233 0ustar Decription: fix improper large integers handling in printf function Origin: backport, https://www.sqlite.org/src/info/aeca95ac77f6f320 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783968 Index: sqlite3-3.8.2/src/printf.c =================================================================== --- sqlite3-3.8.2.orig/src/printf.c 2015-07-14 13:23:13.420649333 -0400 +++ sqlite3-3.8.2/src/printf.c 2015-07-14 13:24:27.477541246 -0400 @@ -233,28 +233,37 @@ width = va_arg(ap,int); if( width<0 ){ flag_leftjustify = 1; - width = -width; + width = width >= -2147483647 ? -width : 0; } c = *++fmt; }else{ + unsigned wx = 0; while( c>='0' && c<='9' ){ - width = width*10 + c - '0'; + wx = wx*10 + c - '0'; c = *++fmt; } + testcase( wx>0x7fffffff ); + width = wx & 0x7fffffff; } + /* Get the precision */ if( c=='.' ){ precision = 0; c = *++fmt; if( c=='*' ){ precision = va_arg(ap,int); - if( precision<0 ) precision = -precision; c = *++fmt; + if( precision<0 ){ + precision = precision >= -2147483647 ? -precision : -1; + } }else{ + unsigned px = 0; while( c>='0' && c<='9' ){ - precision = precision*10 + c - '0'; + px = px*10 + c - '0'; c = *++fmt; } + testcase( px>0x7fffffff ); + precision = px & 0x7fffffff; } }else{ precision = -1; @@ -413,7 +422,8 @@ else prefix = 0; } if( xtype==etGENERIC && precision>0 ) precision--; - for(idx=precision, rounder=0.5; idx>0; idx--, rounder*=0.1){} + testcase( precision>0xfff ); + for(idx=precision&0xfff, rounder=0.5; idx>0; idx--, rounder*=0.1){} if( xtype==etFLOAT ) realvalue += rounder; /* Normalize realvalue to within 10.0 > realvalue >= 1.0 */ exp = 0; @@ -468,8 +478,9 @@ }else{ e2 = exp; } - if( MAX(e2,0)+precision+width > etBUFSIZE - 15 ){ - bufpt = zExtra = sqlite3Malloc( MAX(e2,0)+precision+width+15 ); + if( MAX(e2,0)+(i64)precision+(i64)width > etBUFSIZE - 15 ){ + bufpt = zExtra + = sqlite3Malloc( MAX(e2,0)+(i64)precision+(i64)width+15 ); if( bufpt==0 ){ pAccum->accError = STRACCUM_NOMEM; return; Index: sqlite3-3.8.2/test/printf.test =================================================================== --- sqlite3-3.8.2.orig/test/printf.test 2015-07-14 13:23:13.420649333 -0400 +++ sqlite3-3.8.2/test/printf.test 2015-07-14 13:23:13.416649284 -0400 @@ -472,6 +472,18 @@ sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\ 0xff676981 0xff676981 0xff676981 } {abc: (-9999999) (0xff676981) (037731664601) :xyz} +do_test printf-1.17.1 { + sqlite3_mprintf_int {abd: %2147483647d %2147483647x %2147483647o} 1 1 1 +} {} +do_test printf-1.17.2 { + sqlite3_mprintf_int {abd: %*d %x} 2147483647 1 1 +} {} +do_test printf-1.17.3 { + sqlite3_mprintf_int {abd: %*d %x} -2147483648 1 1 +} {abd: 1 1} +do_test printf-1.17.4 { + sqlite3_mprintf_int {abd: %.2147483648d %x %x} 1 1 1 +} {/.*/} do_test printf-2.1.1.1 { sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.001 } {abc: (0.0) :xyz} @@ -526,6 +538,9 @@ do_test printf-2.1.2.9 { sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 1.0e-20 } {abc: 1 1 (1e-20) :xyz} +do_test printf-2.1.2.10 { + sqlite3_mprintf_double {abc: %*.*f} 2000000000 1000000000 1.0e-20 +} {abc: } do_test printf-2.1.3.1 { sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0 } {abc: (1.0) :xyz} @@ -3466,6 +3481,15 @@ do_test printf-3.6 { sqlite3_mprintf_str {%d %d A String: (%-30s)} 1 2 {This is the string} } [format {%d %d A String: (%-30s)} 1 2 {This is the string}] +do_test printf-3.7 { + sqlite3_mprintf_str {%d A String: (%*s)} 1 2147483647 {This is the string} +} [] +do_test printf-3.8 { + sqlite3_mprintf_str {%d A String: (%*s)} 1 -2147483648 {This is the string} +} {1 A String: (This is the string)} +do_test printf-3.9 { + sqlite3_mprintf_str {%d A String: (%.*s)} 1 -2147483648 {This is the string} +} {1 A String: (This is the string)} do_test snprintf-3.11 { sqlite3_snprintf_str 2 {x%d %d %s} 10 10 {This is the string} } {x} @@ -3685,6 +3709,9 @@ do_test printf-13.6 { sqlite3_mprintf_hexdouble %.20f fff8000000000000 } {NaN} +do_test printf-13.7 { + sqlite3_mprintf_hexdouble %2147483648.10000f 4693b8b5b5056e17 +} {/100000000000000000000000000000000.00/} do_test printf-14.1 { sqlite3_mprintf_str {abc-%y-123} 0 0 {not used} debian/patches/20-hurd-locking-style.patch0000664000000000000000000000222112207754235015607 0ustar --- a/src/os_unix.c +++ b/src/os_unix.c @@ -124,7 +124,7 @@ #endif -#if SQLITE_ENABLE_LOCKING_STYLE +#if SQLITE_ENABLE_LOCKING_STYLE || defined(__GNU__) # include # if OS_VXWORKS # include @@ -2191,7 +2191,7 @@ ** Omit this section if SQLITE_ENABLE_LOCKING_STYLE is turned off or if ** compiling for VXWORKS. */ -#if SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS +#if (SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS) || defined(__GNU__) /* ** Retry flock() calls that fail with EINTR @@ -4924,7 +4924,7 @@ dotlockCheckReservedLock /* xCheckReservedLock method */ ) -#if SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS +#if (SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS) || defined(__GNU__) IOMETHODS( flockIoFinder, /* Finder function name */ flockIoMethods, /* sqlite3_io_methods object name */ @@ -7363,6 +7363,8 @@ static sqlite3_vfs aVfs[] = { #if SQLITE_ENABLE_LOCKING_STYLE && (OS_VXWORKS || defined(__APPLE__)) UNIXVFS("unix", autolockIoFinder ), +#elif defined(__GNU__) + UNIXVFS("unix", flockIoFinder ), #else UNIXVFS("unix", posixIoFinder ), #endif debian/patches/CVE-2013-7443.patch0000664000000000000000000000345612551243265013254 0ustar Decription: fix array overrun in the skip-scan optimization Origin: upstream, https://www.sqlite.org/src/info/ac5852d6403c9c96 Bug: https://www.sqlite.org/src/info/520070ec7fbaac Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/1448758 Index: sqlite3-3.8.2/src/where.c =================================================================== --- sqlite3-3.8.2.orig/src/where.c 2013-12-06 16:05:14.000000000 -0500 +++ sqlite3-3.8.2/src/where.c 2015-07-14 10:39:19.636567191 -0400 @@ -3928,6 +3928,7 @@ && saved_nEq==saved_nSkip && saved_nEq+1nKeyCol && pProbe->aiRowEst[saved_nEq+1]>=18 /* TUNING: Minimum for skip-scan */ + && (rc = whereLoopResize(db, pNew, pNew->nLTerm+1))==SQLITE_OK ){ LogEst nIter; pNew->u.btree.nEq++; Index: sqlite3-3.8.2/test/skipscan1.test =================================================================== --- sqlite3-3.8.2.orig/test/skipscan1.test 2013-12-06 16:05:14.000000000 -0500 +++ sqlite3-3.8.2/test/skipscan1.test 2015-07-14 10:39:19.636567191 -0400 @@ -187,4 +187,26 @@ SELECT a,b,c,d,'|' FROM t3 WHERE b=345 ORDER BY a; } {~/*ORDER BY*/} +# Ticket 520070ec7fbaac: Array overrun in the skip-scan optimization +# 2013-12-22 +# +do_execsql_test skipscan1-4.1 { + CREATE TABLE t4(a,b,c,d,e,f,g,h,i); + CREATE INDEX t4all ON t4(a,b,c,d,e,f,g,h); + INSERT INTO t4 VALUES(1,2,3,4,5,6,7,8,9); + ANALYZE; + DELETE FROM sqlite_stat1; + INSERT INTO sqlite_stat1 + VALUES('t4','t4all','655360 163840 40960 10240 2560 640 160 40 10'); + ANALYZE sqlite_master; + SELECT i FROM t4 WHERE a=1; + SELECT i FROM t4 WHERE b=2; + SELECT i FROM t4 WHERE c=3; + SELECT i FROM t4 WHERE d=4; + SELECT i FROM t4 WHERE e=5; + SELECT i FROM t4 WHERE f=6; + SELECT i FROM t4 WHERE g=7; + SELECT i FROM t4 WHERE h=8; +} {9 9 9 9 9 9 9 9} + finish_test debian/patches/31-increase_SQLITE_MAX_DEFAULT_PAGE_SIZE_to_32k.patch0000664000000000000000000000142111754673063021425 0ustar Description: increase the maximum possible value of the page size Firefox/Iceweasel uses a page size of 32k, but sqlite won't allow it because the maximum it allows by default is 8k (through the SQLITE_MAX_DEFAULT_PAGE_SIZE define). This patch increases this limit. . Author: Laszlo Boszormenyi (GCS) Bug-Debian: http://bugs.debian.org/672573 --- Forwarded: Last-Update: <2012-05-16> --- sqlite3-3.7.12.orig/src/sqliteLimit.h +++ sqlite3-3.7.12/src/sqliteLimit.h @@ -169,7 +169,7 @@ ** SQLite will choose on its own. */ #ifndef SQLITE_MAX_DEFAULT_PAGE_SIZE -# define SQLITE_MAX_DEFAULT_PAGE_SIZE 8192 +# define SQLITE_MAX_DEFAULT_PAGE_SIZE 32768 #endif #if SQLITE_MAX_DEFAULT_PAGE_SIZE>SQLITE_MAX_PAGE_SIZE # undef SQLITE_MAX_DEFAULT_PAGE_SIZE debian/patches/10-520466-libsqlite3-depends-on-libdl.patch0000664000000000000000000000257112146753515020031 0ustar Index: sqlite3-3.7.17/configure.ac =================================================================== --- sqlite3-3.7.17.orig/configure.ac 2013-05-20 12:56:30.000000000 +0200 +++ sqlite3-3.7.17/configure.ac 2013-05-21 22:20:46.000000000 +0200 @@ -233,6 +233,38 @@ AC_SUBST(BUILD_CC) ########## +# Do we want to support load_extension()? +# +AC_ARG_ENABLE(load-extension, +AC_HELP_STRING([--enable-load-extension], + [Include SQL functions for loading extension libraries]),, + enable_load_extension=auto) + +if test "x$enable_load_extension" = xyes || + test "x$enable_load_extension" = xauto; then + + can_load_extension=yes + # libtool will already have looked for + if test $ac_cv_header_dlfcn_h = no; then + can_load_extension=no + else + AC_SEARCH_LIBS(dlopen, dl, , [can_load_extension=no]) + fi +elif test "x$enable_load_extension" = xno; then + can_load_extension=no +else + AC_MSG_ERROR([invalid argument to --enable-load-extension]) +fi + +if test $can_load_extension = no; then + if test "x$enable_load_extension" = xyes; then + AC_MSG_ERROR([ routines missing, load_extension() not supported]) + fi + AC_DEFINE(SQLITE_OMIT_LOAD_EXTENSION, 1, + [Define if the load_extension() sql function should be omitted.]) +fi + +########## # Do we want to support multithreaded use of sqlite # AC_ARG_ENABLE(threadsafe, debian/patches/0001-Fix-a-parsing-issue-associated-with-a-corrupt-sqlite.patch0000664000000000000000000000145713433547147024272 0ustar From: Joe Mistachkin Date: Fri, 16 Mar 2018 19:10:05 +0000 Subject: [PATCH] Fix a parsing issue associated with a corrupt sqlite_master table. --- src/parse.y | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) --- sqlite3-3.8.2.orig/src/parse.y +++ sqlite3-3.8.2/src/parse.y @@ -167,8 +167,13 @@ create_table_args ::= LP columnlist cons sqlite3EndTable(pParse,&X,&E,F,0); } create_table_args ::= AS select(S). { - sqlite3EndTable(pParse,0,0,0,S); - sqlite3SelectDelete(pParse->db, S); + if( pParse->db->init.busy==0 ){ + sqlite3EndTable(pParse,0,0,0,S); + sqlite3SelectDelete(pParse->db, S); + }else{ + sqlite3SelectDelete(pParse->db, S); + sqlite3ErrorMsg(pParse, "corrupt schema"); + } } %type table_options {u8} table_options(A) ::= . {A = 0;} debian/lemon.dirs0000664000000000000000000000003011346740676011174 0ustar usr/bin usr/share/lemon debian/lemon.10000664000000000000000000000274011346740676010405 0ustar .Dd 2002-10-04 .Dt LEMON 1 .Os "Debian GNU/Linux" .\" Manual page created by Guus Sliepen .Sh NAME .Nm lemon .Nd The Lemon Parser Generator .Sh SYNOPSIS .Nm .Op Fl bcgmqsx .Ar input .Sh DESCRIPTION .Nm is an LALR(1) parser generator for C or C++. It does the same job as bison and yacc. But .Nm is not another bison or yacc clone. It uses a different grammar syntax which is designed to reduce the number of coding errors. .Nm also uses a more sophisticated parsing engine that is faster than yacc and bison and which is both reentrant and thread-safe. Furthermore, .Nm implements features that can be used to eliminate resource leaks, making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers. .Pp .Nm will read the grammer from .Ar input and write out a parser for that grammar in the C language. .Sh OPTIONS .Bl -tag -width indent .It Fl b Print only the basis in report. .It Fl c Don't compress the action table. .It Fl g Print grammar without actions. .It Fl m Output a makeheaders compatible file. .It Fl q (Quiet) Don't print the report file. .It Fl s Print parser stats to standard output. .It Fl x Print the version number. .El .Sh FILES .Bl -tag -width indent .It Pa /usr/share/lemon/lempar.c Driver template for the .Nm parser generator. .El .Sh AUTHOR .Nm has been written by .An D. Richard Hipp Aq drh@hwaci.com . .Pp This manual page was written by .An Guus Sliepen Aq guus@debian.org for the Debian GNU/Linux system. debian/compat0000664000000000000000000000000212206175012010362 0ustar 9 debian/libsqlite3-dev.install.in0000664000000000000000000000030611754422172014020 0ustar usr/include/*.h usr/lib/${DEB_HOST_MULTIARCH}/libsqlite3.a usr/lib/${DEB_HOST_MULTIARCH}/libsqlite3.so usr/lib/${DEB_HOST_MULTIARCH}/libsqlite3.la usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/sqlite3.pc debian/libsqlite3-0-dbg.dirs0000664000000000000000000000001611346740676013030 0ustar usr/lib/debug debian/watch0000664000000000000000000000016412212553546010227 0ustar version=3 opts="uversionmangle=s/\.0/\./g;s/\.0+$//;s/_/\./g" \ http://www.sqlite.org/ .*releaselog/(\d[_\d]*).html debian/changelog0000664000000000000000000007306313433547123011060 0ustar sqlite3 (3.8.2-1ubuntu2.2) trusty-security; urgency=medium * SECURITY UPDATE: Avoid segmentation fault while using a corrupted file. - d/p/0001-Fix-a-parsing-issue-associated-with-a-corrupt-sqlite.patch: Check if parser is busy before using it and raise an error if positive. (LP: #1814869) - d/p/0002-Better-error-message-text-when-the-schema-is-corrupt.patch: Better message and additional checks. - No CVE associated. -- Paulo Flabiano Smorigo Thu, 21 Feb 2019 17:13:40 +0100 sqlite3 (3.8.2-1ubuntu2.1) trusty-security; urgency=medium * SECURITY UPDATE: array overrun in the skip-scan optimization (LP: #1448758) - debian/patches/CVE-2013-7443.patch: make sure array is large enough in src/where.c, added test to test/skipscan1.test. - CVE-2013-7443 * SECURITY UPDATE: improper dequoting of collation-sequence names - debian/patches/CVE-2015-3414.patch: handle dequoting in src/expr.c, src/parse.y, src/sqliteInt.h, src/where.c, added tests to test/collate1.test. - CVE-2015-3414 * SECURITY UPDATE: improper large integers handling in printf function - debian/patches/CVE-2015-3416.patch: handle large integers in src/printf.c, added tests to test/printf.test. - CVE-2015-3416 -- Marc Deslauriers Tue, 14 Jul 2015 13:26:04 -0400 sqlite3 (3.8.2-1ubuntu2) trusty; urgency=medium * Build for Tcl 8.6. -- Matthias Klose Thu, 02 Jan 2014 17:37:36 +0100 sqlite3 (3.8.2-1ubuntu1) trusty; urgency=medium * Merge with Debian; remaining changes: - Configure for the Tcl 8.5 multiarch installation. - Fix the cross-build locations. - Build using dh-autoreconf and autotools-dev. -- Matthias Klose Sat, 21 Dec 2013 17:33:45 +0100 sqlite3 (3.8.2-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Sun, 08 Dec 2013 10:48:05 +0100 sqlite3 (3.8.1-2) unstable; urgency=low * Backport upstream checkin 9aac4e588c to fix transitive WHERE-clause constraints on LEFT JOINs (closes: #730174). -- Laszlo Boszormenyi (GCS) Mon, 02 Dec 2013 13:06:04 +0100 sqlite3 (3.8.1-1ubuntu3) trusty; urgency=medium * Still call dh_autotools-dev_{update,restore}config. -- Matthias Klose Thu, 05 Dec 2013 14:39:30 +0100 sqlite3 (3.8.1-1ubuntu2) trusty; urgency=medium * Build using dh-autoreconf. -- Matthias Klose Thu, 05 Dec 2013 14:26:17 +0100 sqlite3 (3.8.1-1ubuntu1) trusty; urgency=low * Resynchronise with Debian. Remaining changes: - Configure for the Tcl 8.5 multiarch installation. - Fix the cross-build locations. -- Colin Watson Mon, 28 Oct 2013 18:03:51 -0700 sqlite3 (3.8.1-1) unstable; urgency=low * New upstream release. * Update 10-520478-squash-bad-deps.patch . -- Laszlo Boszormenyi (GCS) Thu, 24 Oct 2013 21:47:57 +0200 sqlite3 (3.8.0.2-1ubuntu1) trusty; urgency=low * Resynchronise with Debian (LP: #1224630). Remaining changes: - Configure for the Tcl 8.5 multiarch installation. - Fix the cross-build locations. -- Colin Watson Mon, 21 Oct 2013 14:18:38 +0100 sqlite3 (3.8.0.2-1) unstable; urgency=low * New upstream release. * Build with hardening enabled. * Update watch file. -- Laszlo Boszormenyi (GCS) Sat, 07 Sep 2013 08:04:44 +0200 sqlite3 (3.8.0.1-1) unstable; urgency=low * New upstream release. * Update patches to apply clean. * Increase SQLITE_MAX_VARIABLE_NUMBER compile time variable to 250000 (closes: #717900). [ Colin Watson ] * Use dh_autotools-dev, bringing config.guess and config.sub up to date enough to handle arm64 (closes: #712037). [ Eleanor Chen ] * Don't generate pkgIndex.tcl on cross builds (closes: #720713). -- Laszlo Boszormenyi (GCS) Fri, 30 Aug 2013 01:35:59 +0200 sqlite3 (3.7.17-1ubuntu1) saucy; urgency=low * Resynchronise with Debian. Remaining changes: - Configure for the Tcl 8.5 multiarch installation. - Fix the cross-build locations. - Use dh_autotools-dev, bringing config.guess and config.sub up to date enough to handle arm64. -- Colin Watson Thu, 20 Jun 2013 15:17:58 +0100 sqlite3 (3.7.17-1) unstable; urgency=medium * New upstream release. Urgency due to fix a potential database corruption. * Update patches to apply clean. -- Laszlo Boszormenyi (GCS) Tue, 21 May 2013 21:56:39 +0200 sqlite3 (3.7.16.2-1ubuntu2) saucy; urgency=low * Use dh_autotools-dev, bringing config.guess and config.sub up to date enough to handle arm64. -- Colin Watson Wed, 12 Jun 2013 12:22:12 +0100 sqlite3 (3.7.16.2-1ubuntu1) saucy; urgency=low * Merge with Debian; remaining changes: - Configure for the Tcl 8.5 multiarch installation. - Fix the cross-build locations. -- Matthias Klose Fri, 03 May 2013 20:27:46 +0200 sqlite3 (3.7.16.2-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Fri, 19 Apr 2013 21:40:10 +0200 sqlite3 (3.7.16.1-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Fri, 29 Mar 2013 19:40:04 +0100 sqlite3 (3.7.16-1) unstable; urgency=low * New upstream release, fixes umask handling (closes: #703465). * Update Standards-Version to 3.9.4 . * Make libsqlite3-dev package multi-arch: same (closes: #683588). * Include HTML documentation for lemon (closes: #698636). * Update patches to apply clean. -- Laszlo Boszormenyi (GCS) Tue, 19 Mar 2013 23:33:43 +0100 sqlite3 (3.7.15.2-1ubuntu1) raring; urgency=low * Configure for the Tcl 8.5 multiarch installation. * Fix the cross-build locations. -- Matthias Klose Tue, 02 Apr 2013 09:24:42 +0200 sqlite3 (3.7.15.2-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Tue, 15 Jan 2013 18:36:34 +0100 sqlite3 (3.7.15.1-1) unstable; urgency=low * New upstream release, update patches. -- Laszlo Boszormenyi (GCS) Tue, 25 Dec 2012 14:03:18 +0100 sqlite3 (3.7.15-1) unstable; urgency=low * New upstream release, update patches. -- Laszlo Boszormenyi (GCS) Fri, 14 Dec 2012 20:42:02 +0100 sqlite3 (3.7.14.1-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Sat, 06 Oct 2012 16:19:41 +0200 sqlite3 (3.7.14-1) unstable; urgency=low * New upstream release, update patches to match it. * Update watch file to match website change. -- Laszlo Boszormenyi (GCS) Thu, 13 Sep 2012 09:30:13 +0000 sqlite3 (3.7.13-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Wed, 13 Jun 2012 21:43:48 +0200 sqlite3 (3.7.12.1-1) unstable; urgency=low * New upstream release (closes: #674078). -- Laszlo Boszormenyi (GCS) Wed, 23 May 2012 00:22:02 +0200 sqlite3 (3.7.12-1) unstable; urgency=low * New upstream release, adjust patches to apply clean. * Increase MAX_DEFAULT_PAGE_SIZE and SQLITE_MAX_SCHEMA_RETRY for Firefox and Iceweasel (closes: #672573). * Remove double -ldl entry from Libs.private in sqlite3.pc (closes: #653170). * Drop hardening-wrapper build dependency (closes: #672575), adjust debian/rules to still build with hardening enabled. [ Mike Hommey ] * Make the package backportable without changes other than a changelog entry (closes: #672663). -- Laszlo Boszormenyi (GCS) Tue, 15 May 2012 09:17:23 +0000 sqlite3 (3.7.11-3) unstable; urgency=low * Disable the usage of malloc_usable_size() (closes: #663691, #665363), thanks to Steven Chamberlain for the patch. -- Laszlo Boszormenyi (GCS) Mon, 30 Apr 2012 10:56:57 +0200 sqlite3 (3.7.11-2) unstable; urgency=low * Fix pkgIndex.tcl generation for multi-arch. -- Laszlo Boszormenyi (GCS) Thu, 22 Mar 2012 02:06:39 +0100 sqlite3 (3.7.11-1) unstable; urgency=low * New upstream release. * Update packaging bits. * Make the package multi-arch and enable hardening compilation. -- Laszlo Boszormenyi (GCS) Wed, 21 Mar 2012 10:38:59 +0000 sqlite3 (3.7.10-1) unstable; urgency=low * New upstream release (closes: #659443). * Fix pkgIndex.tcl problem, thanks to Mike Hommey (closes: #654662). * Update patches and symbols file to match this release. -- Laszlo Boszormenyi (GCS) Fri, 20 Jan 2012 14:39:11 +0000 sqlite3 (3.7.9-3) unstable; urgency=low * Correct flock locking on Hurd (closes: #653937), thanks to Pino Toscano . * Add self test if pkgIndex.tcl is correctly generated (closes: #650961). * Enable LIMIT support for UPDATE and DELETE commands (closes: #649169). * Update packaging bits. -- Laszlo Boszormenyi (GCS) Tue, 03 Jan 2012 19:00:51 +0100 sqlite3 (3.7.9-2) unstable; urgency=low * Export CFLAGS as dpkg-buildpackage no longer does it (closes: #647842). -- Laszlo Boszormenyi (GCS) Mon, 07 Nov 2011 19:12:18 +0100 sqlite3 (3.7.9-1) unstable; urgency=low * New upstream release, refresh patches. * Update symbols file (closes: #642584). * Update manpage (closes: #642807). [ Colin Watson ] * Make sure to build lemon when cross-compiling (closes: #643285). -- Laszlo Boszormenyi (GCS) Sat, 05 Nov 2011 12:36:16 +0000 sqlite3 (3.7.8-1) unstable; urgency=low * New upstream release, remove 31-like-fix.patch as it contains that fix. * Force sqlite3 to depend on the same libsqlite3-0 binary version (closes: #640205). -- Laszlo Boszormenyi (GCS) Wed, 21 Sep 2011 19:38:54 +0200 sqlite3 (3.7.7-2) unstable; urgency=low * Get LIKE function fix from upstream as 31-like-fix.patch (closes: #631736). -- Laszlo Boszormenyi (GCS) Mon, 27 Jun 2011 16:31:41 +0200 sqlite3 (3.7.7-1) unstable; urgency=low * New upstream release, update patches and libsqlite3-0.symbols accordingly. * Update packaging for more policy conformance. -- Laszlo Boszormenyi (GCS) Sat, 25 Jun 2011 17:55:22 +0200 sqlite3 (3.7.6.3-1) unstable; urgency=low * New upstream release, update patches. * Correctly use binary-arch and binary-indep targets, thanks to Daniel Baumann (closes: #624705). -- Laszlo Boszormenyi (GCS) Sat, 21 May 2011 11:31:14 +0200 sqlite3 (3.7.6.2-1) unstable; urgency=low * New upstream release. * Fix cross-compilation support. Make lemon built for build and target hosts when cross-building, thanks to Steve Langasek (closes: #611949). * Fix Tcl module path, thanks to Torsten Landschoff (closes: #617443). * Disable lookaside allocator for now (closes: #615061). -- Laszlo Boszormenyi (GCS) Fri, 15 Apr 2011 09:12:49 +0200 sqlite3 (3.7.5-1) unstable; urgency=low * New upstream release. * Rework package to use debhelper instead of cdbs (closes: #611956). * Use a symbols file (closes: #588456, #609946). -- Laszlo Boszormenyi (GCS) Wed, 09 Feb 2011 19:01:07 +0100 sqlite3 (3.7.4-2) unstable; urgency=low * Set shlibs back to 3.7.3, based on the work of Julien Cristau. -- Laszlo Boszormenyi (GCS) Sun, 26 Dec 2010 22:47:54 +0100 sqlite3 (3.7.4-1) unstable; urgency=low * New upstream release. * Update debian/watch for new upstream source version numbers. -- Laszlo Boszormenyi (GCS) Thu, 09 Dec 2010 20:07:00 +0100 sqlite3 (3.7.3-1) unstable; urgency=high * New upstream release (closes: #591298), high urgency due to fixing a RC performance regression. * Updated manpage (closes: #598318). -- Laszlo Boszormenyi (GCS) Wed, 13 Oct 2010 22:26:03 +0200 sqlite3 (3.7.2-1) unstable; urgency=high * New upstream release (closes: #594010), fixing another database corruption, hence the urgency. -- Laszlo Boszormenyi (GCS) Mon, 23 Aug 2010 15:16:19 +0000 sqlite3 (3.7.0.1-1) unstable; urgency=high * New upstream release (closes: #592573), high urgency due to fixing database corruption. -- Laszlo Boszormenyi (GCS) Fri, 13 Aug 2010 20:14:42 +0000 sqlite3 (3.7.0-1.1) unstable; urgency=high [ Iain Lane ] * Non-maintainer upload. * Backport fix from upstream bug 13f033c865 to fix performance regression introduced in 3.7.0-1. (Closes: #591298) [ Julien Cristau ] * High urgency upload for RC bugfix. -- Julien Cristau Sat, 07 Aug 2010 16:55:51 -0400 sqlite3 (3.7.0-1) unstable; urgency=low * New major upstream version (closes: #590232). * Remove backported fix, 30-fix-default-values-crash.patch of #575276 ; this release contains it. -- Laszlo Boszormenyi (GCS) Sun, 25 Jul 2010 07:49:27 +0000 sqlite3 (3.6.23.1-4) unstable; urgency=low * Clean up my mess with src/os_unix.c for proper Hurd build. -- Laszlo Boszormenyi (GCS) Sun, 30 May 2010 16:15:40 +0000 sqlite3 (3.6.23.1-3) unstable; urgency=low * Update 20-hurd-locking-style.patch to make it build on Hurd again; thanks to Pino Toscano for fixing. -- Laszlo Boszormenyi (GCS) Sat, 29 May 2010 15:31:30 +0000 sqlite3 (3.6.23.1-2) unstable; urgency=low * Enable unlock notify API (closes: #579266). * Backport fix of 'INSERT INTO tbl DEFAULT VALUES' (closes: #575276). -- Laszlo Boszormenyi (GCS) Wed, 05 May 2010 18:58:47 +0000 sqlite3 (3.6.23.1-1) unstable; urgency=low * New upstream release. * Clean up patch handling; run aclocal to prevent libtool version mismatch errors. -- Laszlo Boszormenyi (GCS) Sun, 04 Apr 2010 07:29:35 +0000 sqlite3 (3.6.23-1) unstable; urgency=low * New upstream release, update patches accordingly. * Enable soundex support (closes: #528016). * Switch to 3.0 (quilt) source format, ship documentation as separate tarball. -- Laszlo Boszormenyi (GCS) Sat, 13 Mar 2010 16:48:08 +0000 sqlite3 (3.6.22-1) unstable; urgency=low * New upstream release (closes: #568061). -- Laszlo Boszormenyi (GCS) Tue, 02 Feb 2010 18:44:27 +0000 sqlite3 (3.6.21-2) unstable; urgency=medium * Run autoreconf to prevent FTBFS with new libtool (closes: #560660). -- Laszlo Boszormenyi (GCS) Fri, 11 Dec 2009 14:34:09 +0000 sqlite3 (3.6.21-1) unstable; urgency=medium * New upstream release, SQLITE_SECURE_DELETE compile-time option fixed to make sure that content is deleted even when the truncate optimization applies (closes: #555955). * Add 11-manpage-refers-to-sqlite3-doc.patch patch to fix manpage to refer to sqlite3-doc (closes: #560132). -- Laszlo Boszormenyi (GCS) Wed, 09 Dec 2009 14:55:17 +0000 sqlite3 (3.6.20-1) unstable; urgency=low * New upstream release (may fix #546599). -- Laszlo Boszormenyi (GCS) Tue, 10 Nov 2009 22:48:13 +0000 sqlite3 (3.6.19-3) unstable; urgency=low * Build conflict with tcl8.4{,-dev}, SQLite3 picks up the wrong version despite of specifying tcl8.5 to use (closes: #552304). -- Laszlo Boszormenyi (GCS) Mon, 26 Oct 2009 05:58:04 +0000 sqlite3 (3.6.19-2) unstable; urgency=low * Compile with secure deletion option enabled (closes: #551968). * Make libsqlite3-tcl build with tcl8.5 (closes: #547445). -- Laszlo Boszormenyi (GCS) Fri, 23 Oct 2009 07:45:19 +0000 sqlite3 (3.6.19-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Sun, 18 Oct 2009 07:11:18 +0000 sqlite3 (3.6.18-1) unstable; urgency=low * New upstream release. * Change readline build dependency to plain libreadline-dev (version 6 ATM) and standards-version to 3.8.3 . -- Laszlo Boszormenyi (GCS) Sun, 13 Sep 2009 14:47:20 +0000 sqlite3 (3.6.17-2) unstable; urgency=low * Reintroduce libtool and auto{conf,make} updates of CDBS (closes: #541684, #541731), patches modify configure.ac and Makefile.in . * Update patches to match this upstream release. -- Laszlo Boszormenyi (GCS) Sun, 16 Aug 2009 15:55:30 +0000 sqlite3 (3.6.17-1) unstable; urgency=low * New upstream release. * Don't ask CDBS to run libtool, autoconf nor automake (closes: #541413), no need to build-depend on these tools anymore. -- Laszlo Boszormenyi (GCS) Sat, 15 Aug 2009 04:23:42 +0000 sqlite3 (3.6.16-1) unstable; urgency=low * New upstream release (closes: #536661). -- Laszlo Boszormenyi (GCS) Fri, 10 Jul 2009 22:44:19 +0000 sqlite3 (3.6.14.2-1) unstable; urgency=low * New upstream release. Disable ICU support, it causes more trouble than good. * Add 20-hurd-locking-style.patch for proper locking on Hurd (closes: #529734). -- Laszlo Boszormenyi (GCS) Sun, 31 May 2009 16:28:06 +0000 sqlite3 (3.6.13-1) unstable; urgency=low * New upstream release (closes: #524617), fixing segfault when table contains default value (closes: 524166). -- Laszlo Boszormenyi (GCS) Sun, 19 Apr 2009 07:18:50 +0000 sqlite3 (3.6.12-1) unstable; urgency=low * New upstream release, remove 10-install-libsqlite3-first.patch as fixed upstream in a different way. * Remove generated files in clean target. -- Laszlo Boszormenyi (GCS) Tue, 31 Mar 2009 18:33:15 +0000 sqlite3 (3.6.11-4) unstable; urgency=low * Fix that .la file (closes: #520478) (really). -- Laszlo Boszormenyi (GCS) Sun, 29 Mar 2009 23:53:53 +0000 sqlite3 (3.6.11-3) unstable; urgency=low * Really remove transitive dependencies from .la files (closes: #520478). * Set section and priority fields matching override. -- Laszlo Boszormenyi (GCS) Fri, 27 Mar 2009 20:11:06 +0000 sqlite3 (3.6.11-2) unstable; urgency=low [ Zack Weinberg ] * Fix ordering in "make install" (closes: #520153). * Link libsqlite3.so with libdl (closes: #520466). * Prune transitive dependencies from .la files (closes: #520478). * Tweak ICU linkage to eliminate dpkg-shlibdeps complaints (closes: #521082). -- Laszlo Boszormenyi (GCS) Thu, 26 Mar 2009 20:12:02 +0000 sqlite3 (3.6.11-1) unstable; urgency=low * New upstream release, upload to unstable. * Enable ICU support (closes: #494987). * Update debhelper compatibility level to 5 as 4 is deprecated now. -- Laszlo Boszormenyi (GCS) Sat, 14 Mar 2009 21:18:18 +0000 sqlite3 (3.6.10-1) experimental; urgency=low * New upstream release, enable the R*Tree module (closes: #501099). * Remove 01-sqlite3.pc-version-to-release.patch , applied upstream. * Rework 02-lemon-snprintf.patch to match this release. * Remove 03-restore-documentation.patch as documentation can not be built anymore, but merged into .orig.tar.gz . * Rework 04-loadextension-links-dl.patch to still link with libdl if load extension is enabled. * Remove 05-improve-nan-testing-on-x86.patch and 06-fix-distinct-on-indexes.patch, this release contains these fixes. * Remove own pkgIndex.tcl , use the original after correcting its path. * Add ${misc:Depends} to packages. -- Laszlo Boszormenyi (GCS) Sat, 17 Jan 2009 08:06:05 +0000 sqlite3 (3.5.9-6) unstable; urgency=low * Make sqlite3 depends on the exact Debian version of libsqlite3-0 (closes: #502370). -- Laszlo Boszormenyi (GCS) Thu, 16 Oct 2008 15:44:09 +0000 sqlite3 (3.5.9-5) unstable; urgency=low * Backport fix for distinct on indexes (closes: #500792). -- Laszlo Boszormenyi (GCS) Wed, 01 Oct 2008 20:16:18 +0000 sqlite3 (3.5.9-4) unstable; urgency=low * Backport improved NaN testing for highly optimized GCC on x86 (closes: #488864). * Remove rpath from sqlite3 binary. -- Laszlo Boszormenyi (GCS) Sun, 24 Aug 2008 11:03:56 +0000 sqlite3 (3.5.9-3) unstable; urgency=low * Enable full text search (closes: #487914). * Update Standards-Version to 3.8.0 , no changes needed. -- Laszlo Boszormenyi (GCS) Wed, 25 Jun 2008 11:41:54 +0200 sqlite3 (3.5.9-2) unstable; urgency=low * Set correct version for TCL (closes: #483990). -- Laszlo Boszormenyi (GCS) Mon, 02 Jun 2008 16:33:24 +0000 sqlite3 (3.5.9-1) unstable; urgency=medium * New upstream release, contains the backported fix for 3.5.8-4 thus drop 05-busy-handler-update-retry-fix.patch . * Urgency set to medium due to fixing a buffer-overrun problem in sqlite3_mprintf() and fixing a big performance regression on LEFT JOIN (closes: #479184). -- Laszlo Boszormenyi (GCS) Sat, 17 May 2008 16:42:51 +0000 sqlite3 (3.5.8-4) unstable; urgency=low * Backport busy handler fix from upstream CVS (closes: #480007). -- Laszlo Boszormenyi (GCS) Thu, 08 May 2008 20:36:40 +0200 sqlite3 (3.5.8-3) unstable; urgency=low * Add 04-loadextension-links-dl.patch to link against dl when loadextension enabled (closes: #478980). -- Laszlo Boszormenyi (GCS) Sat, 03 May 2008 09:19:31 +0200 sqlite3 (3.5.8-2) unstable; urgency=low * Re-enable extension mechanism (closes: #478337, #475084). * Create and install a more complete documentation (closes: #478492). -- Laszlo Boszormenyi (GCS) Tue, 29 Apr 2008 01:12:34 +0200 sqlite3 (3.5.8-1) unstable; urgency=low * New upstream release, re-merge source and documentation. * Remove 04-fix-tcl-interface.patch , this release contains it. -- Laszlo Boszormenyi (GCS) Sun, 27 Apr 2008 21:52:30 +0200 sqlite3 (3.5.7-2) unstable; urgency=low * Backport TCL interface fix from upstream CVS (closes: #473988). -- Laszlo Boszormenyi (GCS) Sun, 06 Apr 2008 20:20:07 +0200 sqlite3 (3.5.7-1) unstable; urgency=low * New upstream release. * Redo 03-restore-documentation.patch as upstream Makefile.in changed big. * Fix Makefile.in for rebuild. -- Laszlo Boszormenyi (GCS) Sat, 22 Mar 2008 10:32:05 +0000 sqlite3 (3.5.6-3) unstable; urgency=low * Add debug library package, thanks to Luis Rodrigo Gallardo Cruz (closes: #447829). * Correct snprintf use in 02-lemon-snprintf.patch thanks to Thorsten Glaser. -- Laszlo Boszormenyi (GCS) Thu, 28 Feb 2008 18:50:44 +0000 sqlite3 (3.5.6-2) unstable; urgency=low * Upload to unstable. * Add Makefile.in snippets to generate C interface documentation again (closes: #466938). -- Laszlo Boszormenyi (GCS) Thu, 28 Feb 2008 14:44:43 +0100 sqlite3 (3.5.6-1) experimental; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Thu, 14 Feb 2008 16:30:39 +0100 sqlite3 (3.5.4-1) experimental; urgency=low * New upstream release, re-merge source and documentation. * Register with doc-base (closes: #452391). -- Laszlo Boszormenyi (GCS) Fri, 21 Dec 2007 22:40:30 +0200 sqlite3 (3.5.1-1) experimental; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Thu, 4 Oct 2007 09:27:05 +0200 sqlite3 (3.4.2-2) unstable; urgency=low * Fixed upstream Makefile.in not to lose doc/lemon.html and doc/report1.txt on rebuilds (closes: #441726). * Added debian/watch file. -- Laszlo Boszormenyi (GCS) Thu, 4 Oct 2007 08:54:16 +0200 sqlite3 (3.4.2-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Mon, 20 Aug 2007 16:12:00 +0300 sqlite3 (3.4.1-1) unstable; urgency=low * New upstream release (closes: #436165). -- Laszlo Boszormenyi (GCS) Sat, 28 Jul 2007 08:51:35 +0300 sqlite3 (3.3.17-1) unstable; urgency=low * New upstream release. * Use minor version as well in sqlite3.pc (closes: #424235). -- Laszlo Boszormenyi (GCS) Thu, 17 May 2007 02:01:42 +0300 sqlite3 (3.3.16-1) unstable; urgency=medium * New upstream release with important bugfixes. -- Laszlo Boszormenyi (GCS) Thu, 19 Apr 2007 09:13:29 +0000 sqlite3 (3.3.15-1) unstable; urgency=low * New upstream release (closes: #419534). * Force enable extensions; not supposed to work on *BSD, but well... -- Laszlo Boszormenyi (GCS) Tue, 17 Apr 2007 15:56:30 +0000 sqlite3 (3.3.14-1) unstable; urgency=low * New upstream release (closes: #406436). Accept Otavio's upload (closes: #397531). * Include all header files in -dev (closes: #404242), add missing image to -doc (closes: #368211). -- Laszlo Boszormenyi (GCS) Wed, 04 Apr 2007 17:57:08 +0000 sqlite3 (3.3.8-1.1) unstable; urgency=low * NMU * Revert PRAGMA table_info format change on a minor version release (closes: #397531) -- Otavio Salvador Tue, 6 Mar 2007 08:53:43 -0300 sqlite3 (3.3.8-1) unstable; urgency=low * New upstream version. * Create lang_* files for documentation (closes: #310603). * Enable column metadata functions (closes: #375352). -- Laszlo Boszormenyi (GCS) Thu, 12 Oct 2006 21:55:37 +0000 sqlite3 (3.3.7-1) unstable; urgency=low * New upstream release (closes: #378247). * New maintainer with ACK from Tomas, close my own NMU fixes (closes: #339369, #364196, #361412, #352317). -- Laszlo Boszormenyi (GCS) Tue, 8 Aug 2006 04:51:14 +0200 sqlite3 (3.3.5-0.2) unstable; urgency=medium * NMU to fix package problems: - correct Tcl provides (closes: #361412); - compile correctly on 64 bit archs, thanks to Matthias Klose (closes: #364196). -- Laszlo Boszormenyi (GCS) Mon, 1 May 2006 10:47:59 +0000 sqlite3 (3.3.5-0.1) unstable; urgency=medium * NMU for new upstream release; fixes thread segfault (in tests) on hppa (closes: #339369). -- Laszlo Boszormenyi (GCS) Thu, 6 Apr 2006 17:16:42 +0000 sqlite3 (3.3.4-0.1) unstable; urgency=low * NMU for new upstream release (closes: #352317). -- Laszlo Boszormenyi (GCS) Wed, 5 Apr 2006 01:46:45 +0200 sqlite3 (3.2.8-1) unstable; urgency=low * New upstream release. -- Tomas Fasth Thu, 29 Dec 2005 03:09:18 +0000 sqlite3 (3.2.7-1) unstable; urgency=low * New upstream release. -- Tomas Fasth Sun, 25 Sep 2005 12:08:21 +0000 sqlite3 (3.2.5-1) unstable; urgency=low * New upstream release. * Removed debian/patches/10-main-timeout.patch, fixed upstream. * Removed debian/patches/01-configure.ac-version_number.patch, fixed upstream. -- Tomas Fasth Sun, 28 Aug 2005 21:23:03 +0000 sqlite3 (3.2.2-3) unstable; urgency=low * Closes: #321487: missing dependency on debconf The file debian/libsqlite3-0.preinst has been removed. It was originally part of the ancestor sqlite 2.x source package, which still exist in parallel with sqlite3. It has now been removed together with debian/libsqlite3-0.postinst that was created in a first missguided attempt by me to correct this policy violation. -- Tomas Fasth Sat, 6 Aug 2005 22:16:33 +0000 sqlite3 (3.2.2-2) unstable; urgency=low * Closes: #314856: Missing pre-dependency on debconf. * Closes: #319897: /usr/include/sqlite3.h: SQLITE_VERSION_NUMBER is 3000000 -- Tomas Fasth Tue, 2 Aug 2005 00:48:25 +0000 sqlite3 (3.2.2-1) unstable; urgency=low * New upstream release. * New maintainer. * Closes: #314856: Missing pre-dependency on debconf. Moving upgrade notification from debian/libsqlite3-0.preinst to debian/libsqlite3-0.postinst. * Closes: #316348: Timeout does not expire on SQLLITE_BUSY. Adding patch with correct type cast for timeout in src/main.c[283]. * Closes: #317594: sqlite3-3.2.1-1 SIGBUS on 64-bit machines (fixed upstream) * Closes: #318341: New upstream version 3.2.2 -- Tomas Fasth Mon, 1 Aug 2005 20:03:20 +0000 sqlite3 (3.2.1-1) unstable; urgency=low * New upstream release. -- Andreas Rottmann Sat, 2 Apr 2005 02:41:15 +0200 sqlite3 (3.1.6-1) unstable; urgency=high * New upstream release. * Fixes two database corruption bugs (in 3.1.4 and 3.1.6), hence urgency high. -- Andreas Rottmann Thu, 17 Mar 2005 20:00:16 +0100 sqlite3 (3.1.3-1) unstable; urgency=low * New upstream release. * Now building with automake1.9 and against libreadline5-dev. -- Andreas Rottmann Wed, 16 Feb 2005 17:04:19 +0100 sqlite3 (3.0.8-3) unstable; urgency=medium * Fix threadsafe enabling, now works through configure option (closes: #285913). * Medium urgency to get this fix into sarge. -- Andreas Rottmann Sat, 1 Jan 2005 13:12:10 +0100 sqlite3 (3.0.8-2) unstable; urgency=low * libsqlite3-dev: Suggest sqlite3-doc instead of sqlite-doc (closes: #285771). * libsqlite3-0: Don't Pre-Depend on debconf (closes: #284976). * sqlite3-doc: Now comes with sqlite.gif and links to http://sqlite.org/contrib instead of locally (closes: #285769). -- Andreas Rottmann Thu, 16 Dec 2004 12:24:02 +0100 sqlite3 (3.0.8-1) unstable; urgency=low * Initial release of SQLite3 (closes: #272271, #282351). - Now packaged as a new source package, since SQLite 3 is incompatible (database- and API-wise) with SQLite 2. - Remove debian/lemon.html, this is now shipped by upstream in doc/. - Adapted manpage for 3.0 (thanks to Laszlo 'GCS' Boszormeny). -- Andreas Rottmann Sun, 7 Nov 2004 13:49:52 +0100 sqlite3 (3.5.8-3) unstable; urgency=low * Link. -- root Sat, 03 May 2008 09:33:37 +0200 debian/sqlite3.install0000664000000000000000000000002011524620073012134 0ustar usr/bin/sqlite3 debian/lemon.install0000664000000000000000000000004711524621331011671 0ustar usr/bin/lemon usr/share/lemon/lempar.c debian/libsqlite3-0.docs0000664000000000000000000000002511346740676012265 0ustar debian/README.Debian debian/README.Debian0000664000000000000000000000132111346740676011244 0ustar SQLite for Debian ----------------- SQLite 3 for Debian is split up in four packages: libsqlite0-dev: Development files (headers, static library) libsqlite0: The database engine library itself sqlite3: The text-mode user interface sqlite3-doc: Documentation About lemon ----------- Additionally, since 2.8.12-2, a lemon package is generated by the sqlite source package. The lemon parser generator was previously maintained in a separate source package, but since upstream maintains it as part of SQLite, Debian switched to doing it this way, too. The maintainer of the now-obsolete separate lemon package was Guus Sliepen . -- Andreas Rottmann , Sun Nov 7 13:58:10 2004 debian/sqlite3-doc.docs0000664000000000000000000000000611346740676012203 0ustar www/* debian/copyright0000664000000000000000000000235512251047470011132 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: sqlite3 Source: http://www.sqlite.org/cgi/src/dir?ci=trunk Files: * Copyright: D. Richard Hipp License: public-domain The files listed have been put on the public domain by the sqlite3 contributors. Files: debian/* Copyright: 2006- Laszlo Boszormenyi (GCS) , 2005-2006 Tomas Fasth , 2001-2005 Andreas Rottmann License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. debian/source/0000775000000000000000000000000011700646565010502 5ustar debian/source/format0000664000000000000000000000001411370337726011707 0ustar 3.0 (quilt) debian/sqlite3.dirs0000664000000000000000000000001011346740676011444 0ustar usr/bin debian/libsqlite3-dev.dirs0000664000000000000000000000002411346740676012714 0ustar usr/include usr/lib debian/libsqlite3-0.install.in0000664000000000000000000000005611754422172013403 0ustar usr/lib/${DEB_HOST_MULTIARCH}/libsqlite3.so.* debian/lemon.manpages0000664000000000000000000000001711346740676012033 0ustar debian/lemon.1