Package: libsqlite3-0
Version: 3.34.1-3
Severity: important
Tags: patch
X-Debbugs-Cc: debian...@lists.debian.org

Hi,

With my crowdsec maintainer hat on: while preparing the final crowdsec
upload(s) for bookworm, I've spotted that the crowdsec package from
bullseye doesn't start on a bookworm system:

    time="16-03-2023 00:19:45" level=fatal msg="api server init: unable to run 
local API: unable to init database client: failed creating schema resources: 
sql/schema: invalid type \"INTEGER\" for column \"events_count\""

While crowdsec is a Go package, relying on the Ent package to deal with
SQLite, the latter leverages golang-github-mattn-go-sqlite3-dev, which
ends up building against the system SQLite library.

That's how crowdsec 1.0.9-2(+b4) in bullseye ends up depending on
libsqlite3-0 (>= 3.7.15).

The service starts fine with all libsqlite3-0 versions between 3.34.1-3
and 3.36.0-2, and no longer starts with 3.37.0-1 and later. While I was
contemplating the documented changes for 3.37.0 (and finding nothing
relevant), my very kind upstream found this Ent issue:
  https://github.com/ent/ent/issues/2209

In short, Ent's expectations are no longer fulfilled, and crowdsec no
longer starts with newer versions.

To support partial upgrades from bullseye to bookworm, it would be best
if libsqlite3-0 would break old crowdsec versions, so that we don't run
into this issue (either because admins are performing partial upgrades
on purpose, or because apt broke down the upgrade into smaller chunks
with a combination of crowdsec/libsqlite3-0 packages that cannot work).

Patch attached, thanks for considering!


Cheers,
-- 
Cyril Brulebois -- Debian Consultant @ DEBAMAX -- https://debamax.com/
diff -Nru sqlite3-3.40.1/debian/changelog sqlite3-3.40.1/debian/changelog
--- sqlite3-3.40.1/debian/changelog     2022-12-31 09:41:40.000000000 +0100
+++ sqlite3-3.40.1/debian/changelog     2023-03-16 00:51:04.000000000 +0100
@@ -1,3 +1,10 @@
+sqlite3 (3.40.1-2) UNRELEASED; urgency=medium
+
+  * Add Breaks against crowdsec as found in bullseye, as it relies on a
+    particular table_info format, which changes between 3.36.0 and 3.37.0.
+
+ -- Cyril Brulebois <cy...@debamax.com>  Wed, 15 Mar 2023 23:51:04 +0000
+
 sqlite3 (3.40.1-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru sqlite3-3.40.1/debian/control sqlite3-3.40.1/debian/control
--- sqlite3-3.40.1/debian/control       2022-12-31 09:41:40.000000000 +0100
+++ sqlite3-3.40.1/debian/control       2023-03-16 00:50:52.000000000 +0100
@@ -52,7 +52,7 @@
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Breaks: python-migrate (<< 0.11.0-4~), python3-migrate (<< 0.11.0-4~)
+Breaks: python-migrate (<< 0.11.0-4~), python3-migrate (<< 0.11.0-4~), 
crowdsec (<< 1.4)
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Description: SQLite 3 shared library

Reply via email to