Aaron Stone wrote:
We should find a suitable replacement MIME parser that provides a similar
enough interface that it can be swapped in with just a few hours work.
I guess there's no real contender: gmime.
Ilja Booij <[EMAIL PROTECTED]> said:
Paul J Stevens wrote:
Aaron Stone wrote:
I'm still skeptical about becoming dependant upon glib, so I'd prefer to
see libtool's ltdl used.
Why are you skeptical about glib? I've been working on a OO structure
for dbmail using gobject, glib and gmime, so if there are serious
objections I'd like to know asap.
This sounds really cool. Would it actually provide an entirely new structure
for the code? If it really makes things smaller and more readable, then we
need it. If it just makes things OO buzzword compliant... not so useful.
I started out by trying to figure out how gmime's parser feels. I
quickly managed to write a test that would parse messages, and split the
message into a header/body GString pair, and split the body into a GList
of messageblks. That was real easy, and the code footprint very small.
But my guess is we'll want to do more and different things as time goes
by. And I like how gobject allows clean data-encapsulation. So a OO
approach just feels natural to me.
But I agree that usefullness is strictly required :-)
However, I don't see why we couldn't introduce gobject/glib interfaces
incrementally. We'd introduce the gobject structure in a set of new
header files, for instance:
dbmail-object.h
dbmail-user.h
dbmail-message.h
dbmail-server.h
These wouldn't collide with the current namespace and could therefor be
implemented without breakage.
Dan Weber has a very good idea with making parts of DBMail available through a
library interface. If we're exposing a gobject, that means any front-end
programs would also have to be written for glib. I'm OK with it being viral in
that it might be spreading good-software karma, but I'm less comfortable with
dictating how the library can be used.
Yes, to some extend. Of course it would probably preclude any takeover
of dbmail by some big corporation with an allergy for gpl (think: apache
re IBM, and zope/plone re CA).
But writing the library with gobject would make writing wrappers for
other languages a breeze.
I like using glib. The only thing that's holding me back at this very
moment is the fact that glib in Debian stable is still at version 1.2,
and gmime is at a very old version.
This definitely contributes to the dependency hell. Is there a consistent
subset of glib 2 that is source compatible with glib 1? Does that even matter,
as GMIME 2 requires GLib 2...
Ilja, there are some fine backports of glib/gmime available online.
Search www.apt-get.org for their locations.
For us, it's very important that the libraries that are obligatory (at
the moment: mysql or postgresql client libraries) are in Debian stable,
because that's what we use on (almost) all our servers.
Excuse me, but mysql-4.0.16 is not available in debian/stable perse. So
you must already be compiling packages by hand or deploying backports.
Also, installing mysql from debian/testing while leaving the base-system
in debian/stable is entirely feasible and does not break anything. I
know this from extensive experience. Of course this would trigger an
update of libc6 and some additional packages, and you don't want to
upgrade stuff like samba or squid without careful testing. But if your
servers run dbmail/postfix/mysql you're in the clear.
Agreed, that makes a lot of sense. Alternatively, we can use smaller
purpose-built libraries and simply include them into the source tree. Making
sure to roll in the latest updates to an in-tree library is no more difficult
than keeping track of changes in an external library, except that you're in
control of when an update breaks on you.
What smaller libraries are you talking about ? Just curious.
The GMime version in Woody (current Debian stable), is very obsolete
(from what I've seen). But.. The new stable is supposed to be released
this year, isn't it?
Yeah. So they said last september as well.... don't hold your breath. I
run debian/testing on many if not most of my production systems. I only
keep stable around on a UML image for backporting dbmail :-)
--
________________________________________________________________
Paul Stevens mailto:[EMAIL PROTECTED]
NET FACILITIES GROUP PGP: finger [EMAIL PROTECTED]
The Netherlands________________________________http://www.nfg.nl