puppet_module_packaging 0.0.1
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 +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