On Fri, Jun 01, 2007 at 01:02:03PM -0400, Guy Hulbert wrote: > On Fri, 2007-06-01 at 09:33 -0700, Robin H. Johnson wrote: > > My basic outline was to take the architecture of qmail, and > > incrementally replace the parts of qmail with Perl re-implementations. > > qpsmtpd was built as a qmail-smtpd replacement in the first place, so > > this is a reasonable route to take. > What problem(s) are you trying to solve ? The answer for qpsmtpd is > obvious (to me) but I don't see any reason to replace the rest. Pain of maintenance.
> Why not just install qmail ? A little background here. Background ---------- Starting nearly 4 years ago, and up until about a month ago, I've been Gentoo's qmail maintainer. I am _painfully_ aware of the process of patching qmail. The Gentoo qmail package at it's peak had approximately 30 different patches, getting it closer to the feature-set presently available in other more-updated MTAs. http://viewcvs.gentoo.org/viewcvs.py/gentoo-x86/mail-mta/qmail/qmail-1.03-r15.ebuild?hideattic=0&rev=1.47&view=markup ^^^ Look at the src_unpack function, and all of the epatch statements therein. The problem was, maintaining a build that can apply 30 patches is a LOT of work. We had to abide by DJB's rules of not modifying the original qmail tarball, and also wanted to keep patches separate wherever possible (to allow updating specific patches). Long term, this meant that if you changed a patch early in the stack, there was a significant non-zero probability that you would have to change a patch later in the stack. This got to be so much work, that we didn't get very many revisions of the package out, and eventually changed our policy that if you want to patch up qmail, you do it on your own (with netqmail), and keep the pieces when it breaks. On moving forward ----------------- If there is any MTA that I think is closest to a good design, it's qmail. It's also modular enough that incremental replacement is easily possible. Why move qmail to Perl? For the same exact reason that qpsmtpd is such a large improvement over qmail-send. Ease of maintenance and plugin support. Here's the rough outline and implementation order qmail-smtpd - qpsmtpd, already exists qmail-remote - outgoing mail is important to me, I have a need for routing based on envelope sender. The rest of the components would be nice to have in Perl for extensibility and future work, but I don't have a personal need to replace them right now. qmail-queue qmail-inject qmail-send qmail-rspawn qmail-lspawn qmail-local -- Robin Hugh Johnson Gentoo Linux Developer & Council Member E-Mail : [EMAIL PROTECTED] GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
pgp9BqqcjWZTt.pgp
Description: PGP signature