#728 closed task (fixed)

declare dependency on sqlite when on py2.4

Reported by: warner Owned by: zooko
Priority: minor Milestone: undecided
Component: packaging Version: 1.4.1
Keywords: Cc:
Launchpad Bug:

Description

Zooko and I agreed to add a metadata dependency on one of the sqlite bindings (used by Tahoe's backupdb feature). This means:

  • code can assume that either the 'sqlite3' or the 'pysqlite2' package will be importable
    • (sqlite3 comes with py2.5/py2.6 . pysqlite2 is an add-on, useful for py2.4)
  • setuptools must be content with the sqlite3 that comes with py2.5/py2.6. If python -c "import sqlite3" works, it must *not* attempt to download+build pysqlite2 or sqlite3.
    • My concern here is that the batteries-included sqlite3 module typically does not include an .egg-info file, and so setuptools might not believe that it exists.
    • if this is a problem, then either we don't add the dependency, add it only when sys.version says 2.4, or try the import before adding the dependency.

Python2.4 users will have an extra dependency to deal with, which may or may not be satisfiable automatically. In exchange for this, we can remove the --no-backupdb option from "tahoe backup". I think we might want to retain the "here's advice for getting pysqlite" message in the ImportError handler, because we'll be removing the alternative (running without sqlite and without a backupdb).

Change History (4)

comment:1 Changed at 2009-06-02T02:48:49Z by zooko

  • Owner changed from somebody to zooko
  • Status changed from new to assigned

comment:2 Changed at 2009-06-04T15:55:32Z by zooko

Fixed by 81b0e1382d9dd391. Oh, I guess I shouldn't close this ticket til I remove the --no-backupdb option.

comment:3 Changed at 2009-06-04T19:37:27Z by zooko

  • Resolution set to fixed
  • Status changed from assigned to closed

Fixed by 8c18ac38a9b71d43.

comment:4 Changed at 2009-06-24T04:14:49Z by warner

See #745 for a possible problem with this change.

Note: See TracTickets for help on using tickets.