TL;DR:
I'm going to try get the init.pre disables removed in Gentoo, failing
that I'm going to move it to /etc/spamassassin/ modifications instead of
changing the files in rules/.
I believe Philippe is the package maintainer, so it's up to him I
guess. 😄
Disclaimer:
I'm just a volunteer who chips in on the package. I don't even have
commit privileges.
It's completely baffling why and how Gentoo does this.
It's because Gentoo's ethos is user-choice and control over what's
installed.
So there's desire that if a user doesn't want Mail::SPF installed, and
SpamAssassin doesn't REQUIRE it (which it doesn't), it shouldn't be
force installed. But for SpamAssassin to work as installed, that plugin
can't be enabled by default.
If a user wants it, they can enable the plugin in the .pre and install
the stated required dependencies. The user gives up some
"install-it-just-works" for energy spent on configuration in order to
gain that control.
That said, in recent years, at least for SpamAssassin, we've been
installing more and more of the commonly used dependencies.
It only disables loadplugins in init.pre, and not other *.pre files. This
is already a bug in itself by not being consistent.
I agree that it's odd that only init.pre gets the blanket disable -- why
when new v3xx.pre files were added this didn't get applied to them as well.
I went back through Gentoo's history and it's been that way since 2005.
https://github.com/gentoo/gentoo-gitmig-20150809-draft/commit/5ab3758535e49f95644cbf2d621b7d67bd7ccdfe
My guess is at the time, Users were probably getting errors about
missing dependencies. I'd venture that init.pre was the only plugin
config that had non-required external dependencies
(Mail::SpamAssassin::Plugin::RelayCountry, geoip.cf to be edited,
Mail::SPF), so it was the only one modified.
There used to be a post-install warning that you'd need to choose which
plugins you wanted enabled, but it got stripped out at some point.
There is a section in the wiki that indicates you should go through the
.pre files to enable/disable plugins.
https://wiki.gentoo.org/wiki/SpamAssassin#Configuration
I'm going to make a Gentoo Pull Request to try to remove the init.pre
blanket disable, because at this point we do install most of those
dependencies by default. Failing that I'll get the init.pre
modifications to after tests run.