summaryrefslogtreecommitdiff
path: root/README-DEV
diff options
context:
space:
mode:
Diffstat (limited to 'README-DEV')
-rw-r--r--README-DEV42
1 files changed, 25 insertions, 17 deletions
diff --git a/README-DEV b/README-DEV
index dc70319..3d3db57 100644
--- a/README-DEV
+++ b/README-DEV
@@ -8,23 +8,21 @@ that we package separately (see the respective README-DEV files for details).
We extract the upstream package from the archive and symlink the required files
into the build2 package subdirectories.
-For 3.27.2 the archive URL is
-https://www.sqlite.org/2019/sqlite-autoconf-3270200.tar.gz. For the future
+For 3.39.4 the archive URL is
+https://www.sqlite.org/2022/sqlite-autoconf-3390400.tar.gz. For the future
releases the URL can be deduced from the above.
The upstream package can be configured to contain a specific feature set. We
reproduce the union of features configured for the upstream source package in
Debian and Fedora distributions. The configuration options defining these sets
-are specified in the Debian's rules and Fedora's RPM .spec files. Note,
-however, that at the time of this writing Fedora doesn't provide the 3.27.2
-package version, so we will use 3.29.0 instead. These files can be obtained as
-follows:
+are specified in the Debian's rules and Fedora's RPM .spec files. These files
+can be obtained as follows:
-$ wget http://deb.debian.org/debian/pool/main/s/sqlite3/sqlite3_3.27.2-3.debian.tar.xz
-$ tar xf sqlite3_3.27.2-3.debian.tar.xz debian/rules
+$ wget wget https://deb.debian.org/debian/pool/main/s/sqlite3/sqlite3_3.39.4-1.debian.tar.xz
+$ tar xf sqlite3_3.39.4-1.debian.tar.xz debian/rules
-$ wget https://kojipkgs.fedoraproject.org//packages/sqlite/3.29.0/2.fc31/src/sqlite-3.29.0-2.fc31.src.rpm
-$ rpm2cpio sqlite-3.29.0-2.fc31.src.rpm | cpio -civ '*.spec'
+$ wget https://kojipkgs.fedoraproject.org/packages/sqlite/3.39.4/1.fc38/src/sqlite-3.39.4-1.fc38.src.rpm
+$ rpm2cpio sqlite-3.39.4-1.fc38.src.rpm | cpio -civ '*.spec'
Some of the features are enabled via the preprocessor macro definitions and
others via the configure script options. Here are the discovered configuration
@@ -41,6 +39,7 @@ Debian:
-DSQLITE_ENABLE_UNLOCK_NOTIFY
-DSQLITE_OMIT_LOOKASIDE=1
-DSQLITE_ENABLE_DBSTAT_VTAB
+ -DSQLITE_ALLOW_ROWID_IN_VIEW
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1
-DSQLITE_ENABLE_LOAD_EXTENSION
-DSQLITE_ENABLE_JSON1
@@ -56,22 +55,24 @@ Debian:
--enable-threadsafe
--enable-load-extension
- --enable-json1
+ --enable-json
--enable-fts4
--enable-fts5
+ --disable-amalgamation
Fedora:
-DSQLITE_ENABLE_COLUMN_METADATA=1
-DSQLITE_DISABLE_DIRSYNC=1
- -DSQLITE_ENABLE_FTS3=1
- -DSQLITE_ENABLE_RTREE=1
-DSQLITE_SECURE_DELETE=1
-DSQLITE_ENABLE_UNLOCK_NOTIFY=1
-DSQLITE_ENABLE_DBSTAT_VTAB=1
-DSQLITE_ENABLE_FTS3_PARENTHESIS=1
- -DSQLITE_ENABLE_JSON1=1
+ -DSQLITE_ENABLE_DBPAGE_VTAB
+ --enable-rtree
+ --enable-fts3
+ --enable-fts4
--enable-fts5
--enable-threadsafe
--enable-threads-override-locks
@@ -82,9 +83,10 @@ automatically enables functionality that uses zlib, which is the case for both
distributions.
Translating the configure script options into the macro definitions and adding
-the unconditionally defined macros (see upstream's Makefile.am for details) we
-end up with:
+the unconditionally defined macros (see upstream's Makefile.am and
+configure.ac for details) we end up with:
+ -DSQLITE_ALLOW_ROWID_IN_VIEW=1
-DSQLITE_ENABLE_COLUMN_METADATA=1
-DSQLITE_ENABLE_DBPAGE_VTAB=1
-DSQLITE_ENABLE_DBSTAT_VTAB=1
@@ -94,14 +96,17 @@ end up with:
-DSQLITE_ENABLE_FTS3_TOKENIZER=1
-DSQLITE_ENABLE_FTS4=1
-DSQLITE_ENABLE_FTS5=1
+ -DSQLITE_ENABLE_GEOPOLY=1
-DSQLITE_ENABLE_JSON1=1
-DSQLITE_ENABLE_LOAD_EXTENSION=1
+ -DSQLITE_ENABLE_MATH_FUNCTIONS=1
-DSQLITE_ENABLE_PREUPDATE_HOOK=1
-DSQLITE_ENABLE_RTREE=1
-DSQLITE_ENABLE_SESSION=1
-DSQLITE_ENABLE_STMTVTAB=1
-DSQLITE_ENABLE_UNLOCK_NOTIFY=1
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1
+ -DSQLITE_HAVE_ZLIB
-DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1
-DSQLITE_MAX_SCHEMA_RETRY=25
-DSQLITE_MAX_VARIABLE_NUMBER=250000
@@ -111,6 +116,9 @@ end up with:
-DSQLITE_THREADSAFE=1
-DSQLITE_USE_URI=1
+Note, however, that -DSQLITE_HAVE_ZLIB is only meaningful for sqlite3 program
+(see sqlite3/buildfile for details).
+
As a side note, on Debian and Fedora the library, headers and program are
packaged as follows:
@@ -119,4 +127,4 @@ Debian/Ubuntu: libsqlite3-0 libsqlite3-dev sqlite3
Fedora/RHEL: sqlite-libs sqlite-devel sqlite
Search for the Debian and Fedora packages at https://packages.debian.org/search
-and https://apps.fedoraproject.org/packages/.
+and https://src.fedoraproject.org/.