Re: libdbd-sqlite-perl
On Tue, Dec 21, 2004 at 05:06:38PM +0100, Krzysztof Krzyzaniak wrote:
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283896
>
> //---
> dbd-sqlite-perl reports below error message.
>
> DBD::SQLite::db prepare failed: file is encrypted or is not a
> database(26) at dbdimp.c line 263 at ./a.pl line 11.
>
> ---//
>
> > That said, I do have an DBD::SQLite that links dynamically against
> > sqlite3, but I don't know why the author chose a different path.
>
> I see only one soulution here (before any changes from upstream).
> Create two packages libdbd-sqlite2-perl & libdbd-sqlite3-perl and
> drop libdbd-sqlite-perl package.
The correct solution is:
libdbd-sqlite-perl provides DBD::SQLite (2)
libdbd-sqlite3-perl provides DBD::SQLite3 (3)
Since that solution requires changes from upstream[0] and it's
therefore not practicable atm, the following should work:
libdbd-sqlite-perl provides DBD::SQLite (2)
libdbd-sqlite2-perl provides DBD::SQLite2 (2)
libdbd-sqlite3-perl provides DBD::SQLite (3)
and request immediate removal of libdbd-sqlite-perl from the archive
(sarge and sid). In this way there's no upgrade path, i.e. no
accidental upgrades. libdbd-sqlite3-perl conflicts (no replaces, no
provides) with libdbd-sqlite-perl. You just need to coordinate with
the maintainers of popfile and lire. I'd argue that:
Package: libdbix-searchbuilder-perl
Depends: perl (>= 5.6.0-16), libdbd-pg-perl | libdbd-mysql-perl |
libdbd-sqlite-perl | libdbd-informix-perl | libdbd-sybase-perl |
libdbd-odbc-perl, libclass-returnvalue-perl, libwant-perl,
libcache-simple-timedexpiry-perl
is wrong. Yes, you need a DBD installed, but this doesn't mean that
the only DBDs are those available in Debian.
Yes, this is butt-ugly, but it's the only sane thing to do in the face
of an undefined release schedule.
> I cannot use "old" DBD::SQlite package compatible with sqlite2
> because it doesn't compile on others architectures. I have to use new
> DBD::SQLite2 package to pass this problem (I am not good C hacker, I
> am not able to backport changes from DBD::SQLite2 to dbd::sqlite <
> 1.0).
The changes are rather simple: replace DBD::SQLite2 by DBD::SQLite in
SQLite.xs, lib/DBD/SQLite.pm, Makefile.PL. You should fix the tests,
too (s/SQLite2/SQLite/g).
Marcelo
[0] And it *is* SQLite's solution... grrrr!
Reply to: