diff --git a/sources b/sources index 2211e51..67e1855 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -13600865a69a3f54d2ac42a0d6b743db sqlite-3.6.12.tar.gz +f89f62afc765e08b3f0e47cdc47a15d4 sqlite-3.6.17.tar.gz +a9081064aecf1a512aa0ca442803460c sqlite_docs_3_6_17.zip diff --git a/sqlite-3.6.12-memalign.patch b/sqlite-3.6.12-memalign.patch deleted file mode 100644 index f58609c..0000000 --- a/sqlite-3.6.12-memalign.patch +++ /dev/null @@ -1,204 +0,0 @@ ---------------------- -PatchSet 6171 -Date: 2009/04/05 15:22:09 -Author: drh -Branch: HEAD -Tag: (none) -Branches: -Log: -Additional code to make sure and to assert that memory allocations have -8-byte alignment. Ticket #3777. - -Members: - src/btree.c:1.589->1.590 - src/memjournal.c:1.10->1.11 - src/pager.c:1.577->1.578 - src/sqliteInt.h:1.850->1.851 - src/vdbeaux.c:1.446->1.447 - src/vdbemem.c:1.139->1.140 - -Index: sqlite/src/btree.c -diff -u sqlite/src/btree.c:1.589 sqlite/src/btree.c:1.590 ---- sqlite/src/btree.c:1.589 Thu Apr 2 20:16:59 2009 -+++ sqlite/src/btree.c Sun Apr 5 12:22:09 2009 -@@ -5357,13 +5357,13 @@ - } - szCell = (u16*)&apCell[nMaxCells]; - aCopy[0] = (u8*)&szCell[nMaxCells]; -- assert( ((aCopy[0] - (u8*)0) & 7)==0 ); /* 8-byte alignment required */ -+ assert( EIGHT_BYTE_ALIGNMENT(aCopy[0]) ); - for(i=1; ipageSize+ROUND8(sizeof(MemPage))]; - assert( ((aCopy[i] - (u8*)0) & 7)==0 ); /* 8-byte alignment required */ - } - aSpace1 = &aCopy[NB-1][pBt->pageSize+ROUND8(sizeof(MemPage))]; -- assert( ((aSpace1 - (u8*)0) & 7)==0 ); /* 8-byte alignment required */ -+ assert( EIGHT_BYTE_ALIGNMENT(aSpace1) ); - if( ISAUTOVACUUM ){ - aFrom = &aSpace1[pBt->pageSize]; - } -Index: sqlite/src/memjournal.c -diff -u sqlite/src/memjournal.c:1.10 sqlite/src/memjournal.c:1.11 ---- sqlite/src/memjournal.c:1.10 Thu Apr 2 17:22:42 2009 -+++ sqlite/src/memjournal.c Sun Apr 5 12:22:09 2009 -@@ -237,6 +237,7 @@ - */ - void sqlite3MemJournalOpen(sqlite3_file *pJfd){ - MemJournal *p = (MemJournal *)pJfd; -+ assert( EIGHT_BYTE_ALIGNMENT(p) ); - memset(p, 0, sqlite3MemJournalSize()); - p->pMethod = &MemJournalMethods; - } -Index: sqlite/src/pager.c -diff -u sqlite/src/pager.c:1.577 sqlite/src/pager.c:1.578 ---- sqlite/src/pager.c:1.577 Sat Apr 4 15:53:48 2009 -+++ sqlite/src/pager.c Sun Apr 5 12:22:09 2009 -@@ -3114,9 +3114,9 @@ - ** source file journal.c). - */ - if( sqlite3JournalSize(pVfs)>sqlite3MemJournalSize() ){ -- journalFileSize = sqlite3JournalSize(pVfs); -+ journalFileSize = ROUND8(sqlite3JournalSize(pVfs)); - }else{ -- journalFileSize = sqlite3MemJournalSize(); -+ journalFileSize = ROUND8(sqlite3MemJournalSize()); - } - - /* Set the output variable to NULL in case an error occurs. */ -@@ -3172,23 +3172,25 @@ - ** Journal file name (nPathname+8+1 bytes) - */ - pPtr = (u8 *)sqlite3MallocZero( -- sizeof(*pPager) + /* Pager structure */ -- pcacheSize + /* PCache object */ -- pVfs->szOsFile + /* The main db file */ -- journalFileSize * 2 + /* The two journal files */ -- nPathname + 1 + /* zFilename */ -- nPathname + 8 + 1 /* zJournal */ -+ ROUND8(sizeof(*pPager)) + /* Pager structure */ -+ ROUND8(pcacheSize) + /* PCache object */ -+ ROUND8(pVfs->szOsFile) + /* The main db file */ -+ journalFileSize * 2 + /* The two journal files */ -+ nPathname + 1 + /* zFilename */ -+ nPathname + 8 + 1 /* zJournal */ - ); -+ assert( EIGHT_BYTE_ALIGNMENT(journalFileSize) ); - if( !pPtr ){ - sqlite3_free(zPathname); - return SQLITE_NOMEM; - } - pPager = (Pager*)(pPtr); -- pPager->pPCache = (PCache*)(pPtr += sizeof(*pPager)); -- pPager->fd = (sqlite3_file*)(pPtr += pcacheSize); -- pPager->sjfd = (sqlite3_file*)(pPtr += pVfs->szOsFile); -+ pPager->pPCache = (PCache*)(pPtr += ROUND8(sizeof(*pPager))); -+ pPager->fd = (sqlite3_file*)(pPtr += ROUND8(pcacheSize)); -+ pPager->sjfd = (sqlite3_file*)(pPtr += ROUND8(pVfs->szOsFile)); - pPager->jfd = (sqlite3_file*)(pPtr += journalFileSize); - pPager->zFilename = (char*)(pPtr += journalFileSize); -+ assert( EIGHT_BYTE_ALIGNMENT(pPager->jfd) ); - - /* Fill in the Pager.zFilename and Pager.zJournal buffers, if required. */ - if( zPathname ){ -Index: sqlite/src/sqliteInt.h -diff -u sqlite/src/sqliteInt.h:1.850 sqlite/src/sqliteInt.h:1.851 ---- sqlite/src/sqliteInt.h:1.850 Wed Apr 1 18:03:01 2009 -+++ sqlite/src/sqliteInt.h Sun Apr 5 12:22:09 2009 -@@ -456,6 +456,11 @@ - #define ROUNDDOWN8(x) ((x)&~7) - - /* -+** Assert that the pointer X is aligned to an 8-byte boundary. -+*/ -+#define EIGHT_BYTE_ALIGNMENT(X) ((((char*)(X) - (char*)0)&7)==0) -+ -+/* - ** An instance of the following structure is used to store the busy-handler - ** callback for a given sqlite handle. - ** -Index: sqlite/src/vdbeaux.c -diff -u sqlite/src/vdbeaux.c:1.446 sqlite/src/vdbeaux.c:1.447 ---- sqlite/src/vdbeaux.c:1.446 Wed Mar 25 15:43:09 2009 -+++ sqlite/src/vdbeaux.c Sun Apr 5 12:22:09 2009 -@@ -1023,6 +1023,7 @@ - u8 *pEnd, /* Pointer to 1 byte past the end of *ppFrom buffer */ - int *pnByte /* If allocation cannot be made, increment *pnByte */ - ){ -+ assert( EIGHT_BYTE_ALIGNMENT(*ppFrom) ); - if( (*(void**)pp)==0 ){ - nByte = ROUND8(nByte); - if( (pEnd - *ppFrom)>=nByte ){ -@@ -1096,6 +1097,8 @@ - if( isExplain && nMem<10 ){ - nMem = 10; - } -+ zCsr += (zCsr - (u8*)0)&7; -+ assert( EIGHT_BYTE_ALIGNMENT(zCsr) ); - - do { - memset(zCsr, 0, zEnd-zCsr); -Index: sqlite/src/vdbemem.c -diff -u sqlite/src/vdbemem.c:1.139 sqlite/src/vdbemem.c:1.140 ---- sqlite/src/vdbemem.c:1.139 Sun Mar 29 15:12:10 2009 -+++ sqlite/src/vdbemem.c Sun Apr 5 12:22:09 2009 -@@ -209,6 +209,7 @@ - assert( !(fg&(MEM_Str|MEM_Blob)) ); - assert( fg&(MEM_Int|MEM_Real) ); - assert( (pMem->flags&MEM_RowSet)==0 ); -+ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); - - - if( sqlite3VdbeMemGrow(pMem, nByte, 0) ){ -@@ -345,6 +346,7 @@ - i64 sqlite3VdbeIntValue(Mem *pMem){ - int flags; - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); -+ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); - flags = pMem->flags; - if( flags & MEM_Int ){ - return pMem->u.i; -@@ -373,6 +375,7 @@ - */ - double sqlite3VdbeRealValue(Mem *pMem){ - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); -+ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); - if( pMem->flags & MEM_Real ){ - return pMem->r; - }else if( pMem->flags & MEM_Int ){ -@@ -403,6 +406,7 @@ - assert( pMem->flags & MEM_Real ); - assert( (pMem->flags & MEM_RowSet)==0 ); - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); -+ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); - - pMem->u.i = doubleToInt64(pMem->r); - if( pMem->r==(double)pMem->u.i ){ -@@ -416,6 +420,8 @@ - int sqlite3VdbeMemIntegerify(Mem *pMem){ - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - assert( (pMem->flags & MEM_RowSet)==0 ); -+ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); -+ - pMem->u.i = sqlite3VdbeIntValue(pMem); - MemSetTypeFlag(pMem, MEM_Int); - return SQLITE_OK; -@@ -427,6 +433,8 @@ - */ - int sqlite3VdbeMemRealify(Mem *pMem){ - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); -+ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); -+ - pMem->r = sqlite3VdbeRealValue(pMem); - MemSetTypeFlag(pMem, MEM_Real); - return SQLITE_OK; -diff -u sqlite/src/vdbeaux.c:1.447 sqlite/src/vdbeaux.c:1.448 ---- sqlite/src/vdbeaux.c:1.447 Sun Apr 5 12:22:09 2009 -+++ sqlite/src/vdbeaux.c Mon Apr 6 11:11:43 2009 -@@ -1099,6 +1099,7 @@ - } - zCsr += (zCsr - (u8*)0)&7; - assert( EIGHT_BYTE_ALIGNMENT(zCsr) ); -+ if( zEnd, for the Debian GNU/Linux system (but may be used diff --git a/sqlite.spec b/sqlite.spec index 3ea0571..cfbccc8 100644 --- a/sqlite.spec +++ b/sqlite.spec @@ -3,21 +3,27 @@ %bcond_with static %bcond_without check +# upstream doesn't provide separate -docs sources for all minor releases +%define basever 3.6.17 +%define docver %(echo %{basever}|sed -e "s/\\./_/g") + Summary: Library that implements an embeddable SQL database engine Name: sqlite -Version: 3.6.12 -Release: 3%{?dist} +Version: %{basever} +Release: 1%{?dist} License: Public Domain -Group: Applications/Databases +Group: Applications/Databases URL: http://www.sqlite.org/ -Source: http://www.sqlite.org/sqlite-%{version}.tar.gz +Source0: http://www.sqlite.org/sqlite-%{version}.tar.gz +Source1: http://www.sqlite.org/sqlite_docs_%{docver}.zip # Fix build with --enable-load-extension, upstream ticket #3137 Patch1: sqlite-3.6.12-libdl.patch # Avoid insecure sprintf(), use a system path for lempar.c, patch from Debian Patch2: sqlite-3.6.6.2-lemon-snprintf.patch -Patch3: sqlite-3.6.12-no-sqlite-doc.patch -Patch4: sqlite-3.6.12-memalign.patch -Obsoletes: sqlite3 sqlite3-devel +# Fixup io-test fsync expectations wrt SQLITE_DISABLE_DIRSYNC +Patch3: sqlite-3.6.13-iotest-nodirsync.patch +# Disable two tests failing on at least on x86_64, ticket #3951 +Patch4: sqlite-3.6.17-tkt3951.patch BuildRequires: ncurses-devel readline-devel glibc-devel # libdl patch needs BuildRequires: autoconf @@ -39,7 +45,7 @@ supporting a separate database server. Version 2 and version 3 binaries are named to permit each to be installed on a single host %package devel -Summary: Development tools for the sqlite3 embeddable SQL database engine. +Summary: Development tools for the sqlite3 embeddable SQL database engine Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig @@ -49,6 +55,15 @@ This package contains the header files and development documentation for %{name}. If you like to develop programs using %{name}, you will need to install %{name}-devel. +%package doc +Summary: Documentation for sqlite +Group: Documentation + +%description doc +This package contains most of the static HTML files that comprise the +www.sqlite.org website, including all of the SQL Syntax and the +C/C++ interface specs and other miscellaneous documentation. + %package -n lemon Summary: A parser generator Group: Development/Tools @@ -66,7 +81,7 @@ embedded controllers. %if %{with tcl} %package tcl -Summary: Tcl module for the sqlite3 embeddable SQL database engine. +Summary: Tcl module for the sqlite3 embeddable SQL database engine Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: tcl(abi) = %{tcl_version} @@ -76,11 +91,11 @@ This package contains the tcl modules for %{name}. %endif %prep -%setup -q +%setup -q -a1 %patch1 -p1 -b .libdl %patch2 -p1 -b .lemon-sprintf -%patch3 -p1 -b .no-sqlite-doc -%patch4 -p1 -b .align +%patch3 -p1 -b .nodirsync +%patch4 -p1 -b .tkt3951 %build autoconf @@ -89,10 +104,13 @@ export CFLAGS="$RPM_OPT_FLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE --enable-threadsafe \ --enable-threads-override-locks \ --enable-load-extension \ - %{?with_tcl:TCLLIBDIR=%{tcl_sitearch}/sqlite3} + %{?with_tcl:TCLLIBDIR=%{tcl_sitearch}/sqlite3} + +# rpath removal +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool make %{?_smp_mflags} -make doc %install rm -rf $RPM_BUILD_ROOT @@ -115,7 +133,6 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/*.{la,a} %if %{with check} %check # let this fail for now: -# - io-4.1 and io-4.2.3 fail everywhere # - five nan-test broken on PPC (upstream ticket #3404) # - bunch of rtree-tests failing on PPC atm make test ||: @@ -145,6 +162,10 @@ rm -rf $RPM_BUILD_ROOT %exclude %{_libdir}/*.la %endif +%files doc +%defattr(-, root, root) +%doc %{name}-%{docver}-docs/* + %files -n lemon %defattr(-, root, root) %{_bindir}/lemon @@ -157,6 +178,31 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Fri Aug 21 2009 Panu Matilainen - 3.6.17-1 +- update to 3.6.17 (http://www.sqlite.org/releaselog/3_6_17.html) +- disable to failing tests until upstream fixes + +* Sun Jul 26 2009 Fedora Release Engineering - 3.6.14.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jun 12 2009 Panu Matilainen - 3.6.14.2-1 +- update to 3.6.14.2 (#505229) + +* Mon May 18 2009 Panu Matilainen - 3.6.14-2 +- disable rpath +- add -doc subpackage instead of patching out reference to it + +* Thu May 14 2009 Panu Matilainen - 3.6.14-1 +- update to 3.6.14 (http://www.sqlite.org/releaselog/3_6_14.html) +- merge-review cosmetics (#226429) + - drop ancient sqlite3 obsoletes + - fix tab vs space whitespace issues + - remove commas from summaries +- fixup io-test fsync expectations wrt SQLITE_DISABLE_DIRSYNC + +* Wed Apr 15 2009 Panu Matilainen - 3.6.13-1 +- update to 3.6.13 + * Thu Apr 09 2009 Dennis Gilmore - 3.6.12-3 - apply upstream patch for memory alignment issue (#494906)