Control: severity -1 important
Control: tags -1 patch

Dear Laszlo,

On  Mo 06 Mai 2024 21:03:07 CEST, Debian Bug Tracking System wrote:

Source: libsqlite3-0
Severity: normal
Tags: l10n

Debian SQlite appears to be compiled without support for the 'icu' and
'unicode61' tokenizers:

   sqlite> CREATE VIRTUAL TABLE test1 USING fts4(tokenize=simple);
   sqlite> CREATE VIRTUAL TABLE test2 USING fts4(tokenize=porter);
   sqlite> CREATE VIRTUAL TABLE test3 USING fts4(tokenize=icu);
   Error: unknown tokenizer: icu
   sqlite> CREATE VIRTUAL TABLE test4 USING fts4(tokenize=unicode61);
   Error: unknown tokenizer: unicode61

'simple' and 'porter' tokenizers only really work for English, so this
is quite bad for localization.  'icu' is enabled through
SQLITE_ENABLE_ICU, and 'unicode61' should be available since SQlite
3.7.13 ...

Find attached a .debdiff patch that fixes bug #758985 by building sqlite3 with SQLITE_ENABLE_ICU.

I just uploaded an addressbook storage backend [1] for Lomiri's [2] address book app [3] to Debian's NEW queue which needs this fix (so I am creating some dramatizing tension by bumping this bug's severity to 'important' ;-) ).

Please consider enabling the ICU extension and making sqlite3 i18n capable for languages using regional fonts etc. If this change is not acceptable, please also let me know.

Maybe it could be an approach to upload an ICU-enabled version of sqlite3 to experimental and ask people to test their services/applications with the new-featured sqlite3. I can help with communications if needed. Please let me know.

Thanks! Looking forward to seeing this addressed in short-term...
Mike


[1] https://ftp-master.debian.org/new/qtcontacts-sqlite_0.3.5-1.html
[2] https://lomiri.com
[3] https://gitlab.com/ubports/development/core/address-book-app
--

mike gabriel aka sunweaver (Debian Developer)
mobile: +49 (1520) 1976 148
landline: +49 (4351) 486 14 27

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: sunwea...@debian.org, http://sunweavers.net

diff -Nru sqlite3-3.45.3/debian/changelog sqlite3-3.45.3/debian/changelog
--- sqlite3-3.45.3/debian/changelog     2024-04-16 16:12:58.000000000 +0000
+++ sqlite3-3.45.3/debian/changelog     2024-05-06 16:42:20.000000000 +0000
@@ -1,3 +1,14 @@
+sqlite3 (3.45.3-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/rules:
+    + Build with SQLITE_ENABLE_ICU=1.
+    + Add  -licuuc -licui18n to LDFLAGS.
+  * debian/libsqlite3-0.symbol:
+    + Update file (due to building with SQLITE_ENABLE_ICU=1).  
+
+ -- Mike Gabriel <sunwea...@debian.org>  Mon, 06 May 2024 18:42:20 +0200
+
 sqlite3 (3.45.3-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru sqlite3-3.45.3/debian/control sqlite3-3.45.3/debian/control
--- sqlite3-3.45.3/debian/control       2023-06-24 14:16:47.000000000 +0000
+++ sqlite3-3.45.3/debian/control       2024-05-06 15:39:48.000000000 +0000
@@ -2,7 +2,7 @@
 Section: devel
 Priority: optional
 Maintainer: Laszlo Boszormenyi (GCS) <g...@debian.org>
-Build-Depends: debhelper-compat (= 13), autoconf (>= 2.59), libtool (>= 
1.5.2), automake, chrpath, lynx, libreadline-dev, tcl8.6-dev
+Build-Depends: debhelper-compat (= 13), autoconf (>= 2.59), libtool (>= 
1.5.2), automake, chrpath, lynx, libreadline-dev, tcl8.6-dev, libicu-dev
 Build-Conflicts: tcl8.4, tcl8.4-dev, tcl8.5, tcl8.5-dev
 Standards-Version: 4.6.2
 Rules-Requires-Root: no
diff -Nru sqlite3-3.45.3/debian/libsqlite3-0.symbols 
sqlite3-3.45.3/debian/libsqlite3-0.symbols
--- sqlite3-3.45.3/debian/libsqlite3-0.symbols  2024-04-16 16:12:58.000000000 
+0000
+++ sqlite3-3.45.3/debian/libsqlite3-0.symbols  2024-05-06 16:41:57.000000000 
+0000
@@ -364,6 +364,7 @@
  sqlite3Fts3HashFindElem@Base 3.37.0
  sqlite3Fts3HashInit@Base 3.37.0
  sqlite3Fts3HashInsert@Base 3.37.0
+ sqlite3Fts3IcuTokenizerModule@Base 3.45.3-1.1
  sqlite3Fts3Incrmerge@Base 3.37.0
  sqlite3Fts3Init@Base 3.37.0
  sqlite3Fts3InitAux@Base 3.37.0
@@ -439,6 +440,7 @@
  sqlite3HeapNearlyFull@Base 3.37.0
  sqlite3HexToBlob@Base 3.37.0
  sqlite3HexToInt@Base 3.37.0
+ sqlite3IcuInit@Base 3.45.3-1.1
  sqlite3IdListAppend@Base 3.37.0
  sqlite3IdListDelete@Base 3.37.0
  sqlite3IdListDup@Base 3.37.0
diff -Nru sqlite3-3.45.3/debian/rules sqlite3-3.45.3/debian/rules
--- sqlite3-3.45.3/debian/rules 2024-03-13 20:16:30.000000000 +0000
+++ sqlite3-3.45.3/debian/rules 2024-05-06 16:42:20.000000000 +0000
@@ -25,6 +25,10 @@
 export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
 export LDFLAGS += -Wl,--as-needed
+
+# Because we build with SQLITE_ENABLE_ICU
+LDFLAGS += -licuuc -licui18n
+
 ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
   confflags += --build $(DEB_HOST_GNU_TYPE) 
--with-tcl=/usr/lib/$(DEB_HOST_MULTIARCH)/tcl8.6
   export CROSS_BUILDING=no
@@ -50,6 +54,7 @@
        -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \
        -DSQLITE_ENABLE_LOAD_EXTENSION \
        -DSQLITE_ENABLE_JSON1 \
+       -DSQLITE_ENABLE_ICU \
        -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \
        -DSQLITE_THREADSAFE=1 \
        -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \

Attachment: pgpavqAM5rPHj.pgp
Description: Digitale PGP-Signatur

Reply via email to