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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGQ2NWYwNDBiMTViOTk4NDQyNGQ5ZTMwNDk3ZDYwMWUzNWU1OGMxZA==
4
+ OWJhYmVkZTM0MGM3MjU2ZTgzZTExYzBiZjdiYWViN2VhNGYwMDdjOQ==
5
5
  data.tar.gz: !binary |-
6
- ODkzYzlhOWRjNDc4MjMxMDJjZWUzMWZmMTgxOWNhODM3MjgwMzAyMA==
6
+ MzkwYjg2Zjg4NmU1YjdiMzgxZjY5MzNlNDQ0YmNiNmI2Y2ZlNTk5NQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZTBiYWY0OTBiODcyZjg5Yjk4YjNkNWI5OTc4Yzc0ODE5ODAwYjk5M2I3ZWE1
10
- ODMzMTc1MGU0NGIyNGI4ZjQ3ZWFjMTA4OWZiMmNiYjcyNGExYTQwMjk3Y2Ey
11
- MGJlZGVkYzYzOTRhMjM3NmUxNmJkZjExYzY0YjBkNjc1MjdkYmM=
9
+ ZGQ5NTQwYzBlMjg3MzYxYWEwMjQ0NTQ4MjQ4OWI2ZmM2M2ZhMGFjYmFmZjRj
10
+ YTBlNTdkYWNjYjNiNzgxNzQzMWI2MmYxZDRhODQyZmMwYTI0NTAzMmU4YzJi
11
+ ZWM4ZmQyYTc0ZjIxZmE0NTFmZGM0NmNjNzMwMDQ4ZjcxNzY2ZTM=
12
12
  data.tar.gz: !binary |-
13
- Y2EwMTI1NWE1ZjVjZTU4ODkyYjAzMDA1ZTFlZWVlN2FhNTE1ZDc3OGYwODBm
14
- OTRhOTFiMGUyMmNjOGY0M2VhNTNkYTU3MmUxNmNhNTA0OTBiODhlNmUwZDU5
15
- MDQ5Nzg3NjJhN2Q4OTI5ZTA3ZDIxMTk1ZTdiNDEzMTJiYTk1NjY=
13
+ MjE1MDVlMGZkZDNjNWQzMDAxZjY4MjQyZDU5M2ViZGE0OWYyODcyYjg3NzY1
14
+ MDljNjU2ZmI2M2FmNmVhNmFkOGZlZGMwYmZhN2Y2ZjkyZmVlOGRlOWM1ZDEz
15
+ NDAzMDJkMzA3MTBhZWY2MmRiZWFlNmEyOGI1M2NmYzgwNDY5OTU=
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  *.sw[pnoqst]
2
2
  Gemfile.lock
3
3
  dist/
4
+ /log/
data/.travis.yml CHANGED
@@ -1,5 +1,9 @@
1
1
  ---
2
2
  language: ruby
3
+ sudo: required
4
+ before_install:
5
+ - sudo apt-get update -qq
6
+ - sudo apt-get install -y rpm
3
7
  rvm:
4
8
  - 1.9.3
5
9
  - 2.0.0
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
@@ -2,5 +2,5 @@ module Simp; end
2
2
  module Simp::Rake; end
3
3
 
4
4
  class Simp::Rake::Helpers
5
- VERSION = '1.0.13'
5
+ VERSION = '1.0.14'
6
6
  end
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 :unique_name
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?('/usr/bin/mock')
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,3 @@
1
+ require 'simp/rake/pkg'
2
+
3
+ Simp::Rake::Pkg.new( File.dirname( __FILE__ ) )
@@ -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.13
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-10 00:00:00.000000000 Z
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