Fossil Forum

Fedora and FTS4
Login

Fedora and FTS4

Fedora and FTS4

(1) By ivz hh (ivz_hh) on 2020-10-09 07:19:54 [link] [source]

Hi,

I am a Fedora user and Fedora stays on fossil 2.8 with patches for a while. The latest CVE causes 2.12.1 and backports 2.11.2 and 2.10.2. But it is out of reach of Fedora users. I check the RPM spec from Fedora and it turns out that -DSQLITE_ENABLE_FTS4 is the cause. Fossil's rpm on Fedora uses system SQLite instead of the embedded version. FTS4 is not enabled on system copy.

This check for FTS4 in configure is introduced as src/sqlcompattest.c in Aug 2019 and fossil 2.8 is tagged in Feb 2019. However, SQLite in Fedora uses FTS5, which is enabled in Aug 2017. It seems fossil runs with FTS5 only (-DSQLITE_ENABLE_FTS3=3 in CFLAGS and --enable-fts5 in configure) well for a while.

My question is:

  • Is it proper to run only with FTS5 without FTS4?
  • Is it safe to add a FTS4 or FTS5 logic to src/sqlcompattest.c?

Thank you!

(2) By Richard Hipp (drh) on 2020-10-09 08:18:31 in reply to 1 [source]

FTS4 is only used by the search feature when Fossil is run as a server. (I really ought to update that to use FTS5, someday. but for now it is still FTS4.) So, Fossil will work fine without FTS4, as long as you are not trying to use it as a server with search enabled.

But: Why do you feel the need to stay with Fedora recommendations? Fossil is a single stand-alone executable. You can download a pre-compiled binary for Linux (or compile it yourself using just "./configure && make") and put the resulting binary anywhere on your $PATH. You do not need any library support or installation. So, why not just download a precompiled binary (that fixes some important security issues) and use that?

(3) By ivz hh (ivz_hh) on 2020-10-09 19:07:01 in reply to 2 [link] [source]

Thank you Dr. Hipp! That explains a lot of the background stories. One of the forte of fossil is the full-text indexing as a server. I will contact Fedora's maintainer to update their configurations.

Yes, for me, I prefer to download from fossil-scm.org the latest binary, for my Ubuntu and my Raspberry Pi Ubuntu. I have a function in my .bashrc for that. The reason why I try to upgrade the package in Fedora is I want to enable others to access fossil easily. I know cases where people only like to dnf/apt/... install things. Fossil is amazing and I hope everyone can use it.

Thank you!