hi Mark -- ah. this is a side-effect of (a) the snapshot being a snapshot of SVN trunk; (b) ExtUtils::MakeMaker being a little deficient ;)
the 'perl Makefile.PL' step defines what files will be installed from the rules dir, here: # Gather the rules files in the range 00-69; we do this in perl because it's more portable my @datafiles = map { s,^rules/,,; $_ } (<rules/*.cf>); my $datafiles = join(' ', (grep { /^(?:[0-6][0-9]|72)_/ } @datafiles), qw(user_prefs.template languages sa-update-pubkey.txt)); Later, some of those rule files are created during 'make'. This is the problem; that code still depends on the files being there before the 'perl Makefile.PL' step, which is suboptimal.... haven't worked out a fix for this yet -- but it only affects people using SVN snapshots or a direct SVN checkout. A "make dist" tarball is unaffected (since it contains those files). --j. Mark Martinec writes: > Justin, > > > in my checkout: > > rules/72_active.cf:##{ DK_POLICY_SIGNALL > > rules/72_active.cf:score DK_POLICY_SIGNALL 0.001 > > could you do a further grep of your 'rules' dir to figure out > > why those lines aren't being used? > > Thanks for the hint, my mistake it seems. > > I fetched a snapshot from http://cvs.apache.org/snapshots/spamassassin/ > and did a 'perl Makefile.PL; make; make test; make install' chant, > ignoring the fact that Makefile.PL reported: > > Checking if your kit is complete... > Warning: the following files are missing in your kit: > rules/70_inactive.cf > rules/70_sandbox.cf > rules/72_active.cf > rules/sandbox-felicity.pm > rules/sandbox-hstern.pm > Please inform the author. > > It is interesting that the warning goes away if I run > 'perl Makefile.PL' twice in a row: the first time it reports > missing files, the second time it is fine. > > After a couple of rounds of perl Makefile.PL, make clean, > make, make install (in a desperate random order) I end up > with a correct install: > > /usr/local/bin/perl > build/preprocessor -Mvars -DVERSION="3.002000" -DPREFIX="/usr/local" > -DDEF_RULES_DIR="/usr/local/share/spamassassin" > -DLOCAL_RULES_DIR="/etc/mail/spamassassin" -DLOCAL_STATE_DIR="/var/lib" > -DINSTALLSITELIB="/usr/local/lib/perl5/site_perl/5.8.8" > -DCONTACT_ADDRESS="the > administrator of that system" -m644 -Irules -O/usr/local/share/spamassassin > 10_default_prefs.cf 20_body_tests.cf 20_dnsbl_tests.cf 20_head_tests.cf > 20_html_tests.cf 20_net_tests.cf 23_bayes.cf 25_accessdb.cf 25_antivirus.cf > 25_dcc.cf 25_dkim.cf 25_domainkeys.cf 25_hashcash.cf 25_pyzor.cf 25_razor2.cf > 25_replace.cf 25_spf.cf 25_textcat.cf 25_uribl.cf 60_awl.cf 60_whitelist.cf > 60_whitelist_dkim.cf 60_whitelist_spf.cf 60_whitelist_subject.cf 72_active.cf > user_prefs.template languages sa-update-pubkey.txt > chmod 755 /usr/local/share/spamassassin > > whereas in most cases it is missing the installation of the 72_active.cf: > > /local/share/spamassassin" -DLOCAL_RULES_DIR="/etc/mail/spamassassin" > -DLOCAL_STATE_DIR="/var/lib" > -DINSTALLSITELIB="/usr/local/lib/perl5/site_perl/5.8.8" > -DCONTACT_ADDRESS="the > administrator of that system" -m644 -Irules -O/usr/local/share/spamassassin > 10_default_prefs.cf 20_body_tests.cf 20_dnsbl_tests.cf 20_head_tests.cf > 20_html_tests.cf 20_net_tests.cf 23_bayes.cf 25_accessdb.cf 25_antivirus.cf > 25_dcc.cf 25_dkim.cf 25_domainkeys.cf 25_hashcash.cf 25_pyzor.cf 25_razor2.cf > 25_replace.cf 25_spf.cf 25_textcat.cf 25_uribl.cf 60_awl.cf 60_whitelist.cf > 60_whitelist_dkim.cf 60_whitelist_spf.cf 60_whitelist_subject.cf > user_prefs.template languages sa-update-pubkey.txt > chmod 755 /usr/local/share/spamassassin > > It is embarassing to admit that I don't know what is the proper > install procedure from CVS snapshots and I can't find it documented, > although I vaguely remember having seen it described somewhere. > Thanks for help. > > Mark