packaging 0.108.0 → 0.108.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9056fb1ae6e0953566e9c8fb0f6e287b714386ed41da231511bd319d5bded84
4
- data.tar.gz: 21878b9102e278b19c10392b8d171c88bdf344b0727525680462b45820569c6f
3
+ metadata.gz: 54d6abc8bcaa0d29d1580feff3d35577a3c49dc90721708623971cc189007f74
4
+ data.tar.gz: 0643a3a7bd158d488ae66b2b245ad3a36ce59875a0d067f7e3d5a88f6a1a0f52
5
5
  SHA512:
6
- metadata.gz: 1555def74288b4d4de70211ddfcf2b804875fa1736735a1130a1a69274265c5079bcc92edad3f37a805d5510bd03f2e314cbff6b84f4c8a66cfbba9d04f0e715
7
- data.tar.gz: 7c57682a4c8ff21555dcfe2643110221a4095a0c09991333c100d8194f06a641b517ff6f7ca915388f151f63422a0d33d9d1286a5f38c6f5fb98e11f507d8562
6
+ metadata.gz: 0b095ae28da4b0843c4f15fa3e597ff18fe693d50556c89a246a735846be5608831fce42e4e44d34f794dc2f98b3db512e635bc74604a2df9fee9caa5e0e0079
7
+ data.tar.gz: a1e5cc54bdfbd24e529e0b7c99a22675f7c4911cb2f59046ea8a0ac0aa147069a13185351fe0654bb5ba936af39e16fc8dd3435ea3f93e8199ab1d8fb5be022a
@@ -1,72 +1,128 @@
1
1
  module Pkg::Sign::Rpm
2
2
  module_function
3
3
 
4
- def sign(rpm, sign_flags = nil)
4
+ # For rpm v4-style signing, we have old (gpg < v2.1) style and new-style
5
+ # Dispatch those cases.
6
+ def sign(rpm_path, signing_version = :v4)
7
+ unless %i[v3 v4].include?(signing_version)
8
+ fail "Unknown signing version: #{signing_version}. Only ':v3' and ':v4' are supported"
9
+ end
10
+
11
+ if gpg_version_older_than_21?
12
+ sign_gpg_1(rpm_path, signing_version)
13
+ else
14
+ sign_gpg_2(rpm_path, signing_version)
15
+ end
16
+ end
17
+
18
+ # Support old, old v3 RPM signing
19
+ def v3_sign(rpm)
20
+ sign(rpm, :v3)
21
+ end
22
+ alias :legacy_sign :v3_sign
23
+
24
+ # Construct GPG configuration, then call 'rpm --addsign' with it.
25
+ def sign_gpg_2(rpm_path, signing_version)
5
26
  # To enable support for wrappers around rpm and thus support for gpg-agent
6
27
  # rpm signing, we have to be able to tell the packaging repo what binary to
7
28
  # use as the rpm signing tool.
29
+ rpm_executable = Pkg::Util::Tool.find_tool('rpm')
30
+
31
+ sign_command = %W[
32
+ #{rpm_executable} --addsign #{rpm_path}
33
+ #{define_gpg_name}
34
+ #{define_gpg_sign_cmd(signing_version)}
35
+ ].join(' ')
36
+
37
+ Pkg::Util::Execution.capture3(sign_command, true)
38
+ end
39
+
40
+ def sign_gpg_1(rpm_path, signing_version)
41
+ # This allows for old-style wrapping of rpmsign with an expect script
8
42
  rpm_executable = ENV['RPM'] || Pkg::Util::Tool.find_tool('rpm')
9
43
 
10
- # If we're using the gpg agent for rpm signing, we don't want to specify the
11
- # input for the passphrase, which is what '--passphrase-fd 3' does. However,
12
- # if we're not using the gpg agent, this is required, and is part of the
13
- # defaults on modern rpm. The fun part of gpg-agent signing of rpms is
14
- # specifying that the gpg check command always return true
15
- gpg_check_command = ''
16
- input_flag = ''
17
- if Pkg::Util.boolean_value(ENV['RPM_GPG_AGENT'])
18
- gpg_check_command = "--define '%__gpg_check_password_cmd /bin/true'"
19
- else
20
- input_flag = "--passphrase-fd 3"
21
- end
44
+ sign_command = %W[
45
+ #{rpm_executable} --addsign #{rpm_path}
46
+ #{define_gpg_check_password_cmd}
47
+ #{define_gpg_name}
48
+ #{define_gpg_sign_cmd(signing_version)}
49
+ ].join(' ')
50
+ Pkg::Util::Execution.capture3(sign_command, true)
51
+ end
52
+
53
+ def define_gpg_name
54
+ "--define '%_gpg_name #{Pkg::Util::Gpg.key}'"
55
+ end
22
56
 
23
- # If gpg version is >=2.1, use the gpg1 binary to sign. Otherwise, use the standard sign command.
24
- gpg_executable = if gpg_version_greater_than_21?
25
- "%__gpg /usr/bin/gpg1' --define '%__gpg_sign_cmd %{__gpg} gpg1"
26
- else
27
- '%__gpg_sign_cmd %{__gpg} gpg'
28
- end
57
+ def define_gpg_sign_cmd(signing_version)
58
+ "--define '%__gpg_sign_cmd #{gpg_sign_cmd_macro(signing_version)}'"
59
+ end
60
+
61
+ def gpg_sign_cmd_macro(signing_version)
62
+ gpg_executable = Pkg::Util::Tool.find_tool('gpg')
29
63
 
30
64
  # rubocop:disable Lint/NestedPercentLiteral
31
- gpg_signing_macro = %W[
32
- #{gpg_executable} #{sign_flags} #{input_flag}
33
- --batch --no-verbose --no-armor
34
- --no-secmem-warning -u %{_gpg_name}
35
- -sbo %{__signature_filename} %{__plaintext_filename}
65
+ %W[
66
+ #{gpg_executable} --sign --detach-sign
67
+ #{signing_version_flags(signing_version)}
68
+ #{passphrase_fd_flag}
69
+ --batch --no-armor --no-secmem-warning
70
+ --local-user %{_gpg_name}
71
+ --output %{__signature_filename}
72
+ %{__plaintext_filename}
36
73
  ].join(' ')
37
74
  # rubocop:enable Lint/NestedPercentLiteral
75
+ end
38
76
 
39
- sign_command = %W[
40
- #{rpm_executable} #{gpg_check_command}
41
- --define '%_gpg_name #{Pkg::Util::Gpg.key}'
42
- --define '#{gpg_signing_macro}' --addsign #{rpm}
43
- ].join(' ')
77
+ def signing_version_flags(signing_version)
78
+ case signing_version
79
+ when :v3
80
+ '--force-v3-sigs --digest-algo=sha1'
81
+ when :v4
82
+ ''
83
+ else
84
+ fail "Unrecognized signing_version: '#{signing_version}'"
85
+ end
86
+ end
44
87
 
45
- # Try this up to 5 times, to allow for incorrect passwords
46
- Pkg::Util::Execution.retry_on_fail(:times => 5) do
47
- # This definition of %__gpg_sign_cmd is the default on modern rpm. We
48
- # accept extra flags to override certain signing behavior for older
49
- # versions of rpm, e.g. specifying V3 signatures instead of V4.
50
- Pkg::Util::Execution.capture3(sign_command)
88
+ def passphrase_fd_flag
89
+ if Pkg::Util.boolean_value(ENV['RPM_GPG_AGENT'])
90
+ ''
91
+ else
92
+ '--passphrase-fd 3'
51
93
  end
52
94
  end
53
95
 
54
- def legacy_sign(rpm)
55
- sign(rpm, "--force-v3-sigs --digest-algo=sha1")
96
+ def define_gpg_check_password_cmd
97
+ if Pkg::Util.boolean_value(ENV['RPM_GPG_AGENT'])
98
+ "--define '%__gpg_check_password_cmd /bin/true'"
99
+ else
100
+ ''
101
+ end
56
102
  end
57
103
 
58
- def has_sig?(rpm)
104
+
105
+ def signed?(rpm)
59
106
  # This should allow the `Pkg::Util::Gpg.key` method to fail if gpg_key is
60
107
  # not set, before shelling out. We also only want the short key, all
61
108
  # lowercase, since that's what the `rpm -Kv` output uses.
62
109
  key = Pkg::Util::Gpg.key.downcase.chars.last(8).join
63
110
  signature_check_output = %x(rpm --checksig --verbose #{rpm})
111
+
64
112
  # If the signing key has not been loaded on the system this is running on,
65
113
  # the check will exit 1, even if the rpm is signed, so we can't use capture3,
66
114
  # which bails out with non-0 exit codes. Instead, check that the output
67
115
  # looks more-or-less how we expect it to.
68
- fail "Something went wrong checking the signature of #{rpm}." unless signature_check_output.include? "Header"
69
- return signature_check_output.include? "key ID #{key}"
116
+ unless signature_check_output.include? "Header"
117
+ fail "Something went wrong checking the signature of #{rpm}."
118
+ end
119
+
120
+ signature_check_output.include? "key ID #{key}"
121
+ end
122
+
123
+ # For backwards compatibility
124
+ def has_sig?(rpm)
125
+ signed?(rpm)
70
126
  end
71
127
 
72
128
  def sign_all(rpm_directory)
@@ -97,8 +153,8 @@ module Pkg::Sign::Rpm
97
153
  # We don't sign AIX rpms
98
154
  next if platform_tag.include?('aix')
99
155
 
100
- if has_sig? rpm
101
- puts "#{rpm} is already signed, skipping . . ."
156
+ if signed?(rpm)
157
+ puts "#{rpm} is already signed. Skipping."
102
158
  next
103
159
  end
104
160
 
@@ -113,13 +169,13 @@ module Pkg::Sign::Rpm
113
169
  end
114
170
 
115
171
  unless v3_rpms.empty?
116
- puts "Signing legacy (v3) rpms..."
117
- legacy_sign(v3_rpms.join(' '))
172
+ puts "Signing legacy (v3) rpms:"
173
+ sign(v3_rpms.join(' '), :v3)
118
174
  end
119
175
 
120
176
  unless v4_rpms.empty?
121
- puts "Signing modern (v4) rpms..."
122
- sign(v4_rpms.join(' '))
177
+ puts "Signing modern (v4) rpms:"
178
+ sign(v4_rpms.join(' '), :v4)
123
179
  end
124
180
 
125
181
  # Using the map of paths to basenames, we re-hardlink the rpms we deleted.
@@ -128,16 +184,18 @@ module Pkg::Sign::Rpm
128
184
  FileUtils.mkdir_p(File.dirname(link_path))
129
185
  # Find paths where the signed rpm has the same basename, but different
130
186
  # full path, as the one we need to link.
131
- paths_to_link_to = rpms_to_sign.select { |rpm| File.basename(rpm) == rpm_filename && rpm != link_path }
187
+ paths_to_link_to = rpms_to_sign.select do |rpm|
188
+ File.basename(rpm) == rpm_filename && rpm != link_path
189
+ end
132
190
  paths_to_link_to.each do |path|
133
- FileUtils.ln(path, link_path, :force => true, :verbose => true)
191
+ FileUtils.ln(path, link_path, force: true, verbose: true)
134
192
  end
135
193
  end
136
194
  end
137
195
 
138
- def gpg_version_greater_than_21?
139
- gpg_version_output = %x(gpg --version)
140
- gpg_version = gpg_version_output.split(' ')[2]
141
- Gem::Version.new(gpg_version) >= Gem::Version.new('2.1.0')
196
+ def gpg_version_older_than_21?
197
+ gpg_executable = Pkg::Util::Tool.find_tool('gpg')
198
+ gpg_version = %x(#{gpg_executable} --version).split(' ')[2]
199
+ Gem::Version.new(gpg_version) < Gem::Version.new('2.1.0')
142
200
  end
143
201
  end
@@ -3,91 +3,118 @@ require 'packaging/sign'
3
3
 
4
4
  describe 'Pkg::Sign' do
5
5
  describe 'Pkg::Sign::Rpm' do
6
-
7
6
  before :each do
8
7
  allow(Pkg::Config).to receive(:gpg_key).and_return('7F438280EF8D349F')
9
8
  end
10
9
 
11
- describe '#has_sig?' do
10
+ describe '#signed?' do
12
11
  let(:rpm) { 'foo.rpm' }
13
- let(:el7_signed_response) { <<-DOC
14
- Header V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
15
- Header SHA1 digest: OK (3cb7e9861e8bc09783a1b6c8d88243a3c16daa81)
16
- V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
17
- MD5 digest: OK (d5f06ba2a9053de532326d0659ec0d11)
18
- DOC
19
- }
20
- let(:sles12_signed_response) { <<-DOC
21
- Header V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
22
- Header SHA1 digest: OK (e713487cf21ebeb933aefd5ec9211a34603233d2)
23
- V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
24
- MD5 digest: OK (3093a09ac39bc17751f913e19ca74432)
25
- DOC
26
- }
27
- let(:unsigned_response) { <<-DOC
28
- Header SHA1 digest: OK (f9404cc95f200568c2dbb1fd24e1119e3e4a40a9)
29
- MD5 digest: OK (816095f3cee145091c3fa07a0915ce85)
30
- DOC
31
- }
12
+ let(:el7_signed_response) do
13
+ <<~DOC
14
+ Header V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
15
+ Header SHA1 digest: OK (3cb7e9861e8bc09783a1b6c8d88243a3c16daa81)
16
+ V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
17
+ MD5 digest: OK (d5f06ba2a9053de532326d0659ec0d11)
18
+ DOC
19
+ end
20
+
21
+ let(:sles12_signed_response) do
22
+ <<~DOC
23
+ Header V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
24
+ Header SHA1 digest: OK (e713487cf21ebeb933aefd5ec9211a34603233d2)
25
+ V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY
26
+ MD5 digest: OK (3093a09ac39bc17751f913e19ca74432)
27
+ DOC
28
+ end
29
+
30
+ let(:unsigned_response) do
31
+ <<~DOC
32
+ Header SHA1 digest: OK (f9404cc95f200568c2dbb1fd24e1119e3e4a40a9)
33
+ MD5 digest: OK (816095f3cee145091c3fa07a0915ce85)
34
+ DOC
35
+ end
36
+
32
37
  it 'returns true if rpm has been signed (el7)' do
33
38
  allow(Pkg::Sign::Rpm).to receive(:`).and_return(el7_signed_response)
34
- expect(Pkg::Sign::Rpm.has_sig?(rpm)).to be true
39
+ expect(Pkg::Sign::Rpm.signed?(rpm)).to be true
35
40
  end
36
41
  it 'returns true if rpm has been signed (sles12)' do
37
42
  allow(Pkg::Sign::Rpm).to receive(:`).and_return(sles12_signed_response)
38
- expect(Pkg::Sign::Rpm.has_sig?(rpm)).to be true
43
+ expect(Pkg::Sign::Rpm.signed?(rpm)).to be true
39
44
  end
40
45
  it 'returns false if rpm has not been signed' do
41
46
  allow(Pkg::Sign::Rpm).to receive(:`).and_return(unsigned_response)
42
- expect(Pkg::Sign::Rpm.has_sig?(rpm)).to be false
47
+ expect(Pkg::Sign::Rpm.signed?(rpm)).to be false
43
48
  end
44
49
  it 'fails with unexpected output' do
45
- allow(Pkg::Sign::Rpm).to receive(:`).and_return('something that is definitely not a normal response')
46
- expect { Pkg::Sign::Rpm.has_sig?(rpm) }.to raise_error(RuntimeError, /Something went wrong checking the signature/)
50
+ allow(Pkg::Sign::Rpm)
51
+ .to receive(:`)
52
+ .and_return('something that is definitely not a normal response')
53
+ expect { Pkg::Sign::Rpm.signed?(rpm) }
54
+ .to raise_error(RuntimeError, /Something went wrong checking the signature/)
47
55
  end
48
56
  it 'fails if gpg_key is not set' do
49
57
  allow(Pkg::Config).to receive(:gpg_key).and_return(nil)
50
- expect { Pkg::Sign::Rpm.has_sig?(rpm) }.to raise_error(RuntimeError, /You need to set `gpg_key` in your build defaults./)
58
+ expect { Pkg::Sign::Rpm.signed?(rpm) }
59
+ .to raise_error(RuntimeError, /You need to set `gpg_key` in your build defaults./)
51
60
  end
52
61
  end
53
62
 
54
63
  describe '#sign_all' do
55
64
  let(:rpm_directory) { Dir.mktmpdir }
56
- let(:rpms_not_to_sign) { [
57
- "#{rpm_directory}/aix/7.1/PC1/ppc/puppet-agent-5.5.3-1.aix7.1.ppc.rpm",
58
- ] }
59
- let(:v3_rpms) { [
60
- "#{rpm_directory}/sles/11/PC1/x86_64/puppet-agent-5.5.3-1.sles11.x86_64.rpm",
61
- ] }
62
- let(:v4_rpms) { [
63
- "#{rpm_directory}/el/7/PC1/aarch64/puppet-agent-5.5.3-1.el7.aarch64.rpm",
64
- ] }
65
+ let(:rpms_not_to_sign) do
66
+ ["#{rpm_directory}/aix/7.1/PC1/ppc/puppet-agent-5.5.3-1.aix7.1.ppc.rpm"]
67
+ end
68
+
69
+ let(:v3_rpms) do
70
+ ["#{rpm_directory}/sles/11/PC1/x86_64/puppet-agent-5.5.3-1.sles11.x86_64.rpm"]
71
+ end
72
+
73
+ let(:v4_rpms) do
74
+ ["#{rpm_directory}/el/7/PC1/aarch64/puppet-agent-5.5.3-1.el7.aarch64.rpm"]
75
+ end
76
+
65
77
  let(:rpms) { rpms_not_to_sign + v3_rpms + v4_rpms }
66
- let(:already_signed_rpms) { [
67
- "#{rpm_directory}/el/6/PC1/x86_64/puppet-agent-5.5.3-1.el6.x86_64.rpm",
68
- ] }
69
- let(:noarch_rpms) { [
70
- "#{rpm_directory}/el/6/puppet5/i386/puppetserver-5.3.3-1.el6.noarch.rpm",
71
- "#{rpm_directory}/el/6/puppet5/x86_64/puppetserver-5.3.3-1.el6.noarch.rpm",
72
- "#{rpm_directory}/el/7/puppet5/i386/puppetserver-5.3.3-1.el7.noarch.rpm",
73
- "#{rpm_directory}/el/7/puppet5/x86_64/puppetserver-5.3.3-1.el7.noarch.rpm",
74
- "#{rpm_directory}/sles/12/puppet5/i386/puppetserver-5.3.3-1.sles12.noarch.rpm",
75
- "#{rpm_directory}/sles/12/puppet5/x86_64/puppetserver-5.3.3-1.sles12.noarch.rpm"
76
- ] }
78
+
79
+ let(:already_signed_rpms) do
80
+ ["#{rpm_directory}/el/6/PC1/x86_64/puppet-agent-5.5.3-1.el6.x86_64.rpm"]
81
+ end
82
+
83
+ let(:noarch_rpms) do
84
+ [
85
+ "#{rpm_directory}/el/6/puppet5/i386/puppetserver-5.3.3-1.el6.noarch.rpm",
86
+ "#{rpm_directory}/el/6/puppet5/x86_64/puppetserver-5.3.3-1.el6.noarch.rpm",
87
+ "#{rpm_directory}/el/7/puppet5/i386/puppetserver-5.3.3-1.el7.noarch.rpm",
88
+ "#{rpm_directory}/el/7/puppet5/x86_64/puppetserver-5.3.3-1.el7.noarch.rpm",
89
+ "#{rpm_directory}/sles/12/puppet5/i386/puppetserver-5.3.3-1.sles12.noarch.rpm",
90
+ "#{rpm_directory}/sles/12/puppet5/x86_64/puppetserver-5.3.3-1.sles12.noarch.rpm"
91
+ ]
92
+ end
77
93
 
78
94
  it 'signs both v3 and v4 rpms' do
79
95
  allow(Dir).to receive(:[]).with("#{rpm_directory}/**/*.rpm").and_return(rpms)
80
96
  rpms.each do |rpm|
81
- allow(Pkg::Sign::Rpm).to receive(:has_sig?).and_return(false)
97
+ allow(Pkg::Sign::Rpm).to receive(:signed?).and_return(false)
82
98
  end
83
- expect(Pkg::Sign::Rpm).to receive(:legacy_sign).with(v3_rpms.join(' '))
84
- expect(Pkg::Sign::Rpm).to receive(:sign).with(v4_rpms.join(' '))
99
+
100
+ v3_items = v3_rpms.length
101
+ v4_items = v4_rpms.length
102
+
103
+ expect(Pkg::Sign::Rpm)
104
+ .to receive(:sign)
105
+ .with(v3_rpms.join(' '), :v3)
106
+ .exactly(v3_items).times
107
+ expect(Pkg::Sign::Rpm)
108
+ .to receive(:sign)
109
+ .with(v4_rpms.join(' '), :v4)
110
+ .exactly(v4_items).times
111
+
85
112
  Pkg::Sign::Rpm.sign_all(rpm_directory)
86
113
  end
87
114
 
88
115
  it 'does not sign AIX rpms' do
89
116
  allow(Dir).to receive(:[]).with("#{rpm_directory}/**/*.rpm").and_return(rpms_not_to_sign)
90
- allow(Pkg::Sign::Rpm).to receive(:has_sig?)
117
+ allow(Pkg::Sign::Rpm).to receive(:signed?)
91
118
  expect(Pkg::Sign::Rpm).to_not receive(:legacy_sign)
92
119
  expect(Pkg::Sign::Rpm).to_not receive(:sign)
93
120
  Pkg::Sign::Rpm.sign_all(rpm_directory)
@@ -96,7 +123,7 @@ DOC
96
123
  it 'does not sign already-signed rpms' do
97
124
  allow(Dir).to receive(:[]).with("#{rpm_directory}/**/*.rpm").and_return(already_signed_rpms)
98
125
  already_signed_rpms.each do |rpm|
99
- allow(Pkg::Sign::Rpm).to receive(:has_sig?).and_return(true)
126
+ allow(Pkg::Sign::Rpm).to receive(:signed?).and_return(true)
100
127
  end
101
128
  expect(Pkg::Sign::Rpm).to_not receive(:legacy_sign)
102
129
  expect(Pkg::Sign::Rpm).to_not receive(:sign)
@@ -106,9 +133,9 @@ DOC
106
133
  it 'deletes and relinks rpms with the same basename' do
107
134
  allow(Dir).to receive(:[]).with("#{rpm_directory}/**/*.rpm").and_return(noarch_rpms)
108
135
  allow(Pkg::Sign::Rpm).to receive(:sign)
109
- allow(Pkg::Sign::Rpm).to receive(:has_sig?)
110
- expect(FileUtils).to receive(:rm).exactly(noarch_rpms.count/2).times
111
- expect(FileUtils).to receive(:ln).exactly(noarch_rpms.count/2).times
136
+ allow(Pkg::Sign::Rpm).to receive(:signed?)
137
+ expect(FileUtils).to receive(:rm).exactly(noarch_rpms.count / 2).times
138
+ expect(FileUtils).to receive(:ln).exactly(noarch_rpms.count / 2).times
112
139
  Pkg::Sign::Rpm.sign_all(rpm_directory)
113
140
  end
114
141
 
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packaging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.108.0
4
+ version: 0.108.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-04 00:00:00.000000000 Z
11
+ date: 2023-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: pry
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: pry-byebug
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: rspec
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -323,28 +295,28 @@ signing_key:
323
295
  specification_version: 4
324
296
  summary: Puppet Labs' packaging automation
325
297
  test_files:
326
- - spec/lib/packaging/platforms_spec.rb
298
+ - spec/lib/packaging_spec.rb
299
+ - spec/lib/packaging/sign_spec.rb
327
300
  - spec/lib/packaging/artifactory_spec.rb
301
+ - spec/lib/packaging/retrieve_spec.rb
302
+ - spec/lib/packaging/config_spec.rb
303
+ - spec/lib/packaging/rpm/repo_spec.rb
304
+ - spec/lib/packaging/deb_spec.rb
305
+ - spec/lib/packaging/repo_spec.rb
306
+ - spec/lib/packaging/gem_spec.rb
307
+ - spec/lib/packaging/deb/repo_spec.rb
308
+ - spec/lib/packaging/tar_spec.rb
309
+ - spec/lib/packaging/paths_spec.rb
310
+ - spec/lib/packaging/platforms_spec.rb
328
311
  - spec/lib/packaging/util/jenkins_spec.rb
329
- - spec/lib/packaging/util/rake_utils_spec.rb
330
312
  - spec/lib/packaging/util/ship_spec.rb
331
- - spec/lib/packaging/util/file_spec.rb
313
+ - spec/lib/packaging/util/version_spec.rb
314
+ - spec/lib/packaging/util/os_spec.rb
332
315
  - spec/lib/packaging/util/git_tag_spec.rb
316
+ - spec/lib/packaging/util/rake_utils_spec.rb
317
+ - spec/lib/packaging/util/gpg_spec.rb
318
+ - spec/lib/packaging/util/file_spec.rb
333
319
  - spec/lib/packaging/util/net_spec.rb
334
- - spec/lib/packaging/util/os_spec.rb
335
- - spec/lib/packaging/util/git_spec.rb
336
- - spec/lib/packaging/util/execution_spec.rb
337
- - spec/lib/packaging/util/version_spec.rb
338
320
  - spec/lib/packaging/util/misc_spec.rb
339
- - spec/lib/packaging/util/gpg_spec.rb
340
- - spec/lib/packaging/retrieve_spec.rb
341
- - spec/lib/packaging/deb/repo_spec.rb
342
- - spec/lib/packaging/tar_spec.rb
343
- - spec/lib/packaging/gem_spec.rb
344
- - spec/lib/packaging/paths_spec.rb
345
- - spec/lib/packaging/config_spec.rb
346
- - spec/lib/packaging/rpm/repo_spec.rb
347
- - spec/lib/packaging/sign_spec.rb
348
- - spec/lib/packaging/repo_spec.rb
349
- - spec/lib/packaging/deb_spec.rb
350
- - spec/lib/packaging_spec.rb
321
+ - spec/lib/packaging/util/execution_spec.rb
322
+ - spec/lib/packaging/util/git_spec.rb