/usr/lib/perl5/Bundle/Makefile.subs.pl is in libsnmp-perl 5.7.2~dfsg-8.1ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | sub NetSNMPGetOpts {
my %ret;
my $rootpath = shift;
$rootpath = "../" if (!$rootpath);
$rootpath .= '/' if ($rootpath !~ /\/$/);
if (($Config{'osname'} eq 'MSWin32' && $ENV{'OSTYPE'} eq '')) {
# Grab command line options first. Only used if environment variables are not set
GetOptions("NET-SNMP-IN-SOURCE=s" => \$ret{'insource'},
"NET-SNMP-PATH=s" => \$ret{'prefix'},
"NET-SNMP-DEBUG=s" => \$ret{'debug'});
if ($ENV{'NET-SNMP-IN-SOURCE'})
{
$ret{'insource'} = $ENV{'NET-SNMP-IN-SOURCE'};
undef ($ret{'prefix'});
}
elsif ($ENV{'NET-SNMP-PATH'})
{
$ret{'prefix'} = $ENV{'NET-SNMP-PATH'};
}
if ($ENV{'NET-SNMP-DEBUG'})
{
$ret{'debug'} = $ENV{'NET-SNMP-DEBUG'};
}
# Update environment variables in case they are needed
$ENV{'NET-SNMP-IN-SOURCE'} = $ret{'insource'};
$ENV{'NET-SNMP-PATH'} = $ret{'prefix'};
$ENV{'NET-SNMP-DEBUG'} = $ret{'debug'};
$basedir = `%COMSPEC% /c cd`;
chomp $basedir;
$basedir =~ /(.*?)\\perl.*/;
$basedir = $1;
print "Net-SNMP base directory: $basedir\n";
if ($basedir =~ / /) {
die "\nA space has been detected in the base directory. This is not " .
"supported\nPlease rename the folder and try again.\n\n";
}
}
else
{
if ($ENV{'NET-SNMP-CONFIG'} &&
$ENV{'NET-SNMP-IN-SOURCE'}) {
# have env vars, pull from there
$ret{'nsconfig'} = $ENV{'NET-SNMP-CONFIG'};
$ret{'insource'} = $ENV{'NET-SNMP-IN-SOURCE'};
} else {
# don't have env vars, pull from command line and put there
GetOptions("NET-SNMP-CONFIG=s" => \$ret{'nsconfig'},
"NET-SNMP-IN-SOURCE=s" => \$ret{'insource'});
if (lc($ret{'insource'}) eq "true" && $ret{'nsconfig'} eq "") {
$ret{'nsconfig'}="sh ROOTPATH../net-snmp-config";
} elsif ($ret{'nsconfig'} eq "") {
$ret{'nsconfig'}="net-snmp-config";
}
$ENV{'NET-SNMP-CONFIG'} = $ret{'nsconfig'};
$ENV{'NET-SNMP-IN-SOURCE'} = $ret{'insource'};
}
}
$ret{'nsconfig'} =~ s/ROOTPATH/$rootpath/;
$ret{'rootpath'} = $rootpath;
\%ret;
}
sub find_files {
my($f,$d) = @_;
my ($dir,$found,$file);
for $dir (@$d){
$found = 0;
for $file (@$f) {
$found++ if -f "$dir/$file";
}
if ($found == @$f) {
return $dir;
}
}
}
sub Check_Version {
if (($Config{'osname'} ne 'MSWin32' || $ENV{'OSTYPE'} ne '')) {
my $foundversion = 0;
return if ($ENV{'NETSNMP_DONT_CHECK_VERSION'});
open(I,"<Makefile");
while (<I>) {
if (/^VERSION = (.*)/) {
my $perlver = $1;
my $srcver = $lib_version;
chomp($srcver);
my $srcfloat = floatize_version($srcver);
$perlver =~ s/pre/0./;
# we allow for perl/CPAN-only revisions beyond the default
# version formatting of net-snmp itself.
$perlver =~ s/(\.\d{5}).*/\1/;
$perlver =~ s/0*$//;
if ($srcfloat ne $perlver) {
if (!$foundversion) {
print STDERR "ERROR:
Net-SNMP installed version: $srcver => $srcfloat
Perl Module Version: $perlver
These versions must match for perfect support of the module. It is possible
that different versions may work together, but it is strongly recommended
that you make these two versions identical. You can get the Net-SNMP
source code and the associated perl modules directly from
http://www.net-snmp.org/
If you want to continue anyway please set the NETSNMP_DONT_CHECK_VERSION
environmental variable to 1 and re-run the Makefile.PL script.\n";
exit(1);
}
}
$foundversion = 1;
last;
}
}
close(I);
die "ERROR: Couldn't find version number of this module\n"
if (!$foundversion);
}
}
sub floatize_version {
my ($major, $minor, $patch, $opps) = ($_[0] =~ /^(\d+)\.(\d+)\.?(\d*)\.?(\d*)/);
return $major + $minor/100 + $patch/10000 + $opps/100000;
}
|