manageiq-smartstate 0.10.1 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yaml +4 -2
- data/bin/before_install +8 -0
- data/lib/OpenStackExtract/MiqOpenStackVm/MiqOpenStackImage.rb +2 -0
- data/lib/OpenStackExtract/MiqOpenStackVm/MiqOpenStackInstance.rb +2 -0
- data/lib/db/MiqSqlite/MiqSqlite3Table.rb +1 -1
- data/lib/manageiq/smartstate/version.rb +1 -1
- data/lib/metadata/linux/LinuxPackages.rb +8 -4
- data/lib/metadata/linux/MiqRpmPackages/Bdb.rb +151 -0
- data/lib/metadata/linux/MiqRpmPackages/Sqlite.rb +58 -0
- data/lib/metadata/linux/MiqRpmPackages.rb +16 -139
- data/lib/metadata/util/find_class_methods.rb +2 -2
- data/manageiq-smartstate.gemspec +2 -1
- data/renovate.json +2 -3
- metadata +28 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f38cf89d288bc86350bd4f5ec8c36e815acb87bf4f17d0f360223678241819dd
|
4
|
+
data.tar.gz: a9f67154e219a04b871400d9a4113d9e68ddf7ba2a7b782a81660017f414fd14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33a04e5b561bd8fa5367354de7941642e8ca8912fc4bf59d5c9cc9d386898fc57268d49b975988c6b6c8a260b765ac00af65987e5dd9a14825a45227fa01c0bf
|
7
|
+
data.tar.gz: bffa12eaf9fb6c9572954a8e279d3e85da9b40ba690ccd0cf5d11c0218226ebf6517d03c0206c54507ac6f8a6313802c3e661ea3ca5e85f22e277d57c6c45b58
|
data/.github/workflows/ci.yaml
CHANGED
@@ -11,12 +11,14 @@ jobs:
|
|
11
11
|
strategy:
|
12
12
|
matrix:
|
13
13
|
ruby-version:
|
14
|
-
- '3.0'
|
15
14
|
- '3.1'
|
15
|
+
- '3.3'
|
16
16
|
env:
|
17
17
|
CC_TEST_REPORTER_ID: "${{ secrets.CC_TEST_REPORTER_ID }}"
|
18
18
|
steps:
|
19
19
|
- uses: actions/checkout@v4
|
20
|
+
- name: Set up system
|
21
|
+
run: bin/before_install
|
20
22
|
- name: Set up Ruby
|
21
23
|
uses: ruby/setup-ruby@v1
|
22
24
|
with:
|
@@ -26,6 +28,6 @@ jobs:
|
|
26
28
|
- name: Run tests
|
27
29
|
run: bundle exec rake
|
28
30
|
- name: Report code coverage
|
29
|
-
if: ${{ github.ref == 'refs/heads/master' && matrix.ruby-version == '3.
|
31
|
+
if: ${{ github.ref == 'refs/heads/master' && matrix.ruby-version == '3.3' }}
|
30
32
|
continue-on-error: true
|
31
33
|
uses: paambaati/codeclimate-action@v9
|
data/bin/before_install
ADDED
@@ -161,6 +161,8 @@ class MiqOpenStackInstance
|
|
161
161
|
def miq_vm
|
162
162
|
raise "Instance: #{instance.id}, does not have snapshot reference." unless snapshot_image_id
|
163
163
|
@miq_vm ||= begin
|
164
|
+
require "MiqVm/MiqVm"
|
165
|
+
|
164
166
|
@temp_image_file = get_image_file(snapshot_image_id)
|
165
167
|
hardware = "scsi0:0.present = \"TRUE\"\n"
|
166
168
|
hardware += "scsi0:0.filename = \"#{@temp_image_file.path}\"\n"
|
@@ -63,7 +63,7 @@ module MiqSqlite3DB
|
|
63
63
|
return if @type != "table" || @name[0..6] == "sqlite_" # Names beginning with sqlite_ are internal to engine
|
64
64
|
@columns = []
|
65
65
|
sql = @sql.gsub(/[\n\r]/, "")
|
66
|
-
re1 = /\s*CREATE\s+TABLE\s+(\w+)
|
66
|
+
re1 = /\s*CREATE\s+TABLE\s+'?(\w+)'?\s*\((.*)\)\s*/
|
67
67
|
m = re1.match(sql)
|
68
68
|
tname = m[1].to_s.chomp
|
69
69
|
raise "Inconsistent Table Name" if tname != @name
|
@@ -6,7 +6,7 @@ require 'metadata/linux/MiqConaryPackages'
|
|
6
6
|
|
7
7
|
module MiqLinux
|
8
8
|
class Packages
|
9
|
-
attr_accessor :fs
|
9
|
+
attr_accessor :fs, :packages
|
10
10
|
#
|
11
11
|
# Debian based packageing.
|
12
12
|
#
|
@@ -155,9 +155,13 @@ module MiqLinux
|
|
155
155
|
#
|
156
156
|
def procRPM(dbDir)
|
157
157
|
$log.debug "Processing RPM package database"
|
158
|
-
|
159
|
-
rpmp
|
160
|
-
|
158
|
+
|
159
|
+
rpmp = MiqRpmPackages.new(@fs, dbDir)
|
160
|
+
begin
|
161
|
+
rpmp.each { |p| @packages << p }
|
162
|
+
ensure
|
163
|
+
rpmp.close
|
164
|
+
end
|
161
165
|
end
|
162
166
|
|
163
167
|
#
|
@@ -0,0 +1,151 @@
|
|
1
|
+
require 'binary_struct'
|
2
|
+
require 'manageiq/gems/pending'
|
3
|
+
require 'util/miq-hash_struct'
|
4
|
+
require 'db/MiqBdb/MiqBdb'
|
5
|
+
require 'miq_unicode'
|
6
|
+
|
7
|
+
class MiqRpmPackages
|
8
|
+
class Bdb < MiqRpmPackages
|
9
|
+
using ManageIQ::UnicodeString
|
10
|
+
|
11
|
+
#
|
12
|
+
# The data types we support.
|
13
|
+
#
|
14
|
+
RPM_INT32_TYPE = 4
|
15
|
+
RPM_STRING_TYPE = 6
|
16
|
+
RPM_STRING_ARRAY_TYPE = 8
|
17
|
+
RPM_I18NSTRING_TYPE = 9
|
18
|
+
|
19
|
+
#
|
20
|
+
# The things we care about.
|
21
|
+
#
|
22
|
+
NAME = 1000
|
23
|
+
VERSION = 1001
|
24
|
+
RELEASE = 1002
|
25
|
+
SUMMARY = 1004
|
26
|
+
DESCRIPTION = 1005
|
27
|
+
BUILDTIME = 1006
|
28
|
+
INSTALLTIME = 1008
|
29
|
+
VENDOR = 1011
|
30
|
+
GROUP = 1016
|
31
|
+
URL = 1020
|
32
|
+
ARCH = 1022
|
33
|
+
REQUIRES = 1049
|
34
|
+
|
35
|
+
TAGIDS = {
|
36
|
+
1000 => "name",
|
37
|
+
1001 => "version",
|
38
|
+
1002 => "release",
|
39
|
+
1004 => "summary",
|
40
|
+
1005 => "description",
|
41
|
+
1006 => "buildtime",
|
42
|
+
1008 => "installtime",
|
43
|
+
1011 => "vendor",
|
44
|
+
1016 => "category", # group
|
45
|
+
1020 => "url",
|
46
|
+
1022 => "arch",
|
47
|
+
1049 => "depends", # requires
|
48
|
+
}
|
49
|
+
|
50
|
+
#
|
51
|
+
# Nubbers on disk are in network byte order.
|
52
|
+
#
|
53
|
+
RPML_HEADER = BinaryStruct.new([
|
54
|
+
'N', 'num_index',
|
55
|
+
"N", 'num_data'
|
56
|
+
])
|
57
|
+
RPML_HEADER_LEN = RPML_HEADER.size
|
58
|
+
|
59
|
+
ENTRY_INFO = BinaryStruct.new([
|
60
|
+
'N', 'tag',
|
61
|
+
'N', 'ttype',
|
62
|
+
'N', 'offset',
|
63
|
+
'N', 'count'
|
64
|
+
])
|
65
|
+
ENTRY_INFO_LEN = ENTRY_INFO.size
|
66
|
+
|
67
|
+
def initialize(fs, dbFile)
|
68
|
+
@pkgDb = MiqBerkeleyDB::MiqBdb.new(dbFile, fs)
|
69
|
+
# Pre-read all pages into the bdb cache, as we will be processing all of them anyway.
|
70
|
+
@pkgDb.readAllPages
|
71
|
+
end
|
72
|
+
|
73
|
+
def each
|
74
|
+
@pkgDb.each_value do |v|
|
75
|
+
next if v.length <= RPML_HEADER_LEN
|
76
|
+
|
77
|
+
hdr = RPML_HEADER.decode(v)
|
78
|
+
|
79
|
+
offset = RPML_HEADER_LEN + (ENTRY_INFO_LEN * hdr['num_index'])
|
80
|
+
if v.length != offset + hdr['num_data']
|
81
|
+
$log.debug "record length = #{v.length}"
|
82
|
+
$log.debug "num_index = #{hdr['num_index']}"
|
83
|
+
$log.debug "num_data = #{hdr['num_data']}"
|
84
|
+
$log.error "Invalid or corrupt RPM database record"
|
85
|
+
next
|
86
|
+
end
|
87
|
+
|
88
|
+
data = v[offset, hdr['num_data']]
|
89
|
+
pkg = {}
|
90
|
+
|
91
|
+
eis = ENTRY_INFO.decode(v[RPML_HEADER_LEN..-1], hdr['num_index'])
|
92
|
+
eis.each do |ei|
|
93
|
+
tag = TAGIDS[ei['tag']]
|
94
|
+
next if tag.nil?
|
95
|
+
pkg[tag] = getVal(data, ei)
|
96
|
+
pkg[tag] = convert(tag, pkg[tag])
|
97
|
+
end
|
98
|
+
pkg['installed'] = true unless pkg.empty?
|
99
|
+
yield(MiqHashStruct.new(pkg))
|
100
|
+
end
|
101
|
+
end # def each
|
102
|
+
|
103
|
+
def close
|
104
|
+
@pkgDb.close
|
105
|
+
end
|
106
|
+
|
107
|
+
private
|
108
|
+
|
109
|
+
def time_tag?(tag)
|
110
|
+
['installtime', 'buildtime'].include?(tag)
|
111
|
+
end
|
112
|
+
|
113
|
+
def convert(tag, val)
|
114
|
+
time_tag?(tag) ? Time.at(val).utc : val
|
115
|
+
end
|
116
|
+
|
117
|
+
def getVal(data, ei)
|
118
|
+
case ei['ttype']
|
119
|
+
when RPM_INT32_TYPE then return(getInt32Val(data, ei['offset']))
|
120
|
+
when RPM_STRING_TYPE then return(getStringVal(data, ei['offset']))
|
121
|
+
when RPM_STRING_ARRAY_TYPE then return(getStringArray(data, ei['offset'], ei['count']).join("\n"))
|
122
|
+
when RPM_I18NSTRING_TYPE then return(getStringArray(data, ei['offset'], ei['count']).join("\n").AsciiToUtf8)
|
123
|
+
else
|
124
|
+
$log.warn "MiqRpmPackages.getVal: unsupported data type: #{ei['ttype']}"
|
125
|
+
return("")
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def getInt32Val(data, offset)
|
130
|
+
(data[offset, 4].unpack("N").first)
|
131
|
+
end
|
132
|
+
|
133
|
+
def getStringVal(data, offset)
|
134
|
+
eos = data.index(0.chr, offset) - offset
|
135
|
+
(data[offset, eos])
|
136
|
+
end
|
137
|
+
|
138
|
+
def getStringArray(data, offset, count)
|
139
|
+
ra = []
|
140
|
+
cpos = offset
|
141
|
+
|
142
|
+
count.times do
|
143
|
+
s = getStringVal(data, cpos)
|
144
|
+
ra << s
|
145
|
+
cpos += (s.length + 1)
|
146
|
+
end
|
147
|
+
ra.uniq!
|
148
|
+
(ra)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require "tmpdir"
|
2
|
+
|
3
|
+
class MiqRpmPackages
|
4
|
+
class Sqlite < MiqRpmPackages
|
5
|
+
def initialize(fs, dbFile)
|
6
|
+
require "rpm"
|
7
|
+
|
8
|
+
@fs = fs
|
9
|
+
@db_file_path = dbFile
|
10
|
+
|
11
|
+
@rpmdb_tempdir = nil
|
12
|
+
@rpmdb_path = nil
|
13
|
+
|
14
|
+
if fs.nil?
|
15
|
+
@rpmdb_path = @db_file_path
|
16
|
+
else
|
17
|
+
@rpmdb_tempdir = Dir.mktmpdir("rpmdb-")
|
18
|
+
rpmdb_dir = File.join(@rpmdb_tempdir, RPM['_dbpath'])
|
19
|
+
FileUtils.mkdir_p(rpmdb_dir)
|
20
|
+
|
21
|
+
rpmdb_tempfile = File.open(File.join(rpmdb_dir, "rpmdb.sqlite"), "wb")
|
22
|
+
rpmdb_file = fs.fileOpen(@db_file_path, "r")
|
23
|
+
|
24
|
+
loop do
|
25
|
+
chunk = rpmdb_file.read(4_096)
|
26
|
+
break if chunk.nil?
|
27
|
+
|
28
|
+
rpmdb_tempfile.write(chunk)
|
29
|
+
end
|
30
|
+
|
31
|
+
rpmdb_tempfile.close
|
32
|
+
rpmdb_file.close
|
33
|
+
|
34
|
+
@rpmdb_path = rpmdb_tempfile.path
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def each
|
39
|
+
RPM.transaction(@rpmdb_tempdir) do |ts|
|
40
|
+
ts.each do |pkg|
|
41
|
+
tagids = %w[name version release summary description buildtime vendor arch installtime]
|
42
|
+
|
43
|
+
result = tagids.each_with_object({}) { |tag, obj| obj[tag] = pkg[tag.to_sym] }
|
44
|
+
# These have different tag names for the tagid
|
45
|
+
result["category"] = pkg[:group]
|
46
|
+
result["depends"] = pkg[:requirename]&.join("\n")
|
47
|
+
result["installed"] = true unless result.empty?
|
48
|
+
|
49
|
+
yield MiqHashStruct.new(result)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def close
|
55
|
+
FileUtils.rm_rf(@rpmdb_tempdir) if @rpmdb_tempdir
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -1,152 +1,29 @@
|
|
1
|
-
require 'binary_struct'
|
2
|
-
require 'manageiq/gems/pending'
|
3
|
-
require 'util/miq-hash_struct'
|
4
|
-
require 'db/MiqBdb/MiqBdb'
|
5
|
-
require 'miq_unicode'
|
6
1
|
|
7
|
-
# RPM Specification located at: http://jrpm.sourceforge.net/rpmspec/index.html
|
8
|
-
|
9
|
-
class MiqRpmPackages
|
10
|
-
using ManageIQ::UnicodeString
|
11
|
-
|
12
|
-
#
|
13
|
-
# The data types we support.
|
14
|
-
#
|
15
|
-
RPM_INT32_TYPE = 4
|
16
|
-
RPM_STRING_TYPE = 6
|
17
|
-
RPM_STRING_ARRAY_TYPE = 8
|
18
|
-
RPM_I18NSTRING_TYPE = 9
|
19
2
|
|
20
|
-
|
21
|
-
# The things we care about.
|
22
|
-
#
|
23
|
-
NAME = 1000
|
24
|
-
VERSION = 1001
|
25
|
-
RELEASE = 1002
|
26
|
-
SUMMARY = 1004
|
27
|
-
DESCRIPTION = 1005
|
28
|
-
BUILDTIME = 1006
|
29
|
-
INSTALLTIME = 1008
|
30
|
-
VENDOR = 1011
|
31
|
-
GROUP = 1016
|
32
|
-
URL = 1020
|
33
|
-
ARCH = 1022
|
34
|
-
REQUIRES = 1049
|
35
|
-
|
36
|
-
TAGIDS = {
|
37
|
-
1000 => "name",
|
38
|
-
1001 => "version",
|
39
|
-
1002 => "release",
|
40
|
-
1004 => "summary",
|
41
|
-
1005 => "description",
|
42
|
-
1006 => "buildtime",
|
43
|
-
1008 => "installtime",
|
44
|
-
1011 => "vendor",
|
45
|
-
1016 => "category", # group
|
46
|
-
1020 => "url",
|
47
|
-
1022 => "arch",
|
48
|
-
1049 => "depends", # requires
|
49
|
-
}
|
3
|
+
# RPM Specification located at: http://jrpm.sourceforge.net/rpmspec/index.html
|
50
4
|
|
51
|
-
|
52
|
-
|
53
|
-
#
|
54
|
-
RPML_HEADER = BinaryStruct.new([
|
55
|
-
'N', 'num_index',
|
56
|
-
"N", 'num_data'
|
57
|
-
])
|
58
|
-
RPML_HEADER_LEN = RPML_HEADER.size
|
5
|
+
require_relative "MiqRpmPackages/Bdb"
|
6
|
+
require_relative "MiqRpmPackages/Sqlite"
|
59
7
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
'N', 'offset',
|
64
|
-
'N', 'count'
|
65
|
-
])
|
66
|
-
ENTRY_INFO_LEN = ENTRY_INFO.size
|
8
|
+
class MiqRpmPackages
|
9
|
+
class << self
|
10
|
+
private
|
67
11
|
|
68
|
-
|
69
|
-
@pkgDb = MiqBerkeleyDB::MiqBdb.new(dbFile, fs)
|
70
|
-
# Pre-read all pages into the bdb cache, as we will be processing all of them anyway.
|
71
|
-
@pkgDb.readAllPages
|
12
|
+
alias orig_new new
|
72
13
|
end
|
73
14
|
|
74
|
-
def
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
$log.debug "record length = #{v.length}"
|
83
|
-
$log.debug "num_index = #{hdr['num_index']}"
|
84
|
-
$log.debug "num_data = #{hdr['num_data']}"
|
85
|
-
$log.error "Invalid or corrupt RPM database record"
|
86
|
-
next
|
87
|
-
end
|
88
|
-
|
89
|
-
data = v[offset, hdr['num_data']]
|
90
|
-
pkg = {}
|
91
|
-
|
92
|
-
eis = ENTRY_INFO.decode(v[RPML_HEADER_LEN..-1], hdr['num_index'])
|
93
|
-
eis.each do |ei|
|
94
|
-
tag = TAGIDS[ei['tag']]
|
95
|
-
next if tag.nil?
|
96
|
-
pkg[tag] = getVal(data, ei)
|
97
|
-
pkg[tag] = convert(tag, pkg[tag])
|
15
|
+
def self.new(fs, dbDir)
|
16
|
+
if self == MiqRpmPackages
|
17
|
+
if fs.fileExists?(File.join(dbDir, "Packages"))
|
18
|
+
MiqRpmPackages::Bdb.new(fs, File.join(dbDir, "Packages"))
|
19
|
+
elsif fs.fileExists?(File.join(dbDir, "rpmdb.sqlite"))
|
20
|
+
MiqRpmPackages::Sqlite.new(fs, File.join(dbDir, "rpmdb.sqlite"))
|
21
|
+
else
|
22
|
+
raise ArgumentError, "Invalid RPM database"
|
98
23
|
end
|
99
|
-
pkg['installed'] = true unless pkg.empty?
|
100
|
-
yield(MiqHashStruct.new(pkg))
|
101
|
-
end
|
102
|
-
end # def each
|
103
|
-
|
104
|
-
def close
|
105
|
-
@pkgDb.close
|
106
|
-
end
|
107
|
-
|
108
|
-
private
|
109
|
-
|
110
|
-
def time_tag?(tag)
|
111
|
-
['installtime', 'buildtime'].include?(tag)
|
112
|
-
end
|
113
|
-
|
114
|
-
def convert(tag, val)
|
115
|
-
time_tag?(tag) ? Time.at(val).utc : val
|
116
|
-
end
|
117
|
-
|
118
|
-
def getVal(data, ei)
|
119
|
-
case ei['ttype']
|
120
|
-
when RPM_INT32_TYPE then return(getInt32Val(data, ei['offset']))
|
121
|
-
when RPM_STRING_TYPE then return(getStringVal(data, ei['offset']))
|
122
|
-
when RPM_STRING_ARRAY_TYPE then return(getStringArray(data, ei['offset'], ei['count']).join("\n"))
|
123
|
-
when RPM_I18NSTRING_TYPE then return(getStringArray(data, ei['offset'], ei['count']).join("\n").AsciiToUtf8)
|
124
24
|
else
|
125
|
-
|
126
|
-
return("")
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
def getInt32Val(data, offset)
|
131
|
-
(data[offset, 4].unpack("N").first)
|
132
|
-
end
|
133
|
-
|
134
|
-
def getStringVal(data, offset)
|
135
|
-
eos = data.index(0.chr, offset) - offset
|
136
|
-
(data[offset, eos])
|
137
|
-
end
|
138
|
-
|
139
|
-
def getStringArray(data, offset, count)
|
140
|
-
ra = []
|
141
|
-
cpos = offset
|
142
|
-
|
143
|
-
count.times do
|
144
|
-
s = getStringVal(data, cpos)
|
145
|
-
ra << s
|
146
|
-
cpos += (s.length + 1)
|
25
|
+
orig_new(fs, dbDir)
|
147
26
|
end
|
148
|
-
ra.uniq!
|
149
|
-
(ra)
|
150
27
|
end
|
151
28
|
end # class MiqRPM
|
152
29
|
|
@@ -56,12 +56,12 @@ module FindClassMethods
|
|
56
56
|
|
57
57
|
while (file = paths.shift)
|
58
58
|
depth = depths.shift
|
59
|
-
yield file.dup
|
59
|
+
yield file.dup
|
60
60
|
next if max_depth && depth + 1 > max_depth
|
61
61
|
|
62
62
|
get_dir_entries(file).each do |f|
|
63
63
|
f = File.join(file, f)
|
64
|
-
paths.unshift f
|
64
|
+
paths.unshift f
|
65
65
|
depths.unshift depth + 1
|
66
66
|
end
|
67
67
|
end
|
data/manageiq-smartstate.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
-
spec.add_dependency "activesupport"
|
23
|
+
spec.add_dependency "activesupport", ">= 7.0.8", "<8.0"
|
24
24
|
spec.add_dependency "awesome_spawn", "~> 1.5"
|
25
25
|
spec.add_dependency "azure-armrest", "~> 0.9"
|
26
26
|
spec.add_dependency "binary_struct", "~> 2.1"
|
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_dependency "linux_block_device", "~>0.2.1"
|
29
29
|
spec.add_dependency "manageiq-password", "< 2"
|
30
30
|
spec.add_dependency "memory_buffer", ">=0.1.0"
|
31
|
+
spec.add_dependency "rpm2", "~>0.1.0"
|
31
32
|
spec.add_dependency "rufus-lru", "~>1.0.3"
|
32
33
|
spec.add_dependency "sys-uname", "~>1.2.1"
|
33
34
|
spec.add_dependency "uuidtools", "~>2.1"
|
data/renovate.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: manageiq-smartstate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Developers
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: activesupport
|
@@ -16,14 +15,20 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
18
|
+
version: 7.0.8
|
19
|
+
- - "<"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '8.0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
23
25
|
requirements:
|
24
26
|
- - ">="
|
25
27
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
28
|
+
version: 7.0.8
|
29
|
+
- - "<"
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '8.0'
|
27
32
|
- !ruby/object:Gem::Dependency
|
28
33
|
name: awesome_spawn
|
29
34
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,6 +127,20 @@ dependencies:
|
|
122
127
|
- - ">="
|
123
128
|
- !ruby/object:Gem::Version
|
124
129
|
version: 0.1.0
|
130
|
+
- !ruby/object:Gem::Dependency
|
131
|
+
name: rpm2
|
132
|
+
requirement: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - "~>"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: 0.1.0
|
137
|
+
type: :runtime
|
138
|
+
prerelease: false
|
139
|
+
version_requirements: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - "~>"
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 0.1.0
|
125
144
|
- !ruby/object:Gem::Dependency
|
126
145
|
name: rufus-lru
|
127
146
|
requirement: !ruby/object:Gem::Requirement
|
@@ -305,7 +324,6 @@ dependencies:
|
|
305
324
|
- !ruby/object:Gem::Version
|
306
325
|
version: 2.3.1
|
307
326
|
description: ManageIQ SmartState Analysis
|
308
|
-
email:
|
309
327
|
executables: []
|
310
328
|
extensions: []
|
311
329
|
extra_rdoc_files: []
|
@@ -323,6 +341,7 @@ files:
|
|
323
341
|
- LICENSE.txt
|
324
342
|
- README.md
|
325
343
|
- Rakefile
|
344
|
+
- bin/before_install
|
326
345
|
- bin/console
|
327
346
|
- bin/setup
|
328
347
|
- lib/MiqContainerGroup/MiqContainerGroup.rb
|
@@ -553,6 +572,8 @@ files:
|
|
553
572
|
- lib/metadata/linux/LinuxUtils.rb
|
554
573
|
- lib/metadata/linux/MiqConaryPackages.rb
|
555
574
|
- lib/metadata/linux/MiqRpmPackages.rb
|
575
|
+
- lib/metadata/linux/MiqRpmPackages/Bdb.rb
|
576
|
+
- lib/metadata/linux/MiqRpmPackages/Sqlite.rb
|
556
577
|
- lib/metadata/util/event_log_filter.rb
|
557
578
|
- lib/metadata/util/find_class_methods.rb
|
558
579
|
- lib/metadata/util/md5deep.rb
|
@@ -579,7 +600,6 @@ homepage: https://github.com/ManageIQ/manageiq-smartstate
|
|
579
600
|
licenses:
|
580
601
|
- Apache-2.0
|
581
602
|
metadata: {}
|
582
|
-
post_install_message:
|
583
603
|
rdoc_options: []
|
584
604
|
require_paths:
|
585
605
|
- lib
|
@@ -594,8 +614,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
594
614
|
- !ruby/object:Gem::Version
|
595
615
|
version: '0'
|
596
616
|
requirements: []
|
597
|
-
rubygems_version: 3.
|
598
|
-
signing_key:
|
617
|
+
rubygems_version: 3.6.7
|
599
618
|
specification_version: 4
|
600
619
|
summary: ManageIQ SmartState Analysis
|
601
620
|
test_files: []
|