bunchr 0.1.6 → 0.1.7
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 +4 -4
- data/lib/bunchr/ohai.rb +1 -0
- data/lib/bunchr/packages.rb +49 -14
- data/lib/bunchr/software.rb +3 -3
- data/lib/bunchr/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e33b41c1da8008ed42f82b43adf8f1d55c865408
|
4
|
+
data.tar.gz: e75b37cda8720b625c6e330232dd74a0bb42c7e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb6a260cc02821557098c6194c651d871ec3474951ab6333bc2d8504d2aef47b8e7934454bfb3873d73394c40dfb9ebf0952c9339c0b1723ff284996434283c8
|
7
|
+
data.tar.gz: 9894fd7bdfb924cefbae555d8a924af350e7a6314b052c965ae53c4bf95ab9f9a0b0348e836f7a60693e3621f0320d6cea6e8c47a15ef2b15f07c96e70e8aa28
|
data/lib/bunchr/ohai.rb
CHANGED
data/lib/bunchr/packages.rb
CHANGED
@@ -9,22 +9,26 @@ module Bunchr
|
|
9
9
|
include ::Bunchr::Utils
|
10
10
|
|
11
11
|
# only attempt to build .rpm's on these platforms (as reported by
|
12
|
-
# ohai
|
12
|
+
# ohai[:platform])
|
13
13
|
RPM_PLATFORMS = %w[centos redhat fedora scientific suse]
|
14
14
|
|
15
15
|
# only attempt to build .deb's on these platforms (as reported by
|
16
16
|
# ohai.platform)
|
17
|
-
DEB_PLATFORMS = %w[debian ubuntu]
|
17
|
+
DEB_PLATFORMS = %w[debian ubuntu raspbian]
|
18
|
+
|
19
|
+
# only attempt to build .pkg's on these platforms (as reported by
|
20
|
+
# ohai[:platform])
|
21
|
+
PKG_PLATFORMS = %w[freebsd]
|
18
22
|
|
19
23
|
attr_accessor :name, :version, :iteration, :license, :vendor, :maintainer, :url, :category
|
20
24
|
attr_accessor :description
|
21
25
|
attr_accessor :files, :config_files, :scripts
|
22
26
|
|
23
|
-
|
27
|
+
def initialize
|
24
28
|
@name = nil
|
25
29
|
@version = nil
|
26
30
|
@iteration = nil
|
27
|
-
@arch = ohai[
|
31
|
+
@arch = ohai[:kernel][:machine]
|
28
32
|
@license = nil
|
29
33
|
@vendor = nil
|
30
34
|
@maintainer = nil
|
@@ -38,8 +42,8 @@ module Bunchr
|
|
38
42
|
define unless name.nil? or version.nil?
|
39
43
|
end
|
40
44
|
|
41
|
-
#
|
42
|
-
# returns the current architecture. Convert some architectures for the
|
45
|
+
#
|
46
|
+
# returns the current architecture. Convert some architectures for the
|
43
47
|
# underlying packaging systems, such as i686 to i386.
|
44
48
|
def arch
|
45
49
|
case @arch
|
@@ -63,10 +67,11 @@ module Bunchr
|
|
63
67
|
define_build_tarball
|
64
68
|
define_build_rpm
|
65
69
|
define_build_deb
|
70
|
+
define_build_pkg
|
66
71
|
# TODO-future: build solaris pkgs, windows too?!
|
67
72
|
|
68
73
|
define_build_all
|
69
|
-
|
74
|
+
|
70
75
|
task :done => "#{name}:build"
|
71
76
|
task :default => "#{name}:done"
|
72
77
|
end
|
@@ -92,7 +97,7 @@ module Bunchr
|
|
92
97
|
desc "Build RPM: #{name}-#{version}-#{iteration}-#{arch}"
|
93
98
|
task :build_rpm do
|
94
99
|
|
95
|
-
if RPM_PLATFORMS.include? ohai
|
100
|
+
if RPM_PLATFORMS.include? ohai[:platform]
|
96
101
|
logger.info "Building RPM '#{name}-#{version}-#{iteration}-#{arch}'"
|
97
102
|
|
98
103
|
sh "fpm -s dir -t rpm -a #{arch} -n #{name} -v #{version} \
|
@@ -110,9 +115,9 @@ module Bunchr
|
|
110
115
|
|
111
116
|
logger.info "RPM built."
|
112
117
|
else
|
113
|
-
logger.info "Not building RPM, platform [#{ohai
|
118
|
+
logger.info "Not building RPM, platform [#{ohai[:platform]}] does not support it."
|
114
119
|
end
|
115
|
-
|
120
|
+
|
116
121
|
end
|
117
122
|
end
|
118
123
|
|
@@ -120,7 +125,7 @@ module Bunchr
|
|
120
125
|
desc "Build deb: #{name}-#{version}-#{iteration}-#{arch}"
|
121
126
|
task :build_deb do
|
122
127
|
|
123
|
-
if DEB_PLATFORMS.include? ohai
|
128
|
+
if DEB_PLATFORMS.include? ohai[:platform]
|
124
129
|
logger.info "Building DEB '#{name}-#{version}-#{iteration}-#{arch}'"
|
125
130
|
|
126
131
|
sh "fpm -s dir -t deb -a #{arch} -n #{name} -v #{version} \
|
@@ -138,7 +143,37 @@ module Bunchr
|
|
138
143
|
|
139
144
|
logger.info "DEB built."
|
140
145
|
else
|
141
|
-
logger.info "Not building DEB, platform [#{ohai
|
146
|
+
logger.info "Not building DEB, platform [#{ohai[:platform]}] does not support it."
|
147
|
+
end
|
148
|
+
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
def define_build_pkg
|
153
|
+
desc "Build pkg: #{name}-#{version}-#{iteration}-#{arch}"
|
154
|
+
task :build_pkg do
|
155
|
+
|
156
|
+
if PKG_PLATFORMS.include? ohai[:platform]
|
157
|
+
logger.info "Building PKG '#{name}-#{version}-#{iteration}-#{arch}'"
|
158
|
+
|
159
|
+
cmd = "fpm -s dir -t freebsd -a #{arch} -n #{name} -v #{version} \
|
160
|
+
--iteration #{iteration} \
|
161
|
+
--url '#{url}' \
|
162
|
+
--description '#{description}' \
|
163
|
+
--license '#{license}' \
|
164
|
+
--vendor '#{vendor}' \
|
165
|
+
--category '#{category}' \
|
166
|
+
#{fpm_scripts_args} \
|
167
|
+
#{fpm_config_files_args} \
|
168
|
+
#{config_files.join(' ')} \
|
169
|
+
#{files.join(' ')}"
|
170
|
+
|
171
|
+
logger.info cmd.inspect
|
172
|
+
sh cmd
|
173
|
+
|
174
|
+
logger.info "PKG built."
|
175
|
+
else
|
176
|
+
logger.info "Not building PKG, platform [#{ohai[:platform]}] does not support it."
|
142
177
|
end
|
143
178
|
|
144
179
|
end
|
@@ -146,7 +181,7 @@ module Bunchr
|
|
146
181
|
|
147
182
|
def define_build_all
|
148
183
|
desc "Build all packages: #{name}-#{version}-#{iteration}-#{arch}"
|
149
|
-
task :build => [:build_tarball, :build_rpm, :build_deb]
|
184
|
+
task :build => [:build_tarball, :build_rpm, :build_deb, :build_pkg]
|
150
185
|
end
|
151
186
|
|
152
187
|
# depend on a {Bunchr::Software} object to be built and installed
|
@@ -159,7 +194,7 @@ module Bunchr
|
|
159
194
|
end
|
160
195
|
|
161
196
|
# return an argument string for fpm with '--config-files' prefixed to
|
162
|
-
# every file in the config_files array.
|
197
|
+
# every file in the config_files array.
|
163
198
|
# eg: '--config-files /etc/file1 --config-files /etc/file2'
|
164
199
|
def fpm_config_files_args
|
165
200
|
config_files.map { |f| '--config-files ' + f }.join(' ')
|
data/lib/bunchr/software.rb
CHANGED
@@ -67,7 +67,7 @@ module Bunchr
|
|
67
67
|
desc "Download, build, and install #{name} #{version}"
|
68
68
|
task name => "#{name}:default"
|
69
69
|
end
|
70
|
-
|
70
|
+
|
71
71
|
end
|
72
72
|
|
73
73
|
def define_download
|
@@ -96,7 +96,7 @@ module Bunchr
|
|
96
96
|
end
|
97
97
|
|
98
98
|
file dotfile('build') => "software:#{name}:download" do
|
99
|
-
logger.info "
|
99
|
+
logger.info "Building #{name} #{version}"
|
100
100
|
Dir.chdir(work_dir) do
|
101
101
|
build
|
102
102
|
end
|
@@ -111,7 +111,7 @@ module Bunchr
|
|
111
111
|
logger.info "#{name} #{version} is installed"
|
112
112
|
end
|
113
113
|
|
114
|
-
file dotfile('install') => "software:#{name}:build" do
|
114
|
+
file dotfile('install') => "software:#{name}:build" do
|
115
115
|
logger.info "Installing #{name} #{version}"
|
116
116
|
Dir.chdir(work_dir) do
|
117
117
|
install
|
data/lib/bunchr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bunchr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Miller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 1.6.1
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 1.6.1
|
69
69
|
description: |
|
70
70
|
A DSL for building complex software projects and packaging them (RPM, DEB, etc).
|
71
71
|
Originally developed to create "omnibus" style packages that include an entire
|
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
requirements: []
|
114
114
|
rubyforge_project:
|
115
|
-
rubygems_version: 2.
|
115
|
+
rubygems_version: 2.5.1
|
116
116
|
signing_key:
|
117
117
|
specification_version: 3
|
118
118
|
summary: A DSL for bundling complex software projects into 'omnibus'-style packages.
|