Project:Perl/maint-notes/dev-perl/DBD-SQLite
From Gentoo Wiki
Jump to:navigation
Jump to:search
use system-sqlite
When bumping DBD-SQLite, one has to take care to understand:
- The bundled DBD-SQLite version
- The minimum dev-db/sqlite that might be supported by the code
- The maximum dev-db/sqlite that might be supported by the code
Determining the bundled version is easy:
grep "define SQLITE_VERSION" sqlite3.c #define SQLITE_VERSION "3.22.0" #define SQLITE_VERSION_NUMBER 3022000
And determining the upstream stated absolute minimum is easy:
grep "[$]version >=" Makefile.PL unless ( $version && ($version >= 3006000) ) {
However, one may note upstream doesn't necessarily target as wide a variety of versions as we do, so extra care must be taken for system-sqlite.
For instance, DBD-SQLite 1.540.0 indicated:
- Ships with 3.13.0
- Min supported 3.6.0
However, reality bug #640724 indicated a stricter window was necessary.
Subsequently
- Don't ever downgrade the min requirement for sqlite, assume it will only get worse.
- Leave the upper bound empty after bumping, then tighten it down when compat issues appear.
- Where possible, set min-sqlite to the same as the shipped one. Where not possible to do that, depend on the largest possible one in proximity.
The objective being to let bundled and non-bundled behaviour vary as little as possible.