obra suggested me that it might be better for us to prepare a source
like DBD-SQLite-Devel (or Alien-SQLite, maybe) and not to install sqlite3.[ch]
by default. As it's essential for extension authors to have the exact
used to compile/install DBD::SQLite, I don't think it good to stop source files
installation without providing any alternatives, but there may be a better way.
There are several things we also need to consider:
- Bundling source files is nice as it makes installation and
maintenance much easier.
- Installing source files is not always necessary for everyone,
especially for those
who don't need extensions like custom FTS tokenizers.
- SQLite source files are fairly large (over 4 mb), and they are cumbersome
when you create a binary distribution of something that uses DBD::SQLite
(obra's case; he noticed this while he was packaging RT)
- If we decide to prepare an SQLite source distribution, we need to ship two
distributions when we release.
- It would be possible to release source distribution separately, as soon as
the upstream sqlite team release an update, though this might cause serious
version inconsistency, and/or too many combinations of sqlite/DBD::SQLite
versions, which we know was quite annoying (this is why we don't allow to
use system sqlite).
- No matter what we do, version inconsistency may occur when we upgrade
DBD::SQLite or extensions. We can warn or force to upgrade others while
installation process, but not sure which is better.
There must be more to consider, but anyway, what do you think?