simp-rake-helpers 2.5.7 → 3.0.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/README.md +3 -1
  4. data/lib/simp/rake/build/iso.rb +11 -2
  5. data/lib/simp/rake/build/pkg.rb +60 -65
  6. data/lib/simp/rake/build/tar.rb +3 -0
  7. data/lib/simp/rake/build/vermap.yaml +1 -0
  8. data/lib/simp/rake/helpers/rpm_spec.rb +8 -370
  9. data/lib/simp/rake/helpers/rpm_spec/assets/simp4.spec +387 -0
  10. data/lib/simp/rake/helpers/rpm_spec/assets/simp5.spec +387 -0
  11. data/lib/simp/rake/helpers/rpm_spec/assets/simpdefault.spec +356 -0
  12. data/lib/simp/rake/helpers/version.rb +1 -1
  13. data/lib/simp/rake/pkg.rb +63 -60
  14. data/lib/simp/rpm.rb +52 -25
  15. data/spec/acceptance/files/simplib/CHANGELOG +2 -0
  16. data/spec/acceptance/files/simplib/Rakefile +3 -0
  17. data/spec/acceptance/files/simplib/build/rpm_metadata/requires +1 -0
  18. data/spec/acceptance/files/simplib/metadata.json +33 -0
  19. data/spec/acceptance/files/testpackage_missing_license/CHANGELOG +2 -0
  20. data/spec/acceptance/files/testpackage_missing_license/Rakefile +3 -0
  21. data/spec/acceptance/files/testpackage_missing_license/build/rpm_metadata/requires +1 -0
  22. data/spec/acceptance/files/testpackage_missing_license/metadata.json +32 -0
  23. data/spec/acceptance/files/testpackage_missing_metadata_file/CHANGELOG +2 -0
  24. data/spec/acceptance/files/testpackage_missing_metadata_file/Rakefile +3 -0
  25. data/spec/acceptance/files/testpackage_missing_metadata_file/build/rpm_metadata/requires +1 -0
  26. data/spec/acceptance/files/testpackage_missing_name/CHANGELOG +2 -0
  27. data/spec/acceptance/files/testpackage_missing_name/Rakefile +3 -0
  28. data/spec/acceptance/files/testpackage_missing_name/build/rpm_metadata/requires +1 -0
  29. data/spec/acceptance/files/testpackage_missing_name/metadata.json +32 -0
  30. data/spec/acceptance/files/testpackage_missing_source/CHANGELOG +2 -0
  31. data/spec/acceptance/files/testpackage_missing_source/Rakefile +3 -0
  32. data/spec/acceptance/files/testpackage_missing_source/build/rpm_metadata/requires +1 -0
  33. data/spec/acceptance/files/testpackage_missing_source/metadata.json +32 -0
  34. data/spec/acceptance/files/testpackage_missing_summary/CHANGELOG +2 -0
  35. data/spec/acceptance/files/testpackage_missing_summary/Rakefile +3 -0
  36. data/spec/acceptance/files/testpackage_missing_summary/build/rpm_metadata/requires +1 -0
  37. data/spec/acceptance/files/testpackage_missing_summary/metadata.json +32 -0
  38. data/spec/acceptance/files/testpackage_missing_version/CHANGELOG +2 -0
  39. data/spec/acceptance/files/testpackage_missing_version/Rakefile +3 -0
  40. data/spec/acceptance/files/testpackage_missing_version/build/rpm_metadata/requires +1 -0
  41. data/spec/acceptance/files/testpackage_missing_version/metadata.json +32 -0
  42. data/spec/acceptance/files/testpackage_with_bad_changelog_date/CHANGELOG +2 -0
  43. data/spec/acceptance/files/testpackage_with_bad_changelog_date/Rakefile +3 -0
  44. data/spec/acceptance/files/testpackage_with_bad_changelog_date/build/rpm_metadata/requires +1 -0
  45. data/spec/acceptance/files/testpackage_with_bad_changelog_date/metadata.json +33 -0
  46. data/spec/acceptance/files/testpackage_with_release/CHANGELOG +2 -0
  47. data/spec/acceptance/files/testpackage_with_release/Rakefile +3 -0
  48. data/spec/acceptance/files/testpackage_with_release/build/rpm_metadata/release +1 -0
  49. data/spec/acceptance/files/testpackage_with_release/build/rpm_metadata/requires +1 -0
  50. data/spec/acceptance/files/testpackage_with_release/metadata.json +33 -0
  51. data/spec/acceptance/files/testpackage_without_changelog/Rakefile +3 -0
  52. data/spec/acceptance/files/testpackage_without_changelog/build/rpm_metadata/requires +1 -0
  53. data/spec/acceptance/files/testpackage_without_changelog/metadata.json +33 -0
  54. data/spec/acceptance/pkg_rpm_spec.rb +215 -41
  55. metadata +44 -2
@@ -0,0 +1,2 @@
1
+ * Sat Dec 13 2014 Richard Stallman <rms@gnu.org> - 0.0.1-0
2
+ - Behold, there was a brave GNU world....
@@ -0,0 +1,3 @@
1
+ require 'simp/rake/pkg'
2
+
3
+ Simp::Rake::Pkg.new( File.dirname( __FILE__ ) )
@@ -0,0 +1 @@
1
+ Requires: pupmod-simp-foo >= 1.2.3
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "simp-testpackage",
3
+ "version": "0.0.1",
4
+ "author": "simp",
5
+ "summary": "A SIMP Test Package for Testing Test Things",
6
+ "license": "Apache-2.0",
7
+ "source": "https://github.com/simp/pupmod-imatest",
8
+ "project_page": "https://github.com/simp/pupmod-imatest",
9
+ "issues_url": "https://simp/project.atlassian.net",
10
+ "tags": [ "simp", "test"],
11
+ "dependencies": [
12
+ {
13
+ "name": "simp/simplib",
14
+ "version_requirement": ">= 1.1.0"
15
+ }
16
+ ],
17
+ "operatingsystem_support": [
18
+ {
19
+ "operatingsystem": "CentOS",
20
+ "operatingsystemrelease": [
21
+ "6",
22
+ "7"
23
+ ]
24
+ },
25
+ {
26
+ "operatingsystem": "RedHat",
27
+ "operatingsystemrelease": [
28
+ "6",
29
+ "7"
30
+ ]
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,3 @@
1
+ require 'simp/rake/pkg'
2
+
3
+ Simp::Rake::Pkg.new( File.dirname( __FILE__ ) )
@@ -0,0 +1 @@
1
+ Requires: pupmod-simp-foo >= 1.2.3
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "simp-testpackage",
3
+ "version": "0.0.1",
4
+ "author": "simp",
5
+ "summary": "A SIMP Test Package for Testing Test Things",
6
+ "license": "Apache-2.0",
7
+ "source": "https://github.com/simp/pupmod-imatest",
8
+ "project_page": "https://github.com/simp/pupmod-imatest",
9
+ "issues_url": "https://simp/project.atlassian.net",
10
+ "tags": [ "simp", "test"],
11
+ "dependencies": [
12
+ {
13
+ "name": "simp/simplib",
14
+ "version_requirement": ">= 1.1.0"
15
+ }
16
+ ],
17
+ "operatingsystem_support": [
18
+ {
19
+ "operatingsystem": "CentOS",
20
+ "operatingsystemrelease": [
21
+ "6",
22
+ "7"
23
+ ]
24
+ },
25
+ {
26
+ "operatingsystem": "RedHat",
27
+ "operatingsystemrelease": [
28
+ "6",
29
+ "7"
30
+ ]
31
+ }
32
+ ]
33
+ }
@@ -1,18 +1,161 @@
1
1
  require 'spec_helper_acceptance'
2
2
 
3
+ env_vars = {
4
+ :default => '',
5
+ :simp4 => "SIMP_BUILD_version='4.3.1'",
6
+ :simp5 => "SIMP_BUILD_version='5.2.1'"
7
+ }
8
+
9
+ shared_examples_for "a RPM generator" do
10
+ it 'should create an RPM and remove the mock directory when SIMP_RAKE_MOCK_cleanup=yes' do
11
+ on test_host, %(#{run_cmd} "cd #{testpackage_dir}; #{env_vars[build_type]} SIMP_RAKE_MOCK_cleanup=yes rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
12
+ on test_host, %(test -f #{testpackage_rpm})
13
+ on test_host, %(test -d /var/lib/mock/epel-#{test_dist}-x86_64-pupmod-simp-testpackage__$USER), {:acceptable_exit_codes => [1]}
14
+ end
3
15
 
4
- describe 'rake pkg:rpm' do
16
+ it 'should use specified release number for the RPM' do
17
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_with_release; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
18
+ release_test_rpm = File.join(pkg_root_dir, 'testpackage_with_release',
19
+ 'dist', 'pupmod-simp-testpackage-0.0.1-42.noarch.rpm')
20
+ on test_host, %(test -f #{release_test_rpm})
21
+ end
22
+
23
+ it 'should generate a changelog for the RPM when no CHANGELOG exists' do
24
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_without_changelog; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
25
+ changelog_test_rpm = File.join(pkg_root_dir, 'testpackage_without_changelog',
26
+ 'dist', File.basename(testpackage_rpm))
27
+ on test_host, %(rpm --changelog -qp #{changelog_test_rpm} | grep -q 'Auto Changelog')
28
+ end
29
+
30
+ it 'should not require pupmod-simp-simplib for simp-simplib RPM' do
31
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/simplib; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
32
+ simplib_rpm = File.join(pkg_root_dir, 'simplib', 'dist',
33
+ File.basename(testpackage_rpm).gsub(/simp-testpackage-0.0.1/,'simp-simplib-1.2.3'))
34
+ on test_host, %(test -f #{simplib_rpm})
35
+ on test_host, %(rpm -qpR #{simplib_rpm} | grep -q pupmod-simp-simplib), {:acceptable_exit_codes => [1]}
36
+ end
37
+
38
+ it 'should not fail to create an RPM when the CHANGELOG has a bad date' do
39
+ on test_host,
40
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_with_bad_changelog_date; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
41
+
42
+ bad_date_test_rpm = File.join(pkg_root_dir, 'testpackage_with_bad_changelog_date',
43
+ 'dist', File.basename(testpackage_rpm))
44
+ on test_host, %(test -f #{bad_date_test_rpm})
45
+ end
46
+
47
+ it 'should fail to create an RPM when metadata.json is missing' do
48
+ on test_host,
49
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_metadata_file; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
50
+ :acceptable_exit_codes => [1]
51
+ end
52
+
53
+ it 'should fail to create an RPM when license metadata is missing' do
54
+ on test_host,
55
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_license; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
56
+ :acceptable_exit_codes => [1]
57
+ end
5
58
 
6
- run_cmd = 'runuser build_user -l -c '
59
+ it 'should fail to create an RPM when name metadata is missing' do
60
+ on test_host,
61
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_name; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
62
+ :acceptable_exit_codes => [1]
63
+ end
7
64
 
8
- let(:pkg_input_dir) { '/host_files/spec/acceptance/files/testpackage' }
9
- let(:pkg_output_dir) { '/home/build_user/host_files/spec/acceptance/files/testpackage' }
10
- let(:pkg_dest) { File.join(pkg_output_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.noarch.rpm') }
65
+ it 'should fail to create an RPM when source metadata is missing' do
66
+ on test_host,
67
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_source; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
68
+ :acceptable_exit_codes => [1]
69
+ end
70
+
71
+ it 'should fail to create an RPM when summary metadata is missing' do
72
+ on test_host,
73
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_summary; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
74
+ :acceptable_exit_codes => [1]
75
+ end
76
+
77
+ it 'should fail to create an RPM when version metadata is missing' do
78
+ on test_host,
79
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_version; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
80
+ :acceptable_exit_codes => [1]
81
+ end
82
+ end
83
+
84
+ shared_examples_for "a pre-SIMP6 RPM generator" do
85
+ it "should create an RPM and leave the mock directory when SIMP_RAKE_MOCK_cleanup=no" do
86
+ comment "produces RPM"
87
+ on test_host, %(#{run_cmd} "cd #{testpackage_dir}; SIMP_RAKE_MOCK_cleanup=no #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
88
+ on test_host, %(test -f #{testpackage_rpm})
89
+
90
+ comment "produces RPM with appropriate dependencies"
91
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-foo)
92
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-simplib)
93
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-puppetlabs-stdlib)
94
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "pupmod-testpackage = 0.0.1-2016")
95
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "simp-testpackage = 0.0.1-2016")
96
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^pupmod-testpackage")
97
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^simp-testpackage")
98
+
99
+ comment "RPM generated does not require simp-adapter"
100
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q simp-adapter), {:acceptable_exit_codes => [1]}
101
+
102
+ comment "produces RPM with a sourced CHANGELOG"
103
+ on test_host, %(rpm --changelog -qp #{testpackage_rpm} | grep -q Stallman)
104
+
105
+ comment "produces RPM without SIMP6-specific appropriate pre/post/preun/postun"
106
+ on test_host,
107
+ %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper"),
108
+ {:acceptable_exit_codes => [1]}
109
+
110
+ comment "keeps mock chroot when SIMP_RAKE_MOCK_cleanup=no"
111
+ on test_host, %(test -d /var/lib/mock/epel-#{test_dist}-x86_64-pupmod-simp-testpackage__build_user)
112
+ end
113
+
114
+ it "should handle variants" do
115
+ pending "removed code to pass variant to mock needs to be reinstated for this feature to work"
116
+ fail "INSERT CHECKING CODE HERE"
117
+ end
118
+ end
119
+
120
+ def comment(msg, indent=10)
121
+ logger.optionally_color(Beaker::Logger::MAGENTA, " "*indent + msg)
122
+ end
123
+
124
+
125
+ describe 'rake pkg:rpm' do
126
+ before :all do
127
+ # make sure all generated files from previous rake tasks have
128
+ # permissions that allow the copy in the 'prep' below
129
+ root_dir = File.dirname(File.dirname(File.dirname(File.expand_path(__FILE__))))
130
+ dist_dirs = Dir.glob(File.join(root_dir, '**', 'dist'))
131
+ dist_dirs.each { |dir| FileUtils.chmod_R(0755, dir) }
132
+ FileUtils.chmod_R(0755, 'junit')
133
+ FileUtils.chmod_R(0755, 'log')
134
+ end
135
+
136
+ let(:run_cmd) { 'runuser build_user -l -c ' }
137
+
138
+ let(:testpackages) {
139
+ ['simplib',
140
+ 'testpackage',
141
+ 'testpackage_missing_license',
142
+ 'testpackage_missing_metadata_file',
143
+ 'testpackage_missing_name',
144
+ 'testpackage_missing_source',
145
+ 'testpackage_missing_summary',
146
+ 'testpackage_missing_version',
147
+ 'testpackage_with_bad_changelog_date',
148
+ 'testpackage_with_release',
149
+ 'testpackage_without_changelog']
150
+ }
151
+
152
+ let(:pkg_root_dir) { '/home/build_user/host_files/spec/acceptance/files' }
153
+ let(:testpackage_dir) { '/home/build_user/host_files/spec/acceptance/files/testpackage' }
11
154
 
12
155
  dists = ['6', '7']
13
156
 
14
157
  hosts.each do |host|
15
- context 'with SIMP_RAKE_MOCK_cleanup=no' do
158
+ context "rpm building on #{host}" do
16
159
  before :each do
17
160
  on host, 'mkdir -p -m 0755 /var/lib/mock'
18
161
  on host, 'rm -rf /var/lib/mock/*', :accept_all_exit_codes => true
@@ -24,56 +167,87 @@ describe 'rake pkg:rpm' do
24
167
  end
25
168
 
26
169
  it 'should set up the Ruby gems' do
27
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; rvm use default; bundle update")
170
+ # all our test packages use the same set of ruby gems, so only bundle
171
+ # update once to save time
172
+ on host, %(#{run_cmd} "cd #{testpackage_dir}; rvm use default; bundle update")
28
173
  end
29
174
 
30
- it 'should have a clean working environment' do
31
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; rake clean")
32
- end
33
175
  end
34
176
 
35
177
  dists.each do |dist|
36
- context "on #{dist}" do
37
- it "should create an RPM for #{dist} and leave the mock directory" do
38
-
39
- test_name %(runs SIMP_RAKE_MOCK_cleanup=no pkg:rpm[epel-#{dist}-x86_64,true])
40
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; SIMP_RAKE_MOCK_cleanup=no rake pkg:rpm[epel-#{dist}-x86_64,true]")
178
+ context "for #{dist} distribution using simpdefault.spec" do
179
+ let(:test_host) { host }
180
+ let(:test_dist) { dist }
181
+ let(:build_type) {:default}
182
+ let(:testpackage_rpm) { File.join(testpackage_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.1.noarch.rpm') }
183
+
184
+ it 'should have a clean working environment' do
185
+ testpackages.each do |package|
186
+ on host, %(#{run_cmd} "cd #{pkg_root_dir}/#{package}; rake clean")
187
+ end
188
+ end
41
189
 
42
- test_name 'produces RPM'
43
- on host, %(test -f #{pkg_dest})
190
+ it "should create an RPM for #{dist} and leave the mock directory" do
191
+ comment "produces RPM"
192
+ on test_host, %(#{run_cmd} "cd #{testpackage_dir}; SIMP_RAKE_MOCK_cleanup=no rake pkg:rpm[epel-#{dist}-x86_64,true]")
193
+ on test_host, %(test -f #{testpackage_rpm})
194
+
195
+ comment "produces RPM with appropriate dependencies"
196
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q simp-adapter)
197
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-foo)
198
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-simplib)
199
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-puppetlabs-stdlib)
200
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "pupmod-testpackage = 0.0.1-2016.1")
201
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "simp-testpackage = 0.0.1-2016.1")
202
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^pupmod-testpackage")
203
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^simp-testpackage")
204
+
205
+ comment "produces RPM with a sourced CHANGELOG"
206
+ on test_host, %(rpm --changelog -qp #{testpackage_rpm} | grep -q Stallman)
207
+
208
+ comment "produces RPM with appropriate pre/post/preun/postun"
209
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='pre' --rpm_status=\\$1")
210
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='post' --rpm_status=\\$1")
211
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='preun' --rpm_status=\\$1")
212
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='postun' --rpm_status=\\$1")
213
+
214
+ comment "keeps mock chroot when SIMP_RAKE_MOCK_cleanup=no"
215
+ on test_host, %(test -d /var/lib/mock/epel-#{dist}-x86_64-pupmod-simp-testpackage__build_user)
216
+ end
44
217
 
45
- test_name 'produces RPM with appropriate dependencies'
46
- on host, %(rpm -qpR #{pkg_dest} | grep -q pupmod-simp-foo)
47
- on host, %(rpm -qpR #{pkg_dest} | grep -q pupmod-simp-simplib)
48
- on host, %(rpm -qpR #{pkg_dest} | grep -q pupmod-puppetlabs-stdlib)
49
- on host, %(rpm -qp --provides #{pkg_dest} | grep -q "^pupmod-testpackage = 0.0.1-2016$")
50
- on host, %(rpm -qp --provides #{pkg_dest} | grep -q "^simp-testpackage = 0.0.1-2016$")
51
- on host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{pkg_dest} | grep -q "^pupmod-testpackage")
52
- on host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{pkg_dest} | grep -q "^simp-testpackage")
218
+ it_should_behave_like "a RPM generator"
219
+ end
53
220
 
54
- test_name 'produces RPM with a sourced CHANGELOG'
55
- on host, %(rpm --changelog -qp #{pkg_dest} | grep -q Stallman)
221
+ context "for #{dist} distribution using simp4.spec" do
222
+ let(:test_host) { host }
223
+ let(:test_dist) { dist }
224
+ let(:build_type) { :simp4 }
225
+ let(:testpackage_rpm) { File.join(testpackage_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.noarch.rpm') }
56
226
 
57
- test_name 'keeps mock chroot when SIMP_RAKE_MOCK_cleanup=no'
58
- on host, %(test -d /var/lib/mock/epel-#{dist}-x86_64-pupmod-simp-testpackage__build_user)
227
+ it 'should have a clean working environment' do
228
+ testpackages.each do |package|
229
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/#{package}; rake clean")
230
+ end
59
231
  end
60
232
 
61
- it 'should create an RPM and remove the mock directory' do
62
- test_name 'runs pkg:rpm'
63
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; SIMP_RAKE_MOCK_cleanup=yes rake pkg:rpm[epel-#{dist}-x86_64,true]")
233
+ it_should_behave_like "a pre-SIMP6 RPM generator"
234
+ it_should_behave_like "a RPM generator"
235
+ end
64
236
 
65
- test_name 'produces RPM'
66
- on host, %(test -f #{pkg_dest})
237
+ context "for #{dist} distribution using simp5.spec" do
238
+ let(:test_host) { host }
239
+ let(:test_dist) { dist }
240
+ let(:build_type) { :simp5 }
241
+ let(:testpackage_rpm) { File.join(testpackage_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.noarch.rpm') }
67
242
 
68
- test_name 'deletes mock chroot when SIMP_RAKE_MOCK_cleanup=yes'
69
- on host, %(test -d /var/lib/mock/epel-#{dist}-x86_64-pupmod-simp-testpackage__$USER), {:acceptable_exit_codes => [1]}
243
+ it 'should have a clean working environment' do
244
+ testpackages.each do |package|
245
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/#{package}; rake clean")
246
+ end
70
247
  end
71
- end
72
- end
73
248
 
74
- context 'cleanup' do
75
- it 'should clean up after itself' do
76
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; rake clean")
249
+ it_should_behave_like "a pre-SIMP6 RPM generator"
250
+ it_should_behave_like "a RPM generator"
77
251
  end
78
252
  end
79
253
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simp-rake-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.7
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Tessmer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-09-28 00:00:00.000000000 Z
12
+ date: 2016-10-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -415,15 +415,57 @@ files:
415
415
  - lib/simp/rake/fixtures.rb
416
416
  - lib/simp/rake/helpers.rb
417
417
  - lib/simp/rake/helpers/rpm_spec.rb
418
+ - lib/simp/rake/helpers/rpm_spec/assets/simp4.spec
419
+ - lib/simp/rake/helpers/rpm_spec/assets/simp5.spec
420
+ - lib/simp/rake/helpers/rpm_spec/assets/simpdefault.spec
418
421
  - lib/simp/rake/helpers/version.rb
419
422
  - lib/simp/rake/pkg.rb
420
423
  - lib/simp/rake/pupmod/helpers.rb
421
424
  - lib/simp/rake/rubygem.rb
422
425
  - lib/simp/rpm.rb
426
+ - spec/acceptance/files/simplib/CHANGELOG
427
+ - spec/acceptance/files/simplib/Rakefile
428
+ - spec/acceptance/files/simplib/build/rpm_metadata/requires
429
+ - spec/acceptance/files/simplib/metadata.json
423
430
  - spec/acceptance/files/testpackage/CHANGELOG
424
431
  - spec/acceptance/files/testpackage/Rakefile
425
432
  - spec/acceptance/files/testpackage/build/rpm_metadata/requires
426
433
  - spec/acceptance/files/testpackage/metadata.json
434
+ - spec/acceptance/files/testpackage_missing_license/CHANGELOG
435
+ - spec/acceptance/files/testpackage_missing_license/Rakefile
436
+ - spec/acceptance/files/testpackage_missing_license/build/rpm_metadata/requires
437
+ - spec/acceptance/files/testpackage_missing_license/metadata.json
438
+ - spec/acceptance/files/testpackage_missing_metadata_file/CHANGELOG
439
+ - spec/acceptance/files/testpackage_missing_metadata_file/Rakefile
440
+ - spec/acceptance/files/testpackage_missing_metadata_file/build/rpm_metadata/requires
441
+ - spec/acceptance/files/testpackage_missing_name/CHANGELOG
442
+ - spec/acceptance/files/testpackage_missing_name/Rakefile
443
+ - spec/acceptance/files/testpackage_missing_name/build/rpm_metadata/requires
444
+ - spec/acceptance/files/testpackage_missing_name/metadata.json
445
+ - spec/acceptance/files/testpackage_missing_source/CHANGELOG
446
+ - spec/acceptance/files/testpackage_missing_source/Rakefile
447
+ - spec/acceptance/files/testpackage_missing_source/build/rpm_metadata/requires
448
+ - spec/acceptance/files/testpackage_missing_source/metadata.json
449
+ - spec/acceptance/files/testpackage_missing_summary/CHANGELOG
450
+ - spec/acceptance/files/testpackage_missing_summary/Rakefile
451
+ - spec/acceptance/files/testpackage_missing_summary/build/rpm_metadata/requires
452
+ - spec/acceptance/files/testpackage_missing_summary/metadata.json
453
+ - spec/acceptance/files/testpackage_missing_version/CHANGELOG
454
+ - spec/acceptance/files/testpackage_missing_version/Rakefile
455
+ - spec/acceptance/files/testpackage_missing_version/build/rpm_metadata/requires
456
+ - spec/acceptance/files/testpackage_missing_version/metadata.json
457
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/CHANGELOG
458
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/Rakefile
459
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/build/rpm_metadata/requires
460
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/metadata.json
461
+ - spec/acceptance/files/testpackage_with_release/CHANGELOG
462
+ - spec/acceptance/files/testpackage_with_release/Rakefile
463
+ - spec/acceptance/files/testpackage_with_release/build/rpm_metadata/release
464
+ - spec/acceptance/files/testpackage_with_release/build/rpm_metadata/requires
465
+ - spec/acceptance/files/testpackage_with_release/metadata.json
466
+ - spec/acceptance/files/testpackage_without_changelog/Rakefile
467
+ - spec/acceptance/files/testpackage_without_changelog/build/rpm_metadata/requires
468
+ - spec/acceptance/files/testpackage_without_changelog/metadata.json
427
469
  - spec/acceptance/nodesets/default.yml
428
470
  - spec/acceptance/pkg_rpm_spec.rb
429
471
  - spec/lib/simp/files/build/testpackage.spec