vanagon 0.15.18 → 0.15.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vanagon/project.rb +29 -1
- data/resources/rpm/project.spec.erb +6 -5
- data/resources/solaris/10/pkginfo.erb +1 -1
- data/resources/windows/nuget/project.nuspec.erb +3 -3
- data/spec/lib/vanagon/project_spec.rb +33 -0
- metadata +31 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b71ba52fd3a026248d25a3a10a0570960d552585a8cc3e114c2bb366583c2bbb
|
4
|
+
data.tar.gz: 726ddf77c6137b9f09adf974dd981eae1f654f063a32f56181c1ca630f3fd04b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4afb19e20c1e81500c9ed9cde575ed93679dd2fca0407d86a9b67aa4bf0cbcadb65b3a74d0dc9e9439a5686e285792c571b6e2fa1faecb1a646409edbc527b48
|
7
|
+
data.tar.gz: 53b39a73763a1c30cde5cd75ff17356ace19390518cd4bb9d490a00316d72d91d7ecea9565ebf50c36f0cd48ebbc61c6e645922d0574e4b77b9c6d6bddd12fd2
|
data/lib/vanagon/project.rb
CHANGED
@@ -6,6 +6,9 @@ require 'vanagon/utilities'
|
|
6
6
|
require 'digest'
|
7
7
|
require 'ostruct'
|
8
8
|
|
9
|
+
# Used to parse the vendor field into name and email
|
10
|
+
VENDOR_REGEX = /^(.*) <(.*)>$/
|
11
|
+
|
9
12
|
class Vanagon
|
10
13
|
class Project
|
11
14
|
include Vanagon::Utilities
|
@@ -17,7 +20,7 @@ class Vanagon
|
|
17
20
|
attr_accessor :release
|
18
21
|
attr_accessor :license
|
19
22
|
attr_accessor :homepage
|
20
|
-
|
23
|
+
attr_reader :vendor
|
21
24
|
attr_accessor :description
|
22
25
|
attr_accessor :components
|
23
26
|
attr_accessor :conflicts
|
@@ -177,6 +180,31 @@ class Vanagon
|
|
177
180
|
environment.merge(@platform.environment)
|
178
181
|
end
|
179
182
|
|
183
|
+
# Setter for the vendor field.
|
184
|
+
#
|
185
|
+
# @param vend [String] name and email address of vendor
|
186
|
+
# @raise [Vanagon::Error] when `vend` does not include email address
|
187
|
+
def vendor=(vend)
|
188
|
+
raise Vanagon::Error, 'Project vendor field must include email address in angle brackets, e.g. "Puppet Inc. <release@puppet.com>"' unless vend.match(VENDOR_REGEX)
|
189
|
+
@vendor = vend
|
190
|
+
end
|
191
|
+
|
192
|
+
# Parses the vendor for the project by cutting off the email address
|
193
|
+
# field (e.g. `<email@example.com>`).
|
194
|
+
#
|
195
|
+
# @return [String] Vendor name without email address
|
196
|
+
def vendor_name_only
|
197
|
+
return @vendor.match(VENDOR_REGEX)[1]
|
198
|
+
end
|
199
|
+
|
200
|
+
# Parses the vendor for the project by taking only the email address field
|
201
|
+
# (e.g. `<email@example.com>`).
|
202
|
+
#
|
203
|
+
# @return [String] Vendor email address
|
204
|
+
def vendor_email_only
|
205
|
+
return @vendor.match(VENDOR_REGEX)[2]
|
206
|
+
end
|
207
|
+
|
180
208
|
# Collects all sources and patches into the provided workdir
|
181
209
|
#
|
182
210
|
# @param workdir [String] directory to stage sources into
|
@@ -21,6 +21,11 @@
|
|
21
21
|
%global __debug_package %{nil}
|
22
22
|
# to resolve: "ERROR: No build ID note found"
|
23
23
|
%undefine _missing_build_ids_terminate_build
|
24
|
+
|
25
|
+
<% @package_overrides.each do |var| %>
|
26
|
+
<%= var %>
|
27
|
+
<% end -%>
|
28
|
+
|
24
29
|
# To avoid files installed but not packaged errors
|
25
30
|
%global __os_install_post %{__os_install_post} \
|
26
31
|
rm -rf %{buildroot}/usr/lib/debug
|
@@ -35,15 +40,11 @@
|
|
35
40
|
%global __os_install_post %(echo '%{__os_install_post}' | <%= @platform.sed %> -e 's!/usr/lib[^[:space:]]*/brp-strip-static-archive[[:space:]].*$!!g')
|
36
41
|
<% end -%>
|
37
42
|
|
38
|
-
<% @package_overrides.each do |var| %>
|
39
|
-
<%= var %>
|
40
|
-
<% end -%>
|
41
|
-
|
42
43
|
Name: <%= @name %>
|
43
44
|
Version: <%= @version %>
|
44
45
|
Release: <%= @release %>%{?dist}
|
45
46
|
Summary: <%= @description.lines.first.chomp %>
|
46
|
-
Vendor: <%=
|
47
|
+
Vendor: <%= vendor_name_only %>
|
47
48
|
License: <%= @license %>
|
48
49
|
Group: System Environment/Base
|
49
50
|
URL: <%= @homepage %>
|
@@ -4,8 +4,8 @@
|
|
4
4
|
<id><%= "#{@name}-#{@platform.architecture}" %></id>
|
5
5
|
<version><%= @platform.nuget_package_version(@version, @release) %></version>
|
6
6
|
<title><%= @name %></title>
|
7
|
-
<authors><%=
|
8
|
-
<owners><%=
|
7
|
+
<authors><%= vendor_name_only %></authors>
|
8
|
+
<owners><%= vendor_name_only %></owners>
|
9
9
|
<projectUrl><%= @homepage %></projectUrl>
|
10
10
|
<packageSourceUrl><%= @homepage %></packageSourceUrl>
|
11
11
|
<projectSourceUrl><%= @homepage %></projectSourceUrl>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
</description>
|
20
20
|
<summary><%= @description.lines.first.chomp %></summary>
|
21
21
|
<releaseNotes><%= @homepage %></releaseNotes>
|
22
|
-
<copyright><%=
|
22
|
+
<copyright><%= vendor_name_only %></copyright>
|
23
23
|
<tags>puppet configuration management infrastructure automation facter hiera mco mcollective marionette collective</tags>
|
24
24
|
<provides><%= get_replaces.map { |replace| "#{replace.replacement}" }.join(" ") %></provides>
|
25
25
|
<replaces><%= get_replaces.map { |replace| "#{replace.replacement}" }.join(" ") %></replaces>
|
@@ -55,6 +55,39 @@ describe 'Vanagon::Project' do
|
|
55
55
|
plat._platform
|
56
56
|
}
|
57
57
|
|
58
|
+
describe '#vendor=' do
|
59
|
+
dummy_platform = Vanagon::Platform.new('el-7-x86_64')
|
60
|
+
good_vendor = 'Puppet Inc. <release@puppet.com>'
|
61
|
+
bad_vendor = 'Puppet Inc.'
|
62
|
+
|
63
|
+
it 'fails if vendor field does not include email address' do
|
64
|
+
project = Vanagon::Project.new('vendor-test', dummy_platform)
|
65
|
+
expect { project.vendor = bad_vendor }.to raise_error(Vanagon::Error, /Project vendor field must include email address/)
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'sets project vendor to the supplied value' do
|
69
|
+
project = Vanagon::Project.new('vendor-test', dummy_platform)
|
70
|
+
project.vendor = good_vendor
|
71
|
+
expect(project.vendor).to eq(good_vendor)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe '#vendor_name_only' do
|
76
|
+
it 'returns just the name of the vendor' do
|
77
|
+
project = Vanagon::Project.new('vendor-test', Vanagon::Platform.new('el-7-x86_64'))
|
78
|
+
project.vendor = 'Puppet Inc. <release@puppet.com>'
|
79
|
+
expect(project.vendor_name_only).to eq('Puppet Inc.')
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe '#vendor_email_only' do
|
84
|
+
it 'returns just the email address of the vendor' do
|
85
|
+
project = Vanagon::Project.new('vendor-test', Vanagon::Platform.new('el-7-x86_64'))
|
86
|
+
project.vendor = 'Puppet Inc. <release@puppet.com>'
|
87
|
+
expect(project.vendor_email_only).to eq('release@puppet.com')
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
58
91
|
describe '#get_root_directories' do
|
59
92
|
|
60
93
|
before do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vanagon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: git
|
@@ -266,41 +266,41 @@ signing_key:
|
|
266
266
|
specification_version: 3
|
267
267
|
summary: All of your packages will fit into this van with this one simple trick.
|
268
268
|
test_files:
|
269
|
-
- spec/lib/git/rev_list_spec.rb
|
270
|
-
- spec/lib/makefile_spec.rb
|
271
|
-
- spec/lib/vanagon/common/pathname_spec.rb
|
272
|
-
- spec/lib/vanagon/common/user_spec.rb
|
273
|
-
- spec/lib/vanagon/component/dsl_spec.rb
|
274
|
-
- spec/lib/vanagon/component/rules_spec.rb
|
275
|
-
- spec/lib/vanagon/component/source/git_spec.rb
|
276
|
-
- spec/lib/vanagon/component/source/http_spec.rb
|
277
|
-
- spec/lib/vanagon/component/source/local_spec.rb
|
278
|
-
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
279
|
-
- spec/lib/vanagon/component/source_spec.rb
|
280
269
|
- spec/lib/vanagon/component_spec.rb
|
270
|
+
- spec/lib/vanagon/project_spec.rb
|
271
|
+
- spec/lib/vanagon/optparse_spec.rb
|
281
272
|
- spec/lib/vanagon/driver_spec.rb
|
282
|
-
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
283
|
-
- spec/lib/vanagon/engine/base_spec.rb
|
284
|
-
- spec/lib/vanagon/engine/docker_spec.rb
|
285
|
-
- spec/lib/vanagon/engine/ec2_spec.rb
|
286
|
-
- spec/lib/vanagon/engine/hardware_spec.rb
|
287
|
-
- spec/lib/vanagon/engine/local_spec.rb
|
288
|
-
- spec/lib/vanagon/engine/pooler_spec.rb
|
289
273
|
- spec/lib/vanagon/environment_spec.rb
|
290
|
-
- spec/lib/vanagon/
|
291
|
-
- spec/lib/vanagon/
|
292
|
-
- spec/lib/vanagon/
|
293
|
-
- spec/lib/vanagon/optparse_spec.rb
|
294
|
-
- spec/lib/vanagon/platform/deb_spec.rb
|
274
|
+
- spec/lib/vanagon/platform/windows_spec.rb
|
275
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
276
|
+
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
295
277
|
- spec/lib/vanagon/platform/dsl_spec.rb
|
296
278
|
- spec/lib/vanagon/platform/osx_spec.rb
|
297
|
-
- spec/lib/vanagon/platform/
|
279
|
+
- spec/lib/vanagon/platform/deb_spec.rb
|
298
280
|
- spec/lib/vanagon/platform/rpm_spec.rb
|
299
|
-
- spec/lib/vanagon/platform/
|
300
|
-
- spec/lib/vanagon/
|
301
|
-
- spec/lib/vanagon/
|
302
|
-
- spec/lib/vanagon/
|
281
|
+
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
282
|
+
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
283
|
+
- spec/lib/vanagon/component/source/git_spec.rb
|
284
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
285
|
+
- spec/lib/vanagon/component/source/http_spec.rb
|
286
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
287
|
+
- spec/lib/vanagon/component/source_spec.rb
|
288
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
289
|
+
- spec/lib/vanagon/extensions/string_spec.rb
|
290
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
291
|
+
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
303
292
|
- spec/lib/vanagon/project/dsl_spec.rb
|
304
|
-
- spec/lib/vanagon/project_spec.rb
|
305
293
|
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
306
294
|
- spec/lib/vanagon/utilities_spec.rb
|
295
|
+
- spec/lib/vanagon/common/pathname_spec.rb
|
296
|
+
- spec/lib/vanagon/common/user_spec.rb
|
297
|
+
- spec/lib/vanagon/platform_spec.rb
|
298
|
+
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
299
|
+
- spec/lib/vanagon/engine/docker_spec.rb
|
300
|
+
- spec/lib/vanagon/engine/ec2_spec.rb
|
301
|
+
- spec/lib/vanagon/engine/hardware_spec.rb
|
302
|
+
- spec/lib/vanagon/engine/local_spec.rb
|
303
|
+
- spec/lib/vanagon/engine/base_spec.rb
|
304
|
+
- spec/lib/vanagon/engine/pooler_spec.rb
|
305
|
+
- spec/lib/makefile_spec.rb
|
306
|
+
- spec/lib/git/rev_list_spec.rb
|