bupstash
bupstash copied to clipboard
Allow build with system-provided libsqlite (dynamically linked)
This is mainly for Linux distributions that package bupstash. Linux distributions generally dislike bundled (statically linked) dependencies, both for security reasons and to save users from wasting network traffic and disk space by having dozens of copies of the same library bundled in different binaries.
Notes:
The modern_sqlite feature of rusqlite is implicitly enabled by the bundled feature, so it's not new here. This feature is needed because it enables libsqlite3-sys/bundled_bindings which is needed for src/fstx2.rs to build (it doesn't build with buildtime_bindgen, dunno why).
sqlite has a very stable API and ABI, so it's not necessary to ensure exact version matching. And it's undesirable when linking with system-provided libsqlite, because it would require rebuilding bupstash every time libsqlite is upgraded to a new patch version (e.g. with fixed security bug). However, I kept the assert and disabled it just for builds without bundled sqlite.
Debian will need it