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!
msg04953/pgp00000.pgp
Description: PGP signature