puppet_module_packaging 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data/.gitignore +12 -0
- data/.ruby-version +1 -0
- data/.travis.yml +17 -0
- data/Changelog.md +6 -0
- data/Gemfile +3 -0
- data/LICENSE +22 -0
- data/README.md +90 -0
- data/Rakefile +22 -0
- data/Vagrantfile +11 -0
- data/lib/puppet_module/pkg/tasks/build.rb +120 -0
- data/lib/puppet_module/pkg/tasks/clean.rb +15 -0
- data/lib/puppet_module/pkg/tasks/deb.rb +13 -0
- data/lib/puppet_module/pkg/tasks/install.rb +33 -0
- data/lib/puppet_module/pkg/tasks/modulefile.rb +69 -0
- data/lib/puppet_module/pkg/tasks/rake_tasks.rb +42 -0
- data/lib/puppet_module/pkg/tasks/rpm.rb +13 -0
- data/lib/puppet_module/pkg/tasks/system.rb +25 -0
- data/lib/puppet_module/pkg/tasks.rb +13 -0
- data/lib/puppet_module/pkg/version.rb +5 -0
- data/puppet_module_packaging.gemspec +40 -0
- data/rubygems-stefanozanella.crt +20 -0
- data/test/end_to_end/.gitkeep +0 -0
- data/test/end_to_end/clean_test.rb +14 -0
- data/test/end_to_end/install_test.rb +34 -0
- data/test/end_to_end/pkg_test.rb +33 -0
- data/test/end_to_end/tasks_test.rb +16 -0
- data/test/fixture/testmod/Modulefile +13 -0
- data/test/fixture/testmod/Modulefile.no_name_or_author +2 -0
- data/test/fixture/testmod/Modulefile.no_version +1 -0
- data/test/fixture/testmod/Rakefile +3 -0
- data/test/fixture/testmod/files/example.dat +0 -0
- data/test/fixture/testmod/lib/utils.rb +0 -0
- data/test/fixture/testmod/manifests/init.pp +0 -0
- data/test/fixture/testmod/templates/config.erb +0 -0
- data/test/integration/modulefile_test.rb +50 -0
- data/test/integration/system_test.rb +59 -0
- data/test/test_helper.rb +85 -0
- data/test/test_vm.pp +23 -0
- data/test/unit/.gitkeep +0 -0
- data/test/unit/build_test.rb +81 -0
- data/test/unit/clean_test.rb +13 -0
- data/test/unit/install_test.rb +34 -0
- data.tar.gz.sig +0 -0
- metadata +242 -0
- 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 @@
|
|
1
|
+
name 'testdev/testmod'
|
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
|
data/test/test_helper.rb
ADDED
@@ -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
|
+
}
|
data/test/unit/.gitkeep
ADDED
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