Skip to content

Commit

Permalink
Prepare omnibus package with embedded software
Browse files Browse the repository at this point in the history
* Use omnibus-software;
* Embed Ruby 2.3.7;
* Embed Backup by installing it as a gem package;
* Use VERSION file for package versioning.
  • Loading branch information
salsa-dev committed May 22, 2018
1 parent b1c25a8 commit 23d09aa
Show file tree
Hide file tree
Showing 5 changed files with 259 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ gem 'omnibus', '~> 5.6'

# Use Chef's software definitions. It is recommended that you write your own
# software definitions, but you can clone/fork Chef's to get you started.
# gem 'omnibus-software', github: 'opscode/omnibus-software'
gem 'omnibus-software', github: 'opscode/omnibus-software'

# This development group is installed by default when you run `bundle install`,
# but if you are using Omnibus in a CI-based infrastructure, you do not need
Expand Down
233 changes: 233 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
GIT
remote: git://github.com/opscode/omnibus-software.git
revision: cd92f43bf80ed5b0a664ef8a83d6beb0a6578a72
specs:
omnibus-software (4.0.0)
chef-sugar (>= 3.4.0)
omnibus (>= 5.6.1)

GEM
remote: https://rubygems.org/
specs:
addressable (2.3.8)
awesome_print (1.8.0)
aws-sdk (2.11.54)
aws-sdk-resources (= 2.11.54)
aws-sdk-core (2.11.54)
aws-sigv4 (~> 1.0)
jmespath (~> 1.0)
aws-sdk-resources (2.11.54)
aws-sdk-core (= 2.11.54)
aws-sigv4 (1.0.2)
berkshelf (3.3.0)
addressable (~> 2.3.4)
berkshelf-api-client (~> 1.2)
buff-config (~> 1.0)
buff-extensions (~> 1.0)
buff-shell_out (~> 0.1)
celluloid (~> 0.16.0)
celluloid-io (~> 0.16.1)
cleanroom (~> 1.0)
faraday (~> 0.9.0)
httpclient (~> 2.6.0)
minitar (~> 0.5.4)
octokit (~> 3.0)
retryable (~> 2.0)
ridley (~> 4.0)
solve (~> 1.1)
thor (~> 0.19)
berkshelf-api-client (1.3.1)
faraday (~> 0.9.1)
httpclient (~> 2.6.0)
buff-config (1.0.1)
buff-extensions (~> 1.0)
varia_model (~> 0.4)
buff-extensions (1.0.0)
buff-ignore (1.2.0)
buff-ruby_engine (0.1.0)
buff-shell_out (0.2.0)
buff-ruby_engine (~> 0.1.0)
builder (3.2.3)
celluloid (0.16.0)
timers (~> 4.0.0)
celluloid-io (0.16.2)
celluloid (>= 0.16.0)
nio4r (>= 1.1.0)
chef-config (13.9.1)
addressable
fuzzyurl
mixlib-config (~> 2.0)
mixlib-shellout (~> 2.0)
tomlrb (~> 1.2)
chef-sugar (3.6.0)
citrus (3.0.2)
cleanroom (1.0.0)
dep-selector-libgecode (1.3.1)
dep_selector (1.0.6)
dep-selector-libgecode (~> 1.0)
ffi (~> 1.9)
erubis (2.7.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
ffi (1.9.23)
ffi-yajl (2.3.1)
libyajl2 (~> 1.2)
fuzzyurl (0.9.0)
gssapi (1.2.0)
ffi (>= 1.0.1)
gyoku (1.3.1)
builder (>= 2.1.2)
hashie (3.5.7)
hitimes (1.2.6)
httpclient (2.6.0.1)
iostruct (0.0.4)
ipaddress (0.8.3)
jmespath (1.4.0)
json (2.1.0)
kitchen-vagrant (0.21.1)
test-kitchen (~> 1.4)
libyajl2 (1.2.0)
license_scout (1.0.8)
ffi-yajl (~> 2.2)
mixlib-shellout (~> 2.2)
toml-rb (~> 1.0)
little-plugger (1.1.4)
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
minitar (0.5.4)
mixlib-authentication (2.0.0)
mixlib-cli (1.7.0)
mixlib-config (2.2.6)
tomlrb
mixlib-install (3.10.0)
mixlib-shellout
mixlib-versioning
thor
mixlib-log (1.7.1)
mixlib-shellout (2.3.2)
mixlib-versioning (1.2.2)
multi_json (1.13.1)
multipart-post (2.0.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (4.2.0)
net-ssh-gateway (1.3.0)
net-ssh (>= 2.6.5)
nio4r (2.3.1)
nori (2.6.0)
octokit (3.8.0)
sawyer (~> 0.6.0, >= 0.5.3)
ohai (8.26.1)
chef-config (>= 12.5.0.alpha.1, < 14)
ffi (~> 1.9)
ffi-yajl (~> 2.2)
ipaddress
mixlib-cli
mixlib-config (~> 2.0)
mixlib-log (>= 1.7.1, < 2.0)
mixlib-shellout (~> 2.0)
plist (~> 3.1)
systemu (~> 2.6.4)
wmi-lite (~> 1.0)
omnibus (5.6.8)
aws-sdk (~> 2)
chef-sugar (~> 3.3)
cleanroom (~> 1.0)
ffi-yajl (~> 2.2)
license_scout (~> 1.0)
mixlib-shellout (~> 2.0)
mixlib-versioning
ohai (~> 8.0)
pedump
ruby-progressbar (~> 1.7)
thor (~> 0.18)
pedump (0.5.2)
awesome_print
iostruct (>= 0.0.4)
multipart-post (~> 2.0.0)
progressbar
zhexdump (>= 0.0.2)
plist (3.4.0)
progressbar (1.9.0)
retryable (2.0.4)
ridley (4.4.2)
addressable
buff-config (~> 1.0)
buff-extensions (~> 1.0)
buff-ignore (~> 1.1)
buff-shell_out (~> 0.1)
celluloid (~> 0.16.0)
celluloid-io (~> 0.16.1)
chef-config
erubis
faraday (~> 0.9.0)
hashie (>= 2.0.2, < 4.0.0)
httpclient (~> 2.6)
json (>= 1.7.7)
mixlib-authentication (>= 1.3.0)
retryable (~> 2.0)
semverse (~> 1.1)
varia_model (~> 0.4.0)
ruby-progressbar (1.9.0)
rubyntlm (0.6.2)
rubyzip (1.2.1)
sawyer (0.6.0)
addressable (~> 2.3.5)
faraday (~> 0.8, < 0.10)
semverse (1.2.1)
solve (1.2.1)
dep_selector (~> 1.0)
semverse (~> 1.1)
systemu (2.6.5)
test-kitchen (1.21.2)
mixlib-install (~> 3.6)
mixlib-shellout (>= 1.2, < 3.0)
net-scp (~> 1.1)
net-ssh (>= 2.9, < 5.0)
net-ssh-gateway (~> 1.2)
thor (~> 0.19)
winrm (~> 2.0)
winrm-elevated (~> 1.0)
winrm-fs (~> 1.1)
thor (0.20.0)
timers (4.0.4)
hitimes
toml-rb (1.1.1)
citrus (~> 3.0, > 3.0)
tomlrb (1.2.6)
varia_model (0.4.1)
buff-extensions (~> 1.0)
hashie (>= 2.0.2, < 4.0.0)
winrm (2.2.3)
builder (>= 2.1.2)
erubis (~> 2.7)
gssapi (~> 1.2)
gyoku (~> 1.0)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.1)
winrm-elevated (1.1.0)
winrm (~> 2.0)
winrm-fs (~> 1.0)
winrm-fs (1.2.0)
erubis (~> 2.7)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 1.1)
winrm (~> 2.0)
wmi-lite (1.0.0)
zhexdump (0.0.2)

PLATFORMS
ruby

DEPENDENCIES
berkshelf (~> 3.3)
kitchen-vagrant (~> 0.18)
omnibus (~> 5.6)
omnibus-software!
test-kitchen (~> 1.4)

BUNDLED WITH
1.16.1
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.0.1
15 changes: 13 additions & 2 deletions config/projects/backup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,25 @@
# and /opt/backup on all other platforms
install_dir "#{default_root}/#{name}"

build_version Omnibus::BuildVersion.semver
#build_version Omnibus::BuildVersion.semver

# Use VERSION file to keep in sync with backup gem version.
# Do not use __FILE__ after this point, use current_file. If you use __FILE__
# after this point, any dependent defs that use instance_eval
# will fail to work correctly.
current_file ||= __FILE__
version_file = File.expand_path("../../../VERSION", current_file)
build_version IO.read(version_file).strip

build_iteration 1

override :ruby, :version => '2.3.7'

# Creates required build directories
dependency "preparation"

# backup dependencies/components
# dependency "somedep"
dependency "backup"

# Version manifest file
dependency "version-manifest"
Expand Down
11 changes: 11 additions & 0 deletions config/software/backup.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name "backup"

dependency "ruby"

build do

env = with_standard_compiler_flags(with_embedded_path)

gem "install #{name}", :env => env

end

0 comments on commit 23d09aa

Please sign in to comment.