Sorry, I foobared my KDE yesterday, took me a while to fix that before I 
could answer...

On Saturday 12 February 2005 05:02 CET Daniel Quinlan wrote:
> "Malte S. Stretz" <[EMAIL PROTECTED]> writes:
> > There was a discussion going on on this mailinglist on which you could
> > have asked if that what you committed would work.  Which also included
> > a suggestion by me to split out the reporting stuff which would need a
> > spamassassin script (instead of a symlink) anyway.
>
> I think you might be overreacting a bit.  Waiting for a long email
> discussion to finish while the installation was broken would not have
> made much sense, especially since I was willing to burn my evening
> trying to figure out the Makefiles.

But its not like we want to release 3.1 tomorrow and the installation wasn't 
more broken than now :)  It just installed a copy of the script instead of 
a symlink.

> Anyway, if we split out reporting, then things will need to be
> redesigned much more.  The problem with the current design around
> "spamassassin" is that various behaviors are implemented as flags rather
> than svn-style subcommands or razor-style commands.
>
>        sa-filter [options] [ < mailmessage | path ... ]
>        sa-filter -d [ < mailmessage | path ... ]
>        sa-filter -r [-w addr] [ < mailmessage | path ... ]
>        sa-filter -k [-w addr] [ < mailmessage | path ... ]
>        sa-filter -W|-R [ < mailmessage | path ... ]
>
> This suggests several different possible breakdowns--I'm ignoring
> whether or not it's "sa-foo" or "sa foo" and please just consider these
> placeholder names.
>
> Obviously, one command, the main command, is "filter".
>
> The second command is "remove".  This could be its own command or it
> could possibly be added to "filter", but I think separate is probably
> better since it's very simple.
>
> "report" and "revoke" are the next commands, maybe together in one
> command, although, again, I prefer separate commands here.

I also prefer separate commands, the other way "sa-report -r < foo" (ie. 
"report but do the opposite) feels a bit odd.

> "whitelist" and "blacklist" -- these *really* belong in "sa-learn" since
> it's AWL/History, but "sa-learn" has been crufted up with lots of
> Bayes-specific stuff, so merging it with "sa-learn" will be non-trivial.

I've got no opinion on that.  As a user it looks a bit weird to have to call 
two commands if I want to learn a single message but OTOH is the 
functionality really pretty different.  Hmmm... two commands for learning 
might indeed have some technical problmes as it might not always be 
possible to call two commands via a single filter and each call will have 
the perl-startup overhead.

> Basically, the command line tools are a confusing mess of disorganized
> crap.  Compare "svn", "cvs", even "apt-get".

Indeed, that's why we should fix it before we move all that stuff to 
sa-filter and have to maintain two backward compatible interfaces (which 
are IMO, though that O might have change din the last year, part of our 
public interface and must stay compatible for the whole 3.x branch).

> > Right, as long as we don't want to test the spamassassin
> > script/symlink.
>
> Maybe.
>
> > I'm not opposed to your approach, it didn't come to my mind, but if
> > you had asked I could have told you a few cases where it doesn't work
> > as you implemented it.
>
> Could you could more specific?

I did, below, just was too lazy to rephrase that sentence :)

> > No, it doesn't work for vendor installs, just for perl and site. 
> > That's what all the I_FOO and B_FOO hackery in the Makefile.PL is for.
>
> Completely underdocumented hackery.

ACK.  Even completely nderdocumented hackery based on even more 
underdocumented internals of EU::MM.

> > But it won't work on systems where the single quote is not supported.
>
> Single quotes appear all over the Makefile.PL and the generated
> Makefile.  If this is an issue, it's also not documented and you did not
> mention it recently.

I didn't mention it because you didn't ask :)  Actually, I wonder why I used 
single quotes at some places, too, maybe I just forgot about it myself back 
then :(  The code generated by EU::MM always uses the internal method 
oneliner() to get it right.  Unfortunately was there some bug in oneliner() 
in some ersion and its semantics have changed at some point.

> > On the quoting of the dollar sign is also different on the platforms.
> > That's the reason why I moved the logic into a separate script.  (I
> > think EU::MM has a function oneliner() for the correct quoting but I
> > faintly remember some bug in there.)
>
> If you're trying to paralyze me into inaction, it might be working, but
> it might be better to document things more and suggest alternate
> solutions instead of just raising issues with my implementation.

Ummm, no, I'm not trying to paralyze anybody.  As you noted yourself, thats 
all black magic and normally when I encounter some black magic I don't 
fully understand, I first send a patch for review to the mailinglist 
(especially if there's already a discussion going on) before two people 
start to commit-and-revert on the same code block.

> Sorry, I'm a bit frustrated here...

Sorry, that was definitely not my intention.

Cheers,
Malte

-- 
[SGT] Simon G. Tatham: "How to Report Bugs Effectively"
      <http://www.chiark.greenend.org.uk/~sgtatham/bugs.html>
[ESR] Eric S. Raymond: "How To Ask Questions The Smart Way"
      <http://www.catb.org/~esr/faqs/smart-questions.html>

Reply via email to