Compare commits

...

6 Commits
rawhide ... f11

Author SHA1 Message Date
Fedora Release Engineering 69bb500d4d dist-git conversion 2010-07-29 13:07:17 +00:00
Panu Matilainen 9695fc6a2e - sync with F-12 version to bring it up to 3.6.20
- fixes #531232 but avoid introducing #525477 on F-11
2009-12-07 05:13:58 +00:00
Bill Nottingham ddfa7ec137 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:43:00 +00:00
Panu Matilainen dfe3d69189 Remember to commit all the new patches... 2009-10-29 10:55:11 +00:00
Panu Matilainen a4b4be314e Update to satisfy new xulrunner requirements
- xulrunner needs sqlite >= 3.6.16 (#531232), sync with known good F-12
    package to get version 3.6.17
2009-10-29 10:50:09 +00:00
Jesse Keating 9e8435b496 Initialize branch F-11 for sqlite 2009-04-15 05:53:26 +00:00
6 changed files with 64 additions and 253 deletions

View File

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: sqlite
# $Id: Makefile,v 1.1 2005/03/09 20:01:47 jbj Exp $
NAME := sqlite
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attempt a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1 +1,2 @@
13600865a69a3f54d2ac42a0d6b743db sqlite-3.6.12.tar.gz
0faf8fc8ccff5297513c6532b2b4ce23 sqlite-3.6.20.tar.gz
64d1f3ad4a20f92594fd7263d408ad83 sqlite_docs_3_6_20.zip

View File

@ -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; i<NB; i++){
aCopy[i] = &aCopy[i-1][pBt->pageSize+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<zCsr ) zEnd = zCsr;
do {
memset(zCsr, 0, zEnd-zCsr);

View File

@ -1,12 +0,0 @@
diff -up sqlite-3.6.12/sqlite3.1.no-sqlite-doc sqlite-3.6.12/sqlite3.1
--- sqlite-3.6.12/sqlite3.1.no-sqlite-doc 2009-04-03 12:37:35.000000000 +0300
+++ sqlite-3.6.12/sqlite3.1 2009-04-03 12:37:44.000000000 +0300
@@ -221,8 +221,6 @@ o All other command line options are pro
.SH SEE ALSO
http://www.sqlite.org/
-.br
-The sqlite-doc package
.SH AUTHOR
This manual page was originally written by Andreas Rottmann
<rotty@debian.org>, for the Debian GNU/Linux system (but may be used

View File

@ -3,21 +3,23 @@
%bcond_with static
%bcond_without check
# upstream doesn't provide separate -docs sources for all minor releases
%define basever 3.6.20
%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
BuildRequires: ncurses-devel readline-devel glibc-devel
# libdl patch needs
BuildRequires: autoconf
@ -39,7 +41,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 +51,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 +77,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 +87,9 @@ 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
%build
autoconf
@ -89,10 +98,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 +127,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 +156,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 +172,38 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
* Tue Nov 17 2009 Panu Matilainen <pmatilai@redhat.com> - 3.6.20-1
- update to 3.6.20 (http://www.sqlite.org/releaselog/3_6_20.html)
* Tue Oct 06 2009 Panu Matilainen <pmatilai@redhat.com> - 3.6.18-1
- update to 3.6.18 (http://www.sqlite.org/releaselog/3_6_18.html)
- drop no longer needed test-disabler patches
* Fri Aug 21 2009 Panu Matilainen <pmatilai@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 3.6.14.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Fri Jun 12 2009 Panu Matilainen <pmatilai@redhat.com> - 3.6.14.2-1
- update to 3.6.14.2 (#505229)
* Mon May 18 2009 Panu Matilainen <pmatilai@redhat.com> - 3.6.14-2
- disable rpath
- add -doc subpackage instead of patching out reference to it
* Thu May 14 2009 Panu Matilainen <pmatilai@redhat.com> - 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 <pmatilai@redhat.com> - 3.6.13-1
- update to 3.6.13
* Thu Apr 09 2009 Dennis Gilmore <dennis@ausil.us> - 3.6.12-3
- apply upstream patch for memory alignment issue (#494906)