/usr/local/CPAN/POE-Component-SNMP/Makefile.PL
use ExtUtils::MakeMaker;
my $CONFIG_MODE = 0600;
my $CONFIG_FILE = "config.cache";
WriteMakefile(
NAME => 'POE::Component::SNMP',
VERSION_FROM => 'lib/POE/Component/SNMP.pm',
(LICENSE => 'perl') x ($ExtUtils::MakeMaker::VERSION >= 6.31),
PREREQ_PM => { 'POE' => 0.31, 'Net::SNMP' => 0, 'Time::HiRes' => 0 },
(AUTHOR => 'Rob Bloodgood <rob@exitexchange.com>') x ($] >= 5.005),
);
exit 0 if -e $CONFIG_FILE;
my $DEBUG_FLAG = 0x00; # none
# my $DEBUG_FLAG = 0x08; # dispatcher
# my $DEBUG_FLAG = 0x0A; # transport+dispatcher
# my $DEBUG_FLAG = 0x1A; # transport+dispatcher+message processing
# my $DEBUG_FLAG = 0xFF; # everything
print "The test suite requires access to an SNMP agent.\n";
my $hostname = prompt("enter a hostname [leave empty to skip all tests]");
if ($hostname) {
my $rcomm = prompt("enter read community string", 'public');
my $wcomm = prompt("enter write community string [leave empty to skip write tests]");
print "creating $CONFIG_FILE\n";
open TESTCONF, "> $CONFIG_FILE" or die "can't create $CONFIG_FILE: $!\n";
print TESTCONF <<CONFIGURATION;
\$CONF = {
hostname => '$hostname',
community => '$rcomm',
wcommunity => '$wcomm',
debug => $DEBUG_FLAG,
};
CONFIGURATION
close TESTCONF or die "can't close $CONFIG_FILE: $!\n";
} else {
print "creating $CONFIG_FILE\n";
open TESTCONF, "> $CONFIG_FILE" or die "can't create $CONFIG_FILE: $!\n";
print TESTCONF "\$TEST_CONF = { skip_all_tests => 1 };\n";
close TESTCONF or die "can't close $CONFIG_FILE: $!\n";
}
chmod $CONFIG_MODE, $CONFIG_FILE;
exit 0;
# extra targets for realclean to delete the config file
package MY;
sub macro { "CONFIG_FILE = $CONFIG_FILE" }
sub realclean {
shift->SUPER::realclean(@_) .
qq[\t- \$(RM_F) \$(CONFIG_FILE)] # don't forget \t here!
}