Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 22569 - python builds only with db3
Summary: python builds only with db3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Alastair Tse (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: db4
  Show dependency tree
 
Reported: 2003-06-10 12:34 UTC by Paul de Vrieze (RETIRED)
Modified: 2003-07-04 03:07 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul de Vrieze (RETIRED) gentoo-dev 2003-06-10 12:34:03 UTC
The current python ebuild/version only works with db3, and even prefers that to
db4 when both are installed. As there is a desire to make 1.4 db4 only this
should be fixed
Comment 1 Alastair Tse (RETIRED) gentoo-dev 2003-06-11 05:56:24 UTC
python 2.3 works with db-4. but yes, python-2.2.x specifically looks for db3 and does not work with db-4. i'm not sure what we can do about it apart from actually patching python.
Comment 2 Grant Goodyear (RETIRED) gentoo-dev 2003-06-11 09:22:33 UTC
Alistair,
  Can we build in db3 support _statically_, like we do w/ evo?

Since Paul has managed to get db3 and db4 to coexist, I don't think we should
let this effort hold up 1.4.  I would like to see if we can eliminate  db1,
at least, however.
Comment 3 Alastair Tse (RETIRED) gentoo-dev 2003-06-11 10:33:17 UTC
hmm .. i'd rather not build it statically, but i'll see what has changed between 2.2 and 2.3b1 to see if we can backport the changes.

is this plan to make 1.4 db4 dependent for system packages only? or for all packages? i thought the fact taht paul got db-3 and db-4 to coexist meant we could  safely fix deps on db-3 and not worry about db-4 creating problems.
Comment 4 Paul de Vrieze (RETIRED) gentoo-dev 2003-06-11 12:14:11 UTC
I don't think a static db in python is the solution, it is also not necessary at all. Backporting should basically involve replacing the builtin db client lib with the one that is now allready included in 2.3.
Comment 5 Alastair Tse (RETIRED) gentoo-dev 2003-06-13 14:15:31 UTC
it looks pretty non-trivial to backport the changes. the bsddb module was totally rewritten it seems. 

actually, more correctly, a dev-python/bsddb3 was merged into python-2.3 to provide support for db3 to db4 while the original db module was left behind for compatibility with db1.85.

is this something that is urgently needed or can it sit on the back burner for a while? 
Comment 6 Paul de Vrieze (RETIRED) gentoo-dev 2003-06-14 09:44:32 UTC
I don't know. Also does python + the curent ebuild for bsddb3 provide the right functions that are needed. I don't know python. Also how bad is it to have a python without db support (and with bsddb3).
Comment 7 Alastair Tse (RETIRED) gentoo-dev 2003-06-14 11:10:50 UTC
well, the bsddb is one of the included modules with the official python distribution, although it is possible to optionally turn it off (i think). it is just a matter of tweaking the configure script. i could envisage us turning off db support for building stages (eg. USE="build"). would that be a solution?

i'm actually not sure what the difference is between the old bsddb module in python-2.2 and dev-python/bsddb3. i assume they have the same API and hence compatible. 

http://www.python.org/doc/current/lib/module-bsddb.html

we're stuck here because i don't have the time to port the bsddb stuff from python-2.3 to python-2.2, and python-2.3 won't be out until july, and even then, it'll take a while for us to migrate to it (especially without reverse deps.)
Comment 8 Alastair Tse (RETIRED) gentoo-dev 2003-07-03 16:12:29 UTC
alright, i committed a fixed db4 compat 2.2.3-r1, can you please test it? (its in package.mask right now)
Comment 9 Paul de Vrieze (RETIRED) gentoo-dev 2003-07-04 02:35:00 UTC
It works for me, although I don't know whether I actually use any python programs that use bdb
Comment 10 Alastair Tse (RETIRED) gentoo-dev 2003-07-04 03:07:19 UTC
i just tested it by opening some db3/db4 files like from evolution and it seems to work fine. something like this

import bsddb
d = bsddb.hashopen("/home/liquidx/evolution/local/Contacts/addressbook.db")
d.keys()

it seems to work fine for me. i'll take it out of package.mask after a little bit more testing. but i think this bug can be closed now.