librarian-puppet-maestrodev 0.9.11.4 → 0.9.11.5
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 +15 -0
- data/lib/librarian/puppet.rb +12 -1
- data/lib/librarian/puppet/extension.rb +0 -187
- data/lib/librarian/puppet/source/forge.rb +8 -1
- data/lib/librarian/puppet/source/githubtarball.rb +19 -1
- data/lib/librarian/puppet/version.rb +1 -1
- metadata +61 -45
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
MDM5ZTU0ZTljMjZmY2M3MjljOTZjOTY5YzUzNDVhOWQ4ZGJhMDFkYw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Zjk3ZWQxNjhlMzg4MWFiYTlmYjMxOGQ1ZjYxMjg1YmU3ZmQ3ZDE5NA==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YmI4NDRmM2U2NWJhOTM5NzM4OTYzYmM4N2UxY2YwYTg4MWVhMmJlMWRlMzJi
|
10
|
+
NzhhODdkZWZiYTIxMjY5OGYwMDM1ZTI3ZjA5Nzc4NThmN2EwOGY1MzFlZjQ3
|
11
|
+
N2U1YmM1NzAxNDJkZjkzNzkwNzgyMjYyZWU1YzkwNDMyMWJmYTE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YTU1NmQ1NTMyYWE5M2U4YTJkODkxMmMzZDNmZWQ5ZjZlYmFkNjg3MGFmZWNl
|
14
|
+
NGNmYzlmY2JiNGQ5Y2VkOGNjZmFlMzYzZjdkYjY4YjEyZTY4MGUzMDNkOGQ0
|
15
|
+
Y2NkOTJjZTIxMDY2YTQ5ZWEzYTFkNzZkZDg0YTMyNjJjYTZiMDc=
|
data/lib/librarian/puppet.rb
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
require 'librarian'
|
2
2
|
require 'fileutils'
|
3
3
|
require 'open3'
|
4
|
-
|
4
|
+
|
5
|
+
# require open3_backport in ruby 1.8 and install if not present
|
6
|
+
# https://github.com/rodjek/librarian-puppet/issues/167
|
7
|
+
if RUBY_VERSION < '1.9'
|
8
|
+
begin
|
9
|
+
require 'open3_backport'
|
10
|
+
rescue LoadError
|
11
|
+
require 'rubygems/dependency_installer.rb'
|
12
|
+
Gem::DependencyInstaller.new.install 'open3_backport'
|
13
|
+
require 'open3_backport'
|
14
|
+
end
|
15
|
+
end
|
5
16
|
|
6
17
|
status = nil
|
7
18
|
out = nil
|
@@ -5,11 +5,8 @@ module Librarian
|
|
5
5
|
module Puppet
|
6
6
|
extend self
|
7
7
|
extend Librarian
|
8
|
-
|
9
8
|
end
|
10
|
-
end
|
11
9
|
|
12
|
-
module Librarian
|
13
10
|
class Dependency
|
14
11
|
class Requirement
|
15
12
|
def initialize(*args)
|
@@ -38,7 +35,6 @@ module Librarian
|
|
38
35
|
def hash
|
39
36
|
self.to_s.hash
|
40
37
|
end
|
41
|
-
|
42
38
|
end
|
43
39
|
|
44
40
|
# Fixes for librarian not yet released in their gem
|
@@ -71,189 +67,6 @@ module Librarian
|
|
71
67
|
end
|
72
68
|
end
|
73
69
|
|
74
|
-
|
75
|
-
module Action
|
76
|
-
class Install < Base
|
77
|
-
|
78
|
-
private
|
79
|
-
|
80
|
-
def create_install_path
|
81
|
-
install_path.rmtree if install_path.exist? && destructive?
|
82
|
-
install_path.mkpath
|
83
|
-
end
|
84
|
-
|
85
|
-
def destructive?
|
86
|
-
environment.config_db.local['destructive'] == 'true'
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
class ManifestSet
|
92
|
-
private
|
93
|
-
|
94
|
-
# Check if module doesn't exist and fail fast
|
95
|
-
def dependencies_of(names)
|
96
|
-
names = Array === names ? names.dup : names.to_a
|
97
|
-
assert_strings!(names)
|
98
|
-
|
99
|
-
deps = Set.new
|
100
|
-
until names.empty?
|
101
|
-
name = names.shift
|
102
|
-
next if deps.include?(name)
|
103
|
-
|
104
|
-
deps << name
|
105
|
-
raise(Error, "Unable to find module #{name}") if index[name].nil?
|
106
|
-
names.concat index[name].dependencies.map(&:name)
|
107
|
-
end
|
108
|
-
deps.to_a
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
class Manifest
|
113
|
-
|
114
|
-
class PreReleaseVersion
|
115
|
-
|
116
|
-
# Compares pre-release component ids using Semver 2.0.0 spec
|
117
|
-
def self.compare_components(this_id,other_id)
|
118
|
-
case # Strings have higher precedence than numbers
|
119
|
-
when (this_id.is_a?(Integer) and other_id.is_a?(String))
|
120
|
-
-1
|
121
|
-
when (this_id.is_a?(String) and other_id.is_a?(Integer))
|
122
|
-
1
|
123
|
-
else
|
124
|
-
this_id <=> other_id
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
# Parses pre-release components `a.b.c` into an array ``[a,b,c]`
|
129
|
-
# Converts numeric components into +Integer+
|
130
|
-
def self.parse(prerelease)
|
131
|
-
if prerelease.nil?
|
132
|
-
[]
|
133
|
-
else
|
134
|
-
prerelease.split('.').collect do |id|
|
135
|
-
id = Integer(id) if /^[0-9]+$/ =~ id
|
136
|
-
id
|
137
|
-
end
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
include Comparable
|
142
|
-
|
143
|
-
attr_reader :components
|
144
|
-
|
145
|
-
def initialize(prerelease)
|
146
|
-
@prerelease = prerelease
|
147
|
-
@components = PreReleaseVersion.parse(prerelease)
|
148
|
-
end
|
149
|
-
|
150
|
-
def to_s
|
151
|
-
@prerelease
|
152
|
-
end
|
153
|
-
|
154
|
-
def <=>(other)
|
155
|
-
# null-fill zip array to prevent loss of components
|
156
|
-
z = Array.new([components.length,other.components.length])
|
157
|
-
|
158
|
-
# Compare each component against the other
|
159
|
-
comp = z.zip(components,other.components).collect do |ids|
|
160
|
-
case # All components being equal, the version with more of them takes precedence
|
161
|
-
when ids[1].nil? # Self has less elements, other wins
|
162
|
-
-1
|
163
|
-
when ids[2].nil? # Other has less elements, self wins
|
164
|
-
1
|
165
|
-
else
|
166
|
-
PreReleaseVersion.compare_components(ids[1],ids[2])
|
167
|
-
end
|
168
|
-
end
|
169
|
-
# Chose the first non-zero comparison or return 0
|
170
|
-
comp.delete_if {|c| c == 0}[0] || 0
|
171
|
-
end
|
172
|
-
end
|
173
|
-
class Version
|
174
|
-
@@SEMANTIC_VERSION_PATTERN = /^([0-9]+\.[0-9]+(?:\.[0-9]+)?)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/
|
175
|
-
def self.parse_semver(version_string)
|
176
|
-
parsed = @@SEMANTIC_VERSION_PATTERN.match(version_string.strip)
|
177
|
-
if parsed
|
178
|
-
{
|
179
|
-
:full_version => parsed[0],
|
180
|
-
:version => parsed[1],
|
181
|
-
:prerelease => (PreReleaseVersion.new(parsed[2]) if parsed[2]),
|
182
|
-
:build => parsed[3]
|
183
|
-
}
|
184
|
-
end
|
185
|
-
end
|
186
|
-
|
187
|
-
attr_reader :prerelease
|
188
|
-
|
189
|
-
def initialize(*args)
|
190
|
-
args = initialize_normalize_args(args)
|
191
|
-
semver = Version.parse_semver(*args)
|
192
|
-
if semver
|
193
|
-
self.backing = Gem::Version.new(semver[:version])
|
194
|
-
@prerelease = semver[:prerelease]
|
195
|
-
@full_version = semver[:full_version]
|
196
|
-
else
|
197
|
-
self.backing = Gem::Version.new(*args)
|
198
|
-
@full_version = to_gem_version.to_s
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
def <=>(other)
|
203
|
-
cmp = to_gem_version <=> other.to_gem_version
|
204
|
-
|
205
|
-
# Should compare pre-release versions?
|
206
|
-
if cmp == 0 and not (prerelease.nil? and other.prerelease.nil?)
|
207
|
-
case # Versions without prerelease take precedence
|
208
|
-
when (prerelease.nil? and not other.prerelease.nil?)
|
209
|
-
1
|
210
|
-
when (not prerelease.nil? and other.prerelease.nil?)
|
211
|
-
-1
|
212
|
-
else
|
213
|
-
prerelease <=> other.prerelease
|
214
|
-
end
|
215
|
-
else
|
216
|
-
cmp
|
217
|
-
end
|
218
|
-
end
|
219
|
-
|
220
|
-
def to_s
|
221
|
-
@full_version
|
222
|
-
end
|
223
|
-
end
|
224
|
-
end
|
225
|
-
|
226
|
-
# Fixes for librarian not yet released in their gem
|
227
|
-
module Mock
|
228
|
-
module Source
|
229
|
-
class Mock
|
230
|
-
alias :eql? :==
|
231
|
-
|
232
|
-
def hash
|
233
|
-
self.to_s.hash
|
234
|
-
end
|
235
|
-
end
|
236
|
-
end
|
237
|
-
end
|
238
|
-
module Source
|
239
|
-
class Git
|
240
|
-
alias :eql? :==
|
241
|
-
|
242
|
-
def hash
|
243
|
-
self.to_s.hash
|
244
|
-
end
|
245
|
-
end
|
246
|
-
|
247
|
-
class Path
|
248
|
-
alias :eql? :==
|
249
|
-
|
250
|
-
def hash
|
251
|
-
self.to_s.hash
|
252
|
-
end
|
253
|
-
end
|
254
|
-
end
|
255
|
-
|
256
|
-
|
257
70
|
module Action
|
258
71
|
class Install < Base
|
259
72
|
|
@@ -19,7 +19,11 @@ module Librarian
|
|
19
19
|
def versions
|
20
20
|
return @versions if @versions
|
21
21
|
@versions = api_data[name].map { |r| r['version'] }.reverse
|
22
|
-
|
22
|
+
if @versions.empty?
|
23
|
+
info { "No versions found for module #{name}" }
|
24
|
+
else
|
25
|
+
debug { " Module #{name} found versions: #{@versions.join(", ")}" }
|
26
|
+
end
|
23
27
|
@versions
|
24
28
|
end
|
25
29
|
|
@@ -136,6 +140,9 @@ module Librarian
|
|
136
140
|
def debug(*args, &block)
|
137
141
|
environment.logger.debug(*args, &block)
|
138
142
|
end
|
143
|
+
def info(*args, &block)
|
144
|
+
environment.logger.info(*args, &block)
|
145
|
+
end
|
139
146
|
|
140
147
|
private
|
141
148
|
def api_data
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'uri'
|
2
2
|
require 'net/https'
|
3
|
+
require 'open-uri'
|
3
4
|
require 'json'
|
4
5
|
|
5
6
|
require 'librarian/puppet/version'
|
@@ -98,7 +99,20 @@ module Librarian
|
|
98
99
|
|
99
100
|
url = "https://api.github.com/repos/#{name}/tarball/#{version}"
|
100
101
|
url << "?access_token=#{ENV['GITHUB_API_TOKEN']}" if ENV['GITHUB_API_TOKEN']
|
101
|
-
|
102
|
+
|
103
|
+
File.open(vendored_path(name, version).to_s, 'wb') do |f|
|
104
|
+
begin
|
105
|
+
debug { "Downloading <#{url}> to <#{f.path}>" }
|
106
|
+
open(url,
|
107
|
+
"User-Agent" => "librarian-puppet v#{Librarian::Puppet::VERSION}") do |res|
|
108
|
+
while buffer = res.read(8192)
|
109
|
+
f.write(buffer)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
rescue OpenURI::HTTPError => e
|
113
|
+
raise e, "Error requesting <#{url}>: #{e.to_s}"
|
114
|
+
end
|
115
|
+
end
|
102
116
|
end
|
103
117
|
|
104
118
|
def clean_up_old_cached_versions(name)
|
@@ -107,6 +121,10 @@ module Librarian
|
|
107
121
|
end
|
108
122
|
end
|
109
123
|
|
124
|
+
def debug(*args, &block)
|
125
|
+
environment.logger.debug(*args, &block)
|
126
|
+
end
|
127
|
+
|
110
128
|
private
|
111
129
|
|
112
130
|
def api_call(path)
|
metadata
CHANGED
@@ -1,104 +1,127 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: librarian-puppet-maestrodev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.11.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.11.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Tim Sharpe
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: librarian
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 0.1.1
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.1.1
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rake
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
31
|
- - ! '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: rspec
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
45
|
- - ! '>='
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '0'
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: cucumber
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: aruba
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
73
|
- - ! '>='
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: '0'
|
66
76
|
type: :development
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: puppet
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
87
|
- - ! '>='
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: '0'
|
77
90
|
type: :development
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: minitest
|
82
|
-
requirement:
|
83
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
84
100
|
requirements:
|
85
101
|
- - ~>
|
86
102
|
- !ruby/object:Gem::Version
|
87
103
|
version: '5'
|
88
104
|
type: :development
|
89
105
|
prerelease: false
|
90
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '5'
|
91
111
|
- !ruby/object:Gem::Dependency
|
92
112
|
name: mocha
|
93
|
-
requirement:
|
94
|
-
none: false
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
95
114
|
requirements:
|
96
115
|
- - ! '>='
|
97
116
|
- !ruby/object:Gem::Version
|
98
117
|
version: '0'
|
99
118
|
type: :development
|
100
119
|
prerelease: false
|
101
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
102
125
|
description: ! "Simplify deployment of your Puppet infrastructure by\n automatically
|
103
126
|
pulling in modules from the forge and git repositories with\n a single command."
|
104
127
|
email:
|
@@ -113,49 +136,42 @@ files:
|
|
113
136
|
- README.md
|
114
137
|
- bin/librarian-puppet
|
115
138
|
- lib/librarian/puppet.rb
|
116
|
-
- lib/librarian/puppet/dsl.rb
|
117
|
-
- lib/librarian/puppet/source.rb
|
118
|
-
- lib/librarian/puppet/lockfile/parser.rb
|
119
139
|
- lib/librarian/puppet/cli.rb
|
140
|
+
- lib/librarian/puppet/dsl.rb
|
120
141
|
- lib/librarian/puppet/environment.rb
|
121
|
-
- lib/librarian/puppet/requirement.rb
|
122
|
-
- lib/librarian/puppet/version.rb
|
123
|
-
- lib/librarian/puppet/templates/Puppetfile
|
124
142
|
- lib/librarian/puppet/extension.rb
|
143
|
+
- lib/librarian/puppet/lockfile/parser.rb
|
144
|
+
- lib/librarian/puppet/requirement.rb
|
145
|
+
- lib/librarian/puppet/source.rb
|
125
146
|
- lib/librarian/puppet/source/forge.rb
|
126
|
-
- lib/librarian/puppet/source/githubtarball.rb
|
127
147
|
- lib/librarian/puppet/source/git.rb
|
128
|
-
- lib/librarian/puppet/source/
|
148
|
+
- lib/librarian/puppet/source/githubtarball.rb
|
129
149
|
- lib/librarian/puppet/source/local.rb
|
150
|
+
- lib/librarian/puppet/source/path.rb
|
151
|
+
- lib/librarian/puppet/templates/Puppetfile
|
152
|
+
- lib/librarian/puppet/version.rb
|
130
153
|
homepage: https://github.com/rodjek/librarian-puppet
|
131
154
|
licenses:
|
132
155
|
- MIT
|
156
|
+
metadata: {}
|
133
157
|
post_install_message:
|
134
158
|
rdoc_options: []
|
135
159
|
require_paths:
|
136
160
|
- lib
|
137
161
|
required_ruby_version: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
162
|
requirements:
|
140
163
|
- - ! '>='
|
141
164
|
- !ruby/object:Gem::Version
|
142
165
|
version: '0'
|
143
|
-
segments:
|
144
|
-
- 0
|
145
|
-
hash: 1121016427067357910
|
146
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
167
|
requirements:
|
149
168
|
- - ! '>='
|
150
169
|
- !ruby/object:Gem::Version
|
151
170
|
version: '0'
|
152
|
-
segments:
|
153
|
-
- 0
|
154
|
-
hash: 1121016427067357910
|
155
171
|
requirements: []
|
156
172
|
rubyforge_project:
|
157
|
-
rubygems_version:
|
173
|
+
rubygems_version: 2.2.1
|
158
174
|
signing_key:
|
159
|
-
specification_version:
|
175
|
+
specification_version: 4
|
160
176
|
summary: Bundler for your Puppet modules
|
161
177
|
test_files: []
|