Hi again, all --

One more followup in this thread with a summary and what I hope is a
useful contribution or two...

...and then Michael Stenner said...
% 
% On Mon, May 13, 2002 at 02:37:45PM -0500, David T-G wrote:
% > 
% > I downloaded v2.20 and unpacked it and read the docs, but nothing pointed
% > to what to change to install in ~/local instead of /usr/local.  Pressing
...
% 
% unpack the tarball in ~/local/

This was where I balked, since I didn't want to make an SA directory in
my nice local/{bin,lib,etc,man,...} tree.  [To make a long story short,
I've done a lot of work to lay out a useful, scalable, heterogeneously
available tree that can be implemented at the /usr level as well as in
one's home directory, and I'm not only quite protective of it but also
now of the opinion that pretty much anything can fit into the scheme,
based simply on traditional UNIX program installs and layouts, unless the
author specifically intended otherwise.]  At best I'd unpack it in lib
or share under local, but IMHO that should be handled by install -- or,
put another way, I want to let the program install the files in whatever
heirarchy is typical but under my PREFIX instead of /usr/local.


% 
% Personally I unpack it to ~/lib/Mail-SpamAssassin-2.20/
% and then do "ln -s Mail-SpamAssassin-2.20 SpamAssassin" for easy
% upgrades.

Yeah, I wonder how often upgrades come out and how people get updated
rules and so on.  Time to go back to lurking some more to see :-)  Once I
know more what changes with an upgrade vs what is simply "evolving" I can
know what to symlink as a version-based name.


% 
% Then, cd into that directory and do "perl Makefile.PL; make".  There's
% no need to do a "make install".

I was able to get this done from my install directory by, as pointed out,
running

  perl Makefile.PL \
    PREFIX=/home/davidtg/local \
    LIB=/home/davidtg/local/lib/perl/5.6.1

and then doing the make and make install.  [Please forgive me; I'm not
only a junior perl hacker but also rusty at that.]  The only change
required for the spamassassin script was a simple

  use lib qw(/home/davidtg/local/lib/perl/5.6.1);

at the top to include my lib dir in @INC.  [Should this be taken care of
by the installation method as it populates from spamassassin.raw to the
actually-installed script?]


% 
% Finally, in .procmailrc, you'll want your version of:
% :0fw
% | $HOME/lib/SpamAssassin/spamassassin -P -a -c $HOME/lib/SpamAssassin/rules

For some reason, the installed SpamAssassin.pm had

  @default_rules_path = qw(
          __prefix__/share/spamassassin
          /usr/local/share/spamassassin
          /usr/share/spamassassin
          ./rules
          ../rules
  );

(quite literally) instead of the expected

  @default_rules_path = qw(
          /home/davidtg/local/share/spamassassin
          /usr/local/share/spamassassin
          /usr/share/spamassassin
          ./rules
          ../rules
  );

after a "make install"; by changing __prefix__ as shown I no longer need
the -c parameter either.

I hope that this is helpful for further development.  It seems so easy to
implement as part of the installation (in fact, I'm fairly sure that the
prefix bit in the module is more properly classified a bug than a missing
feature) and to make sense...


% 
% (that probably just means lib->local)

Well, s@lib/SpamAssassin@/local/bin@, anyway.


% 
% That really should be all there is.

Thanks so much!


% 
%                                       -Michael
% -- 
%   Michael Stenner                       Office Phone: 919-660-2513
%   Duke University, Dept. of Physics       [EMAIL PROTECTED]
%   Box 90305, Durham N.C. 27708-0305


HTH & HAND

:-D
-- 
David T-G                      * It's easier to fight for one's principles
(play) [EMAIL PROTECTED] * than to live up to them. -- fortune cookie
(work) [EMAIL PROTECTED]
http://www.justpickone.org/davidtg/    Shpx gur Pbzzhavpngvbaf Qrprapl Npg!

Attachment: msg04953/pgp00000.pgp
Description: PGP signature

Reply via email to