[DBD-SQLite] Using System SQLite Instead of Bundled Version

Adam Kennedy adamkennedybackup at gmail.com
Fri May 22 07:50:07 GMT 2009


The concern I had at the time of zero'ing that code out was that we
were moving the code so quickly that there could be problems with
linking to a local version that would obscure the more important
issues around getting the library itself upgraded and working.

That's also why I zero'ed it out, rather than deleting it entirely.

If you guys want to patch that one line to enable it again and see if
you can get local library support working again with the overhauled
code, you are welcome to do so, and I encourage it.

Adam K

2009/5/22 Jonathan Yu <jonathan.i.yu at gmail.com>:
> Hi all:
>
> In Debian we maintain a package for the sqlite3 libraries. We also
> maintain a package for DBD::SQLite, which includes a bundled version
> of sqlite3.
>
> Judging by the Makefile.PL, there are ways to force the module to use
> the system SQLite, but it has been disabled:
>
> # 2005/6/19, by rjray at blackperl.com
> #
> # Determine if we are going to use the provided SQLite code, or an already-
> # installed copy. To this end, look for two command-line parameters:
> #
> #    USE_LOCAL_SQLITE -- If non-false, force use of the installed version
> #    SQLITE_LOCATION  -- If passed, look for headers and libs under this root
> #
> # In absense of either of those, expect SQLite 3.X.X libs and headers in the
> # common places known to Perl or the C compiler.
>
> # 2009/04/02
> # But why do we need to use an older, system-installed library?
> # Let's always use the bundled one. -- ISHIGAKI
> # 2009/04/03
> # For the moment, while we're fixing things, this is reasonable.
> # However, logic in the form "I lack knowledge, thereforce lets do
> # it this way" is not a sufficiently robust decision making process.
> # Let's find out the full story first, so we can make an informed
> # decision to whether to do this. -- ADAMK
>
> >From your standpoint as DBD::SQLite developers, it makes sense - "the
> system sqlite can be older than the one we're designed to work with;
> how can we tell otherwise?" From a Perl developer standpoint, I think
> the best place for an embedded sqlite installation is in an Alien
> package. The idea with those is that you'd simply depend on
> Alien::SQLite, and Alien::SQLite would install the package if
> necessary.
>
> However, in Debian, we keep track of system packages such as sqlite3
> and can guarantee that it is the appropriate version for use with the
> bindings provided in DBD::SQLite. Ideally, those command-line
> parameters above would be fantastic for us, in order to use the system
> SQLite instead of the local version only.
>
> This is because we might have patches in our sqlite3 package. If you
> use the version bundled with DBD::SQLite, then obviously these patches
> would be lost, which ultimately hurts our users.
>
> So, for what it's worth, I'd just like to say that this would be a
> great install feature for us, even as currently implemented (though
> disabled with the whole if (0) surrounding it). I'm curious as to why
> it was disabled in the first place; is it because the code for using a
> system sqlite is insufficiently robust?
>
> Thanks for any advice or suggestions you can offer. If there is a
> better way to do this, I'd love to hear it.
>
> Cheers,
>
> Jonathan
>
> _______________________________________________
> DBD-SQLite mailing list
> DBD-SQLite at lists.scsys.co.uk
> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbd-sqlite
>



More information about the DBD-SQLite mailing list