diff options
Diffstat (limited to 'mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch')
-rw-r--r-- | mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch b/mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch new file mode 100644 index 0000000..48ebbf1 --- /dev/null +++ b/mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch @@ -0,0 +1,99 @@ +# HG changeset patch +# User Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> +# Date 1543532530 0 +# Thu Nov 29 23:02:10 2018 +0000 +# Node ID 1c480085935783bd1d240860bb44f410e2d36322 +# Parent 6453222232be364fb8ce3fd29b6cbcd480e5f2e3 +Bug 1270882 - Enable support for SQLite custom FTS3 tokenizers at run time. + +Do not require that SQLite has been built with support for custom FTS3 +tokenizers enabled by default. This allows to use system SQLite in +distributions which provide SQLite configured in this way (which is SQLite +upstream's default configuration due to security concerns). + +Requires exposing the sqlite3_db_config symbol in bundled SQLite. + +Disable no longer needed setting of SQLITE_ENABLE_FTS3_TOKENIZER macro in +bundled SQLite build. + +--- a/db/sqlite3/src/moz.build Thu Nov 29 19:08:28 2018 +0000 ++++ b/db/sqlite3/src/moz.build Thu Nov 29 23:02:10 2018 +0000 +@@ -58,10 +58,6 @@ + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': + DEFINES['SQLITE_ENABLE_LOCKING_STYLE'] = 0 + +-# Thunderbird needs the 2-argument version of fts3_tokenizer() +-if CONFIG['MOZ_THUNDERBIRD'] or CONFIG['MOZ_SUITE']: +- DEFINES['SQLITE_ENABLE_FTS3_TOKENIZER'] = 1 +- + # Turn on SQLite's assertions in debug builds. + if CONFIG['MOZ_DEBUG']: + DEFINES['SQLITE_DEBUG'] = 1 +--- a/db/sqlite3/src/sqlite.symbols Thu Nov 29 19:08:28 2018 +0000 ++++ b/db/sqlite3/src/sqlite.symbols Thu Nov 29 23:02:10 2018 +0000 +@@ -45,6 +45,7 @@ + sqlite3_create_function16 + sqlite3_create_module + sqlite3_data_count ++sqlite3_db_config + sqlite3_db_filename + sqlite3_db_handle + sqlite3_db_mutex +--- a/storage/mozStorageConnection.cpp Thu Nov 29 19:08:28 2018 +0000 ++++ b/storage/mozStorageConnection.cpp Thu Nov 29 23:02:10 2018 +0000 +@@ -679,6 +679,10 @@ + return convertResultCode(srv); + } + ++#ifdef INIT_SQLITE_FTS3_TOKENIZER ++ ::sqlite3_db_config(mDBConn, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, 0); ++#endif ++ + // Do not set mDatabaseFile or mFileURL here since this is a "memory" + // database. + +@@ -715,6 +719,10 @@ + return convertResultCode(srv); + } + ++#ifdef INIT_SQLITE_FTS3_TOKENIZER ++ ::sqlite3_db_config(mDBConn, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, 0); ++#endif ++ + // Do not set mFileURL here since this is database does not have an associated + // URL. + mDatabaseFile = aDatabaseFile; +@@ -746,6 +754,10 @@ + return convertResultCode(srv); + } + ++#ifdef INIT_SQLITE_FTS3_TOKENIZER ++ ::sqlite3_db_config(mDBConn, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, 0); ++#endif ++ + // Set both mDatabaseFile and mFileURL here. + mFileURL = aFileURL; + mDatabaseFile = databaseFile; +--- a/storage/moz.build 2018-11-14 10:14:14.000000000 -0500 ++++ b/storage/moz.build 2018-11-29 17:05:42.106058951 -0500 +@@ -101,16 +101,20 @@ + # + # Note: On Windows our sqlite build assumes we use jemalloc. If you disable + # MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef + # MOZ_MEMORY" options in db/sqlite3/src/Makefile.in. + if CONFIG['MOZ_MEMORY'] and not CONFIG['MOZ_SYSTEM_SQLITE']: + if CONFIG['OS_TARGET'] != 'Android': + DEFINES['MOZ_STORAGE_MEMORY'] = True + ++# Thunderbird needs the 2-argument version of fts3_tokenizer() ++if CONFIG['MOZ_THUNDERBIRD'] or CONFIG['MOZ_SUITE']: ++ DEFINES['INIT_SQLITE_FTS3_TOKENIZER'] = 1 ++ + # This is the default value. If we ever change it when compiling sqlite, we + # will need to change it here as well. + DEFINES['SQLITE_MAX_LIKE_PATTERN_LENGTH'] = 50000 + + # See Sqlite moz.build for reasoning about TEMP_STORE. + # For system sqlite we cannot use the compile time option, so we use a pragma. + if CONFIG['MOZ_SYSTEM_SQLITE'] and (CONFIG['OS_TARGET'] == 'Android' + or CONFIG['HAVE_64BIT_BUILD']): |