This file is indexed.

/usr/share/perl5/System/Info/BSD.pm is in libsystem-info-perl 0.057-1.

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
package System::Info::BSD;

use strict;
use warnings;

use base "System::Info::Base";

our $VERSION = "0.050";

=head1 NAME

System::Info::BSD - Object for specific BSD info.

=head1 DESCRIPTION

=head2 $si->prepare_sysinfo()

Use os-specific tools to find out more about the system.

=cut

sub prepare_sysinfo {
    my $self = shift;
    $self->SUPER::prepare_sysinfo;

    my $sysctl = __get_sysctl ();

    my $cpu = $sysctl->{model};

    if (exists $sysctl->{cpuspeed}) {
	$cpu .= sprintf " (%.0f MHz)", $sysctl->{cpuspeed};
	}
    elsif (exists $sysctl->{cpufrequency}) {
	$cpu .= sprintf " (%.0f MHz)", $sysctl->{cpufrequency}/1_000_000;
	}

    $self->{__cpu_type}  = $sysctl->{machine} if $sysctl->{machine};
    $self->{__cpu}       = $cpu               if $cpu;
    $self->{__cpu_count} = $sysctl->{ncpu};

    return $self;
    } # prepare_sysinfo

sub __get_sysctl {
    my %sysctl;

    my $sysctl_cmd = -x "/sbin/sysctl" ? "/sbin/sysctl" : "sysctl";

    my %extra  = (cpufrequency => undef, cpuspeed => undef);
    my @e_args = map {
	m/^hw\.(\w+)\s*[:=]/; $1
	} grep m/^hw\.(\w+)/ && exists $extra{$1} => `$sysctl_cmd -a hw`;

    foreach my $name (qw( model machine ncpu ), @e_args) {
	chomp ($sysctl{$name} = `$sysctl_cmd hw.$name`);
	$sysctl{$name} =~ s/^hw\.$name\s*[:=]\s*//;
	}
    $sysctl{machine} and $sysctl{machine} =~ s/Power Macintosh/macppc/;

    return \%sysctl;
    } # __get_sysctl

1;

__END__

=head1 COPYRIGHT AND LICENSE

(c) 2016-2018, Abe Timmerman & H.Merijn Brand, All rights reserved.

With contributions from Jarkko Hietaniemi, Campo Weijerman, Alan Burlison,
Allen Smith, Alain Barbet, Dominic Dunlop, Rich Rauenzahn, David Cantrell.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

See:

=over 4

=item * L<http://www.perl.com/perl/misc/Artistic.html>

=item * L<http://www.gnu.org/copyleft/gpl.html>

=back

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

=cut