[arch-dev-public] Berkeley DB change proposal

Jan de Groot jan at jgc.homeip.net
Sun Apr 1 17:31:18 EDT 2007

Hi all,

I'm about to make a slight change to evolution-data-server: build with
system DB.

instead of having 4 copies of DB linked into a running
evolution-data-server process (takes 4x600KB of memory), have only 1
copy of it running, which takes 1x600KB, saves 1800KB memory for having
your gnome clock applet reading information from your evolution calendar

Building with system-db breaks all datafiles, because they would need to
get upgraded

Install a copy of DB 4.1.25, which is shipped internally in evolution,
build with that

Current workaround:
- build a copy of DB 4.1.25
- install it in ${startdir}/src/build-db41
- make EDS configure script detect it there
- make LDFLAGS+="-R/opt/gnome/lib/evolution-data-server-1.2"
- install EDS as usual
- install the libdb-4.1.so file in the location provided in LDFLAGS

Very very very hacky, and we'll end up with quite some libdb-4.1.so
files in the future if this goes on.

Given the trouble we have with major upgrades of DB all the time, I
would suggest a different approach to the DB package.

Currently, DB contains some utilities, a versioned library and some
generic include files. IMHO we should change that and put each DB
package in a versioned pkgname:



/usr/bin/db_* as symlinks to most recent DB package
/usr/lib/libdb.* as symlinks to most recent DB package
/usr/include/*.h as symlinks to most recent DB package

This would:
- throw away all bug reports we get on DB upgrades, old DB pkg stays
installed, all new pkgs get compiled against the new DB version
- make it very easy to compile packages with specific DB versions
- Allow users to actually do something with on-disk DB files when it
belongs to an older version.

arch-dev mailing list
arch-dev at archlinux.org

More information about the arch-dev-public mailing list