This file is indexed.

/usr/lib/ruby/vendor_ruby/specinfra/host_inventory/cpu.rb is in ruby-specinfra 2.66.0-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
module Specinfra
  class HostInventory
    class Cpu < Base
      def get
        cmd = backend.command.get(:get_inventory_cpu)
        ret = backend.run_command(cmd)
        if ret.exit_status == 0
           parse(ret.stdout)
        else
           nil
        end
      end
      def parse(cmd_ret)
        cpuinfo = {}
        cpus = cmd_ret.split(/[^^]processor/)
        cpuinfo['total'] = cpus.length.to_s
        cpus.each_with_index do |cpu, idx|
          idx = idx.to_s
          cpuinfo[idx] = {}
          cpu.each_line do |line|
            case line
            when /^vendor_id\s*:\s+(.+)$/
              cpuinfo[idx]['vendor_id'] = $1
            when /^cpu family\s*:\s+(\d+)$/
              cpuinfo[idx]['cpu_family'] = $1
            when /^model\s*:\s+(\d+)$/
              cpuinfo[idx]['model'] = $1
            when /^model\sname\s*:\s+(.+)$/
              cpuinfo[idx]['model_name'] = $1
            when /^stepping\s*:\s+(\d+)$/
              cpuinfo[idx]['stepping'] = $1
            when /^microcode\s*:\s+(.+)$/
              cpuinfo[idx]['microcode'] = $1
            when /^cpu MHz\s*:\s+(.+)$/
              cpuinfo[idx]['cpu_mhz'] = $1
            when /^cache size\s*:\s+(\d+) (.+)$/
              cpuinfo[idx]['cache_size'] = "#{$1}#{$2}"
            when /^physical id\s*:\s+(\d+)$/
              cpuinfo[idx]['physical_id'] = $1
            when /^siblings\s*:\s+(\d+)$/
              cpuinfo[idx]['siblings'] = $1
            when /^core id\s*:\s+(\d+)$/
              cpuinfo[idx]['core_id'] = $1
            when /^cpu cores\s*:\s+(\d+)$/
              cpuinfo[idx]['cpu_cores'] = $1
            when /^apicid\s*:\s+(\d+)$/
              cpuinfo[idx]['apicid'] = $1
            when /^initial apicid\s*:\s+(\d+)$/
              cpuinfo[idx]['initial_apicid'] = $1
            when /^fpu\s*:\s+(.+)$/
              cpuinfo[idx]['fpu'] = $1
            when /^fpu_exception\s*:\s+(.+)$/
              cpuinfo[idx]['fpu_exception'] = $1
            when /^cpuid level\s*:\s+(\d+)$/
              cpuinfo[idx]['cpuid_level'] = $1
            when /^wp\s*:\s+(.+)$/
              cpuinfo[idx]['wp'] = $1
            when /^flags\s*:\s+(.+)$/
              cpuinfo[idx]['flags'] = $1.split(/\s/)
            when /^bogomips\s*:\s+(.+)$/
              cpuinfo[idx]['bogomips'] = $1
            when /^clflush size\s*:\s+(\d+)$/
              cpuinfo[idx]['clflush_size'] = $1
            when /^cache_alignment\s*:\s+(\d+)$/
              cpuinfo[idx]['cache_alignment'] = $1
            when /^address sizes\s*:\s+(.+)$/
              cpuinfo[idx]['address_sizes'] = $1
            when /^power management\s*:\s+(.*)$/
              cpuinfo[idx]['power_management'] = $1
            end
          end
        end
        cpuinfo
      end
    end
  end
end