Michael, > I am the maintainer for the FreeBsd SA port and about to release patches > that change the default state directory from /var/lib/spamassassin to > /usr/local/lib/spamassassin > This makes it more consistent with FBSD's directory structure (they > don't use /var/lib for anything).
I'm not sure if /usr/local/lib/spamassassin is any better than the unusual /var/lib/spamassassin. The 'man 7 hier' suggests the lib/ is mainly for shared libraries and ar libraries, and rules files do not fit well into such category. If updated rules are supposed to go into /var, then perhaps the place for them is /var/db/spamassassin -- but I guess not: /var is for 'multi-purpose log, temporary, transient, and spool files'); Or maybe /usr/local/share/spamassassin-var ('man 7 hier' suggests that architecture-independent files, possibly NFS-mounted, belong under /usr/local/share/, but /usr/local/share/spamassassin is unfortunately already used for another purpose). Perhaps the closest thing is /usr/local/libdata/, intended for 'miscellaneous utility data files'. The change will cause some confusion with current practices, with talks on the mailing list, and a mismatch in documentation. If doing the change, don't forget to patch the default for LOCALSTATEDIR in Makefile.PL (which ends up as LOCAL_STATE_DIR option default). There is a corresponding default in amavisd-new (but is only needed with versions of SA older than 3.1.5). > The reason its important, is if you do use something like 'sa-update > --updatedir /usr/local/share/spamassassin or ../etc/mail/spamassassin, > THREE sets of plugins are loaded: Don't assume anybody is using --updatedir /usr/local/share/spamassassin. It is plain wrong, and this was discussed when sa-update became popular, both on the SA-user list a number of times, as well as on the amavis-user ML, so I hope nobody does it anymore. It is a waste of effort catering for such a misuse. Mark