Differences

This shows you the differences between two versions of the page.

Link to this comparison view

loadable_modules [2006/02/22 10:43] (current)
Line 1: Line 1:
 +====== Loadable Modules ======
 +//Author: Aaron Stone//
 +\\
 +//Last changed: Jan 10, 2005//
 +\\
 +**First SVN appearance: Nov 25, 2005**
  
 +Using GLib's module loading interface, it is easy to dynamically load the convenience libraries in mysql/, pgsql/, and sqlite/ so that all database drivers can be built at compile time, and the one you want / have installed can be loaded at run time. This is a big, big deal for packaging DBMail for inclusion in distributions, because most binary distributions rather dislike needing to maintain two sets of mutually-exclusive packages for the same thing.
 +
 +The debian packages for 2.1 have finally caught up with the new situation. They now provide separate packages for all loadable modules, and a single base packages with all the binaries and the common libdbmail library. This means that apart from some cosmetics, this is a done deal.
 +
 +Necessary changes:
 +
 +  * De-integrate the convenience libraries for the three database drivers in 2.1.SVN. Done, AS. Improved, PJS.]
 +  * Wrappers for db_function() calls to db->function() in dbmodule.c [done, AS]
 +  * Create a function called db_load_driver() that populates the function table. [done, AS].
 +  * Updates to acinclude.m4 to set up the right tests and defines. [done, AS].
 +  * Would be nice to have ./configure give a summary table at the end, too. [done, AS].
 +
 +Things I've noticed:
 +
 +  * The SQLite implementation is for SQLite 2.x, needs some updates to support the 3.x API. **[todo]**
 +  * Needs to collect both compile time and runtime list of places to look for the library. [done, PJS.]
 +
 +Authentication:
 +
 +  * Is the db loadable layer decent to copy for auth? Is there a more generic way to code this? [Nah. Done, AS.]
 +  * Replace -DAUTHLDAP sections with calls to the module (that are no-op or do stuff, as needed). [done, PJS]
 +
 +Sieve:
 +
 +  * Modularize sort/ and make sort_sieve.so a loadable module, too. [Done, AS.]
 +  * Replace -DSIEVE sections with calls to the module (that are no-op or do stuff, as needed). [Done, AS.]
 
loadable_modules.txt · Last modified: 2006/02/22 10:43 (external edit)
 
DBMail is developed by Paul J Stevens together with developers world-wide