fpm-cookery 0.5.0 → 0.6.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 +5 -0
- data/README.md +0 -1
- data/lib/fpm/cookery/cli.rb +29 -6
- data/lib/fpm/cookery/log/color.rb +53 -0
- data/lib/fpm/cookery/log/output/console.rb +34 -0
- data/lib/fpm/cookery/log/output/console_color.rb +35 -0
- data/lib/fpm/cookery/log/output/null.rb +12 -0
- data/lib/fpm/cookery/log.rb +44 -0
- data/lib/fpm/cookery/packager.rb +30 -11
- data/lib/fpm/cookery/source_handler/curl.rb +9 -4
- data/lib/fpm/cookery/source_handler/git.rb +2 -1
- data/lib/fpm/cookery/source_handler/svn.rb +5 -3
- data/lib/fpm/cookery/source_handler.rb +4 -1
- data/lib/fpm/cookery/version.rb +1 -1
- metadata +18 -13
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -132,7 +132,6 @@ The following is an example recipe. I have some more in my recipe collection
|
|
132
132
|
* No recipe validation yet.
|
133
133
|
* No dependency validation yet.
|
134
134
|
* No support for patches yet.
|
135
|
-
* No real logging output yet.
|
136
135
|
* Pretty new and not well tested.
|
137
136
|
|
138
137
|
## Credits
|
data/lib/fpm/cookery/cli.rb
CHANGED
@@ -1,11 +1,20 @@
|
|
1
1
|
require 'fpm/cookery/book_hook'
|
2
2
|
require 'fpm/cookery/recipe'
|
3
|
+
require 'fpm/cookery/facts'
|
3
4
|
require 'fpm/cookery/packager'
|
5
|
+
require 'fpm/cookery/log'
|
6
|
+
require 'fpm/cookery/log/output/console'
|
7
|
+
require 'fpm/cookery/log/output/console_color'
|
4
8
|
require 'optparse'
|
5
9
|
|
6
10
|
module FPM
|
7
11
|
module Cookery
|
8
12
|
class CLI
|
13
|
+
def initialize
|
14
|
+
@colors = true
|
15
|
+
@debug = false
|
16
|
+
end
|
17
|
+
|
9
18
|
def args(argv)
|
10
19
|
program = File.basename($0)
|
11
20
|
options = OptionParser.new
|
@@ -16,6 +25,15 @@ module FPM
|
|
16
25
|
options.separator " clean - cleans up"
|
17
26
|
options.separator "Options:"
|
18
27
|
|
28
|
+
options.on("-c", "--color",
|
29
|
+
"Toggle color. (default #{@colors.inspect})") do |o|
|
30
|
+
@colors = !@colors
|
31
|
+
end
|
32
|
+
|
33
|
+
options.on("-D", "--debug", "Enable debug output.") do |o|
|
34
|
+
@debug = true
|
35
|
+
end
|
36
|
+
|
19
37
|
options.on("-t TARGET", "--target TARGET",
|
20
38
|
"Set the desired fpm output target (deb, rpm, etc)") do |o|
|
21
39
|
@target = o
|
@@ -29,6 +47,14 @@ module FPM
|
|
29
47
|
# Parse flags and such, remainder is all non-option args.
|
30
48
|
remainder = options.parse(argv)
|
31
49
|
|
50
|
+
# Initialize logging.
|
51
|
+
FPM::Cookery::Log.enable_debug(@debug)
|
52
|
+
if @colors
|
53
|
+
FPM::Cookery::Log.output(FPM::Cookery::Log::Output::ConsoleColor.new)
|
54
|
+
else
|
55
|
+
FPM::Cookery::Log.output(FPM::Cookery::Log::Output::Console.new)
|
56
|
+
end
|
57
|
+
|
32
58
|
# Default recipe to find is in current directory named 'recipe.rb'
|
33
59
|
@filename = File.expand_path('recipe.rb')
|
34
60
|
|
@@ -56,14 +82,13 @@ module FPM
|
|
56
82
|
|
57
83
|
def validate
|
58
84
|
unless File.exists?(@filename)
|
59
|
-
|
85
|
+
Log.error 'No recipe.rb found in the current directory, abort.'
|
60
86
|
exit 1
|
61
87
|
end
|
62
88
|
|
63
89
|
# Default action is "package"
|
64
90
|
if @actions.empty?
|
65
91
|
@actions = ["package"]
|
66
|
-
puts "No actions given, assuming 'package'"
|
67
92
|
end
|
68
93
|
|
69
94
|
# Override the detected platform.
|
@@ -76,12 +101,10 @@ module FPM
|
|
76
101
|
end
|
77
102
|
|
78
103
|
if FPM::Cookery::Facts.target.nil?
|
79
|
-
|
104
|
+
Log.error "No target given and we're unable to detect your platform"
|
80
105
|
exit 1
|
81
106
|
end
|
82
107
|
|
83
|
-
puts "Platform: #{FPM::Cookery::Facts.platform}"
|
84
|
-
puts "Target: #{FPM::Cookery::Facts.target}"
|
85
108
|
end
|
86
109
|
|
87
110
|
def run
|
@@ -99,7 +122,7 @@ module FPM
|
|
99
122
|
when "package" ; packager.dispense
|
100
123
|
else
|
101
124
|
# TODO(sissel): fail if this happens
|
102
|
-
|
125
|
+
Log.error "Unknown action: #{action}"
|
103
126
|
end
|
104
127
|
end
|
105
128
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module FPM
|
2
|
+
module Cookery
|
3
|
+
module Log
|
4
|
+
class Color
|
5
|
+
CODES = {
|
6
|
+
:black => 30,
|
7
|
+
:blue => 34,
|
8
|
+
:cyan => 36,
|
9
|
+
:green => 32,
|
10
|
+
:magenta => 35,
|
11
|
+
:red => 31,
|
12
|
+
:reset => 0,
|
13
|
+
:white => 39,
|
14
|
+
:yellow => 33,
|
15
|
+
}
|
16
|
+
|
17
|
+
class << self
|
18
|
+
def color(name, type = nil)
|
19
|
+
tint = CODES[name] || 0
|
20
|
+
|
21
|
+
case type
|
22
|
+
when :bold
|
23
|
+
escape("1;#{tint}")
|
24
|
+
when :underline
|
25
|
+
escape("4;#{tint}")
|
26
|
+
else
|
27
|
+
escape(tint)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def colorize(string, tint, type = nil)
|
32
|
+
"#{color(tint, type)}#{string}#{color(:reset)}"
|
33
|
+
end
|
34
|
+
|
35
|
+
def black(string, type = nil) colorize(string, :black, type) end
|
36
|
+
def blue(string, type = nil) colorize(string, :blue, type) end
|
37
|
+
def cyan(string, type = nil) colorize(string, :cyan, type) end
|
38
|
+
def green(string, type = nil) colorize(string, :green, type) end
|
39
|
+
def magenta(string, type = nil) colorize(string, :magenta, type) end
|
40
|
+
def red(string, type = nil) colorize(string, :red, type) end
|
41
|
+
def reset(string, type = nil) colorize(string, :reset, type) end
|
42
|
+
def white(string, type = nil) colorize(string, :white, type) end
|
43
|
+
def yellow(string, type = nil) colorize(string, :yellow, type) end
|
44
|
+
|
45
|
+
private
|
46
|
+
def escape(num)
|
47
|
+
"\033[#{num}m" if $stdout.tty?
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
|
2
|
+
module FPM
|
3
|
+
module Cookery
|
4
|
+
module Log
|
5
|
+
module Output
|
6
|
+
class Console
|
7
|
+
def debug(message)
|
8
|
+
STDOUT.puts "DEBUG: #{message}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def info(message)
|
12
|
+
STDOUT.puts "===> #{message}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def puts(message)
|
16
|
+
STDOUT.puts "#{message}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def warn(message)
|
20
|
+
STDERR.puts "WARNING: #{message}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def error(message)
|
24
|
+
STDERR.puts "ERROR: #{message}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def fatal(message)
|
28
|
+
STDERR.puts "FATAL: #{message}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'fpm/cookery/log/color'
|
2
|
+
|
3
|
+
module FPM
|
4
|
+
module Cookery
|
5
|
+
module Log
|
6
|
+
module Output
|
7
|
+
class ConsoleColor
|
8
|
+
def debug(message)
|
9
|
+
puts "#{Color.cyan('DEBUG:')} #{message}"
|
10
|
+
end
|
11
|
+
|
12
|
+
def info(message)
|
13
|
+
puts "#{Color.blue('===>')} #{message}"
|
14
|
+
end
|
15
|
+
|
16
|
+
def puts(message)
|
17
|
+
Kernel.puts "#{message}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def warn(message)
|
21
|
+
STDERR.puts "#{Color.yellow('WARNING:')} #{message}"
|
22
|
+
end
|
23
|
+
|
24
|
+
def error(message)
|
25
|
+
STDERR.puts "#{Color.red('ERROR:')} #{message}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def fatal(message)
|
29
|
+
STDERR.puts "#{Color.red('FATAL:', :bold)} #{message}"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'fpm/cookery/log/output/null'
|
2
|
+
|
3
|
+
module FPM
|
4
|
+
module Cookery
|
5
|
+
module Log
|
6
|
+
@debug = false
|
7
|
+
@output = FPM::Cookery::Log::Output::Null.new
|
8
|
+
|
9
|
+
class << self
|
10
|
+
def enable_debug(value = true)
|
11
|
+
@debug = value
|
12
|
+
end
|
13
|
+
|
14
|
+
def output(out)
|
15
|
+
@output = out
|
16
|
+
end
|
17
|
+
|
18
|
+
def debug(message)
|
19
|
+
@output.debug(message) if @debug
|
20
|
+
end
|
21
|
+
|
22
|
+
def info(message)
|
23
|
+
@output.info(message)
|
24
|
+
end
|
25
|
+
|
26
|
+
def warn(message)
|
27
|
+
@output.warn(message)
|
28
|
+
end
|
29
|
+
|
30
|
+
def error(message)
|
31
|
+
@output.error(message)
|
32
|
+
end
|
33
|
+
|
34
|
+
def fatal(message)
|
35
|
+
@output.fatal(message)
|
36
|
+
end
|
37
|
+
|
38
|
+
def puts(message)
|
39
|
+
@output.puts(message)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/fpm/cookery/packager.rb
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
#require 'fpm/cookery/dependency_inspector'
|
4
4
|
require 'fpm/cookery/utils'
|
5
5
|
require 'fpm/cookery/source_integrity_check'
|
6
|
+
require 'fpm/cookery/path'
|
7
|
+
require 'fpm/cookery/log'
|
6
8
|
|
7
9
|
module FPM
|
8
10
|
module Cookery
|
@@ -22,6 +24,7 @@ module FPM
|
|
22
24
|
end
|
23
25
|
|
24
26
|
def cleanup
|
27
|
+
Log.info "Cleanup!"
|
25
28
|
# TODO(sissel): do some sanity checking to make sure we don't
|
26
29
|
# accidentally rm -rf the wrong thing.
|
27
30
|
FileUtils.rm_rf(recipe.builddir)
|
@@ -30,6 +33,12 @@ module FPM
|
|
30
33
|
|
31
34
|
def dispense
|
32
35
|
env = ENV.to_hash
|
36
|
+
package_name = "#{recipe.name}-#{recipe.version}"
|
37
|
+
platform = FPM::Cookery::Facts.platform
|
38
|
+
target = FPM::Cookery::Facts.target
|
39
|
+
|
40
|
+
Log.info "Starting package creation for #{package_name} (#{platform}, #{target})"
|
41
|
+
Log.info ''
|
33
42
|
|
34
43
|
# RecipeInspector.verify!(recipe)
|
35
44
|
# DependencyInspector.verify!(recipe.depends, recipe.build_depends)
|
@@ -40,26 +49,27 @@ module FPM
|
|
40
49
|
|
41
50
|
recipe.cachedir.mkdir
|
42
51
|
Dir.chdir(recipe.cachedir) do
|
52
|
+
Log.info "Fetching source: #{source.source_url}"
|
43
53
|
source.fetch
|
44
54
|
|
45
55
|
if source.checksum?
|
46
56
|
SourceIntegrityCheck.new(recipe).tap do |check|
|
47
57
|
if check.checksum_missing?
|
48
|
-
|
49
|
-
|
50
|
-
------------------------------------------------------------------
|
58
|
+
Log.warn 'Recipe does not provide a checksum. (sha256, sha1 or md5)'
|
59
|
+
Log.puts <<-__WARN
|
51
60
|
Digest: #{check.digest}
|
52
61
|
Checksum: #{check.checksum_actual}
|
53
62
|
Filename: #{check.filename}
|
63
|
+
|
54
64
|
__WARN
|
55
65
|
elsif check.error?
|
56
|
-
|
57
|
-
|
58
|
-
------------------------------
|
66
|
+
Log.error 'Integrity check failed!'
|
67
|
+
Log.puts <<-__ERROR
|
59
68
|
Digest: #{check.digest}
|
60
69
|
Checksum expected: #{check.checksum_expected}
|
61
70
|
Checksum actual: #{check.checksum_actual}
|
62
71
|
Filename: #{check.filename}
|
72
|
+
|
63
73
|
__ERROR
|
64
74
|
exit 1
|
65
75
|
end
|
@@ -74,11 +84,12 @@ module FPM
|
|
74
84
|
Dir.chdir(extracted_source) do
|
75
85
|
#Source::Patches.new(recipe.patches).apply!
|
76
86
|
|
77
|
-
build_cookie = build_cookie_name(
|
87
|
+
build_cookie = build_cookie_name(package_name)
|
78
88
|
|
79
89
|
if File.exists?(build_cookie)
|
80
|
-
|
90
|
+
Log.info 'Skipping build (`fpm-cook clean` to rebuild)'
|
81
91
|
else
|
92
|
+
Log.info "Building in #{File.expand_path(extracted_source)}"
|
82
93
|
recipe.build and FileUtils.touch(build_cookie)
|
83
94
|
end
|
84
95
|
|
@@ -87,6 +98,7 @@ module FPM
|
|
87
98
|
|
88
99
|
begin
|
89
100
|
recipe.installing = true
|
101
|
+
Log.info "Installing into #{recipe.destdir}"
|
90
102
|
recipe.install
|
91
103
|
ensure
|
92
104
|
recipe.installing = false
|
@@ -160,11 +172,17 @@ module FPM
|
|
160
172
|
script_map = {"pre_install" => "--pre-install", "post_install" => "--post-install", "pre_uninstall" => "--pre-uninstall", "post_uninstall" => "--post-uninstall"}
|
161
173
|
%w[pre_install post_install pre_uninstall post_uninstall].each do |script|
|
162
174
|
unless recipe.send(script).nil?
|
163
|
-
script_file =
|
175
|
+
script_file = FPM::Cookery::Path.new(recipe.send(script))
|
176
|
+
|
177
|
+
# If the script file is an absolute path, just use that path.
|
178
|
+
# Otherwise consider the location relative to the recipe.
|
179
|
+
unless script_file.absolute?
|
180
|
+
script_file = File.expand_path("../#{script_file.to_s}", recipe.filename)
|
181
|
+
end
|
164
182
|
|
165
183
|
if File.exists?(script_file)
|
166
184
|
p_opt = script_map[script]
|
167
|
-
opts += ["#{p_opt}", script_file]
|
185
|
+
opts += ["#{p_opt}", script_file.to_s]
|
168
186
|
else
|
169
187
|
raise "#{script} script '#{script_file}' is missing"
|
170
188
|
end
|
@@ -181,7 +199,8 @@ module FPM
|
|
181
199
|
|
182
200
|
opts << '.'
|
183
201
|
|
184
|
-
|
202
|
+
Log.info 'Calling fpm to build the package'
|
203
|
+
Log.debug ['fpm', opts].flatten.inspect
|
185
204
|
safesystem(*['fpm', opts].flatten)
|
186
205
|
end
|
187
206
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fpm/cookery/source_handler/template'
|
2
|
+
require 'fpm/cookery/log'
|
2
3
|
|
3
4
|
module FPM
|
4
5
|
module Cookery
|
@@ -9,7 +10,9 @@ module FPM
|
|
9
10
|
CHECKSUM = true
|
10
11
|
|
11
12
|
def fetch
|
12
|
-
|
13
|
+
if local_path.exist?
|
14
|
+
Log.info "Using cached file #{local_path}"
|
15
|
+
else
|
13
16
|
Dir.chdir(cachedir) do
|
14
17
|
curl(url, local_path) unless local_path.exist?
|
15
18
|
end
|
@@ -25,8 +28,8 @@ module FPM
|
|
25
28
|
when '.zip'
|
26
29
|
safesystem('unzip', '-d', local_path.basename('.zip'), local_path)
|
27
30
|
end
|
31
|
+
extracted_source
|
28
32
|
end
|
29
|
-
extracted_source
|
30
33
|
end
|
31
34
|
|
32
35
|
private
|
@@ -43,8 +46,10 @@ module FPM
|
|
43
46
|
when 1
|
44
47
|
entries.first
|
45
48
|
else
|
46
|
-
|
47
|
-
dir =
|
49
|
+
# Use the directory that was created last.
|
50
|
+
dir = entries.sort do |a, b|
|
51
|
+
File.stat(a).ctime <=> File.stat(b).ctime
|
52
|
+
end.last
|
48
53
|
|
49
54
|
if File.exist?(dir)
|
50
55
|
dir
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fpm/cookery/source_handler/template'
|
2
|
+
require 'fpm/cookery/log'
|
2
3
|
|
3
4
|
module FPM
|
4
5
|
module Cookery
|
@@ -48,7 +49,7 @@ module FPM
|
|
48
49
|
|
49
50
|
private
|
50
51
|
def git(command, *args)
|
51
|
-
#
|
52
|
+
#Log.debug "git #{command} #{args.join(' ')}"
|
52
53
|
safesystem('git', command, *args)
|
53
54
|
end
|
54
55
|
end
|
@@ -19,8 +19,8 @@ module FPM
|
|
19
19
|
def extract
|
20
20
|
Dir.chdir(builddir) do
|
21
21
|
safesystem('cp', '-Rp', local_path, '.')
|
22
|
+
extracted_source
|
22
23
|
end
|
23
|
-
extracted_source
|
24
24
|
end
|
25
25
|
|
26
26
|
private
|
@@ -38,8 +38,10 @@ module FPM
|
|
38
38
|
when 1
|
39
39
|
entries.first
|
40
40
|
else
|
41
|
-
|
42
|
-
dir =
|
41
|
+
# Use the directory that was created last.
|
42
|
+
dir = entries.sort do |a, b|
|
43
|
+
File.stat(a).ctime <=> File.stat(b).ctime
|
44
|
+
end.last
|
43
45
|
|
44
46
|
if File.exist?(dir)
|
45
47
|
dir
|
@@ -2,6 +2,7 @@ require 'forwardable'
|
|
2
2
|
require 'fpm/cookery/source_handler/curl'
|
3
3
|
require 'fpm/cookery/source_handler/svn'
|
4
4
|
require 'fpm/cookery/source_handler/git'
|
5
|
+
require 'fpm/cookery/log'
|
5
6
|
|
6
7
|
module FPM
|
7
8
|
module Cookery
|
@@ -11,6 +12,8 @@ module FPM
|
|
11
12
|
extend Forwardable
|
12
13
|
def_delegators :@handler, :fetch, :extract, :local_path, :checksum?
|
13
14
|
|
15
|
+
attr_reader :source_url
|
16
|
+
|
14
17
|
def initialize(source_url, options, cachedir, builddir)
|
15
18
|
# The reason for these checks is related to the test cases
|
16
19
|
# Test cases for individual recipe attributes
|
@@ -38,7 +41,7 @@ module FPM
|
|
38
41
|
begin
|
39
42
|
self.class.const_get(provider.to_s.capitalize)
|
40
43
|
rescue NameError
|
41
|
-
|
44
|
+
Log.error "Specified provider #{provider} does not exist."
|
42
45
|
exit(1)
|
43
46
|
end
|
44
47
|
end
|
data/lib/fpm/cookery/version.rb
CHANGED
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.6.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-11-
|
12
|
+
date: 2011-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fpm
|
16
|
-
requirement: &
|
16
|
+
requirement: &82971890 !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: *82971890
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: minitest
|
27
|
-
requirement: &
|
27
|
+
requirement: &82971550 !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: *82971550
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &82970380 !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: *82970380
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: fpm
|
49
|
-
requirement: &
|
49
|
+
requirement: &82969850 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *82969850
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: facter
|
60
|
-
requirement: &
|
60
|
+
requirement: &82968920 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *82968920
|
69
69
|
description: A tool for building software packages with fpm.
|
70
70
|
email:
|
71
71
|
- bernd@tuneafish.de
|
@@ -86,6 +86,11 @@ files:
|
|
86
86
|
- lib/fpm/cookery/book_hook.rb
|
87
87
|
- lib/fpm/cookery/cli.rb
|
88
88
|
- lib/fpm/cookery/facts.rb
|
89
|
+
- lib/fpm/cookery/log.rb
|
90
|
+
- lib/fpm/cookery/log/color.rb
|
91
|
+
- lib/fpm/cookery/log/output/console.rb
|
92
|
+
- lib/fpm/cookery/log/output/console_color.rb
|
93
|
+
- lib/fpm/cookery/log/output/null.rb
|
89
94
|
- lib/fpm/cookery/packager.rb
|
90
95
|
- lib/fpm/cookery/path.rb
|
91
96
|
- lib/fpm/cookery/path_helper.rb
|
@@ -128,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
133
|
version: '0'
|
129
134
|
requirements: []
|
130
135
|
rubyforge_project: fpm-cookery
|
131
|
-
rubygems_version: 1.8.
|
136
|
+
rubygems_version: 1.8.11
|
132
137
|
signing_key:
|
133
138
|
specification_version: 3
|
134
139
|
summary: A tool for building software packages with fpm.
|