FYI, I CC'ed the bug for the record: Kali Kaneko: > On Tue, Apr 07, 2015 at 02:53:59PM -0400, Hans-Christoph Steiner > >> Unfortunately, I don't think it is going to be as simple as just >> removing the patch that changes VERSION to the SQLCipher version. Some >> places need >> the SQLite version and other places need the SQLCipher version > > I've been combing thru he sources, and in the source code for SQLCipher > I don't seem to be able to find any place that's using the sqlcipher > version for anything. crypto.h has a CYPHER_VERSION, but that's > hardcoded, and sqlcipher.h doesn't seem to refer to any version string. > > The only checks for the SQLITE_VERSION_NUMBER that I see, outside of the > test suite, seem to be in the extensions (fts and rtree): > > #if SQLITE_VERSION_NUMBER>=3008002 > > But this is expecting the sqlite version and not the sqlcipher one. > > hans, do you remember which parts of the code (or the packaging) were > expecting the SQLCipher version?
Here's what I found, its not especially conclusive. In Makefile.in, the value
of VERSION is used to generate sqlite3.h:
sqlite3.h: $(TOP)/src/sqlite.h.in $(TOP)/manifest.uuid $(TOP)/VERSION
$(TCLSH_CMD) $(TOP)/tool/mksqlite3h.tcl $(TOP) >sqlite3.h
in configure.ac, the value in the file VERSION is put into Makefile variables
VERSION and VERSION_NUMBER:
VERSION=[`cat $srcdir/VERSION | sed 's/^\([0-9]*\.*[0-9]*\).*/\1/'`]
AC_MSG_NOTICE(Version set to $VERSION)
AC_SUBST(VERSION)
RELEASE=`cat $srcdir/VERSION`
AC_MSG_NOTICE(Release set to $RELEASE)
AC_SUBST(RELEASE)
VERSION_NUMBER=[`cat $srcdir/VERSION \
| sed 's/[^0-9]/ /g' \
| awk '{printf "%d%03d%03d",$1,$2,$3}'`]
AC_MSG_NOTICE(Version number set to $VERSION_NUMBER)
AC_SUBST(VERSION_NUMBER)
in tool/mksqlite3h.tcl, it is parsed into zVersion and nVersion, which then
does replacements in src/sqlite.h.in:
set in [open $TOP/VERSION]
set zVersion [string trim [read $in]]
close $in
set nVersion [eval format "%d%03d%03d" [split $zVersion .]]
...
regsub -- --VERS-- $line $zVersion line
regsub -- --VERSION-NUMBER-- $line $nVersion line
But it seems that it might be that all those machinations end up with really
only SQLITE_VERSION_NUMBER being set in a way that we have to think about.
.hc
signature.asc
Description: OpenPGP digital signature

