omnibus 5.6.8 → 6.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +10 -7
- data/README.md +1 -1
- data/lib/omnibus.rb +1 -1
- data/lib/omnibus/build_version.rb +1 -1
- data/lib/omnibus/build_version_dsl.rb +1 -1
- data/lib/omnibus/builder.rb +26 -7
- data/lib/omnibus/cleaner.rb +1 -1
- data/lib/omnibus/cli.rb +1 -1
- data/lib/omnibus/cli/changelog.rb +1 -1
- data/lib/omnibus/compressor.rb +1 -1
- data/lib/omnibus/compressors/base.rb +1 -1
- data/lib/omnibus/compressors/dmg.rb +1 -1
- data/lib/omnibus/compressors/null.rb +1 -1
- data/lib/omnibus/compressors/tgz.rb +1 -1
- data/lib/omnibus/config.rb +1 -1
- data/lib/omnibus/digestable.rb +1 -1
- data/lib/omnibus/download_helpers.rb +1 -1
- data/lib/omnibus/exceptions.rb +1 -1
- data/lib/omnibus/fetcher.rb +1 -1
- data/lib/omnibus/fetchers/file_fetcher.rb +1 -1
- data/lib/omnibus/fetchers/git_fetcher.rb +1 -1
- data/lib/omnibus/fetchers/net_fetcher.rb +1 -1
- data/lib/omnibus/fetchers/null_fetcher.rb +1 -1
- data/lib/omnibus/fetchers/path_fetcher.rb +1 -1
- data/lib/omnibus/file_syncer.rb +1 -1
- data/lib/omnibus/generator.rb +1 -1
- data/lib/omnibus/generator_files/Berksfile.erb +1 -1
- data/lib/omnibus/generator_files/Gemfile.erb +1 -1
- data/lib/omnibus/generator_files/README.md.erb +3 -3
- data/lib/omnibus/git_cache.rb +1 -1
- data/lib/omnibus/health_check.rb +1 -1
- data/lib/omnibus/library.rb +1 -1
- data/lib/omnibus/licensing.rb +1 -1
- data/lib/omnibus/logger.rb +1 -1
- data/lib/omnibus/manifest.rb +1 -1
- data/lib/omnibus/manifest_entry.rb +1 -1
- data/lib/omnibus/metadata.rb +5 -5
- data/lib/omnibus/null_argumentable.rb +1 -1
- data/lib/omnibus/ohai.rb +1 -1
- data/lib/omnibus/package.rb +1 -1
- data/lib/omnibus/packager.rb +1 -1
- data/lib/omnibus/packagers/appx.rb +1 -1
- data/lib/omnibus/packagers/base.rb +1 -1
- data/lib/omnibus/packagers/bff.rb +1 -1
- data/lib/omnibus/packagers/deb.rb +1 -1
- data/lib/omnibus/packagers/ips.rb +1 -1
- data/lib/omnibus/packagers/makeself.rb +1 -1
- data/lib/omnibus/packagers/msi.rb +1 -1
- data/lib/omnibus/packagers/pkg.rb +1 -1
- data/lib/omnibus/packagers/pkgsrc.rb +1 -1
- data/lib/omnibus/packagers/rpm.rb +1 -1
- data/lib/omnibus/packagers/solaris.rb +1 -1
- data/lib/omnibus/packagers/windows_base.rb +1 -1
- data/lib/omnibus/project.rb +2 -2
- data/lib/omnibus/publisher.rb +1 -1
- data/lib/omnibus/publishers/artifactory_publisher.rb +1 -1
- data/lib/omnibus/publishers/null_publisher.rb +1 -1
- data/lib/omnibus/publishers/s3_publisher.rb +1 -1
- data/lib/omnibus/reports.rb +1 -1
- data/lib/omnibus/s3_cache.rb +1 -1
- data/lib/omnibus/s3_helpers.rb +1 -1
- data/lib/omnibus/semantic_version.rb +1 -1
- data/lib/omnibus/software.rb +7 -14
- data/lib/omnibus/sugarable.rb +1 -1
- data/lib/omnibus/templating.rb +1 -1
- data/lib/omnibus/thread_pool.rb +1 -1
- data/lib/omnibus/version.rb +2 -2
- data/lib/omnibus/whitelist.rb +1 -1
- data/omnibus.gemspec +5 -6
- data/spec/unit/compressors/dmg_spec.rb +2 -2
- data/spec/unit/metadata_spec.rb +3 -1
- data/spec/unit/packager_spec.rb +4 -4
- data/spec/unit/packagers/bff_spec.rb +2 -2
- data/spec/unit/packagers/rpm_spec.rb +2 -2
- data/spec/unit/project_spec.rb +3 -3
- data/spec/unit/publisher_spec.rb +1 -1
- data/spec/unit/publishers/artifactory_publisher_spec.rb +1 -1
- data/spec/unit/semantic_version_spec.rb +1 -1
- data/spec/unit/software_spec.rb +40 -18
- metadata +22 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b284dd534123f25d29564a4e30f2d4c2aad7681c866e498a27dcd5bdd31ac98b
|
4
|
+
data.tar.gz: ba218cd4ed48cf4e1c7697b8aeee068c167bbaa5c776d09e7cd4e80fe67765c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf7dffcc3674c570065db2183937da6d10ed75167ac065c91800fdc4e7d7487c8dd959d9cc42109cb38b1e7a764115657137599d076cadb80c9c609f7fe6ead8
|
7
|
+
data.tar.gz: a195cbdeb15ab989bc5b0da999b828eda914dbaf28dbfd9833cba683073f4acba7217f559c82c8988360340625aa83a274ce2a7b03d8a1452e955cf849b83ef8
|
data/Gemfile
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
|
-
gemspec
|
3
2
|
|
4
|
-
|
5
|
-
# are pinned to 3.2 so pinning that here. Only used by fauxhai in this project
|
6
|
-
gem "net-ssh", "3.2.0"
|
3
|
+
gemspec
|
7
4
|
|
8
5
|
group :docs do
|
9
|
-
gem "yard"
|
10
|
-
gem "redcarpet"
|
11
|
-
gem "github-markup"
|
6
|
+
gem "yard"
|
7
|
+
gem "redcarpet"
|
8
|
+
gem "github-markup"
|
9
|
+
end
|
10
|
+
|
11
|
+
group :debug do
|
12
|
+
gem "pry"
|
13
|
+
gem "pry-byebug"
|
14
|
+
gem "pry-stack_explorer"
|
12
15
|
end
|
data/README.md
CHANGED
data/lib/omnibus.rb
CHANGED
data/lib/omnibus/builder.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright 2012-
|
2
|
+
# Copyright 2012-2018, Chef Software Inc.
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
5
|
# you may not use this file except in compliance with the License.
|
@@ -372,19 +372,38 @@ module Omnibus
|
|
372
372
|
# @param (see #command)
|
373
373
|
# @return (see #command)
|
374
374
|
#
|
375
|
-
def appbundle(software_name,
|
375
|
+
def appbundle(software_name, lockdir: nil, gem: nil, without: nil, **options)
|
376
376
|
build_commands << BuildCommand.new("appbundle `#{software_name}'") do
|
377
|
-
app_software = project.softwares.find do |p|
|
378
|
-
p.name == software_name
|
379
|
-
end
|
380
|
-
|
381
377
|
bin_dir = "#{install_dir}/bin"
|
382
378
|
appbundler_bin = embedded_bin("appbundler")
|
383
379
|
|
380
|
+
lockdir ||=
|
381
|
+
begin
|
382
|
+
app_software = project.softwares.find do |p|
|
383
|
+
p.name == software_name
|
384
|
+
end
|
385
|
+
if app_software.nil?
|
386
|
+
raise "could not find software definition for #{software_name}, add a dependency to it, or pass a lockdir argument to appbundle command."
|
387
|
+
end
|
388
|
+
app_software.project_dir
|
389
|
+
end
|
390
|
+
|
391
|
+
command = [ appbundler_bin, "'#{lockdir}'", "'#{bin_dir}'" ]
|
392
|
+
|
393
|
+
# This option is almost entirely for support of ChefDK and enables transitive gemfile lock construction in order
|
394
|
+
# to be able to decouple the dev gems for all the different components of ChefDK. AKA: don't use it outside of
|
395
|
+
# ChefDK. You should also explicitly specify the lockdir when going down this road.
|
396
|
+
command << [ "'#{gem}'" ] if gem
|
397
|
+
|
398
|
+
# FIXME: appbundler lacks support for this argument when not also specifying the gem (2-arg appbundling lacks support)
|
399
|
+
# (if you really need this bug fixed, though, fix it in appbundler, don't try using the 3-arg version to try to
|
400
|
+
# get `--without` support, you will likely wind up going down a sad path).
|
401
|
+
command << [ "--without", without.join(",") ] unless without.nil?
|
402
|
+
|
384
403
|
# Ensure the main bin dir exists
|
385
404
|
FileUtils.mkdir_p(bin_dir)
|
386
405
|
|
387
|
-
shellout!("
|
406
|
+
shellout!(command.join(" "), options)
|
388
407
|
end
|
389
408
|
end
|
390
409
|
expose :appbundle
|
data/lib/omnibus/cleaner.rb
CHANGED
data/lib/omnibus/cli.rb
CHANGED
data/lib/omnibus/compressor.rb
CHANGED
data/lib/omnibus/config.rb
CHANGED
data/lib/omnibus/digestable.rb
CHANGED
data/lib/omnibus/exceptions.rb
CHANGED
data/lib/omnibus/fetcher.rb
CHANGED
data/lib/omnibus/file_syncer.rb
CHANGED
data/lib/omnibus/generator.rb
CHANGED
@@ -3,7 +3,7 @@ source 'https://supermarket.chef.io'
|
|
3
3
|
cookbook 'omnibus'
|
4
4
|
|
5
5
|
# Uncomment to use the latest version of the Omnibus cookbook from GitHub
|
6
|
-
# cookbook 'omnibus', github: '
|
6
|
+
# cookbook 'omnibus', github: 'chef-cookbooks/omnibus'
|
7
7
|
|
8
8
|
group :integration do
|
9
9
|
cookbook 'apt', '~> 2.8'
|
@@ -5,7 +5,7 @@ gem 'omnibus', '~> <%= Omnibus::VERSION.split('.')[0...-1].join('.') %>'
|
|
5
5
|
|
6
6
|
# Use Chef's software definitions. It is recommended that you write your own
|
7
7
|
# software definitions, but you can clone/fork Chef's to get you started.
|
8
|
-
# gem 'omnibus-software', github: '
|
8
|
+
# gem 'omnibus-software', github: 'chef/omnibus-software'
|
9
9
|
|
10
10
|
# This development group is installed by default when you run `bundle install`,
|
11
11
|
# but if you are using Omnibus in a CI-based infrastructure, you do not need
|
@@ -83,19 +83,19 @@ version of every software definition.
|
|
83
83
|
Kitchen-based Build Environment
|
84
84
|
-------------------------------
|
85
85
|
Every Omnibus project ships will a project-specific
|
86
|
-
[Berksfile](
|
86
|
+
[Berksfile](https://docs.chef.io/berkshelf.html) that will allow you to build your omnibus projects on all of the projects listed
|
87
87
|
in the `.kitchen.yml`. You can add/remove additional platforms as needed by
|
88
88
|
changing the list found in the `.kitchen.yml` `platforms` YAML stanza.
|
89
89
|
|
90
90
|
This build environment is designed to get you up-and-running quickly. However,
|
91
91
|
there is nothing that restricts you to building on other platforms. Simply use
|
92
|
-
the [omnibus cookbook](https://github.com/
|
92
|
+
the [omnibus cookbook](https://github.com/chef-cookbooks/omnibus) to setup
|
93
93
|
your desired platform and execute the build steps listed above.
|
94
94
|
|
95
95
|
The default build environment requires Test Kitchen and VirtualBox for local
|
96
96
|
development. Test Kitchen also exposes the ability to provision instances using
|
97
97
|
various cloud providers like AWS, DigitalOcean, or OpenStack. For more
|
98
|
-
information, please see the [Test Kitchen documentation](
|
98
|
+
information, please see the [Test Kitchen documentation](https://kitchen.ci/).
|
99
99
|
|
100
100
|
Once you have tweaked your `.kitchen.yml` (or `.kitchen.local.yml`) to your
|
101
101
|
liking, you can bring up an individual build environment using the `kitchen`
|
data/lib/omnibus/git_cache.rb
CHANGED
data/lib/omnibus/health_check.rb
CHANGED
data/lib/omnibus/library.rb
CHANGED
data/lib/omnibus/licensing.rb
CHANGED
data/lib/omnibus/logger.rb
CHANGED
data/lib/omnibus/manifest.rb
CHANGED
data/lib/omnibus/metadata.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright 2014 Chef Software, Inc.
|
2
|
+
# Copyright 2014-2018 Chef Software, Inc.
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
5
|
# you may not use this file except in compliance with the License.
|
@@ -173,11 +173,11 @@ module Omnibus
|
|
173
173
|
when "centos", "debian", "el", "fedora", "freebsd", "omnios", "pidora", "raspbian", "rhel", "sles", "suse", "smartos", "nexus", "ios_xr"
|
174
174
|
# Only want MAJOR (e.g. Debian 7, OmniOS r151006, SmartOS 20120809T221258Z)
|
175
175
|
platform_version.split(".").first
|
176
|
-
when "aix", "alpine", "
|
176
|
+
when "aix", "alpine", "mac_os_x", "openbsd", "slackware", "solaris2", "opensuse", "opensuseleap", "ubuntu", "amazon"
|
177
177
|
# Only want MAJOR.MINOR (e.g. Mac OS X 10.9, Ubuntu 12.04)
|
178
178
|
platform_version.split(".")[0..1].join(".")
|
179
|
-
when "arch"
|
180
|
-
# Arch Linux
|
179
|
+
when "arch", "gentoo"
|
180
|
+
# Arch Linux / Gentoo do not have a platform_version ohai attribute, they are rolling release (lsb_release -r)
|
181
181
|
"rolling"
|
182
182
|
when "windows"
|
183
183
|
# Windows has this really awesome "feature", where their version numbers
|
@@ -187,7 +187,7 @@ module Omnibus
|
|
187
187
|
# than the platform version. Take a look at the following file for the
|
188
188
|
# details:
|
189
189
|
#
|
190
|
-
# https://github.com/
|
190
|
+
# https://github.com/chef/chef/blob/master/lib/chef/win32/version.rb
|
191
191
|
#
|
192
192
|
# As we don't need to be exact here the simple mapping below is based on:
|
193
193
|
#
|
data/lib/omnibus/ohai.rb
CHANGED
data/lib/omnibus/package.rb
CHANGED
data/lib/omnibus/packager.rb
CHANGED