Bug 270064

Summary: databases/sqlite3: Changed option DQS default, some ports required it.
Product: Ports & Packages Reporter: Pavel Volkov <pavelivolkov>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Some People CC: flo, franco, fuz, madpilot, pavelivolkov
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 270376    
Bug Blocks:    
Attachments:
Description Flags
patch
pavelivolkov: maintainer-approval+
portlint log
none
poudriere log without flavors
none
poudriere log @tcl
none
poudriere log @icu none

Description Pavel Volkov 2023-03-09 13:00:45 UTC
Created attachment 240695 [details]
patch

Some port (see list after) required old behavior for option SQLITE_DQS:

1. net-p2p/sonarr (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270004) - "already patched"
2. multimedia/emby-server (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269889)
3. multimedia/tautulli (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269889)
4. net/vnstat (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269966)
5. www/qutebrowser (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269950)

The old behavior is not welcomed by the authors SQLite, see:
1. https://www.sqlite.org/quirks.html#dblquote
2. https://www.sqlite.org/compile.html#dqs
3. https://www.sqlite.org/c3ref/c_dbconfig_defensive.html#sqlitedbconfigdqsddl

It is recommended to make changes to the applications. It's been 4 years already.
Comment 1 Pavel Volkov 2023-03-09 13:02:42 UTC
Created attachment 240696 [details]
portlint log
Comment 2 Pavel Volkov 2023-03-09 13:03:14 UTC
Created attachment 240697 [details]
poudriere log without flavors
Comment 3 Pavel Volkov 2023-03-09 13:03:41 UTC
Created attachment 240698 [details]
poudriere log @tcl
Comment 4 Pavel Volkov 2023-03-09 13:04:00 UTC
Created attachment 240699 [details]
poudriere log @icu
Comment 5 Robert Clausecker freebsd_committer freebsd_triage 2023-03-09 15:57:44 UTC
net/vnstat has a patch waiting for maintainer approval.
multimedia/tautulli upstream is informed of the problem.

Given that the problem can be worked around per application by setting an option on the database connection, fixing the applications should be easy.
Comment 6 Robert Clausecker freebsd_committer freebsd_triage 2023-03-09 15:59:19 UTC
Dear maintainer, please indicate how you wish to proceed.  I can commit your patch or wait for a bit longer.  The choice is yours.
Comment 7 Pavel Volkov 2023-03-11 10:55:31 UTC
(In reply to Robert Clausecker from comment #6)
Hello.
Let's apply this patch.
Let's give colleagues more time to fix applications.
Thank you.
Comment 8 Robert Clausecker freebsd_committer freebsd_triage 2023-03-11 11:39:55 UTC
For how long do you plan to temporarily re-enable this option?  Perhaps we can put a deadline into the commit message.
Comment 9 Pavel Volkov 2023-03-12 08:05:59 UTC
(In reply to Robert Clausecker from comment #8)
Hello.
I propose that the deadline be set no earlier than January 1, 2024.
Thank you.
Comment 10 Robert Clausecker freebsd_committer freebsd_triage 2023-03-13 09:45:44 UTC
an upstream fix to www/qutebrowser is now available.  I'll commit with an entry to UPDATING as follows if you have no objections:

+20230313:
+  AFFECTS: users of databases/sqlite3
+  AUTHOR: fuz@FreeBSD.org
+
+  Due to various ports not being prepared for this change (see 20230227
+  entry), the DQS option of databases/sqlite3 has been reenabled as a
+  stop gap measure.  It is scheduled to be disabled again for good no
+  earlier than 20240101, giving downstream software authors more time
+  to fix their queries.
+
+  See also: https://sqlite.org/quirks.html#dblquote
Comment 11 commit-hook freebsd_committer freebsd_triage 2023-03-13 23:07:31 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5fd5f3398b665540ed77893b792e7372f8087f2f

commit 5fd5f3398b665540ed77893b792e7372f8087f2f
Author:     Pavel Volkov <pavelivolkov@gmail.com>
AuthorDate: 2023-03-13 09:46:16 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-03-13 23:06:38 +0000

    databases/sqlite3: reenable the DQS option

    Due to various ports not being prepared for this change (see 20230227
    entry), the DQS option of databases/sqlite3 has been reenabled as a
    stop gap measure.  It is scheduled to be disabled again for good no
    earlier than 20240101, giving downstream software authors more time
    to fix their queries.

    PR:             270064
    Fixes:          47912ce2e613211aecf6ecdfc58681b7aca0df33
    See also:       PR 269889, 269966, 269950

 UPDATING                   | 12 ++++++++++++
 databases/sqlite3/Makefile |  4 +++-
 2 files changed, 15 insertions(+), 1 deletion(-)
Comment 12 Robert Clausecker freebsd_committer freebsd_triage 2023-03-13 23:25:58 UTC
Thank you for your contribution.
Comment 13 Franco Fichtner 2023-03-14 11:45:10 UTC
Thank you for the consideration.