[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: