puppet_module_packaging 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data/.gitignore +12 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +17 -0
  6. data/Changelog.md +6 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +22 -0
  9. data/README.md +90 -0
  10. data/Rakefile +22 -0
  11. data/Vagrantfile +11 -0
  12. data/lib/puppet_module/pkg/tasks/build.rb +120 -0
  13. data/lib/puppet_module/pkg/tasks/clean.rb +15 -0
  14. data/lib/puppet_module/pkg/tasks/deb.rb +13 -0
  15. data/lib/puppet_module/pkg/tasks/install.rb +33 -0
  16. data/lib/puppet_module/pkg/tasks/modulefile.rb +69 -0
  17. data/lib/puppet_module/pkg/tasks/rake_tasks.rb +42 -0
  18. data/lib/puppet_module/pkg/tasks/rpm.rb +13 -0
  19. data/lib/puppet_module/pkg/tasks/system.rb +25 -0
  20. data/lib/puppet_module/pkg/tasks.rb +13 -0
  21. data/lib/puppet_module/pkg/version.rb +5 -0
  22. data/puppet_module_packaging.gemspec +40 -0
  23. data/rubygems-stefanozanella.crt +20 -0
  24. data/test/end_to_end/.gitkeep +0 -0
  25. data/test/end_to_end/clean_test.rb +14 -0
  26. data/test/end_to_end/install_test.rb +34 -0
  27. data/test/end_to_end/pkg_test.rb +33 -0
  28. data/test/end_to_end/tasks_test.rb +16 -0
  29. data/test/fixture/testmod/Modulefile +13 -0
  30. data/test/fixture/testmod/Modulefile.no_name_or_author +2 -0
  31. data/test/fixture/testmod/Modulefile.no_version +1 -0
  32. data/test/fixture/testmod/Rakefile +3 -0
  33. data/test/fixture/testmod/files/example.dat +0 -0
  34. data/test/fixture/testmod/lib/utils.rb +0 -0
  35. data/test/fixture/testmod/manifests/init.pp +0 -0
  36. data/test/fixture/testmod/templates/config.erb +0 -0
  37. data/test/integration/modulefile_test.rb +50 -0
  38. data/test/integration/system_test.rb +59 -0
  39. data/test/test_helper.rb +85 -0
  40. data/test/test_vm.pp +23 -0
  41. data/test/unit/.gitkeep +0 -0
  42. data/test/unit/build_test.rb +81 -0
  43. data/test/unit/clean_test.rb +13 -0
  44. data/test/unit/install_test.rb +34 -0
  45. data.tar.gz.sig +0 -0
  46. metadata +242 -0
  47. metadata.gz.sig +2 -0
@@ -0,0 +1,33 @@
1
+ require 'test_helper'
2
+
3
+ describe 'deb task' do
4
+ around do |t|
5
+ do_into_tmp_module('testmod', t)
6
+ end
7
+
8
+ describe 'by default' do
9
+ let(:pkg) { 'pkg/puppet-mod-testdev-testmod_0.0.1_all.deb' }
10
+
11
+ it 'build a package into the `pkg` folder' do
12
+ `rake deb`
13
+
14
+ assert file?(pkg), "expected package #{pkg} to exist"
15
+ end
16
+ end
17
+ end
18
+
19
+ describe 'rpm task' do
20
+ around do |t|
21
+ do_into_tmp_module('testmod', only_if_rpmbuild_found(t))
22
+ end
23
+
24
+ describe 'by default' do
25
+ let(:pkg) { 'pkg/puppet-mod-testdev-testmod-0.0.1.noarch.rpm' }
26
+
27
+ it 'build a package into the `pkg` folder' do
28
+ `rake rpm`
29
+
30
+ assert file?(pkg), "expected package #{pkg} to exist"
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+ describe 'using PuppetModule::Pkg::Tasks in a Rakefile' do
4
+ around do |t|
5
+ do_into_tmp_module('testmod', t)
6
+ end
7
+
8
+ let(:fixture_module) { File.join(fixture_dir, 'testmod') }
9
+ let(:task_list) { `rake -T` }
10
+
11
+ [:install, :clean, :deb, :rpm].each do |task|
12
+ it "defines a `#{task}` task" do
13
+ task_list.must_match /^rake #{task}/
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ name 'testdev/testmod'
2
+ version '0.0.1'
3
+ source 'https://example.com/git/testmod'
4
+ author 'Test Developer <test@example.com>'
5
+ license 'Apache License, Version 2.0'
6
+ summary 'A silly module, only useful for testing'
7
+ description 'A long description of this silly module'
8
+ project_page 'https://example.com/testmod/home'
9
+
10
+ ## Add dependencies, if any:
11
+ # dependency 'username/name', '>= 1.2.0'
12
+
13
+ unsupported_field 'I don`t know what I am for'
@@ -0,0 +1,2 @@
1
+ name 'missing_name_or_author'
2
+ version '0.0.1'
@@ -0,0 +1 @@
1
+ name 'testdev/testmod'
@@ -0,0 +1,3 @@
1
+ require 'puppet_module/pkg/tasks'
2
+
3
+ PuppetModule::Pkg::Tasks.new
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,50 @@
1
+ require 'test_helper'
2
+
3
+ describe PuppetModule::Pkg::Tasks::Modulefile do
4
+ # TODO: dependency management
5
+ #
6
+ # TODO: Modulefile not present => Errno::ENOENT, Errno::EISDIR => requires
7
+ # specification of shell output format
8
+ #
9
+ # TODO: incorrect format (maybe)
10
+ #
11
+ # TODO: allow for single-dash commented line to be parsed (maybe,
12
+ # particularly for non-forge dependencies)
13
+
14
+ around do |t|
15
+ do_into_tmp_module('testmod', t)
16
+ end
17
+
18
+ let(:parser) { PuppetModule::Pkg::Tasks::Modulefile }
19
+
20
+ it 'reads a Modulefile and maps its fields to an object value' do
21
+ metadata = parser.parse 'Modulefile'
22
+
23
+ metadata.name.must_equal 'testmod'
24
+ metadata.author.must_equal 'testdev'
25
+ metadata.version.must_equal '0.0.1'
26
+ metadata.source.must_equal 'https://example.com/git/testmod'
27
+ metadata.author_full.must_equal 'Test Developer <test@example.com>'
28
+ metadata.license.must_equal 'Apache License, Version 2.0'
29
+ metadata.summary.must_equal 'A silly module, only useful for testing'
30
+ metadata.description.must_equal 'A long description of this silly module'
31
+ metadata.project_page.must_equal 'https://example.com/testmod/home'
32
+ end
33
+
34
+ it 'raises an error if the Modulefile doesn`t contain required fields' do
35
+ # We need at least module name, developer name and version in order to
36
+ # build a package
37
+ proc {
38
+ parser.parse 'Modulefile.no_name_or_author'
39
+ }.must_raise ArgumentError
40
+
41
+ proc {
42
+ parser.parse 'Modulefile.no_version'
43
+ }.must_raise ArgumentError
44
+ end
45
+
46
+ it 'doesn`t complain if it finds an unsupported/unrecognized field' do
47
+ metadata = parser.parse 'Modulefile'
48
+ metadata.unsupported_field.must_be_nil
49
+ end
50
+ end
@@ -0,0 +1,59 @@
1
+ require 'test_helper'
2
+ require 'tmpdir'
3
+
4
+ describe PuppetModule::Pkg::Tasks::System do
5
+ let(:fs) { PuppetModule::Pkg::Tasks::System.new }
6
+
7
+ around do |t|
8
+ do_into_tmpdir(t)
9
+ end
10
+
11
+ describe 'mkdir' do
12
+ it 'creates a whole directory subtree' do
13
+ fs.mkdir('a/b/c/d')
14
+
15
+ walk_path('a'..'d').each do |dir|
16
+ assert directory?(dir), "expected directory #{dir} to exist"
17
+ end
18
+ end
19
+
20
+ it 'doesn`t complain if some of the directories already exist' do
21
+ fs.mkdir('a/b/c/d')
22
+ fs.mkdir('a/b/c/d')
23
+ end
24
+ end
25
+
26
+ describe 'cp' do
27
+ it 'recursively copies a list of directories into a destination' do
28
+ mkdir 'out'
29
+ ('a'..'d').to_a.each do |dir|
30
+ mkdir dir
31
+ touch join dir, "test_#{dir}"
32
+ end
33
+
34
+ fs.cp('a'..'d', 'out')
35
+
36
+ ('a'..'d').to_a.each do |dir|
37
+ assert directory?(join 'out', dir), "expected directory #{dir} to exist"
38
+ assert file?(join 'out', dir, "test_#{dir}"), "expected file out/#{dir}/test_#{dir} to exist"
39
+ end
40
+ end
41
+ end
42
+
43
+ describe 'rm' do
44
+ it 'removes the whole subtree under given directory' do
45
+ mkdir 'a/b/c/d'
46
+
47
+ fs.rm 'a'
48
+ refute directory?('a'), "expected directory 'a' to have been wiped"
49
+ end
50
+ end
51
+
52
+ describe 'exec' do
53
+ it 'executes given command in system`s shell' do
54
+ fs.sh 'touch test_file'
55
+
56
+ assert file?('test_file'), "expected file test_file to have been created, but it was not"
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,85 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest/spec'
3
+ require 'minitest/filesystem'
4
+ require 'minitest/around/spec'
5
+ require 'mocha/setup'
6
+
7
+ require 'tmpdir'
8
+
9
+ require 'puppet_module/pkg/tasks'
10
+
11
+ # Directory that contains test fixtures
12
+ def fixture_dir
13
+ File.join File.dirname(__FILE__), 'fixture'
14
+ end
15
+
16
+ # Path of the test module named `name`
17
+ def fixture_module(name)
18
+ File.join(fixture_dir, name)
19
+ end
20
+
21
+ # Creates an array of all increasing paths from dirs.first to dirs.last
22
+ #
23
+ # Ex: walk_path(['a','b','c']) # => ['a', 'a/b', 'a/b/c']
24
+ def walk_path(dirs)
25
+ (1..dirs.to_a.length).map do |k|
26
+ File.join(*dirs.to_a.take(k))
27
+ end
28
+ end
29
+
30
+ # Exec proc inside specified directory
31
+ def do_into_dir(dir, t)
32
+ Dir.chdir dir do
33
+ t.call
34
+ end
35
+ end
36
+
37
+ # Exec proc inside a temp dir
38
+ def do_into_tmpdir(t)
39
+ Dir.mktmpdir do |dir|
40
+ do_into_dir(dir, t)
41
+ end
42
+ end
43
+
44
+ # Exec proc inside a temp copy of fixture module `mod_name`
45
+ def do_into_tmp_module(mod_name, t)
46
+ do_into_tmpdir(proc {
47
+ FileUtils.cp_r fixture_module(mod_name), mod_name
48
+ do_into_dir(mod_name, t)
49
+ })
50
+ end
51
+
52
+ # FPM requires rpmbuild to be present in order to produce a RPM package.
53
+ # If we can't find it, do not run given test
54
+ def only_if_rpmbuild_found(t)
55
+ if rpmbuild_found?
56
+ return t
57
+ else
58
+ return Proc.new {}
59
+ end
60
+ end
61
+
62
+ def rpmbuild_found?
63
+ `which rpmbuild`
64
+ return $? == 0
65
+ end
66
+
67
+ def directory?(d)
68
+ File.directory? d
69
+ end
70
+
71
+ def file?(f)
72
+ File.file? f
73
+ end
74
+
75
+ def mkdir(d)
76
+ FileUtils.mkdir_p d
77
+ end
78
+
79
+ def touch(f)
80
+ FileUtils.touch f
81
+ end
82
+
83
+ def join(*args)
84
+ File.join(*args)
85
+ end
data/test/test_vm.pp ADDED
@@ -0,0 +1,23 @@
1
+ $deps = [
2
+ 'libxml2',
3
+ 'libxml2-dev',
4
+ 'libxslt1.1',
5
+ 'libxslt1-dev',
6
+ 'rpm',
7
+ 'git',
8
+ ]
9
+
10
+ package { $deps:
11
+ ensure => installed,
12
+ require => Exec['apt-get update'],
13
+ }
14
+
15
+ package { 'bundler':
16
+ ensure => installed,
17
+ require => Package[$deps],
18
+ provider => 'gem',
19
+ }
20
+
21
+ exec { 'apt-get update':
22
+ path => '/usr/bin',
23
+ }
File without changes
@@ -0,0 +1,81 @@
1
+ require 'test_helper'
2
+
3
+ describe 'packaging tasks' do
4
+ let(:deb_task) { PuppetModule::Pkg::Tasks::Deb }
5
+ let(:rpm_task) { PuppetModule::Pkg::Tasks::RPM }
6
+ let(:sys) { stub_everything }
7
+ let(:minimal_mod) { OpenStruct.new(
8
+ :name => 'my_mod',
9
+ :author => 'a_dev',
10
+ :version => 'some_version')
11
+ }
12
+
13
+ let(:mod) { OpenStruct.new(
14
+ :name => 'my_mod',
15
+ :author => 'a_dev',
16
+ :version => 'some_version',
17
+ :author_full => 'a_dev <a@dev.com>',
18
+ :project_page => 'http://a.b.c/my_mod',
19
+ :summary => 'nothing fancy',
20
+ :license => 'whatever')
21
+ }
22
+ let(:opts) { OpenStruct.new(
23
+ :pkg_dir => 'pkg',
24
+ :install_dir => 'some/where')
25
+ }
26
+
27
+ it 'creates the output folder' do
28
+ sys.expects(:mkdir).with(regexp_matches(/#{opts.pkg_dir}/))
29
+
30
+ deb_task.new(sys).invoke(mod, opts)
31
+ end
32
+
33
+ it 'builds a package using all available module info' do
34
+ sys.expects(:sh).with(all_of(
35
+ regexp_matches(/^fpm/),
36
+ regexp_matches(/-s dir/),
37
+ regexp_matches(/-a all/),
38
+ regexp_matches(/-n puppet-mod-#{mod.author}-#{mod.name}/),
39
+ regexp_matches(/-v #{mod.version}/),
40
+ regexp_matches(/-m '#{mod.author_full}'/),
41
+ regexp_matches(/--url '#{mod.project_page}'/),
42
+ regexp_matches(/--description '#{mod.summary}'/),
43
+ regexp_matches(/--license '#{mod.license}'/),
44
+ regexp_matches(/-C #{opts.install_dir}/),
45
+ regexp_matches(/\.$/)))
46
+
47
+ deb_task.new(sys).invoke(mod, opts)
48
+ end
49
+
50
+ it 'doesn`t complain if optional module info are missing' do
51
+ sys.expects(:sh).with(Not(any_of(
52
+ regexp_matches(/-m /),
53
+ regexp_matches(/--url /),
54
+ regexp_matches(/--description /),
55
+ regexp_matches(/--license /)
56
+ )))
57
+
58
+ deb_task.new(sys).invoke(minimal_mod, opts)
59
+ end
60
+
61
+ describe 'deb task' do
62
+ it 'builds a deb package, using Debian conventions' do
63
+ sys.expects(:sh).with(all_of(
64
+ regexp_matches(/-t deb/),
65
+ regexp_matches(/-p #{opts.pkg_dir}\/puppet-mod-#{mod.author}-#{mod.name}_VERSION_ARCH.deb/)))
66
+
67
+ deb_task.new(sys).invoke(mod, opts)
68
+ end
69
+ end
70
+
71
+ describe 'rpm task' do
72
+ it 'builds a rpm package, using RPM conventions' do
73
+ sys.expects(:sh).with(all_of(
74
+ regexp_matches(/-t rpm/),
75
+ regexp_matches(/-p #{opts.pkg_dir}\/puppet-mod-#{mod.author}-#{mod.name}-VERSION.ARCH.rpm/)))
76
+
77
+ rpm_task.new(sys).invoke(mod, opts)
78
+ end
79
+ end
80
+ end
81
+
@@ -0,0 +1,13 @@
1
+ require 'test_helper'
2
+
3
+ describe PuppetModule::Pkg::Tasks::Clean do
4
+ let(:clean_task) { PuppetModule::Pkg::Tasks::Clean }
5
+ let(:sys) { stub_everything }
6
+ let(:opts) { OpenStruct.new(:install_dir => 'clean_test')}
7
+
8
+ it 'removes the installation directory' do
9
+ sys.expects(:rm).with(regexp_matches(/#{opts.install_dir}/))
10
+
11
+ clean_task.new(sys).invoke(nil, opts)
12
+ end
13
+ end
@@ -0,0 +1,34 @@
1
+ require 'test_helper'
2
+
3
+ describe PuppetModule::Pkg::Tasks::Install do
4
+ let(:install_task) { PuppetModule::Pkg::Tasks::Install }
5
+ let(:sys) { stub_everything }
6
+ let(:mod) { OpenStruct.new(:name => 'my_mod')}
7
+ let(:opts) { OpenStruct.new(:install_dir => 'build')}
8
+ let(:dest_path) { "usr/share/puppet/modules/#{mod.name}" }
9
+ let(:install_path) { join(opts.install_dir, dest_path) }
10
+
11
+ it 'creates the output folder' do
12
+ sys.expects(:mkdir).with(regexp_matches(/#{opts.install_dir}/))
13
+
14
+ install_task.new(sys).invoke(mod, opts)
15
+ end
16
+
17
+ it 'creates the destination path into the output folder' do
18
+ sys.expects(:mkdir).with(regexp_matches(/#{dest_path}/))
19
+
20
+ install_task.new(sys).invoke(mod, opts)
21
+ end
22
+
23
+ it 'installs all the relevant directories into the output folder' do
24
+ sys.expects(:cp).with(
25
+ includes(
26
+ 'manifests',
27
+ 'templates',
28
+ 'files',
29
+ 'lib'),
30
+ install_path)
31
+
32
+ install_task.new(sys).invoke(mod, opts)
33
+ end
34
+ end
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,242 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: puppet_module_packaging
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Stefano Zanella
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDQDCCAiigAwIBAgIBADANBgkqhkiG9w0BAQUFADBGMRgwFgYDVQQDDA96YW5l
14
+ bGxhLnN0ZWZhbm8xFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
15
+ ARkWA2NvbTAeFw0xMzA4MDcxOTA2MDZaFw0xNDA4MDcxOTA2MDZaMEYxGDAWBgNV
16
+ BAMMD3phbmVsbGEuc3RlZmFubzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYK
17
+ CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
18
+ 2JCnJCnjjs62MR/Tw/4WgSG42ruiCEqXV1ECMsXymHPE8xyHkYAwLXvBRzOkZ/IA
19
+ puJ1XhScduMRcUuE0ZPA5N2HBZI0WsmyyNTYBjOob8m0SNInoRZfIMloj3D8QzB7
20
+ /6G5HLMWNx60JEpIDgfXvIuSRKNKQ0/0+/G/H4COgj72pd3F4dYltvx+mSwPRq7Q
21
+ MdZsK3T5Q3d4eLBY1VSlJpq0wkwdEWTXAhR0Mfmbn1D8m9IhJfubgXuXVBY4OPO8
22
+ KAF/wWqTkzA6guVQlSKdZR4vwms7OpeFkotnivBKa6JwUQSXO8AZEyy53V8cSYDu
23
+ dbaFi53YbEwOWSMQnW8/kQIDAQABozkwNzAdBgNVHQ4EFgQUcBKkmJAvSTKfDf7z
24
+ LEu1wE+Rk+swCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEFBQAD
25
+ ggEBAMeqfk1l4Y0iZ8jNiu0afcQ60DVqBkRtrT/rsZEqGsdOw11bntOE4yWpo4Kd
26
+ Y0C/kYrVQ/mIN7IGKbCSjES3aYdQftV9SRW77FA25m2KXRbnEYtJDUX35gAqSdRY
27
+ 9IiYivsMq2dr70eKPNFrFOwWvmwhcGyEG8EDvYoXWllke7RGz1Dn/AZx6jPnShO+
28
+ 0ru4OXsM9++md3sGXIugEFNygvo2/1yQoTe6+XiBocS+pWsJd6JZBfkxPRT4Dz4H
29
+ RigBD0E3/t/ABjCXkmqwp5gnAZmP8JiVUkn8rp5E0FXvC8T7nsPs2TW/TAmUV6rN
30
+ hK25FX8YWgT9fD9y3PpWjiYcrCo=
31
+ -----END CERTIFICATE-----
32
+ date: 2013-11-13 00:00:00.000000000 Z
33
+ dependencies:
34
+ - !ruby/object:Gem::Dependency
35
+ name: fpm
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '0.4'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '0.4'
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ - !ruby/object:Gem::Dependency
77
+ name: rubygems-tasks
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ - !ruby/object:Gem::Dependency
91
+ name: minitest
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ - !ruby/object:Gem::Dependency
105
+ name: minitest-filesystem
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ - !ruby/object:Gem::Dependency
119
+ name: minitest-around
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ type: :development
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ - !ruby/object:Gem::Dependency
133
+ name: mocha
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ type: :development
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ description: |2
147
+ puppet_module_packaging provides some Rake tasks to ease wrapping Puppet
148
+ modules into proper system packages like deb and rpm.
149
+ email:
150
+ - zanella.stefano@gmail.com
151
+ executables: []
152
+ extensions: []
153
+ extra_rdoc_files: []
154
+ files:
155
+ - .gitignore
156
+ - .ruby-version
157
+ - .travis.yml
158
+ - Changelog.md
159
+ - Gemfile
160
+ - LICENSE
161
+ - README.md
162
+ - Rakefile
163
+ - Vagrantfile
164
+ - lib/puppet_module/pkg/tasks.rb
165
+ - lib/puppet_module/pkg/tasks/build.rb
166
+ - lib/puppet_module/pkg/tasks/clean.rb
167
+ - lib/puppet_module/pkg/tasks/deb.rb
168
+ - lib/puppet_module/pkg/tasks/install.rb
169
+ - lib/puppet_module/pkg/tasks/modulefile.rb
170
+ - lib/puppet_module/pkg/tasks/rake_tasks.rb
171
+ - lib/puppet_module/pkg/tasks/rpm.rb
172
+ - lib/puppet_module/pkg/tasks/system.rb
173
+ - lib/puppet_module/pkg/version.rb
174
+ - puppet_module_packaging.gemspec
175
+ - rubygems-stefanozanella.crt
176
+ - test/end_to_end/.gitkeep
177
+ - test/end_to_end/clean_test.rb
178
+ - test/end_to_end/install_test.rb
179
+ - test/end_to_end/pkg_test.rb
180
+ - test/end_to_end/tasks_test.rb
181
+ - test/fixture/testmod/Modulefile
182
+ - test/fixture/testmod/Modulefile.no_name_or_author
183
+ - test/fixture/testmod/Modulefile.no_version
184
+ - test/fixture/testmod/Rakefile
185
+ - test/fixture/testmod/files/example.dat
186
+ - test/fixture/testmod/lib/utils.rb
187
+ - test/fixture/testmod/manifests/init.pp
188
+ - test/fixture/testmod/templates/config.erb
189
+ - test/integration/modulefile_test.rb
190
+ - test/integration/system_test.rb
191
+ - test/test_helper.rb
192
+ - test/test_vm.pp
193
+ - test/unit/.gitkeep
194
+ - test/unit/build_test.rb
195
+ - test/unit/clean_test.rb
196
+ - test/unit/install_test.rb
197
+ homepage: https://github.com/stefanozanella/puppet_module_packaging
198
+ licenses:
199
+ - MIT
200
+ metadata: {}
201
+ post_install_message:
202
+ rdoc_options: []
203
+ require_paths:
204
+ - lib
205
+ required_ruby_version: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - '>='
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ required_rubygems_version: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - '>='
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ requirements: []
216
+ rubyforge_project:
217
+ rubygems_version: 2.0.7
218
+ signing_key:
219
+ specification_version: 4
220
+ summary: Rake tasks for packaging Puppet modules
221
+ test_files:
222
+ - test/end_to_end/.gitkeep
223
+ - test/end_to_end/clean_test.rb
224
+ - test/end_to_end/install_test.rb
225
+ - test/end_to_end/pkg_test.rb
226
+ - test/end_to_end/tasks_test.rb
227
+ - test/fixture/testmod/Modulefile
228
+ - test/fixture/testmod/Modulefile.no_name_or_author
229
+ - test/fixture/testmod/Modulefile.no_version
230
+ - test/fixture/testmod/Rakefile
231
+ - test/fixture/testmod/files/example.dat
232
+ - test/fixture/testmod/lib/utils.rb
233
+ - test/fixture/testmod/manifests/init.pp
234
+ - test/fixture/testmod/templates/config.erb
235
+ - test/integration/modulefile_test.rb
236
+ - test/integration/system_test.rb
237
+ - test/test_helper.rb
238
+ - test/test_vm.pp
239
+ - test/unit/.gitkeep
240
+ - test/unit/build_test.rb
241
+ - test/unit/clean_test.rb
242
+ - test/unit/install_test.rb
metadata.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ #�El�l��4�;�6�_����hQ�H����7*�2$��E$ߌ�׭�p4C2�O,c*DVQ���a檞f�h�y�?/=���( �`�;_82-�2 ������$G<�������E���͡���^_J�jٴ��,�q �\�jOvH��B�J�h��%k5A�==�7��~ ؗD��2�[�� ��Z�ؒ�
2
+ Z��s�@0�h����F�����h@>.��T�-�?���t���N�?q̢�����i�q!ݙ