simp-rake-helpers 1.0.13 → 1.0.14
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 +8 -8
- data/.gitignore +1 -0
- data/.travis.yml +4 -0
- data/Rakefile +15 -6
- data/lib/simp/rake/helpers.rb +1 -1
- data/lib/simp/rake/pkg.rb +14 -12
- data/spec/acceptance/files/testpackage/Rakefile +3 -0
- data/spec/acceptance/files/testpackage/build/testpackage.spec +32 -0
- data/spec/acceptance/mock_tests_spec.rb +42 -0
- data/spec/acceptance/nodesets/default.yml +56 -0
- data/spec/spec_helper_acceptance.rb +13 -0
- metadata +49 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OWJhYmVkZTM0MGM3MjU2ZTgzZTExYzBiZjdiYWViN2VhNGYwMDdjOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzkwYjg2Zjg4NmU1YjdiMzgxZjY5MzNlNDQ0YmNiNmI2Y2ZlNTk5NQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZGQ5NTQwYzBlMjg3MzYxYWEwMjQ0NTQ4MjQ4OWI2ZmM2M2ZhMGFjYmFmZjRj
|
10
|
+
YTBlNTdkYWNjYjNiNzgxNzQzMWI2MmYxZDRhODQyZmMwYTI0NTAzMmU4YzJi
|
11
|
+
ZWM4ZmQyYTc0ZjIxZmE0NTFmZGM0NmNjNzMwMDQ4ZjcxNzY2ZTM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MjE1MDVlMGZkZDNjNWQzMDAxZjY4MjQyZDU5M2ViZGE0OWYyODcyYjg3NzY1
|
14
|
+
MDljNjU2ZmI2M2FmNmVhNmFkOGZlZGMwYmZhN2Y2ZjkyZmVlOGRlOWM1ZDEz
|
15
|
+
NDAzMDJkMzA3MTBhZWY2MmRiZWFlNmEyOGI1M2NmYzgwNDY5OTU=
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
require "rubygems"
|
4
4
|
require 'rake/clean'
|
5
5
|
require 'find'
|
6
|
+
require 'rspec/core/rake_task'
|
7
|
+
|
6
8
|
|
7
9
|
@package='simp-rake-helpers'
|
8
10
|
@rakefile_dir=File.dirname(__FILE__)
|
@@ -10,6 +12,7 @@ require 'find'
|
|
10
12
|
CLEAN.include "#{@package}-*.gem"
|
11
13
|
CLEAN.include 'pkg'
|
12
14
|
CLEAN.include 'dist'
|
15
|
+
CLEAN.include 'spec/acceptance/files/testpackage/dist'
|
13
16
|
Find.find( @rakefile_dir ) do |path|
|
14
17
|
if File.directory? path
|
15
18
|
CLEAN.include path if File.basename(path) == 'tmp'
|
@@ -27,12 +30,6 @@ task :chmod do
|
|
27
30
|
end
|
28
31
|
end
|
29
32
|
|
30
|
-
desc 'run all RSpec tests'
|
31
|
-
task :spec do
|
32
|
-
Dir.chdir @rakefile_dir
|
33
|
-
sh 'bundle exec rspec spec'
|
34
|
-
end
|
35
|
-
|
36
33
|
namespace :pkg do
|
37
34
|
desc "build rubygem package for #{@package}"
|
38
35
|
task :gem => :chmod do
|
@@ -53,4 +50,16 @@ namespace :pkg do
|
|
53
50
|
end
|
54
51
|
end
|
55
52
|
end
|
53
|
+
|
54
|
+
desc "Run acceptance tests"
|
55
|
+
RSpec::Core::RakeTask.new(:acceptance) do |t|
|
56
|
+
t.pattern = 'spec/acceptance'
|
57
|
+
end
|
58
|
+
|
59
|
+
desc "Run spec tests"
|
60
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
61
|
+
t.rspec_opts = ['--color']
|
62
|
+
t.pattern = 'spec/lib/simp/**/*_spec.rb'
|
63
|
+
end
|
64
|
+
|
56
65
|
# vim: syntax=ruby
|
data/lib/simp/rake/helpers.rb
CHANGED
data/lib/simp/rake/pkg.rb
CHANGED
@@ -30,12 +30,14 @@ module Simp::Rake
|
|
30
30
|
# array of items to additionally clean
|
31
31
|
attr_accessor :clean_list
|
32
32
|
|
33
|
-
#
|
34
|
-
attr_accessor :
|
33
|
+
# directory that contains all the mock chroots
|
34
|
+
attr_accessor :mock_root_dir
|
35
35
|
|
36
36
|
# array of items to ignore when checking if the tarball needs to be rebuilt
|
37
37
|
attr_accessor :ignore_changes_list
|
38
38
|
|
39
|
+
attr_reader :spec_info
|
40
|
+
|
39
41
|
def initialize( base_dir, unique_name=nil )
|
40
42
|
@base_dir = base_dir
|
41
43
|
@pkg_name = File.basename(@base_dir)
|
@@ -45,6 +47,7 @@ module Simp::Rake
|
|
45
47
|
@clean_list = []
|
46
48
|
@ignore_changes_list = []
|
47
49
|
@chroot_name = unique_name
|
50
|
+
@mock_root_dir = ENV.fetch('SIMP_BUILD_MOCK_root','/var/lib/mock')
|
48
51
|
|
49
52
|
::CLEAN.include( @pkg_dir )
|
50
53
|
|
@@ -80,9 +83,9 @@ module Simp::Rake
|
|
80
83
|
|
81
84
|
# This gets the resting spec file and allows us to pull out the name
|
82
85
|
@spec_info = Simp::RPM.get_info( spec_file )
|
83
|
-
@chroot_name = @chroot_name || "#{@spec_info[:name]}__#{ENV.fetch( 'USER', 'USER' )}"
|
84
86
|
|
85
87
|
if chroot
|
88
|
+
@chroot_name = @chroot_name || "#{@spec_info[:name]}__#{ENV.fetch( 'USER', 'USER' )}"
|
86
89
|
mock_cmd = mock_pre_check( chroot, @chroot_name, unique ) + " --root #{chroot}"
|
87
90
|
|
88
91
|
sh %Q(#{mock_cmd} --copyin #{spec_file} /tmp)
|
@@ -279,6 +282,12 @@ module Simp::Rake
|
|
279
282
|
end
|
280
283
|
end
|
281
284
|
end
|
285
|
+
|
286
|
+
# remote chroot unless told not to (saves LOTS of space during ISO builds)
|
287
|
+
unless ENV['SIMP_RAKE_MOCK_cleanup'] == 'no'
|
288
|
+
cmd = %Q(#{mock_cmd} --root #{args.chroot} --clean)
|
289
|
+
sh cmd
|
290
|
+
end
|
282
291
|
end
|
283
292
|
end
|
284
293
|
end
|
@@ -326,6 +335,7 @@ module Simp::Rake
|
|
326
335
|
require_rebuild
|
327
336
|
end
|
328
337
|
|
338
|
+
|
329
339
|
# Run some pre-checks to make sure that mock will work properly.
|
330
340
|
#
|
331
341
|
# chroot = name of mock chroot to use
|
@@ -338,7 +348,7 @@ module Simp::Rake
|
|
338
348
|
raise %Q(unique_ext must be a String ("#{unique_ext}" = #{unique_ext.class})) unless unique_ext.is_a? String
|
339
349
|
|
340
350
|
mock = ENV['mock'] || '/usr/bin/mock'
|
341
|
-
raise(Exception,"Could not find mock on your system, exiting") unless File.executable?(
|
351
|
+
raise(Exception,"Could not find mock on your system, exiting") unless File.executable?(mock)
|
342
352
|
|
343
353
|
mock_configs = Pkg.get_mock_configs
|
344
354
|
unless chroot
|
@@ -393,13 +403,5 @@ module Simp::Rake
|
|
393
403
|
# A simple test to see if the chroot is initialized.
|
394
404
|
initialized
|
395
405
|
end
|
396
|
-
|
397
|
-
def pry
|
398
|
-
#FIXME: remove this debugging nonsense before release
|
399
|
-
if Rake::verbose.is_a? TrueClass
|
400
|
-
require 'pry'
|
401
|
-
binding.pry
|
402
|
-
end
|
403
|
-
end
|
404
406
|
end
|
405
407
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
Name: testpackage
|
2
|
+
Version: 1
|
3
|
+
Release: 0
|
4
|
+
Summary: dummy test package
|
5
|
+
BuildArch: noarch
|
6
|
+
|
7
|
+
License: Apache-2.0
|
8
|
+
URL: http://foo.bar
|
9
|
+
|
10
|
+
%description
|
11
|
+
A dummy package used to test Simp::RPM methods
|
12
|
+
|
13
|
+
%prep
|
14
|
+
exit 0
|
15
|
+
|
16
|
+
%build
|
17
|
+
exit 0
|
18
|
+
|
19
|
+
|
20
|
+
%install
|
21
|
+
exit 0
|
22
|
+
|
23
|
+
%clean
|
24
|
+
exit 0
|
25
|
+
|
26
|
+
%files
|
27
|
+
%doc
|
28
|
+
|
29
|
+
|
30
|
+
%changelog
|
31
|
+
* Wed Jun 10 2015 nobody
|
32
|
+
- some comment
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper_acceptance'
|
2
|
+
|
3
|
+
|
4
|
+
describe 'rake pkg:rpm[epel-6-x86_64,true]' do
|
5
|
+
before :all do
|
6
|
+
on 'container', 'bash --login -c "cd /host_files/spec/acceptance/files/testpackage; \
|
7
|
+
gem install bundler; \
|
8
|
+
bundle"'
|
9
|
+
end
|
10
|
+
|
11
|
+
context 'with SIMP_RAKE_MOCK_cleanup=no' do
|
12
|
+
before :each do
|
13
|
+
on 'container', 'mkdir -p -m 0755 /var/lib/mock'
|
14
|
+
on 'container', 'rm -rf /var/lib/mock/* /host_files/spec/acceptance/files/testpackage/dist',
|
15
|
+
:accept_all_exit_codes => true
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should create an RPM and leave the mock directory' do
|
19
|
+
|
20
|
+
test_name 'runs SIMP_RAKE_MOCK_cleanup=no pkg:rpm[epel-6-x86_64,true]'
|
21
|
+
on 'container', 'SIMP_RAKE_MOCK_cleanup=no bash --login -c "cd /host_files/spec/acceptance/files/testpackage; bundle exec rake pkg:rpm[epel-6-x86_64,true]"'
|
22
|
+
|
23
|
+
test_name 'produces RPM'
|
24
|
+
on 'container', 'test -f /host_files/spec/acceptance/files/testpackage/dist/testpackage-1-0.noarch.rpm'
|
25
|
+
|
26
|
+
test_name 'keeps mock chroot when SIMP_RAKE_MOCK_cleanup=no'
|
27
|
+
on 'container', 'test -d /var/lib/mock/epel-6-x86_64-testpackage__$USER'
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should create an RPM and leave the mock directory' do
|
31
|
+
|
32
|
+
test_name 'runs pkg:rpm'
|
33
|
+
on 'container', 'SIMP_RAKE_MOCK_cleanup=yes bash --login -c "cd /host_files/spec/acceptance/files/testpackage; bundle exec rake pkg:rpm[epel-6-x86_64,true]"'
|
34
|
+
|
35
|
+
test_name 'produces RPM'
|
36
|
+
on 'container', 'test -f /host_files/spec/acceptance/files/testpackage/dist/testpackage-1-0.noarch.rpm'
|
37
|
+
|
38
|
+
test_name 'deletes mock chroot when SIMP_RAKE_MOCK_cleanup=yes'
|
39
|
+
on 'container', 'test -d /var/lib/mock/epel-6-x86_64-testpackage__$USER', {:acceptable_exit_codes => [1]}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
HOSTS:
|
2
|
+
container:
|
3
|
+
roles:
|
4
|
+
- default
|
5
|
+
- master
|
6
|
+
- agent
|
7
|
+
platform: el-6-x86_64
|
8
|
+
hypervisor: docker
|
9
|
+
image: 'centos:centos6.7'
|
10
|
+
docker_image_commands:
|
11
|
+
- "echo 'Defaults !requiretty' >> /etc/sudoers"
|
12
|
+
- 'yum install -y epel-release'
|
13
|
+
# simp build-deps
|
14
|
+
- 'yum install -y rpm-build augeas-devel createrepo genisoimage git gnupg2 libicu-devel libxml2 libxml2-devel libxslt libxslt-devel mock rpmdevtools clamav which'
|
15
|
+
# rvm build-deps
|
16
|
+
- 'yum install -y libyaml-devel glibc-headers autoconf gcc-c++ glibc-devel readline-devel libffi-devel openssl-devel automake libtool bison sqlite-devel'
|
17
|
+
- 'gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3'
|
18
|
+
- 'echo export rvm_prefix="\$HOME" > /root/.rvmrc && echo export rvm_path="\$HOME/.rvm" >> /root/.rvmrc'
|
19
|
+
- '\curl -sSL https://get.rvm.io | bash -s stable --ruby=1.9.3'
|
20
|
+
- 'source ~/.rvm/scripts/rvm'
|
21
|
+
# NOTE: the './' syntax requires BKR-704
|
22
|
+
mount_folders:
|
23
|
+
folder1:
|
24
|
+
# must be an absolute path, seemingly
|
25
|
+
host_path: ./
|
26
|
+
container_path: /host_files
|
27
|
+
docker_preserve_image: true
|
28
|
+
CONFIG:
|
29
|
+
log_level: verbose
|
30
|
+
type: foss
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
# - 'sed -i "s/UsePAM.*/UsePAM yes/g" /etc/ssh/sshd_config'
|
53
|
+
# - 'sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config'
|
54
|
+
# - "ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''"
|
55
|
+
# - "ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''"
|
56
|
+
#docker_cmd: '["/usr/sbin/sshd -e"]'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'beaker-rspec'
|
2
|
+
require 'tmpdir'
|
3
|
+
###require 'simp/beaker_helpers'
|
4
|
+
###include Simp::BeakerHelpers
|
5
|
+
|
6
|
+
RSpec.configure do |c|
|
7
|
+
# Readable test descriptions
|
8
|
+
c.formatter = :documentation
|
9
|
+
|
10
|
+
# Configure all nodes in nodeset
|
11
|
+
c.before :suite do
|
12
|
+
end
|
13
|
+
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: 1.0.
|
4
|
+
version: 1.0.14
|
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-02-
|
12
|
+
date: 2016-02-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -227,6 +227,48 @@ dependencies:
|
|
227
227
|
- - ~>
|
228
228
|
- !ruby/object:Gem::Version
|
229
229
|
version: '4'
|
230
|
+
- !ruby/object:Gem::Dependency
|
231
|
+
name: beaker
|
232
|
+
requirement: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ~>
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '2'
|
237
|
+
type: :development
|
238
|
+
prerelease: false
|
239
|
+
version_requirements: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ~>
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '2'
|
244
|
+
- !ruby/object:Gem::Dependency
|
245
|
+
name: beaker-rspec
|
246
|
+
requirement: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ~>
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '5'
|
251
|
+
type: :development
|
252
|
+
prerelease: false
|
253
|
+
version_requirements: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ~>
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '5'
|
258
|
+
- !ruby/object:Gem::Dependency
|
259
|
+
name: rspec-core
|
260
|
+
requirement: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ~>
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '3'
|
265
|
+
type: :development
|
266
|
+
prerelease: false
|
267
|
+
version_requirements: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ~>
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '3'
|
230
272
|
description: ! ' "simp-rake-helpers provides common methods for SIMP Rake Tasks"
|
231
273
|
|
232
274
|
'
|
@@ -250,6 +292,10 @@ files:
|
|
250
292
|
- lib/simp/rake/helpers.rb
|
251
293
|
- lib/simp/rake/pkg.rb
|
252
294
|
- lib/simp/rpm.rb
|
295
|
+
- spec/acceptance/files/testpackage/Rakefile
|
296
|
+
- spec/acceptance/files/testpackage/build/testpackage.spec
|
297
|
+
- spec/acceptance/mock_tests_spec.rb
|
298
|
+
- spec/acceptance/nodesets/default.yml
|
253
299
|
- spec/lib/simp/files/build/testpackage.spec
|
254
300
|
- spec/lib/simp/files/testpackage-1-0.noarch.rpm
|
255
301
|
- spec/lib/simp/files/testpackage-multi.spec
|
@@ -259,6 +305,7 @@ files:
|
|
259
305
|
- spec/lib/simp/rake_spec.rb
|
260
306
|
- spec/lib/simp/rpm_spec.rb
|
261
307
|
- spec/spec_helper.rb
|
308
|
+
- spec/spec_helper_acceptance.rb
|
262
309
|
homepage: https://github.com/simp/rubygem-simp-rake-helpers
|
263
310
|
licenses:
|
264
311
|
- Apache-2.0
|