-
-
Notifications
You must be signed in to change notification settings - Fork 176
Expand file tree
/
Copy pathplatform_defaults.rb
More file actions
65 lines (54 loc) · 1.64 KB
/
platform_defaults.rb
File metadata and controls
65 lines (54 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
module Ark
module PlatformDefaults
module_function
def prefix_root
'/usr/local'
end
def prefix_bin
'/usr/local/bin'
end
def prefix_home
'/usr/local'
end
def version
'1'
end
def package_dependencies(node)
return [] if platform_family?(node, 'windows', 'mac_os_x')
pkgs = %w(libtool autoconf)
pkgs += %w(ca-certificates) unless platform_family?(node, 'freebsd') || platform?(node, 'smartos')
pkgs += %w(make) unless platform_family?(node, 'freebsd')
pkgs += %w(unzip rsync gcc)
pkgs += %w(autogen) unless platform_family?(node, 'rhel', 'fedora', 'suse', 'amazon')
pkgs += %w(gtar) if platform?(node, 'freebsd', 'smartos')
pkgs += %w(gmake) if platform?(node, 'freebsd')
if platform_family?(node, 'rhel', 'suse', 'amazon')
pkgs += if node['platform_version'].to_i >= 7
%w(xz bzip2 tar)
else
%w(xz-lzma-compat bzip2 tar)
end
elsif platform_family?(node, 'fedora')
pkgs += %w(xz-lzma-compat bzip2 tar)
end
pkgs += %w(bzip2 xz-utils shtool pkg-config) if platform_family?(node, 'debian')
pkgs
end
def tar_binary(node)
case node['platform_family']
when 'mac_os_x', 'freebsd'
'/usr/bin/tar'
when 'smartos'
'/bin/gtar'
else
platform?(node, 'smartos') ? '/bin/gtar' : '/bin/tar'
end
end
def platform_family?(node, *families)
families.include?(node['platform_family'])
end
def platform?(node, *platforms)
platforms.include?(node['platform'])
end
end
end