Clementine icon indicating copy to clipboard operation
Clementine copied to clipboard

Unbundle qsqlite

Open marcusmueller opened this issue 2 years ago • 2 comments

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

  • [x] I checked the issue tracker for similar issues
  • [x] I checked the changelog if the issue is already resolved
  • [x] I tried the latest Clementine build from here

System information

Please provide information about your system and the version of Clementine used.

  • Operating System: N/A
  • Clementine version: N/A

Expected behaviour / actual behaviour

not bundling and building old versions of software which are available on user's machines, anyway

Thing is, QSQLite is just part of qt-devel for any platform I'm aware of; it's unlikely anyone would have a Qt5 installation without it. Funnily, we unbundled the sqlite that old versions of the qsqlite driver bundled and use the system one, which is clever, but highlights how ill-advised bundling that driver is.
So, aside from the maintenance overhead, and the bugs schlepped around from shipping an old version, we gain little from bundling it.

CMake-wise: We should be able to just check the Qt5::Sql target's PROPERTY QT_ALL_PLUGINS_sqldrivers for inclusion of Qt5::QSQLiteDriverPlugin, or directly depend on the Qt5::QSQLiteDriverPlugin component.

marcusmueller avatar Sep 17 '23 07:09 marcusmueller

IIRC, this was to let us setup FTS in sqlite

hatstand avatar Sep 17 '23 11:09 hatstand

ah yes, been digging through the code that uses it, though I have to say, I'm really not sure I would have gone through a Qt abstraction layer if I didn't want an abstracted database. I opened this issue before on the hunch that this would necessitate significant changes to datatabase*.

marcusmueller avatar Sep 17 '23 11:09 marcusmueller