Hi László and the release team, Thanks for merging my patch and taking care of opening this unblock request.
László Böszörményi <g...@debian.org> (2023-03-19): > [ Reason ] > Cyril Brulebois (kibi) who is the maintainer of crowdsec found out > that partial upgrade of Bullseye to Bookworm may render it unable to > start. Reason is, sqlite3 with 3.37.0-1 changed its internal > table_info representation. Previously the column types were in > lowercase letters and from this version these are using uppercase > letters - confusing the Bullseye version of crowdsec. With the version > in Bookworm it is already fixed. Meanwhile, I also found out that the new crowdsec version doesn't work with the old libsqlite3-0 (as it uses newer syntax). I've documented that in #1033132, and I've uploaded a fix already, after running the tests mentioned below. > [ Impact ] > Upgrading only libsqlite3-0 but not crowdsec makes the latter unusable > as it will not start. To prevent such situations I've added breaks on > old crowdsec versions. > > [ Tests ] > Kibi did the testing [1] and the fix only prevents incompatible > versions of the mentioned packages to be installed. I've extended the testing with a crowdsec package bumping its versioned dependency on libsqlite3-0, i.e. hardcoding a minimal version that we know to be needed syntax-wise (3.35.0), as opposed to the minimal one determined via the usual shared library mechanism (3.12.0). Test setup: - bullseye VM with crowdsec/bullseye installed. - apt pointing at bookworm, except with libsqlite3-0 and crowdsec pinned negatively via /etc/apt/preferences. - apt pointing at extra repository that contains libsqlite3-0 from unstable (3.40.1-2) and the tentative crowdsec 1.4.6-3 package (now uploaded to unstable since tests were all green). Triggering these work fine: - Ugrading crowdsec → pulls upgraded libsqlite3-0 along with a few other packages like glibc binaries, and the unpack/configure steps are fine. - Upgrading libsqlite3-0 → pulls upgraded crowdsec along with a few other packages like glibc binaries, and the unpack/configure steps are fine. - Dist-upgrading entirely is fine as well. The transcript for the first two is attached for information. I can replay the third scenario and attach it as well if needed, but I thought concentrating on the two partial upgrades made the most sense. Cheers, -- Cyril Brulebois -- Debian Consultant @ DEBAMAX -- https://debamax.com/
root@crowdsec11:~# apt-get install crowdsec Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libc-bin libc-l10n libc6 libsqlite3-0 locales Suggested packages: glibc-doc libnss-nis libnss-nisplus The following packages will be upgraded: crowdsec libc-bin libc-l10n libc6 libsqlite3-0 locales 6 upgraded, 0 newly installed, 0 to remove and 287 not upgraded. Need to get 40.5 MB of archives. After this operation, 70.6 MB of additional disk space will be used. Do you want to continue? [Y/n] […] Reading changelogs... Done Preconfiguring packages ... (Reading database ... 35506 files and directories currently installed.) Preparing to unpack .../libc-l10n_2.36-8_all.deb ... Unpacking libc-l10n (2.36-8) over (2.31-13+deb11u5) ... Preparing to unpack .../locales_2.36-8_all.deb ... Unpacking locales (2.36-8) over (2.31-13+deb11u5) ... Preparing to unpack .../libc6_2.36-8_amd64.deb ... Checking for services that may need to be restarted... Checking init scripts... Unpacking libc6:amd64 (2.36-8) over (2.31-13+deb11u5) ... Setting up libc6:amd64 (2.36-8) ... Checking for services that may need to be restarted... Checking init scripts... Restarting services possibly affected by the upgrade: ssh: restarting...done. cron: restarting...done. Services restarted successfully. (Reading database ... 35494 files and directories currently installed.) Preparing to unpack .../libc-bin_2.36-8_amd64.deb ... Unpacking libc-bin (2.36-8) over (2.31-13+deb11u5) ... Setting up libc-bin (2.36-8) ... (Reading database ... 35494 files and directories currently installed.) Preparing to unpack .../crowdsec_1.4.6-3_amd64.deb ... Unpacking crowdsec (1.4.6-3) over (1.0.9-2+b4) ... Removing obsolete conffile /etc/logrotate.d/crowdsec ... Preparing to unpack .../libsqlite3-0_3.40.1-2_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.40.1-2) over (3.34.1-3) ... Setting up libc-l10n (2.36-8) ... Setting up libsqlite3-0:amd64 (3.40.1-2) ... Setting up locales (2.36-8) ... Installing new version of config file /etc/locale.alias ... Generating locales (this might take a while)... fr_FR.UTF-8... done Generation complete. Setting up crowdsec (1.4.6-3) ... Installing new version of config file /etc/crowdsec/config.yaml ... Installing new version of config file /etc/crowdsec/patterns/mysql ... Installing new version of config file /etc/crowdsec/patterns/ssh ... Installing new version of config file /etc/crowdsec/profiles.yaml ... I: All 3 upstream-recommended collections are active, updating their dependencies I: Enabling WAL for SQLite [fstype=ext4] (see README.Debian) W: Applying workaround (lower timeout) for #1031326 INFO[19-03-2023 00:40:38] 1 alert(s) deleted INFO[19-03-2023 00:40:38] 1 alert(s) deleted INFO[19-03-2023 00:40:38] 1 alert(s) deleted INFO[19-03-2023 00:40:38] 1 alert(s) deleted W: Restarting crowdsec to refresh CAPI decisions (#1033138) Processing triggers for man-db (2.9.4-2) ... Processing triggers for libc-bin (2.36-8) ...
root@crowdsec11:~# apt-get install libsqlite3-0 Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: crowdsec libc-bin libc-l10n libc6 locales Suggested packages: glibc-doc libnss-nis libnss-nisplus The following packages will be upgraded: crowdsec libc-bin libc-l10n libc6 libsqlite3-0 locales 6 upgraded, 0 newly installed, 0 to remove and 287 not upgraded. Need to get 40.5 MB of archives. After this operation, 70.6 MB of additional disk space will be used. Do you want to continue? [Y/n] […] Reading changelogs... Done Preconfiguring packages ... (Reading database ... 35506 files and directories currently installed.) Preparing to unpack .../libc-l10n_2.36-8_all.deb ... Unpacking libc-l10n (2.36-8) over (2.31-13+deb11u5) ... Preparing to unpack .../locales_2.36-8_all.deb ... Unpacking locales (2.36-8) over (2.31-13+deb11u5) ... Preparing to unpack .../libc6_2.36-8_amd64.deb ... Checking for services that may need to be restarted... Checking init scripts... Unpacking libc6:amd64 (2.36-8) over (2.31-13+deb11u5) ... Setting up libc6:amd64 (2.36-8) ... Checking for services that may need to be restarted... Checking init scripts... Restarting services possibly affected by the upgrade: ssh: restarting...done. cron: restarting...done. Services restarted successfully. (Reading database ... 35494 files and directories currently installed.) Preparing to unpack .../libc-bin_2.36-8_amd64.deb ... Unpacking libc-bin (2.36-8) over (2.31-13+deb11u5) ... Setting up libc-bin (2.36-8) ... (Reading database ... 35494 files and directories currently installed.) Preparing to unpack .../crowdsec_1.4.6-3_amd64.deb ... Unpacking crowdsec (1.4.6-3) over (1.0.9-2+b4) ... Removing obsolete conffile /etc/logrotate.d/crowdsec ... Preparing to unpack .../libsqlite3-0_3.40.1-2_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.40.1-2) over (3.34.1-3) ... Setting up libc-l10n (2.36-8) ... Setting up libsqlite3-0:amd64 (3.40.1-2) ... Setting up locales (2.36-8) ... Installing new version of config file /etc/locale.alias ... Generating locales (this might take a while)... fr_FR.UTF-8... done Generation complete. Setting up crowdsec (1.4.6-3) ... Installing new version of config file /etc/crowdsec/config.yaml ... Installing new version of config file /etc/crowdsec/patterns/mysql ... Installing new version of config file /etc/crowdsec/patterns/ssh ... Installing new version of config file /etc/crowdsec/profiles.yaml ... I: All 3 upstream-recommended collections are active, updating their dependencies I: Enabling WAL for SQLite [fstype=ext4] (see README.Debian) W: Applying workaround (lower timeout) for #1031326 INFO[19-03-2023 00:43:45] 1 alert(s) deleted INFO[19-03-2023 00:43:45] 1 alert(s) deleted INFO[19-03-2023 00:43:45] 1 alert(s) deleted INFO[19-03-2023 00:43:45] 1 alert(s) deleted W: Restarting crowdsec to refresh CAPI decisions (#1033138) Processing triggers for man-db (2.9.4-2) ... Processing triggers for libc-bin (2.36-8) ...
signature.asc
Description: PGP signature