[SURBL-Discuss] problems when integrating SpamCopURI

Eric Kolve ekolve at comcast.net
Mon Apr 26 08:54:35 CEST 2004


Can you try using the attached Makefile.PL in place of the one that shipped with 0.14?   


You would probably get some lines that say:

found Mail/SpamAssassin/Conf.pm in xxxx
found Mail/SpamAssassin/PerMsgStatus.pm in xxxx


What you basically need to do is find the directory that 
SpamCopURI installed into and remove PerMsgStatus.pm, SpamCopURI.pm
and Conf.pm it will be under something like 
/usr/share/perl/lib/Mail/SpamAssassin.

After that use re-install with the new Makefile.PL.  It should
find the correct place to install and work after restarting.

After a few more tests like this I will include this in future
releases.

thanks,

-eric


On Mon, Apr 26, 2004 at 12:49:23AM +0200, Arnold Nipper wrote:
> Hi all,
> 
> I just installed SpamCopURI (0.14) and restarted spamd. But now I get
> 
> Apr 26 00:14:38 server spamd[6504]: Failed to compile URI SpamAssassin
> tests, skipping:         (syntax error at /etc/mail/s
> pamassassin/spamcop_uri.cf, rule SPAMCOP_URI_RBL, line 1, near "eval:"
> syntax error at /usr/share/spamassassin/20_uri_tests.
> cf, rule E_MAILPROMO_URL, line 175, near "; }" )
> Apr 26 00:14:39 server spamd[6504]: server started on port 783/tcp
> (running version 2.63)
> 
> And further down a lot of lines like
> 
> Apr 26 00:16:10 server spamd[16954]: Subroutine
> HTTP_ESCAPED_HOST_uri_test redefined at /usr/share/spamassassin/20_uri_tests
> .cf, rule HTTP_ESCAPED_HOST, line 5.
> Apr 26 00:16:10 server spamd[16954]: Subroutine BARGAIN_URL_uri_test
> redefined at /usr/share/spamassassin/20_uri_tests.cf, r
> ule BARGAIN_URL, line 8.
> Apr 26 00:16:10 server spamd[16954]: Subroutine URI_OFFERS_uri_test
> redefined at /usr/share/spamassassin/20_uri_tests.cf, ru
> le URI_OFFERS, line 8.
> 
> ...
> 
> So what's going wrong?
> 
> 
> 
> Arnold
> 
> 
> _______________________________________________
> Discuss mailing list
> Discuss at lists.surbl.org
> http://lists.surbl.org/mailman/listinfo/discuss
-------------- next part --------------
use ExtUtils::MakeMaker;
use strict;
use Mail::SpamAssassin;
use Config;

$Mail::SpamAssassin::VERSION == 2.63 or 
  die "*** YOU MUST USE SPAMASSASSIN 2.63 to run this - see INSTALL";



my $CONF_PM = 'Mail/SpamAssassin/Conf.pm';
my $SA_PM = 'Mail/SpamAssassin.pm';
my $PERMSG_PM = 'Mail/SpamAssassin/PerMsgStatus.pm';

my %install_targets = (
  installsitelib   => 'site',
  installvendorlib => 'vendor',
  installprivlib   => 'perl',
);

my $target;

(my $sa_path = $INC{$SA_PM}) =~ s#/$SA_PM$##;

# try to figure out where SA is installed
foreach my $k (keys %install_targets) {

  if ($Config{$k} eq $sa_path) {
    print "# SAPATH $sa_path\n";
    print "# $k $Config{$k}\n";
    $target = $install_targets{$k};
  }
}

my @INSTALLDIRS = ();

if ($target) {

  if ($INC{$CONF_PM} eq "$sa_path/$CONF_PM" &&
      $INC{$PERMSG_PM} eq "$sa_path/$PERMSG_PM") {
    @INSTALLDIRS = ('INSTALLDIRS', $target);

  } else {

    warn "$CONF_PM / $PERMSG_PM seem to be installed differently than Mail::SpamAssassin";
    warn "found $SA_PM in $sa_path";
    warn "found $CONF_PM in $INC{$CONF_PM}";
    warn "found $PERMSG_PM in $INC{$PERMSG_PM}";
  }

}

print "# @INSTALLDIRS\n";

WriteMakefile(
    'NAME'          => 'Mail::SpamAssassin::SpamCopURI',
    'VERSION_FROM'  => 'lib/Mail/SpamAssassin/SpamCopURI.pm', # finds $VERSION
    'PREREQ_PM'     => { 'Mail::SpamAssassin' => 2.63, URI => 0, 'Net::DNS' => 0  }, 
    @INSTALLDIRS
    # e.g., Module::Name => 1.1
);

sub MY::postamble {
  return <<'MAKE_FRAG';
cover: 
	HARNESS_PERL_SWITCHES=-MDevel::Cover=-ignore,Storable make test

MAKE_FRAG
}



More information about the Discuss mailing list