[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.

Advantages:
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

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

Workaround:
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:

db4.1:
/usr/bin/db4.1_*
/usr/lib/libdb-4.1.so
/usr/lib/libdb-4.1.a
/usr/include/db4.1/*.h

db4.5:
/usr/bin/db4.5_*
/usr/lib/libdb-4.5.*
/usr/include/db4.5/*.h

db:
/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
http://www.archlinux.org/mailman/listinfo/arch-dev






More information about the arch-dev-public mailing list