starting a clean build where my init dir contains only:

        % ls -1R /var/SA
                Local/
                rules_du_jour.conf
                sa-update-channels.txt
                
                ./Local:
                ImageInfo.pm
                init.pre
                local.cf
                local.cf.20061018
                razor-agent.log
                sa-update-keys/
                
                ./Local/sa-update-keys:
                pubring.gpg
                secring.gpg
                trustdb.gpg

building a fresh co of SA 317 w/:

        perl Makefile.PL \
        PREFIX=/usr/local/spamassassin \
        DATADIR=/var/SA/Dist \
        CONFDIR=/var/SA/Local \
        ENABLE_SSL="yes" \
        LDDLFLAGS="-L/usr/local/ssl/lib -lssl -lcrypto" \
        LDFLAGS="-bind_at_load -L/usr/local/ssl/lib -lssl -lcrypto -ldl" \
        INC="-I/usr/local/ssl/include"

        ...

        make install
        mv /var/SA/Local/v310.pre /var/SA/Local/v310.preORIG
        mv /var/SA/Local/v312.pre /var/SA/Local/v312.preORIG


then checking:

        % ls -R /var/SA/
                /var/SA/:
                Dist/  Local/  rules_du_jour.conf  sa-update-channels.txt
                
                /var/SA/Dist:
                10_misc.cf             23_bayes.cf          30_text_fr.cf
                20_advance_fee.cf      25_accessdb.cf       30_text_it.cf
                20_anti_ratware.cf     25_antivirus.cf      30_text_nl.cf
                20_body_tests.cf       25_body_tests_es.cf  30_text_pl.cf
                20_compensate.cf       25_body_tests_pl.cf  30_text_pt_br.cf
                20_dnsbl_tests.cf      25_dcc.cf            50_scores.cf
                20_drugs.cf            25_dkim.cf           60_awl.cf
                20_fake_helo_tests.cf  25_domainkeys.cf     60_whitelist.cf
                20_head_tests.cf       25_hashcash.cf       60_whitelist_dk.cf
                20_html_tests.cf       25_pyzor.cf          60_whitelist_dkim.cf
                20_meta_tests.cf       25_razor2.cf         60_whitelist_spf.cf
                20_net_tests.cf        25_replace.cf        
60_whitelist_subject.cf
                20_phrases.cf          25_spf.cf            languages
                20_porn.cf             25_textcat.cf        sa-update-pubkey.txt
                20_ratware.cf          25_uribl.cf          triplets.txt
                20_uri_tests.cf        30_text_de.cf        user_prefs.template
                
                /var/SA/Local:
                ImageInfo.pm  local.cf           razor-agent.log  v310.preORIG
                init.pre      local.cf.20061018  sa-update-keys/  v312.preORIG
                
                /var/SA/Local/sa-update-keys:
                pubring.gpg  secring.gpg  trustdb.gpg

running an sa-update, per your instructions without --updatedir defined:

        sa-update \
        --channelfile /var/SA/sa-update-channels.txt \
        --gpgkey 856AA88A

i get, yet once again, @ shell, the same as before:

Subroutine __HAS_RCVD_head_test redefined at /tmp/.spamassassin15766jDBiWjtmp/200510301100.cf, rule __HAS_RCVD, line 6. Subroutine __THEBAT_MUA_head_test redefined at /tmp/.spamassassin15766jDBiWjtmp/200510301100.cf, rule __THEBAT_MUA, line 6. Subroutine __AOL_FROM_head_test redefined at /tmp/.spamassassin15766jDBiWjtmp/200510301100.cf, rule __AOL_FROM, line 6. Subroutine FROM_BLANK_NAME_head_test redefined at /tmp/.spamassassin15766jDBiWjtmp/200510301100.cf, rule FROM_BLANK_NAME, line 6.
        etc
        etc
        ...


as LOCALSATEDIR is, apparently, normally derived from $PREFIX:

          'LOCALSTATEDIR',    # normally determined based on $*PREFIX.

, which in my case is:

        PREFIX=/usr/local/spamassassin

in the case above of --updatedir=(undef), i do note that, after sa-update, i have now, as expected:

        % ls /usr/local/spamassassin/var/spamassassin/3.001007
70_sare_adult_cf_sare_sa-update_dostech_net/ 70_sare_random_cf_sare_sa-update_dostech_net.cf 70_sare_adult_cf_sare_sa-update_dostech_net.cf 70_sare_specific_cf_sare_sa-update_dostech_net/ 70_sare_bayes_poison_nxm_cf_sare_sa-update_dostech_net/ 70_sare_specific_cf_sare_sa-update_dostech_net.cf 70_sare_bayes_poison_nxm_cf_sare_sa-update_dostech_net.cf 70_sare_spoof_cf_sare_sa-update_dostech_net/ 70_sare_evilnum0_cf_sare_sa-update_dostech_net/ 70_sare_spoof_cf_sare_sa-update_dostech_net.cf 70_sare_evilnum0_cf_sare_sa-update_dostech_net.cf 70_sare_stocks_cf_sare_sa-update_dostech_net/ 70_sare_evilnum1_cf_sare_sa-update_dostech_net/ 70_sare_stocks_cf_sare_sa-update_dostech_net.cf 70_sare_evilnum1_cf_sare_sa-update_dostech_net.cf 70_sare_unsub_cf_sare_sa-update_dostech_net/ 70_sare_genlsubj_cf_sare_sa-update_dostech_net/ 70_sare_unsub_cf_sare_sa-update_dostech_net.cf 70_sare_genlsubj_cf_sare_sa-update_dostech_net.cf 70_sare_uri_cf_sare_sa-update_dostech_net/ 70_sare_genlsubj_eng_cf_sare_sa-update_dostech_net/ 70_sare_uri_cf_sare_sa-update_dostech_net.cf 70_sare_genlsubj_eng_cf_sare_sa-update_dostech_net.cf 70_sc_top200_cf_sare_sa-update_dostech_net/ 70_sare_header_cf_sare_sa-update_dostech_net/ 70_sc_top200_cf_sare_sa-update_dostech_net.cf 70_sare_header_cf_sare_sa-update_dostech_net.cf 72_sare_bml_post25x_cf_sare_sa-update_dostech_net/ 70_sare_header_eng_cf_sare_sa-update_dostech_net/ 72_sare_bml_post25x_cf_sare_sa-update_dostech_net.cf 70_sare_header_eng_cf_sare_sa-update_dostech_net.cf 72_sare_redirect_post3_0_0_cf_sare_sa-update_dostech_net/ 70_sare_html_cf_sare_sa-update_dostech_net/ 72_sare_redirect_post3_0_0_cf_sare_sa-update_dostech_net.cf 70_sare_html_cf_sare_sa-update_dostech_net.cf 99_sare_fraud_post25x_cf_sare_sa-update_dostech_net/ 70_sare_obfu_cf_sare_sa-update_dostech_net/ 99_sare_fraud_post25x_cf_sare_sa-update_dostech_net.cf 70_sare_obfu_cf_sare_sa-update_dostech_net.cf updates_spamassassin_org/ 70_sare_oem_cf_sare_sa-update_dostech_net/ updates_spamassassin_org.cf 70_sare_oem_cf_sare_sa-update_dostech_net.cf updates_spamassassin_org.pre
                70_sare_random_cf_sare_sa-update_dostech_net/

per your comment:

If you're seeing subroutine redefined warnings you're loading the same rules more than once, period.

ok. "period".

from where?

again, per your suggestion:

Run "spamassassin --lint -D" and make note of what directories it's loading rules from. Then go and blow away those directories (be careful not to delete things you don't have a copy of... like stuff in your local site directory) and start over. I'd suggest not altering the build defaults, but if you must, don't use the same directory for any two things.

i do so:

        spamassassin --lint \
        --debug \
        --siteconfigpath=/var/SA/Dist \
        --configpath=/var/SA/Local \
        --nocreate-prefs >& lintout.txt

then:

        % grep -i read lintout.txt
                [15793] dbg: config: read file /var/SA/Local/init.pre
                [15793] dbg: config: read file /var/SA/Local/local.cf
                [15793] dbg: config: read file /var/SA/Dist/10_misc.cf
                [15793] dbg: config: read file /var/SA/Dist/20_advance_fee.cf
                [15793] dbg: config: read file /var/SA/Dist/20_anti_ratware.cf
                [15793] dbg: config: read file /var/SA/Dist/20_body_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/20_compensate.cf
                [15793] dbg: config: read file /var/SA/Dist/20_dnsbl_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/20_drugs.cf
                [15793] dbg: config: read file 
/var/SA/Dist/20_fake_helo_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/20_head_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/20_html_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/20_meta_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/20_net_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/20_phrases.cf
                [15793] dbg: config: read file /var/SA/Dist/20_porn.cf
                [15793] dbg: config: read file /var/SA/Dist/20_ratware.cf
                [15793] dbg: config: read file /var/SA/Dist/20_uri_tests.cf
                [15793] dbg: config: read file /var/SA/Dist/23_bayes.cf
                [15793] dbg: config: read file /var/SA/Dist/25_accessdb.cf
                [15793] dbg: config: read file /var/SA/Dist/25_antivirus.cf
                [15793] dbg: config: read file /var/SA/Dist/25_body_tests_es.cf
                [15793] dbg: config: read file /var/SA/Dist/25_body_tests_pl.cf
                [15793] dbg: config: read file /var/SA/Dist/25_dcc.cf
                [15793] dbg: config: read file /var/SA/Dist/25_dkim.cf
                [15793] dbg: config: read file /var/SA/Dist/25_domainkeys.cf
                [15793] dbg: config: read file /var/SA/Dist/25_hashcash.cf
                [15793] dbg: config: read file /var/SA/Dist/25_pyzor.cf
                [15793] dbg: config: read file /var/SA/Dist/25_razor2.cf
                [15793] dbg: config: read file /var/SA/Dist/25_replace.cf
                [15793] dbg: config: read file /var/SA/Dist/25_spf.cf
                [15793] dbg: config: read file /var/SA/Dist/25_textcat.cf
                [15793] dbg: config: read file /var/SA/Dist/25_uribl.cf
                [15793] dbg: config: read file /var/SA/Dist/30_text_de.cf
                [15793] dbg: config: read file /var/SA/Dist/30_text_fr.cf
                [15793] dbg: config: read file /var/SA/Dist/30_text_it.cf
                [15793] dbg: config: read file /var/SA/Dist/30_text_nl.cf
                [15793] dbg: config: read file /var/SA/Dist/30_text_pl.cf
                [15793] dbg: config: read file /var/SA/Dist/30_text_pt_br.cf
                [15793] dbg: config: read file /var/SA/Dist/50_scores.cf
                [15793] dbg: config: read file /var/SA/Dist/60_awl.cf
                [15793] dbg: config: read file /var/SA/Dist/60_whitelist.cf
                [15793] dbg: config: read file /var/SA/Dist/60_whitelist_dk.cf
                [15793] dbg: config: read file /var/SA/Dist/60_whitelist_dkim.cf
                [15793] dbg: config: read file /var/SA/Dist/60_whitelist_spf.cf
                [15793] dbg: config: read file 
/var/SA/Dist/60_whitelist_subject.cf

shows simply the files being read from the Distribution.

so, per your insistence that I'm loading the same rules more than once -- which i'm open to learning -- can you please clarify what I should, then, "blow away" here? where are the duplicate rules?



Reply via email to