fpm-cookery 0.3.0 → 0.4.0
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.
- data/CHANGELOG.md +8 -0
- data/fpm-cookery.gemspec +1 -0
- data/lib/fpm/cookery/cli.rb +23 -7
- data/lib/fpm/cookery/facts.rb +30 -0
- data/lib/fpm/cookery/packager.rb +21 -19
- data/lib/fpm/cookery/recipe.rb +9 -0
- data/lib/fpm/cookery/source_handler/curl.rb +6 -0
- data/lib/fpm/cookery/source_handler/svn.rb +54 -0
- data/lib/fpm/cookery/source_handler/template.rb +10 -1
- data/lib/fpm/cookery/source_handler.rb +25 -7
- data/lib/fpm/cookery/version.rb +1 -1
- data/recipes/redis/recipe.rb +6 -3
- data/spec/facts_spec.rb +77 -0
- data/spec/recipe_spec.rb +54 -0
- metadata +24 -10
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# v0.4.0 (2011-10-28)
|
2
|
+
* Add svn source handler. (lusis)
|
3
|
+
* Framework for alternate source handlers. (lusis)
|
4
|
+
* Add .zip support to the curl source handler.
|
5
|
+
* Detect package target based on the platform.
|
6
|
+
* Allow platform specific options. (like dependencies) (lusis)
|
7
|
+
* Add platform (operating system) detection. (lusis)
|
8
|
+
|
1
9
|
# v0.3.0 (2011-10-25)
|
2
10
|
* Select vendor string delimiter based on the package target. (lusis)
|
3
11
|
* Add pre/post install/uninstall script support. (lusis)
|
data/fpm-cookery.gemspec
CHANGED
data/lib/fpm/cookery/cli.rb
CHANGED
@@ -21,6 +21,11 @@ module FPM
|
|
21
21
|
@target = o
|
22
22
|
end
|
23
23
|
|
24
|
+
options.on("-p PLATFORM", "--platform PLATFORM",
|
25
|
+
"Set the target platform. (centos, ubuntu, debian)") do |o|
|
26
|
+
@platform = o
|
27
|
+
end
|
28
|
+
|
24
29
|
# Parse flags and such, remainder is all non-option args.
|
25
30
|
remainder = options.parse(argv)
|
26
31
|
|
@@ -55,17 +60,28 @@ module FPM
|
|
55
60
|
exit 1
|
56
61
|
end
|
57
62
|
|
58
|
-
if @target.nil?
|
59
|
-
# TODO(sissel): Detect platform, try to guess @target?
|
60
|
-
@target = "deb"
|
61
|
-
puts "No --target given, assuming #{@target}"
|
62
|
-
end
|
63
|
-
|
64
63
|
# Default action is "package"
|
65
64
|
if @actions.empty?
|
66
65
|
@actions = ["package"]
|
67
66
|
puts "No actions given, assuming 'package'"
|
68
67
|
end
|
68
|
+
|
69
|
+
# Override the detected platform.
|
70
|
+
if @platform
|
71
|
+
FPM::Cookery::Facts.platform = @platform
|
72
|
+
end
|
73
|
+
|
74
|
+
if @target
|
75
|
+
FPM::Cookery::Facts.target = @target
|
76
|
+
end
|
77
|
+
|
78
|
+
if FPM::Cookery::Facts.target.nil?
|
79
|
+
STDERR.puts "No target given and we're unable to detect your platform"
|
80
|
+
exit 1
|
81
|
+
end
|
82
|
+
|
83
|
+
puts "Platform: #{FPM::Cookery::Facts.platform}"
|
84
|
+
puts "Target: #{FPM::Cookery::Facts.target}"
|
69
85
|
end
|
70
86
|
|
71
87
|
def run
|
@@ -75,7 +91,7 @@ module FPM
|
|
75
91
|
|
76
92
|
FPM::Cookery::Book.load_recipe(@filename) do |recipe|
|
77
93
|
packager = FPM::Cookery::Packager.new(recipe)
|
78
|
-
packager.target =
|
94
|
+
packager.target = FPM::Cookery::Facts.target.to_s
|
79
95
|
|
80
96
|
@actions.each do |action|
|
81
97
|
case action
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'facter'
|
2
|
+
|
3
|
+
module FPM
|
4
|
+
module Cookery
|
5
|
+
class Facts
|
6
|
+
def self.platform
|
7
|
+
@platform ||= Facter.fact(:operatingsystem).value.downcase.to_sym
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.platform=(value)
|
11
|
+
@platform = value.downcase.to_sym
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.target
|
15
|
+
@target ||= case platform
|
16
|
+
when :centos, :redhat, :fedora then :rpm
|
17
|
+
when :debian, :ubuntu then :deb
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.target=(value)
|
22
|
+
@target = value.to_sym
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.reset!
|
26
|
+
instance_variables.each {|v| instance_variable_set(v, nil) }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/fpm/cookery/packager.rb
CHANGED
@@ -42,25 +42,27 @@ module FPM
|
|
42
42
|
Dir.chdir(recipe.cachedir) do
|
43
43
|
source.fetch
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
Checksum
|
61
|
-
|
62
|
-
|
63
|
-
|
45
|
+
if source.checksum?
|
46
|
+
SourceIntegrityCheck.new(recipe).tap do |check|
|
47
|
+
if check.checksum_missing?
|
48
|
+
STDERR.puts <<-__WARN
|
49
|
+
WARNING: Recipe does not provide a checksum. (sha256, sha1 or md5)
|
50
|
+
------------------------------------------------------------------
|
51
|
+
Digest: #{check.digest}
|
52
|
+
Checksum: #{check.checksum_actual}
|
53
|
+
Filename: #{check.filename}
|
54
|
+
__WARN
|
55
|
+
elsif check.error?
|
56
|
+
STDERR.puts <<-__ERROR
|
57
|
+
ERROR: Integrity check failed!
|
58
|
+
------------------------------
|
59
|
+
Digest: #{check.digest}
|
60
|
+
Checksum expected: #{check.checksum_expected}
|
61
|
+
Checksum actual: #{check.checksum_actual}
|
62
|
+
Filename: #{check.filename}
|
63
|
+
__ERROR
|
64
|
+
exit 1
|
65
|
+
end
|
64
66
|
end
|
65
67
|
end
|
66
68
|
end
|
data/lib/fpm/cookery/recipe.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'forwardable'
|
2
2
|
require 'fileutils'
|
3
|
+
require 'fpm/cookery/facts'
|
3
4
|
require 'fpm/cookery/source_handler'
|
4
5
|
require 'fpm/cookery/utils'
|
5
6
|
require 'fpm/cookery/path_helper'
|
@@ -25,6 +26,10 @@ module FPM
|
|
25
26
|
end
|
26
27
|
end
|
27
28
|
|
29
|
+
def self.platforms(valid_platforms)
|
30
|
+
Array(valid_platforms).member?(self.platform) and block_given? ? yield : false
|
31
|
+
end
|
32
|
+
|
28
33
|
def self.attr_rw_list(*attrs)
|
29
34
|
attrs.each do |attr|
|
30
35
|
class_eval %Q{
|
@@ -57,6 +62,10 @@ module FPM
|
|
57
62
|
@spec = spec
|
58
63
|
end
|
59
64
|
alias_method :url, :source
|
65
|
+
|
66
|
+
def platform
|
67
|
+
FPM::Cookery::Facts.platform
|
68
|
+
end
|
60
69
|
end
|
61
70
|
|
62
71
|
def source
|
@@ -4,6 +4,10 @@ module FPM
|
|
4
4
|
module Cookery
|
5
5
|
class SourceHandler
|
6
6
|
class Curl < FPM::Cookery::SourceHandler::Template
|
7
|
+
|
8
|
+
NAME = :curl
|
9
|
+
CHECKSUM = true
|
10
|
+
|
7
11
|
def fetch
|
8
12
|
unless local_path.exist?
|
9
13
|
Dir.chdir(cachedir) do
|
@@ -18,6 +22,8 @@ module FPM
|
|
18
22
|
case local_path.extname
|
19
23
|
when '.bz2', '.gz', '.tgz'
|
20
24
|
safesystem('tar', 'xf', local_path)
|
25
|
+
when '.zip'
|
26
|
+
safesystem('unzip', '-d', local_path.basename('.zip'), local_path)
|
21
27
|
end
|
22
28
|
end
|
23
29
|
extracted_source
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'fpm/cookery/source_handler/template'
|
2
|
+
|
3
|
+
module FPM
|
4
|
+
module Cookery
|
5
|
+
class SourceHandler
|
6
|
+
class Svn < FPM::Cookery::SourceHandler::Template
|
7
|
+
|
8
|
+
CHECKSUM = false
|
9
|
+
NAME = :svn
|
10
|
+
|
11
|
+
def fetch
|
12
|
+
# TODO(lusis) - implement some caching using 'svn info'?
|
13
|
+
Dir.chdir(cachedir) do
|
14
|
+
svn(url, local_path)
|
15
|
+
end
|
16
|
+
local_path
|
17
|
+
end
|
18
|
+
|
19
|
+
def extract
|
20
|
+
Dir.chdir(builddir) do
|
21
|
+
safesystem('cp', '-Rp', local_path, '.')
|
22
|
+
end
|
23
|
+
extracted_source
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
def svn(url, path)
|
28
|
+
@options.has_key?(:revision) ? revision=@options[:revision] : revision='HEAD'
|
29
|
+
safesystem('svn', 'export', '--force', '-q', '-r', revision, url, path)
|
30
|
+
end
|
31
|
+
|
32
|
+
def extracted_source
|
33
|
+
entries = Dir['*'].select {|dir| File.directory?(dir) }
|
34
|
+
|
35
|
+
case entries.size
|
36
|
+
when 0
|
37
|
+
raise "Empty checkout! (#{local_path})"
|
38
|
+
when 1
|
39
|
+
entries.first
|
40
|
+
else
|
41
|
+
ext = Path.new(url).extname
|
42
|
+
dir = local_path.basename(ext)
|
43
|
+
|
44
|
+
if File.exist?(dir)
|
45
|
+
dir
|
46
|
+
else
|
47
|
+
raise "Could not find source directory for #{local_path.basename}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -6,13 +6,18 @@ module FPM
|
|
6
6
|
class Template
|
7
7
|
include FPM::Cookery::Utils
|
8
8
|
|
9
|
-
|
9
|
+
NAME = :template
|
10
|
+
CHECKSUM = true
|
11
|
+
|
12
|
+
attr_reader :url, :options, :cachedir, :builddir, :has_checksum, :name
|
10
13
|
|
11
14
|
def initialize(source_url, options, cachedir, builddir)
|
12
15
|
@url = source_url
|
13
16
|
@options = options
|
14
17
|
@cachedir = cachedir
|
15
18
|
@builddir = builddir
|
19
|
+
@has_checksum = self.class::CHECKSUM
|
20
|
+
@name = self.class::NAME
|
16
21
|
end
|
17
22
|
|
18
23
|
def fetch
|
@@ -23,6 +28,10 @@ module FPM
|
|
23
28
|
raise "#{self}#extract not implemented!"
|
24
29
|
end
|
25
30
|
|
31
|
+
def checksum?
|
32
|
+
@has_checksum
|
33
|
+
end
|
34
|
+
|
26
35
|
def local_path
|
27
36
|
@local_path ||= cachedir/(options[:as] || File.basename(url))
|
28
37
|
end
|
@@ -1,26 +1,44 @@
|
|
1
1
|
require 'forwardable'
|
2
2
|
require 'fpm/cookery/source_handler/curl'
|
3
|
+
require 'fpm/cookery/source_handler/svn'
|
3
4
|
|
4
5
|
module FPM
|
5
6
|
module Cookery
|
6
7
|
class SourceHandler
|
8
|
+
DEFAULT_HANDLER = :curl
|
9
|
+
|
7
10
|
extend Forwardable
|
8
|
-
def_delegators :@handler, :fetch, :extract, :local_path
|
11
|
+
def_delegators :@handler, :fetch, :extract, :local_path, :checksum?
|
9
12
|
|
10
13
|
def initialize(source_url, options, cachedir, builddir)
|
14
|
+
# The reason for these checks is related to the test cases
|
15
|
+
# Test cases for individual recipe attributes
|
16
|
+
# are not setting spec before hand (due to delegation chain?)
|
17
|
+
# Additionally, one test actually has options being sent as a String
|
18
|
+
if ( options.nil? || options.class == String || options.has_key?(:with) == false)
|
19
|
+
@source_provider = DEFAULT_HANDLER
|
20
|
+
else
|
21
|
+
@source_provider = options[:with]
|
22
|
+
end
|
11
23
|
@source_url = source_url
|
12
24
|
@options = options
|
13
25
|
@cachedir = cachedir
|
14
26
|
@builddir = builddir
|
15
|
-
@handler = get_source_handler
|
27
|
+
@handler = get_source_handler(@source_provider)
|
16
28
|
end
|
17
29
|
|
18
30
|
private
|
19
|
-
def get_source_handler
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
31
|
+
def get_source_handler(provider)
|
32
|
+
klass = handler_to_class(provider)
|
33
|
+
klass.new(@source_url, @options, @cachedir, @builddir)
|
34
|
+
end
|
35
|
+
|
36
|
+
def handler_to_class(provider)
|
37
|
+
begin
|
38
|
+
self.class.const_get(provider.to_s.capitalize)
|
39
|
+
rescue NameError
|
40
|
+
STDERR.puts "Specified provider #{provider} does not exist."
|
41
|
+
exit(1)
|
24
42
|
end
|
25
43
|
end
|
26
44
|
end
|
data/lib/fpm/cookery/version.rb
CHANGED
data/recipes/redis/recipe.rb
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
class Redis < FPM::Cookery::Recipe
|
2
2
|
homepage 'http://redis.io'
|
3
|
-
source
|
4
|
-
|
3
|
+
# different source methods
|
4
|
+
#source 'https://github.com/antirez/redis/trunk', :with => :svn
|
5
|
+
#source 'https://github.com/antirez/redis/trunk', :with => :svn, :revision => '2400'
|
6
|
+
source 'http://redis.googlecode.com/files/redis-2.4.2.tar.gz'
|
7
|
+
md5 'c4b0b5e4953a11a503cb54cf6b09670e'
|
5
8
|
|
6
9
|
name 'redis-server'
|
7
|
-
version '2.2
|
10
|
+
version '2.4.2'
|
8
11
|
# revision '0' # => redis-server-2.2.5+fpm1
|
9
12
|
|
10
13
|
description 'An advanced key-value store.'
|
data/spec/facts_spec.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'ostruct'
|
3
|
+
require 'fpm/cookery/facts'
|
4
|
+
|
5
|
+
describe "Facts" do
|
6
|
+
before do
|
7
|
+
FPM::Cookery::Facts.reset!
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "platform" do
|
11
|
+
before do
|
12
|
+
Facter.class_eval do
|
13
|
+
def self.fact(v)
|
14
|
+
v == :operatingsystem ? OpenStruct.new(:value => 'CentOS') : nil
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
it "is using Facter to autodetect the platform" do
|
20
|
+
FPM::Cookery::Facts.platform.must_equal :centos
|
21
|
+
end
|
22
|
+
|
23
|
+
it "can be set" do
|
24
|
+
FPM::Cookery::Facts.platform = 'CentOS'
|
25
|
+
FPM::Cookery::Facts.platform.must_equal :centos
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "target" do
|
30
|
+
describe "with platform CentOS" do
|
31
|
+
it "returns rpm" do
|
32
|
+
FPM::Cookery::Facts.platform = 'CentOS'
|
33
|
+
FPM::Cookery::Facts.target.must_equal :rpm
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "with platform RedHat" do
|
38
|
+
it "returns rpm" do
|
39
|
+
FPM::Cookery::Facts.platform = 'RedHat'
|
40
|
+
FPM::Cookery::Facts.target.must_equal :rpm
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "with platform Fedora" do
|
45
|
+
it "returns rpm" do
|
46
|
+
FPM::Cookery::Facts.platform = 'Fedora'
|
47
|
+
FPM::Cookery::Facts.target.must_equal :rpm
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "with platform Debian" do
|
52
|
+
it "returns rpm" do
|
53
|
+
FPM::Cookery::Facts.platform = 'Debian'
|
54
|
+
FPM::Cookery::Facts.target.must_equal :deb
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "with platform Ubuntu" do
|
59
|
+
it "returns rpm" do
|
60
|
+
FPM::Cookery::Facts.platform = 'Ubuntu'
|
61
|
+
FPM::Cookery::Facts.target.must_equal :deb
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "with an unknown platform" do
|
66
|
+
it "returns nil" do
|
67
|
+
FPM::Cookery::Facts.platform = '___X___'
|
68
|
+
FPM::Cookery::Facts.target.must_equal nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
it "can be set" do
|
73
|
+
FPM::Cookery::Facts.target = 'rpm'
|
74
|
+
FPM::Cookery::Facts.target.must_equal :rpm
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
data/spec/recipe_spec.rb
CHANGED
@@ -2,6 +2,8 @@ require 'spec_helper'
|
|
2
2
|
require 'fpm/cookery/recipe'
|
3
3
|
|
4
4
|
class TestRecipe < FPM::Cookery::Recipe
|
5
|
+
NAME = :test_recipe
|
6
|
+
CHECKSUM = true
|
5
7
|
end
|
6
8
|
|
7
9
|
describe "Recipe" do
|
@@ -72,6 +74,8 @@ describe "Recipe" do
|
|
72
74
|
spec_recipe_attribute(:name, 'redis')
|
73
75
|
spec_recipe_attribute(:revision, 12)
|
74
76
|
spec_recipe_attribute(:section, 'lang')
|
77
|
+
# NOTE(lusis)
|
78
|
+
# see comment in `SourceHandler#initialize` r.e. options as `String`
|
75
79
|
spec_recipe_attribute(:spec, {:foo => true})
|
76
80
|
spec_recipe_attribute(:vendor, 'myvendor')
|
77
81
|
spec_recipe_attribute(:version, '1.2')
|
@@ -174,6 +178,56 @@ describe "Recipe" do
|
|
174
178
|
end
|
175
179
|
end
|
176
180
|
|
181
|
+
describe ".platforms" do
|
182
|
+
describe "with a list of platforms" do
|
183
|
+
it "allows platform specific settings" do
|
184
|
+
klass.class_eval do
|
185
|
+
def self.platform; :ubuntu; end
|
186
|
+
|
187
|
+
vendor 'a'
|
188
|
+
|
189
|
+
platforms [:centos, :ubuntu] do
|
190
|
+
vendor 'b'
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
klass.new(__FILE__).vendor.must_equal 'b'
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
describe "with a single platform" do
|
199
|
+
it "allows platform specific settings" do
|
200
|
+
klass.class_eval do
|
201
|
+
def self.platform; :ubuntu; end
|
202
|
+
|
203
|
+
vendor 'a'
|
204
|
+
|
205
|
+
platforms :ubuntu do
|
206
|
+
vendor 'b'
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
klass.new(__FILE__).vendor.must_equal 'b'
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
describe "without a matching platform" do
|
215
|
+
it "does not set platform specific stuff" do
|
216
|
+
klass.class_eval do
|
217
|
+
def self.platform; :centos; end
|
218
|
+
|
219
|
+
vendor 'a'
|
220
|
+
|
221
|
+
platforms :ubuntu do
|
222
|
+
vendor 'b'
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
226
|
+
klass.new(__FILE__).vendor.must_equal 'a'
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
177
231
|
|
178
232
|
#############################################################################
|
179
233
|
# Directories
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fpm-cookery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fpm
|
16
|
-
requirement: &
|
16
|
+
requirement: &84112030 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *84112030
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: minitest
|
27
|
-
requirement: &
|
27
|
+
requirement: &84111800 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *84111800
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &84127950 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *84127950
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: fpm
|
49
|
-
requirement: &
|
49
|
+
requirement: &84127720 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,18 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *84127720
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: facter
|
60
|
+
requirement: &84127470 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *84127470
|
58
69
|
description: A tool for building software packages with fpm.
|
59
70
|
email:
|
60
71
|
- bernd@tuneafish.de
|
@@ -74,12 +85,14 @@ files:
|
|
74
85
|
- lib/fpm/cookery/book.rb
|
75
86
|
- lib/fpm/cookery/book_hook.rb
|
76
87
|
- lib/fpm/cookery/cli.rb
|
88
|
+
- lib/fpm/cookery/facts.rb
|
77
89
|
- lib/fpm/cookery/packager.rb
|
78
90
|
- lib/fpm/cookery/path.rb
|
79
91
|
- lib/fpm/cookery/path_helper.rb
|
80
92
|
- lib/fpm/cookery/recipe.rb
|
81
93
|
- lib/fpm/cookery/source_handler.rb
|
82
94
|
- lib/fpm/cookery/source_handler/curl.rb
|
95
|
+
- lib/fpm/cookery/source_handler/svn.rb
|
83
96
|
- lib/fpm/cookery/source_handler/template.rb
|
84
97
|
- lib/fpm/cookery/source_integrity_check.rb
|
85
98
|
- lib/fpm/cookery/utils.rb
|
@@ -87,6 +100,7 @@ files:
|
|
87
100
|
- recipes/nodejs/recipe.rb
|
88
101
|
- recipes/redis/recipe.rb
|
89
102
|
- recipes/redis/redis-server.init.d
|
103
|
+
- spec/facts_spec.rb
|
90
104
|
- spec/fixtures/test-source-1.0.tar.gz
|
91
105
|
- spec/path_helper_spec.rb
|
92
106
|
- spec/path_spec.rb
|