openvox 8.19.1 → 8.20.0
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/CHANGELOG.md +35 -7
- data/Gemfile +9 -5
- data/README.md +3 -3
- data/Rakefile +9 -5
- data/lib/puppet/configurer.rb +13 -12
- data/lib/puppet/face/facts.rb +9 -1
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/functions/defined.rb +1 -1
- data/lib/puppet/node/server_facts.rb +1 -1
- data/lib/puppet/parameter.rb +2 -2
- data/lib/puppet/property/keyvalue.rb +1 -1
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/provider.rb +3 -3
- data/lib/puppet/type/file/group.rb +1 -1
- data/lib/puppet/type/file/mode.rb +1 -1
- data/lib/puppet/type/file/owner.rb +1 -1
- data/lib/puppet/type/group.rb +1 -1
- data/lib/puppet/type/package.rb +1 -1
- data/lib/puppet/util.rb +5 -1
- data/lib/puppet/version.rb +1 -1
- data/tasks/vox.rake +23 -0
- metadata +71 -43
- data/tasks/tag.rake +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91c67366f80e0f90b53567de5eea991ba6d36d5fa59af42d65a6975c619f119e
|
4
|
+
data.tar.gz: 2c8b8e00d4f6d2d468888e6126ee9bcc5db0f18748164e1c7cf2545cdd27de51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 315686060fd5c3fd1a3df8c7163c5cf737ddd16e2a922175b0dc2901e6bd4763fad7315cbccc06fff944485cfbab6f3d232160e04b72898cdec10076cfbe3474
|
7
|
+
data.tar.gz: 1a5eecd081bc2d6ed326620a01b128056d2336002e0015b0627b0c7789a07be0f25ccc57e03db9f3ffbb35a7ee9e7b55f777bf42acdd03c511211ca11b27ac57
|
data/CHANGELOG.md
CHANGED
@@ -2,25 +2,53 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
-
## [8.
|
5
|
+
## [8.20.0](https://github.com/openvoxproject/openvox/tree/8.20.0) (2025-06-27)
|
6
6
|
|
7
|
-
[Full Changelog](https://github.com/openvoxproject/
|
7
|
+
[Full Changelog](https://github.com/openvoxproject/openvox/compare/8.19.2...8.20.0)
|
8
|
+
|
9
|
+
**Implemented enhancements:**
|
10
|
+
|
11
|
+
- Switch from facter to openfact [\#142](https://github.com/OpenVoxProject/openvox/pull/142) ([smortex](https://github.com/smortex))
|
12
|
+
- \(PUP-12083\) Update soft limit warning for fact value & name length [\#137](https://github.com/OpenVoxProject/openvox/pull/137) ([bastelfreak](https://github.com/bastelfreak))
|
13
|
+
|
14
|
+
**Fixed bugs:**
|
15
|
+
|
16
|
+
- Maintain consistent JSON formatting [\#132](https://github.com/OpenVoxProject/openvox/pull/132) ([bastelfreak](https://github.com/bastelfreak))
|
17
|
+
|
18
|
+
**Merged pull requests:**
|
19
|
+
|
20
|
+
- cleanup gem metadata after Perforce-\>OpenVoxProject migration [\#140](https://github.com/OpenVoxProject/openvox/pull/140) ([smortex](https://github.com/smortex))
|
21
|
+
|
22
|
+
## [8.19.2](https://github.com/openvoxproject/openvox/tree/8.19.2) (2025-06-06)
|
23
|
+
|
24
|
+
[Full Changelog](https://github.com/openvoxproject/openvox/compare/8.19.1...8.19.2)
|
25
|
+
|
26
|
+
**Fixed bugs:**
|
27
|
+
|
28
|
+
- server\_facts: Switch implementation-\>serverimplementation [\#107](https://github.com/OpenVoxProject/openvox/pull/107) ([binford2k](https://github.com/binford2k))
|
29
|
+
- Reflect Ruby 3.4 stack trace changes [\#100](https://github.com/OpenVoxProject/openvox/pull/100) ([ekohl](https://github.com/ekohl))
|
30
|
+
- Add base64 as gem dependencies for Ruby 3.4 [\#98](https://github.com/OpenVoxProject/openvox/pull/98) ([ekohl](https://github.com/ekohl))
|
31
|
+
- Add racc gem dependency [\#89](https://github.com/OpenVoxProject/openvox/pull/89) ([ekohl](https://github.com/ekohl))
|
32
|
+
|
33
|
+
## [8.19.1](https://github.com/openvoxproject/openvox/tree/8.19.1) (2025-06-03)
|
34
|
+
|
35
|
+
[Full Changelog](https://github.com/openvoxproject/openvox/compare/8.19.0...8.19.1)
|
8
36
|
|
9
37
|
**Fixed bugs:**
|
10
38
|
|
11
|
-
- Fix invalid gemspec in AIO package [\#91](https://github.com/OpenVoxProject/
|
39
|
+
- Fix invalid gemspec in AIO package [\#91](https://github.com/OpenVoxProject/openvox/pull/91) ([smortex](https://github.com/smortex))
|
12
40
|
|
13
|
-
## [8.19.0](https://github.com/openvoxproject/
|
41
|
+
## [8.19.0](https://github.com/openvoxproject/openvox/tree/8.19.0) (2025-05-30)
|
14
42
|
|
15
|
-
[Full Changelog](https://github.com/openvoxproject/
|
43
|
+
[Full Changelog](https://github.com/openvoxproject/openvox/compare/8.18.1...8.19.0)
|
16
44
|
|
17
45
|
**Implemented enhancements:**
|
18
46
|
|
19
|
-
- Add `implementation` fact to agent and server. [\#63](https://github.com/OpenVoxProject/
|
47
|
+
- Add `implementation` fact to agent and server. [\#63](https://github.com/OpenVoxProject/openvox/pull/63) ([ffrank](https://github.com/ffrank))
|
20
48
|
|
21
49
|
**Fixed bugs:**
|
22
50
|
|
23
|
-
- Replace `erase` with `remove`, since it's no longer supported with DNF5 [\#68](https://github.com/OpenVoxProject/
|
51
|
+
- Replace `erase` with `remove`, since it's no longer supported with DNF5 [\#68](https://github.com/OpenVoxProject/openvox/pull/68) ([Stricken1670](https://github.com/Stricken1670))
|
24
52
|
|
25
53
|
|
26
54
|
|
data/Gemfile
CHANGED
@@ -13,10 +13,10 @@ def location_for(place, fake_version = nil)
|
|
13
13
|
end
|
14
14
|
|
15
15
|
# Make sure these gem requirements are in sync with the gempspec. Specifically,
|
16
|
-
# the runtime_dependencies in
|
17
|
-
# (like
|
16
|
+
# the runtime_dependencies in openvox.gemspec match the runtime dependencies here
|
17
|
+
# (like openfact, semantic_puppet, and puppet-resource_api)
|
18
18
|
|
19
|
-
gem "
|
19
|
+
gem "openfact", *location_for(ENV['OPENFACT_LOCATION'] || ["~> 5.0"])
|
20
20
|
gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ["~> 1.0"])
|
21
21
|
gem "puppet-resource_api", *location_for(ENV['RESOURCE_API_LOCATION'] || ["~> 1.5"])
|
22
22
|
|
@@ -43,11 +43,11 @@ group(:test) do
|
|
43
43
|
# 1.16.0 - 1.16.2 are broken on Windows
|
44
44
|
gem 'ffi', '>= 1.15.5', '< 1.17.0', '!= 1.16.0', '!= 1.16.1', '!= 1.16.2', require: false
|
45
45
|
gem "json-schema", '>= 2', '< 6', require: false
|
46
|
-
gem "racc", "1.5.2", require: false
|
47
46
|
gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 13.0')
|
48
47
|
gem "rspec", "~> 3.1", require: false
|
49
48
|
gem "rspec-expectations", ["~> 3.9", "!= 3.9.3"]
|
50
49
|
gem "rspec-its", "~> 1.1", require: false
|
50
|
+
gem 'rspec-mocks', '< 3.13.3', require: false # breaking change afterwards: https://github.com/rspec/rspec-mocks/pull/1596
|
51
51
|
gem 'vcr', '~> 6.1', require: false
|
52
52
|
gem 'webmock', '~> 3.0', require: false
|
53
53
|
gem 'webrick', '~> 1.7', require: false
|
@@ -69,7 +69,6 @@ group(:development, optional: true) do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
group(:packaging) do
|
72
|
-
gem 'github_changelog_generator'
|
73
72
|
gem 'packaging', *location_for(ENV['PACKAGING_LOCATION'] || '~> 0.99')
|
74
73
|
end
|
75
74
|
|
@@ -80,6 +79,11 @@ group(:documentation, optional: true) do
|
|
80
79
|
gem 'pandoc-ruby', require: false, platforms: [:ruby]
|
81
80
|
end
|
82
81
|
|
82
|
+
group :release, optional: true do
|
83
|
+
gem 'faraday-retry', require: false
|
84
|
+
gem 'github_changelog_generator', require: false
|
85
|
+
end
|
86
|
+
|
83
87
|
if File.exist? "#{__FILE__}.local"
|
84
88
|
eval(File.read("#{__FILE__}.local"), binding)
|
85
89
|
end
|
data/README.md
CHANGED
@@ -36,9 +36,9 @@ rest of the [developer documents](docs/index.md).
|
|
36
36
|
|
37
37
|
## Licensing
|
38
38
|
|
39
|
-
See [LICENSE](LICENSE) file. OpenVox is licensed by
|
40
|
-
implementation of Puppet.
|
41
|
-
Puppet itself is licensed by Puppet, Inc. under the Apache license. Puppet, Inc. can be contacted at: info@puppet.com
|
39
|
+
See [LICENSE](LICENSE) file. OpenVox is licensed by the OpenVox Project as a community maintained
|
40
|
+
implementation of Puppet. The OpenVox Project can be contacted at: openvox@voxpupuli.org.
|
41
|
+
Puppet itself is licensed by Puppet, Inc. under the Apache license. Puppet, Inc. can be contacted at: info@puppet.com.
|
42
42
|
|
43
43
|
## Support
|
44
44
|
|
data/Rakefile
CHANGED
@@ -59,7 +59,7 @@ end
|
|
59
59
|
namespace :pl_ci do
|
60
60
|
desc 'Build puppet gems'
|
61
61
|
task :gem_build, [:gemspec] do |t, args|
|
62
|
-
args.with_defaults(gemspec: '
|
62
|
+
args.with_defaults(gemspec: 'openvox.gemspec')
|
63
63
|
stdout, stderr, status = Open3.capture3(<<~END)
|
64
64
|
gem build #{args.gemspec} --platform x86-mingw32 && \
|
65
65
|
gem build #{args.gemspec} --platform x64-mingw32 && \
|
@@ -79,11 +79,11 @@ namespace :pl_ci do
|
|
79
79
|
# this is taken from `rake package:nightly_gem`
|
80
80
|
extended_dot_version = %x{git describe --tags --dirty --abbrev=7}.chomp.tr('-', '.')
|
81
81
|
|
82
|
-
# we must create tempfile in the same directory as
|
82
|
+
# we must create tempfile in the same directory as openvox.gemspec, since
|
83
83
|
# it uses __dir__ to determine which files to include
|
84
84
|
require 'tempfile'
|
85
85
|
Tempfile.create('gemspec', __dir__) do |dst|
|
86
|
-
File.open('
|
86
|
+
File.open('openvox.gemspec', 'r') do |src|
|
87
87
|
src.readlines.each do |line|
|
88
88
|
if line.match?(/version\s*=\s*['"][0-9.]+['"]/)
|
89
89
|
line = "spec.version = '#{extended_dot_version}'"
|
@@ -158,13 +158,17 @@ begin
|
|
158
158
|
All notable changes to this project will be documented in this file.
|
159
159
|
HEADER
|
160
160
|
config.user = "openvoxproject"
|
161
|
-
config.project = "
|
161
|
+
config.project = "openvox"
|
162
162
|
config.exclude_labels = %w[dependencies duplicate question invalid wontfix wont-fix modulesync skip-changelog]
|
163
163
|
config.since_tag = "8.18.1"
|
164
164
|
config.future_release = Puppet::PUPPETVERSION
|
165
|
+
config.exclude_tags_regex = /\A7\./
|
165
166
|
end
|
166
167
|
rescue LoadError
|
167
168
|
task :changelog do
|
168
|
-
abort("Run `bundle install --with
|
169
|
+
abort("Run `bundle install --with release` to install the `github_changelog_generator` gem.")
|
169
170
|
end
|
170
171
|
end
|
172
|
+
|
173
|
+
desc 'Prepare for a release'
|
174
|
+
task 'release:prepare' => [:changelog]
|
data/lib/puppet/configurer.rb
CHANGED
@@ -135,36 +135,37 @@ class Puppet::Configurer
|
|
135
135
|
Puppet.warning _("The current total number of fact values: %{size} exceeds the fact values limit: %{max_size}") % { size: size, max_size: max_number }
|
136
136
|
end
|
137
137
|
|
138
|
-
def warn_fact_name_length(name, max_length)
|
139
|
-
Puppet.warning _("Fact %{name} with length:
|
138
|
+
def warn_fact_name_length(name, max_length, fact_name_length)
|
139
|
+
Puppet.warning _("Fact %{name} with length: %{length} exceeds the fact name length limit: %{limit}") % { name: name, length: fact_name_length, limit: max_length }
|
140
140
|
end
|
141
141
|
|
142
142
|
def warn_number_of_top_level_facts(size, max_number)
|
143
143
|
Puppet.warning _("The current number of top level facts: %{size} exceeds the top facts limit: %{max_size}") % { size: size, max_size: max_number }
|
144
144
|
end
|
145
145
|
|
146
|
-
def warn_fact_value_length(value, max_length)
|
147
|
-
Puppet.warning _("Fact value
|
146
|
+
def warn_fact_value_length(name, value, max_length)
|
147
|
+
Puppet.warning _("Fact %{name} with value %{value} with the value length: %{length} exceeds the value length limit: %{max_length}") % { name: name, value: value, length: value.to_s.bytesize, max_length: max_length }
|
148
148
|
end
|
149
149
|
|
150
150
|
def warn_fact_payload_size(payload, max_size)
|
151
|
-
Puppet.warning _("Payload with the current size of:
|
151
|
+
Puppet.warning _("Payload with the current size of: %{payload} exceeds the payload size limit: %{max_size}") % { payload: payload, max_size: max_size }
|
152
152
|
end
|
153
153
|
|
154
|
-
def check_fact_name_length(
|
154
|
+
def check_fact_name_length(fact_path, number_of_dots)
|
155
155
|
max_length = Puppet[:fact_name_length_soft_limit]
|
156
156
|
return if max_length.zero?
|
157
157
|
|
158
|
+
name_without_dots = fact_path.join()
|
158
159
|
# rough byte size estimations of fact path as a postgresql btree index
|
159
|
-
size_as_btree_index = 8 + (number_of_dots * 2) +
|
160
|
-
warn_fact_name_length(
|
160
|
+
size_as_btree_index = 8 + (number_of_dots * 2) + name_without_dots.to_s.bytesize
|
161
|
+
warn_fact_name_length(fact_path.join('.'), max_length, size_as_btree_index) if size_as_btree_index > max_length
|
161
162
|
end
|
162
163
|
|
163
|
-
def check_fact_values_length(values)
|
164
|
+
def check_fact_values_length(name, values)
|
164
165
|
max_length = Puppet[:fact_value_length_soft_limit]
|
165
166
|
return if max_length.zero?
|
166
167
|
|
167
|
-
warn_fact_value_length(values, max_length) if values.to_s.bytesize > max_length
|
168
|
+
warn_fact_value_length(name, values, max_length) if values.to_s.bytesize > max_length
|
168
169
|
end
|
169
170
|
|
170
171
|
def check_top_level_number_limit(size)
|
@@ -204,8 +205,8 @@ class Puppet::Configurer
|
|
204
205
|
path.pop
|
205
206
|
end
|
206
207
|
else
|
207
|
-
check_fact_name_length(path
|
208
|
-
check_fact_values_length(object)
|
208
|
+
check_fact_name_length(path, path.size)
|
209
|
+
check_fact_values_length(path.join('.'), object)
|
209
210
|
@number_of_facts += 1
|
210
211
|
end
|
211
212
|
end
|
data/lib/puppet/face/facts.rb
CHANGED
@@ -167,7 +167,15 @@ Puppet::Indirector::Face.define(:facts, '0.0.1') do
|
|
167
167
|
|
168
168
|
case result
|
169
169
|
when Array, Hash
|
170
|
-
|
170
|
+
# JSON < 2.8.0 would pretty print empty arrays and hashes with newlines
|
171
|
+
# Maintain that behavior for our users for now
|
172
|
+
if result.is_a?(Array) && result.empty?
|
173
|
+
"[\n\n]"
|
174
|
+
elsif result.is_a?(Hash) && result.empty?
|
175
|
+
"{\n}"
|
176
|
+
else
|
177
|
+
Puppet::Util::Json.dump(result, :pretty => true)
|
178
|
+
end
|
171
179
|
else # one of VALID_TYPES above
|
172
180
|
result
|
173
181
|
end
|
data/lib/puppet/feature/base.rb
CHANGED
@@ -58,7 +58,7 @@ Puppet.features.add(:manages_symlinks) do
|
|
58
58
|
require 'ffi'
|
59
59
|
extend FFI::Library
|
60
60
|
|
61
|
-
def self.is_implemented # rubocop:disable Naming/
|
61
|
+
def self.is_implemented # rubocop:disable Naming/PredicatePrefix
|
62
62
|
ffi_lib :kernel32
|
63
63
|
attach_function :CreateSymbolicLinkW, [:lpwstr, :lpwstr, :dword], :boolean
|
64
64
|
|
@@ -107,7 +107,7 @@ Puppet::Functions.create_function(:defined, Puppet::Functions::InternalFunction)
|
|
107
107
|
required_repeated_param 'Variant[String, Type[CatalogEntry], Type[Type[CatalogEntry]]]', :vals
|
108
108
|
end
|
109
109
|
|
110
|
-
def is_defined(scope, *vals) # rubocop:disable Naming/
|
110
|
+
def is_defined(scope, *vals) # rubocop:disable Naming/PredicatePrefix
|
111
111
|
vals.any? do |val|
|
112
112
|
case val
|
113
113
|
when String
|
@@ -5,7 +5,7 @@ class Puppet::Node::ServerFacts
|
|
5
5
|
server_facts = {}
|
6
6
|
|
7
7
|
# Add implementation information
|
8
|
-
server_facts["
|
8
|
+
server_facts["serverimplementation"] = Puppet.implementation
|
9
9
|
|
10
10
|
# Add our server Puppet Enterprise version, if available.
|
11
11
|
pe_version_file = '/opt/puppetlabs/server/pe_version'
|
data/lib/puppet/parameter.rb
CHANGED
@@ -93,7 +93,7 @@ class Puppet::Parameter
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
# rubocop:disable Naming/
|
96
|
+
# rubocop:disable Naming/PredicatePrefix
|
97
97
|
def sensitive(value = nil, &block)
|
98
98
|
if block
|
99
99
|
define_method(:is_sensitive, &block)
|
@@ -101,7 +101,7 @@ class Puppet::Parameter
|
|
101
101
|
define_method(:is_sensitive) do value end
|
102
102
|
end
|
103
103
|
end
|
104
|
-
# rubocop:enable Naming/
|
104
|
+
# rubocop:enable Naming/PredicatePrefix
|
105
105
|
|
106
106
|
# Produces a documentation string.
|
107
107
|
# If an enumeration of _valid values_ has been defined, it is appended to the documentation
|
data/lib/puppet/property/list.rb
CHANGED
@@ -8,7 +8,7 @@ module Puppet
|
|
8
8
|
# For an ordered list see {Puppet::Property::OrderedList}.
|
9
9
|
#
|
10
10
|
class List < Property
|
11
|
-
def is_to_s(currentvalue) # rubocop:disable Naming/
|
11
|
+
def is_to_s(currentvalue) # rubocop:disable Naming/PredicatePrefix
|
12
12
|
currentvalue == :absent ? super(currentvalue) : currentvalue.join(delimiter)
|
13
13
|
end
|
14
14
|
|
data/lib/puppet/property.rb
CHANGED
@@ -403,7 +403,7 @@ class Puppet::Property < Puppet::Parameter
|
|
403
403
|
# are not already in suitable form.
|
404
404
|
# @param value [Object] the value to format as a string
|
405
405
|
# @return [String] a pretty printing string
|
406
|
-
def is_to_s(value) # rubocop:disable Naming/
|
406
|
+
def is_to_s(value) # rubocop:disable Naming/PredicatePrefix
|
407
407
|
self.class.format_value_for_display(value)
|
408
408
|
end
|
409
409
|
|
data/lib/puppet/provider.rb
CHANGED
@@ -199,7 +199,7 @@ class Puppet::Provider
|
|
199
199
|
# @note the name ´has_command´ looks odd in an API context, but makes more sense when seen in the internal
|
200
200
|
# DSL context where a Provider is declaratively defined.
|
201
201
|
# @api public
|
202
|
-
# rubocop:disable Naming/
|
202
|
+
# rubocop:disable Naming/PredicatePrefix
|
203
203
|
def self.has_command(name, path, &block)
|
204
204
|
name = name.intern
|
205
205
|
command = CommandDefiner.define(name, path, self, &block)
|
@@ -211,7 +211,7 @@ class Puppet::Provider
|
|
211
211
|
return command.execute(*args)
|
212
212
|
end
|
213
213
|
end
|
214
|
-
# rubocop:enable Naming/
|
214
|
+
# rubocop:enable Naming/PredicatePrefix
|
215
215
|
|
216
216
|
# Internal helper class when creating commands - undocumented.
|
217
217
|
# @api private
|
@@ -232,7 +232,7 @@ class Puppet::Provider
|
|
232
232
|
@custom_environment = {}
|
233
233
|
end
|
234
234
|
|
235
|
-
def is_optional # rubocop:disable Naming/
|
235
|
+
def is_optional # rubocop:disable Naming/PredicatePrefix
|
236
236
|
@optional = true
|
237
237
|
end
|
238
238
|
|
@@ -39,7 +39,7 @@ module Puppet
|
|
39
39
|
end
|
40
40
|
|
41
41
|
# We want to print names, not numbers
|
42
|
-
def is_to_s(currentvalue) # rubocop:disable Naming/
|
42
|
+
def is_to_s(currentvalue) # rubocop:disable Naming/PredicatePrefix
|
43
43
|
super(provider.gid2name(currentvalue) || currentvalue)
|
44
44
|
end
|
45
45
|
|
@@ -179,7 +179,7 @@ module Puppet
|
|
179
179
|
"'#{should_value.rjust(4, '0')}'"
|
180
180
|
end
|
181
181
|
|
182
|
-
def is_to_s(currentvalue) # rubocop:disable Naming/
|
182
|
+
def is_to_s(currentvalue) # rubocop:disable Naming/PredicatePrefix
|
183
183
|
if currentvalue == :absent
|
184
184
|
# This can occur during audits---if a file is transitioning from
|
185
185
|
# present to absent the mode will have a value of `:absent`.
|
@@ -41,7 +41,7 @@ module Puppet
|
|
41
41
|
end
|
42
42
|
|
43
43
|
# We want to print names, not numbers
|
44
|
-
def is_to_s(currentvalue) # rubocop:disable Naming/
|
44
|
+
def is_to_s(currentvalue) # rubocop:disable Naming/PredicatePrefix
|
45
45
|
super(provider.uid2name(currentvalue) || currentvalue)
|
46
46
|
end
|
47
47
|
|
data/lib/puppet/type/group.rb
CHANGED
@@ -102,7 +102,7 @@ module Puppet
|
|
102
102
|
super(current)
|
103
103
|
end
|
104
104
|
|
105
|
-
def is_to_s(currentvalue) # rubocop:disable Naming/
|
105
|
+
def is_to_s(currentvalue) # rubocop:disable Naming/PredicatePrefix
|
106
106
|
if provider.respond_to?(:members_to_s)
|
107
107
|
currentvalue = '' if currentvalue.nil?
|
108
108
|
currentvalue = currentvalue.is_a?(Array) ? currentvalue : currentvalue.split(',')
|
data/lib/puppet/type/package.rb
CHANGED
@@ -396,7 +396,7 @@ module Puppet
|
|
396
396
|
end
|
397
397
|
end
|
398
398
|
|
399
|
-
def is_to_s(currentvalue) # rubocop:disable Naming/
|
399
|
+
def is_to_s(currentvalue) # rubocop:disable Naming/PredicatePrefix
|
400
400
|
if provider.respond_to?(:package_settings_is_to_s)
|
401
401
|
provider.package_settings_is_to_s(should, currentvalue)
|
402
402
|
else
|
data/lib/puppet/util.rb
CHANGED
@@ -523,7 +523,11 @@ module Util
|
|
523
523
|
|
524
524
|
module_function :thinmark
|
525
525
|
|
526
|
-
PUPPET_STACK_INSERTION_FRAME =
|
526
|
+
PUPPET_STACK_INSERTION_FRAME = if RUBY_VERSION >= '3.4'
|
527
|
+
/.*puppet_stack\.rb.*in.*'Puppet::Pops::PuppetStack\.stack'/
|
528
|
+
else
|
529
|
+
/.*puppet_stack\.rb.*in.*`stack'/
|
530
|
+
end
|
527
531
|
|
528
532
|
# utility method to get the current call stack and format it to a human-readable string (which some IDEs/editors
|
529
533
|
# will recognize as links to the line numbers in the trace)
|
data/lib/puppet/version.rb
CHANGED
data/tasks/vox.rake
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
namespace :vox do
|
2
|
+
desc 'Update the version in preparation for a release'
|
3
|
+
task 'version:bump:full', [:version] do |_, args|
|
4
|
+
abort 'You must provide a tag.' if args[:version].nil? || args[:version].empty?
|
5
|
+
version = args[:version]
|
6
|
+
abort "#{version} does not appear to be a valid version string in x.y.z format" unless Gem::Version.correct?(version)
|
7
|
+
|
8
|
+
# Update lib/puppet/version.rb and openvox.gemspec
|
9
|
+
puts "Setting version to #{version}"
|
10
|
+
|
11
|
+
data = File.read('lib/puppet/version.rb')
|
12
|
+
new_data = data.sub(/PUPPETVERSION = '\d+\.\d+\.\d+(\.rc\d+)?'/, "PUPPETVERSION = '#{version}'")
|
13
|
+
warn 'Failed to update version in lib/puppet/version.rb' if data == new_data
|
14
|
+
|
15
|
+
File.write('lib/puppet/version.rb', new_data)
|
16
|
+
|
17
|
+
data = File.read('openvox.gemspec')
|
18
|
+
new_data = data.sub(/spec.version = "\d+\.\d+\.\d+(\.rc\d+)?"/, "spec.version = \"#{version}\"")
|
19
|
+
warn 'Failed to update version in openvox.gemspec' if data == new_data
|
20
|
+
|
21
|
+
File.write('openvox.gemspec', new_data)
|
22
|
+
end
|
23
|
+
end
|
metadata
CHANGED
@@ -1,30 +1,56 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openvox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- OpenVox Project
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
10
|
date: 2012-08-17 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
|
-
name:
|
13
|
+
name: base64
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- - "
|
16
|
+
- - ">="
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '1
|
18
|
+
version: '0.1'
|
19
|
+
- - "<"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.4'
|
19
22
|
type: :runtime
|
20
23
|
prerelease: false
|
21
24
|
version_requirements: !ruby/object:Gem::Requirement
|
22
25
|
requirements:
|
23
|
-
- - "
|
26
|
+
- - ">="
|
24
27
|
- !ruby/object:Gem::Version
|
25
|
-
version: '1
|
28
|
+
version: '0.1'
|
29
|
+
- - "<"
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0.4'
|
26
32
|
- !ruby/object:Gem::Dependency
|
27
|
-
name:
|
33
|
+
name: benchmark
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0.3'
|
39
|
+
- - "<"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0.5'
|
42
|
+
type: :runtime
|
43
|
+
prerelease: false
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0.3'
|
49
|
+
- - "<"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0.5'
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: concurrent-ruby
|
28
54
|
requirement: !ruby/object:Gem::Requirement
|
29
55
|
requirements:
|
30
56
|
- - "~>"
|
@@ -38,25 +64,19 @@ dependencies:
|
|
38
64
|
- !ruby/object:Gem::Version
|
39
65
|
version: '1.0'
|
40
66
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
67
|
+
name: deep_merge
|
42
68
|
requirement: !ruby/object:Gem::Requirement
|
43
69
|
requirements:
|
44
|
-
- - "
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 4.3.0
|
47
|
-
- - "<"
|
70
|
+
- - "~>"
|
48
71
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
72
|
+
version: '1.0'
|
50
73
|
type: :runtime
|
51
74
|
prerelease: false
|
52
75
|
version_requirements: !ruby/object:Gem::Requirement
|
53
76
|
requirements:
|
54
|
-
- - "
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 4.3.0
|
57
|
-
- - "<"
|
77
|
+
- - "~>"
|
58
78
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
79
|
+
version: '1.0'
|
60
80
|
- !ruby/object:Gem::Dependency
|
61
81
|
name: fast_gettext
|
62
82
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,85 +140,93 @@ dependencies:
|
|
120
140
|
- !ruby/object:Gem::Version
|
121
141
|
version: '1.13'
|
122
142
|
- !ruby/object:Gem::Dependency
|
123
|
-
name:
|
143
|
+
name: openfact
|
124
144
|
requirement: !ruby/object:Gem::Requirement
|
125
145
|
requirements:
|
126
146
|
- - "~>"
|
127
147
|
- !ruby/object:Gem::Version
|
128
|
-
version: '
|
148
|
+
version: '5.0'
|
129
149
|
type: :runtime
|
130
150
|
prerelease: false
|
131
151
|
version_requirements: !ruby/object:Gem::Requirement
|
132
152
|
requirements:
|
133
153
|
- - "~>"
|
134
154
|
- !ruby/object:Gem::Version
|
135
|
-
version: '
|
155
|
+
version: '5.0'
|
136
156
|
- !ruby/object:Gem::Dependency
|
137
|
-
name:
|
157
|
+
name: ostruct
|
138
158
|
requirement: !ruby/object:Gem::Requirement
|
139
159
|
requirements:
|
140
160
|
- - "~>"
|
141
161
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
162
|
+
version: 0.6.0
|
143
163
|
type: :runtime
|
144
164
|
prerelease: false
|
145
165
|
version_requirements: !ruby/object:Gem::Requirement
|
146
166
|
requirements:
|
147
167
|
- - "~>"
|
148
168
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
169
|
+
version: 0.6.0
|
150
170
|
- !ruby/object:Gem::Dependency
|
151
|
-
name:
|
171
|
+
name: puppet-resource_api
|
152
172
|
requirement: !ruby/object:Gem::Requirement
|
153
173
|
requirements:
|
154
174
|
- - "~>"
|
155
175
|
- !ruby/object:Gem::Version
|
156
|
-
version: '1.
|
176
|
+
version: '1.5'
|
157
177
|
type: :runtime
|
158
178
|
prerelease: false
|
159
179
|
version_requirements: !ruby/object:Gem::Requirement
|
160
180
|
requirements:
|
161
181
|
- - "~>"
|
162
182
|
- !ruby/object:Gem::Version
|
163
|
-
version: '1.
|
183
|
+
version: '1.5'
|
164
184
|
- !ruby/object:Gem::Dependency
|
165
|
-
name:
|
185
|
+
name: racc
|
166
186
|
requirement: !ruby/object:Gem::Requirement
|
167
187
|
requirements:
|
168
188
|
- - "~>"
|
169
189
|
- !ruby/object:Gem::Version
|
170
|
-
version:
|
190
|
+
version: '1.5'
|
171
191
|
type: :runtime
|
172
192
|
prerelease: false
|
173
193
|
version_requirements: !ruby/object:Gem::Requirement
|
174
194
|
requirements:
|
175
195
|
- - "~>"
|
176
196
|
- !ruby/object:Gem::Version
|
177
|
-
version:
|
197
|
+
version: '1.5'
|
178
198
|
- !ruby/object:Gem::Dependency
|
179
|
-
name:
|
199
|
+
name: scanf
|
180
200
|
requirement: !ruby/object:Gem::Requirement
|
181
201
|
requirements:
|
182
|
-
- - "
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
version: '0.3'
|
185
|
-
- - "<"
|
202
|
+
- - "~>"
|
186
203
|
- !ruby/object:Gem::Version
|
187
|
-
version: '0
|
204
|
+
version: '1.0'
|
188
205
|
type: :runtime
|
189
206
|
prerelease: false
|
190
207
|
version_requirements: !ruby/object:Gem::Requirement
|
191
208
|
requirements:
|
192
|
-
- - "
|
209
|
+
- - "~>"
|
193
210
|
- !ruby/object:Gem::Version
|
194
|
-
version: '0
|
195
|
-
|
211
|
+
version: '1.0'
|
212
|
+
- !ruby/object:Gem::Dependency
|
213
|
+
name: semantic_puppet
|
214
|
+
requirement: !ruby/object:Gem::Requirement
|
215
|
+
requirements:
|
216
|
+
- - "~>"
|
196
217
|
- !ruby/object:Gem::Version
|
197
|
-
version: '0
|
218
|
+
version: '1.0'
|
219
|
+
type: :runtime
|
220
|
+
prerelease: false
|
221
|
+
version_requirements: !ruby/object:Gem::Requirement
|
222
|
+
requirements:
|
223
|
+
- - "~>"
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: '1.0'
|
198
226
|
description: |
|
199
227
|
OpenVox is a community implementation of Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks
|
200
228
|
(such as adding users, installing packages, and updating server configurations) based on a centralized specification.
|
201
|
-
email: openvox@voxpupuli.org
|
229
|
+
email: openvox@voxpupuli.org
|
202
230
|
executables:
|
203
231
|
- puppet
|
204
232
|
extensions: []
|
@@ -1305,7 +1333,7 @@ files:
|
|
1305
1333
|
- man/man8/puppet-script.8
|
1306
1334
|
- man/man8/puppet-ssl.8
|
1307
1335
|
- man/man8/puppet.8
|
1308
|
-
- tasks/
|
1336
|
+
- tasks/vox.rake
|
1309
1337
|
homepage: https://github.com/OpenVoxProject/puppet
|
1310
1338
|
licenses:
|
1311
1339
|
- Apache-2.0
|
data/tasks/tag.rake
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
namespace :vox do
|
2
|
-
desc 'Update version, create tag, and push to origin'
|
3
|
-
task :tag, [:tag] do |_, args|
|
4
|
-
abort 'You must provide a tag.' if args[:tag].nil? || args[:tag].empty?
|
5
|
-
version = args[:tag]
|
6
|
-
abort "#{version} does not appear to be a valid version string in x.y.z format" unless Gem::Version.correct?(version)
|
7
|
-
|
8
|
-
# Update lib/puppet/version.rb and puppet.gemspec
|
9
|
-
puts "Setting version to #{version}"
|
10
|
-
data = File.read('lib/puppet/version.rb')
|
11
|
-
data = data.sub(/PUPPETVERSION = '\d+\.\d+\.\d+'/, "PUPPETVERSION = '#{version}'")
|
12
|
-
File.write('lib/puppet/version.rb', data)
|
13
|
-
data = File.read('puppet.gemspec')
|
14
|
-
data = data.sub(/spec.version = "\d+\.\d+\.\d+"/, "spec.version = \"#{version}\"")
|
15
|
-
File.write('puppet.gemspec', data)
|
16
|
-
run_command("git add lib/puppet/version.rb && git add puppet.gemspec && git commit -m 'Set version to #{version}'")
|
17
|
-
|
18
|
-
# Run git command to get short SHA and one line description of the commit on HEAD
|
19
|
-
branch = run_command('git rev-parse --abbrev-ref HEAD')
|
20
|
-
sha = run_command('git rev-parse --short HEAD')
|
21
|
-
msg = run_command('git log -n 1 --pretty=%B')
|
22
|
-
|
23
|
-
puts "Branch: #{branch}"
|
24
|
-
puts "SHA: #{sha}"
|
25
|
-
puts "Commit: #{msg}"
|
26
|
-
|
27
|
-
run_command("git tag -a #{version} -m '#{version}'")
|
28
|
-
|
29
|
-
unless !ENV['NOPUSH'].nil?
|
30
|
-
puts "Pushing to origin"
|
31
|
-
run_command("git push origin && git push origin #{version}")
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|