Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 231836 - Trac linked against sqlite2 instead of sqlite3
Summary: Trac linked against sqlite2 instead of sqlite3
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: trac
Version: 6
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeffrey C. Ollie
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 231907 232162 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-03-12 13:59 UTC by Matthew Gillen
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version: 0.10.3.1-2
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-03-12 15:35:21 UTC


Attachments (Terms of Use)
Apache log from trying to open existing trac environment (deleted)
2007-03-12 14:49 UTC, Matthew Gillen
no flags Details

Description Matthew Gillen 2007-03-12 13:59:48 UTC
Description of problem:
trac-0.10.3.1-1.fc6.noarch.rpm is linked against python-sqlite2.  Previous
versions were linked against python-sqlite3.  This makes old environments not
work with the new version, since they sqlite2-based version cannot read the
sqlite3 databases.  Trac should be linked against the sqlite3 version.


Version-Release number of selected component (if applicable):
trac-0.10.3.1-1

Comment 1 Jeffrey C. Ollie 2007-03-12 14:32:03 UTC
Hmm...  Here are the requires for python-sqlite:

libc.so.6  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1.3)  
libc.so.6(GLIBC_2.3)  
libc.so.6(GLIBC_2.4)  
libpthread.so.0  
libsqlite3.so.0  
python(abi) = 2.4
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)  

And here are the requires for python-sqlite2:

libc.so.6  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1.3)  
libc.so.6(GLIBC_2.3)  
libc.so.6(GLIBC_2.4)  
libpthread.so.0  
libsqlite3.so.0  
python(abi) = 2.4
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)  
sqlite >= 3.3.3

This looks to me like both versions of the sqlite python bindings link
against sqlite version 3.  AFAICS, there is no package named
python-sqlite3 in FC6.


Comment 2 Matthew Gillen 2007-03-12 14:49:31 UTC
Created attachment 149823 [details]
Apache log from trying to open existing trac environment

These are the errors I got from apache when trying to access Trac URLs after
upgrading to trac-0.10.3.1-1.fc6.noarch.rpm with python-sqlite2.

Comment 3 Matthew Gillen 2007-03-12 15:07:19 UTC
I realize now that the bug report title is misleading, since as you say, there
is no python-sqlite3.

So the old version (trac-0.10.3.1) was linked against python-sqlite, and the new
10.3.1-1 version is python-sqlite2 (but from what I now understand, both should
support sqlite3 databases).

The problem is still that the new version could not read my existing trac
databases.  I'm not sure why (the apache logs I attached earlier indicate that
it might be trying to do an upgrade), and given this new information about
python-sqlite2, it seems like there shouldn't be a problem.  But downgrading
made the problem illustrated by the apache logs go away, so there is certainly
something wrong.


Comment 4 Jeffrey C. Ollie 2007-03-12 15:14:39 UTC
Trac isn't really "linked" against python-sqlite or python-sqlite2.  The trac
code is supposed to auto-detect which one is installed.  If both are installed I
believe that it prefers the python-sqlite2 version based upon what I read in the
code.  When you upgraded trac was python-sqlite2 installed as a dependency when
it wasn't installed before?

Comment 5 Matthew Gillen 2007-03-12 15:19:03 UTC
Yes, exactly: python-sqlite2 was installed as a dependency for the update to
trac-0.10.3.1-1



Comment 6 Matthew Gillen 2007-03-12 15:24:13 UTC
I got some info that this might be a known issue from the trac-users list:
http://initd.org/tracker/pysqlite/ticket/146

A possible work-around is listed there, which involves tweaking apache's config.
 Looks like some sort of Apache cache is built.  I'll try to poke around an see
if I can't figure out how to clear it.

Comment 7 Matthew Gillen 2007-03-12 15:35:21 UTC
After carefully reading the bug report from comment #6, it seems that there is a
bug in python-sqlite2-2.3.2; the issue I described with trac is appearently
fixed by using python-sqlite-2.3.3.

I'll file a bug report against python-sqlite instead.

Comment 8 Jeffrey C. Ollie 2007-03-13 00:18:10 UTC
*** Bug 231907 has been marked as a duplicate of this bug. ***

Comment 9 Jonathan S. Shapiro 2007-03-13 04:07:16 UTC
I'm the poster of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=231907. I
just wanted to confirm that the workaround suggested there:

  rpm -e --nodeps python-sqlite2

has restored function on my system. If you are contemplating applying this
patch, I do suggest that you run "rpm -e" (without the --nodeps) to make sure
that the only dependency is trac. Trac will run fine after the removal.

Matt: what was the bug # for python-sqlite? I'ld like to track that one.

Comment 10 Jeffrey C. Ollie 2007-03-13 04:15:14 UTC
The python-sqlite2 bug is bug # 231848.

Comment 11 Jonathan S. Shapiro 2007-03-13 05:19:11 UTC
Thank you.

Comment 12 Matthew Gillen 2007-03-13 14:27:32 UTC
The latest version in Extras no longer depends on python-sqlite2.

Thanks for all your help.

Comment 13 Jeffrey C. Ollie 2007-03-14 02:35:11 UTC
*** Bug 232162 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.