omnibus 6.1.9 → 8.0.15
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/Gemfile +0 -4
 - data/README.md +54 -13
 - data/bin/omnibus +1 -1
 - data/lib/omnibus.rb +2 -2
 - data/lib/omnibus/build_version.rb +1 -1
 - data/lib/omnibus/build_version_dsl.rb +5 -7
 - data/lib/omnibus/builder.rb +4 -4
 - data/lib/omnibus/cleaner.rb +1 -1
 - data/lib/omnibus/cli.rb +2 -2
 - data/lib/omnibus/cli/changelog.rb +1 -1
 - data/lib/omnibus/compressor.rb +2 -2
 - data/lib/omnibus/compressors/base.rb +2 -2
 - data/lib/omnibus/compressors/dmg.rb +5 -2
 - data/lib/omnibus/compressors/tgz.rb +2 -2
 - data/lib/omnibus/config.rb +13 -3
 - data/lib/omnibus/core_extensions/open_uri.rb +1 -1
 - data/lib/omnibus/digestable.rb +2 -2
 - data/lib/omnibus/download_helpers.rb +6 -2
 - data/lib/omnibus/fetchers/file_fetcher.rb +1 -1
 - data/lib/omnibus/fetchers/net_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 +2 -2
 - data/lib/omnibus/generator_files/README.md.erb +20 -16
 - data/lib/omnibus/generator_files/config/software/preparation.rb.erb +1 -1
 - data/lib/omnibus/generator_files/omnibus.rb.erb +5 -4
 - data/lib/omnibus/git_cache.rb +2 -2
 - data/lib/omnibus/health_check.rb +2 -0
 - data/lib/omnibus/licensing.rb +3 -3
 - data/lib/omnibus/logger.rb +1 -1
 - data/lib/omnibus/manifest.rb +1 -1
 - data/lib/omnibus/metadata.rb +3 -3
 - data/lib/omnibus/ohai.rb +1 -1
 - data/lib/omnibus/package.rb +1 -1
 - data/lib/omnibus/packager.rb +6 -14
 - data/lib/omnibus/packagers/base.rb +1 -1
 - data/lib/omnibus/packagers/msi.rb +1 -1
 - data/lib/omnibus/packagers/pkg.rb +122 -3
 - data/lib/omnibus/packagers/solaris.rb +1 -1
 - data/lib/omnibus/project.rb +2 -2
 - data/lib/omnibus/publishers/artifactory_publisher.rb +2 -2
 - data/lib/omnibus/publishers/s3_publisher.rb +6 -4
 - data/lib/omnibus/s3_cache.rb +4 -2
 - data/lib/omnibus/s3_helpers.rb +7 -7
 - data/lib/omnibus/software.rb +52 -34
 - data/lib/omnibus/sugarable.rb +5 -14
 - data/lib/omnibus/templating.rb +1 -1
 - data/lib/omnibus/thread_pool.rb +0 -2
 - data/lib/omnibus/util.rb +1 -1
 - data/lib/omnibus/version.rb +1 -1
 - data/lib/omnibus/whitelist.rb +24 -1
 - data/omnibus.gemspec +7 -8
 - data/resources/ips/doc-transform.erb +1 -0
 - data/resources/msi/CustomActionFastMsi.CA.dll +0 -0
 - data/resources/msi/source.wxs.erb +2 -10
 - data/resources/rpm/signing.erb +7 -10
 - data/spec/support/path_helpers.rb +2 -2
 - data/spec/unit/compressor_spec.rb +1 -1
 - data/spec/unit/compressors/dmg_spec.rb +5 -2
 - data/spec/unit/metadata_spec.rb +6 -6
 - data/spec/unit/packager_spec.rb +6 -13
 - data/spec/unit/packagers/ips_spec.rb +1 -0
 - data/spec/unit/packagers/pkg_spec.rb +354 -0
 - data/spec/unit/packagers/rpm_spec.rb +5 -5
 - data/spec/unit/project_spec.rb +5 -5
 - data/spec/unit/s3_cacher_spec.rb +17 -0
 - data/spec/unit/s3_helpers_spec.rb +20 -1
 - data/spec/unit/software_spec.rb +58 -119
 - metadata +22 -22
 
    
        data/lib/omnibus/project.rb
    CHANGED
    
    | 
         @@ -15,8 +15,8 @@ 
     | 
|
| 
       15 
15 
     | 
    
         
             
            # limitations under the License.
         
     | 
| 
       16 
16 
     | 
    
         
             
            #
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
            require "time"
         
     | 
| 
       19 
     | 
    
         
            -
            require "ffi_yajl"
         
     | 
| 
      
 18 
     | 
    
         
            +
            require "time" unless defined?(Time.zone_offset)
         
     | 
| 
      
 19 
     | 
    
         
            +
            require "ffi_yajl" unless defined?(FFI_Yajl)
         
     | 
| 
       20 
20 
     | 
    
         
             
            require "omnibus/manifest"
         
     | 
| 
       21 
21 
     | 
    
         
             
            require "omnibus/manifest_entry"
         
     | 
| 
       22 
22 
     | 
    
         
             
            require "omnibus/reports"
         
     | 
| 
         @@ -65,11 +65,13 @@ module Omnibus 
     | 
|
| 
       65 
65 
     | 
    
         
             
                    bucket_name: @options[:bucket],
         
     | 
| 
       66 
66 
     | 
    
         
             
                  }
         
     | 
| 
       67 
67 
     | 
    
         | 
| 
       68 
     | 
    
         
            -
                  if Config. 
     | 
| 
       69 
     | 
    
         
            -
                    config[: 
     | 
| 
      
 68 
     | 
    
         
            +
                  if Config.publish_s3_iam_role_arn
         
     | 
| 
      
 69 
     | 
    
         
            +
                    config[:publish_s3_iam_role_arn] = Config.publish_s3_iam_role_arn
         
     | 
| 
      
 70 
     | 
    
         
            +
                  elsif Config.publish_s3_profile
         
     | 
| 
      
 71 
     | 
    
         
            +
                    config[:profile] = Config.publish_s3_profile
         
     | 
| 
       70 
72 
     | 
    
         
             
                  else
         
     | 
| 
       71 
     | 
    
         
            -
                    config[:access_key_id] 
     | 
| 
       72 
     | 
    
         
            -
                    config[:secret_access_key] 
     | 
| 
      
 73 
     | 
    
         
            +
                    config[:access_key_id] = Config.publish_s3_access_key
         
     | 
| 
      
 74 
     | 
    
         
            +
                    config[:secret_access_key] = Config.publish_s3_secret_key
         
     | 
| 
       73 
75 
     | 
    
         
             
                  end
         
     | 
| 
       74 
76 
     | 
    
         | 
| 
       75 
77 
     | 
    
         
             
                  config
         
     | 
    
        data/lib/omnibus/s3_cache.rb
    CHANGED
    
    | 
         @@ -14,7 +14,7 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
            # limitations under the License.
         
     | 
| 
       15 
15 
     | 
    
         
             
            #
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            require "fileutils"
         
     | 
| 
      
 17 
     | 
    
         
            +
            require "fileutils" unless defined?(FileUtils)
         
     | 
| 
       18 
18 
     | 
    
         
             
            require "omnibus/s3_helpers"
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
            module Omnibus
         
     | 
| 
         @@ -147,7 +147,9 @@ module Omnibus 
     | 
|
| 
       147 
147 
     | 
    
         
             
                      force_path_style: Config.s3_force_path_style,
         
     | 
| 
       148 
148 
     | 
    
         
             
                    }
         
     | 
| 
       149 
149 
     | 
    
         | 
| 
       150 
     | 
    
         
            -
                    if Config. 
     | 
| 
      
 150 
     | 
    
         
            +
                    if Config.s3_iam_role_arn
         
     | 
| 
      
 151 
     | 
    
         
            +
                      config[:iam_role_arn] = Config.s3_iam_role_arn
         
     | 
| 
      
 152 
     | 
    
         
            +
                    elsif Config.s3_profile
         
     | 
| 
       151 
153 
     | 
    
         
             
                      config[:profile] = Config.s3_profile
         
     | 
| 
       152 
154 
     | 
    
         
             
                    else
         
     | 
| 
       153 
155 
     | 
    
         
             
                      config[:access_key_id] = Config.s3_access_key
         
     | 
    
        data/lib/omnibus/s3_helpers.rb
    CHANGED
    
    | 
         @@ -17,7 +17,7 @@ 
     | 
|
| 
       17 
17 
     | 
    
         
             
            require "aws-sdk-s3"
         
     | 
| 
       18 
18 
     | 
    
         
             
            require "aws-sdk-core/credentials"
         
     | 
| 
       19 
19 
     | 
    
         
             
            require "aws-sdk-core/shared_credentials"
         
     | 
| 
       20 
     | 
    
         
            -
            require "base64"
         
     | 
| 
      
 20 
     | 
    
         
            +
            require "base64" unless defined?(Base64)
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
            module Omnibus
         
     | 
| 
       23 
23 
     | 
    
         
             
              module S3Helpers
         
     | 
| 
         @@ -53,10 +53,7 @@ module Omnibus 
     | 
|
| 
       53 
53 
     | 
    
         
             
                  # @return [Aws::S3::Resource]
         
     | 
| 
       54 
54 
     | 
    
         
             
                  #
         
     | 
| 
       55 
55 
     | 
    
         
             
                  def client
         
     | 
| 
       56 
     | 
    
         
            -
                    Aws.config.update(
         
     | 
| 
       57 
     | 
    
         
            -
                      region: s3_configuration[:region],
         
     | 
| 
       58 
     | 
    
         
            -
                      credentials: get_credentials
         
     | 
| 
       59 
     | 
    
         
            -
                    )
         
     | 
| 
      
 56 
     | 
    
         
            +
                    Aws.config.update(region: s3_configuration[:region])
         
     | 
| 
       60 
57 
     | 
    
         | 
| 
       61 
58 
     | 
    
         
             
                    @s3_client ||= Aws::S3::Resource.new(resource_params)
         
     | 
| 
       62 
59 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -70,6 +67,7 @@ module Omnibus 
     | 
|
| 
       70 
67 
     | 
    
         
             
                    params = {
         
     | 
| 
       71 
68 
     | 
    
         
             
                      use_accelerate_endpoint: s3_configuration[:use_accelerate_endpoint],
         
     | 
| 
       72 
69 
     | 
    
         
             
                      force_path_style: s3_configuration[:force_path_style],
         
     | 
| 
      
 70 
     | 
    
         
            +
                      credentials: get_credentials,
         
     | 
| 
       73 
71 
     | 
    
         
             
                    }
         
     | 
| 
       74 
72 
     | 
    
         | 
| 
       75 
73 
     | 
    
         
             
                    if s3_configuration[:use_accelerate_endpoint]
         
     | 
| 
         @@ -84,12 +82,14 @@ module Omnibus 
     | 
|
| 
       84 
82 
     | 
    
         
             
                  end
         
     | 
| 
       85 
83 
     | 
    
         | 
| 
       86 
84 
     | 
    
         
             
                  #
         
     | 
| 
       87 
     | 
    
         
            -
                  # Create credentials object based on credential profile or access key
         
     | 
| 
      
 85 
     | 
    
         
            +
                  # Create credentials object based on AWS IAM role arn, credential profile or access key
         
     | 
| 
       88 
86 
     | 
    
         
             
                  # parameters for use by the client object.
         
     | 
| 
       89 
87 
     | 
    
         
             
                  #
         
     | 
| 
       90 
88 
     | 
    
         
             
                  # @return [Aws::SharedCredentials, Aws::Credentials]
         
     | 
| 
       91 
89 
     | 
    
         
             
                  def get_credentials
         
     | 
| 
       92 
     | 
    
         
            -
                    if s3_configuration[: 
     | 
| 
      
 90 
     | 
    
         
            +
                    if s3_configuration[:iam_role_arn]
         
     | 
| 
      
 91 
     | 
    
         
            +
                      Aws::AssumeRoleCredentials.new(role_arn: s3_configuration[:iam_role_arn], role_session_name: "omnibus-assume-role-s3-access")
         
     | 
| 
      
 92 
     | 
    
         
            +
                    elsif s3_configuration[:profile]
         
     | 
| 
       93 
93 
     | 
    
         
             
                      Aws::SharedCredentials.new(profile_name: s3_configuration[:profile])
         
     | 
| 
       94 
94 
     | 
    
         
             
                    elsif s3_configuration[:access_key_id] && s3_configuration[:secret_access_key]
         
     | 
| 
       95 
95 
     | 
    
         
             
                      Aws::Credentials.new(s3_configuration[:access_key_id], s3_configuration[:secret_access_key])
         
     | 
    
        data/lib/omnibus/software.rb
    CHANGED
    
    | 
         @@ -14,8 +14,8 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
            # limitations under the License.
         
     | 
| 
       15 
15 
     | 
    
         
             
            #
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            require "fileutils"
         
     | 
| 
       18 
     | 
    
         
            -
            require "uri"
         
     | 
| 
      
 17 
     | 
    
         
            +
            require "fileutils" unless defined?(FileUtils)
         
     | 
| 
      
 18 
     | 
    
         
            +
            require "uri" unless defined?(URI)
         
     | 
| 
       19 
19 
     | 
    
         
             
            require "omnibus/manifest_entry"
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
            module Omnibus
         
     | 
| 
         @@ -205,6 +205,46 @@ module Omnibus 
     | 
|
| 
       205 
205 
     | 
    
         
             
                end
         
     | 
| 
       206 
206 
     | 
    
         
             
                expose :maintainer
         
     | 
| 
       207 
207 
     | 
    
         | 
| 
      
 208 
     | 
    
         
            +
                #
         
     | 
| 
      
 209 
     | 
    
         
            +
                # Sets the bin_dirs where this software installs bins.
         
     | 
| 
      
 210 
     | 
    
         
            +
                #
         
     | 
| 
      
 211 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 212 
     | 
    
         
            +
                #   bin_dirs ['/opt/chef-workstation/bin']
         
     | 
| 
      
 213 
     | 
    
         
            +
                #
         
     | 
| 
      
 214 
     | 
    
         
            +
                # @param [Array<String>] val
         
     | 
| 
      
 215 
     | 
    
         
            +
                #   the bin_dirs of the software
         
     | 
| 
      
 216 
     | 
    
         
            +
                #
         
     | 
| 
      
 217 
     | 
    
         
            +
                # @return [Array<String>]
         
     | 
| 
      
 218 
     | 
    
         
            +
                #
         
     | 
| 
      
 219 
     | 
    
         
            +
                def bin_dirs(val = NULL)
         
     | 
| 
      
 220 
     | 
    
         
            +
                  if null?(val)
         
     | 
| 
      
 221 
     | 
    
         
            +
                    @bin_dirs || [windows_safe_path("#{install_dir}/bin"), windows_safe_path("#{install_dir}/embedded/bin")]
         
     | 
| 
      
 222 
     | 
    
         
            +
                  else
         
     | 
| 
      
 223 
     | 
    
         
            +
                    @bin_dirs = val
         
     | 
| 
      
 224 
     | 
    
         
            +
                  end
         
     | 
| 
      
 225 
     | 
    
         
            +
                end
         
     | 
| 
      
 226 
     | 
    
         
            +
                expose :bin_dirs
         
     | 
| 
      
 227 
     | 
    
         
            +
             
     | 
| 
      
 228 
     | 
    
         
            +
                #
         
     | 
| 
      
 229 
     | 
    
         
            +
                # Sets the lib_dirs where this software installs libs.
         
     | 
| 
      
 230 
     | 
    
         
            +
                #
         
     | 
| 
      
 231 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 232 
     | 
    
         
            +
                #   lib_dirs ['/opt/chef-workstation/bin']
         
     | 
| 
      
 233 
     | 
    
         
            +
                #
         
     | 
| 
      
 234 
     | 
    
         
            +
                # @param [Array<String>] val
         
     | 
| 
      
 235 
     | 
    
         
            +
                #   the lib_dirs of the software
         
     | 
| 
      
 236 
     | 
    
         
            +
                #
         
     | 
| 
      
 237 
     | 
    
         
            +
                # @return [Array<String>]
         
     | 
| 
      
 238 
     | 
    
         
            +
                #
         
     | 
| 
      
 239 
     | 
    
         
            +
                def lib_dirs(val = NULL)
         
     | 
| 
      
 240 
     | 
    
         
            +
                  if null?(val)
         
     | 
| 
      
 241 
     | 
    
         
            +
                    @lib_dirs || [windows_safe_path("#{install_dir}/embedded/lib")]
         
     | 
| 
      
 242 
     | 
    
         
            +
                  else
         
     | 
| 
      
 243 
     | 
    
         
            +
                    @lib_dirs = val
         
     | 
| 
      
 244 
     | 
    
         
            +
                  end
         
     | 
| 
      
 245 
     | 
    
         
            +
                end
         
     | 
| 
      
 246 
     | 
    
         
            +
                expose :lib_dirs
         
     | 
| 
      
 247 
     | 
    
         
            +
             
     | 
| 
       208 
248 
     | 
    
         
             
                #
         
     | 
| 
       209 
249 
     | 
    
         
             
                # Add a software dependency to this software.
         
     | 
| 
       210 
250 
     | 
    
         
             
                #
         
     | 
| 
         @@ -485,7 +525,7 @@ module Omnibus 
     | 
|
| 
       485 
525 
     | 
    
         
             
                  return if final_version.nil?
         
     | 
| 
       486 
526 
     | 
    
         | 
| 
       487 
527 
     | 
    
         
             
                  begin
         
     | 
| 
       488 
     | 
    
         
            -
                     
     | 
| 
      
 528 
     | 
    
         
            +
                    ChefUtils::VersionString.new(final_version)
         
     | 
| 
       489 
529 
     | 
    
         
             
                  rescue ArgumentError
         
     | 
| 
       490 
530 
     | 
    
         
             
                    log.warn(log_key) do
         
     | 
| 
       491 
531 
     | 
    
         
             
                      "Version #{final_version} for software #{name} was not parseable. " \
         
     | 
| 
         @@ -668,40 +708,18 @@ module Omnibus 
     | 
|
| 
       668 
708 
     | 
    
         
             
                        "ARFLAGS" => "-X64 cru",
         
     | 
| 
       669 
709 
     | 
    
         
             
                      }
         
     | 
| 
       670 
710 
     | 
    
         
             
                    when "solaris2"
         
     | 
| 
       671 
     | 
    
         
            -
                       
     | 
| 
       672 
     | 
    
         
            -
                         
     | 
| 
       673 
     | 
    
         
            -
             
     | 
| 
       674 
     | 
    
         
            -
             
     | 
| 
       675 
     | 
    
         
            -
             
     | 
| 
       676 
     | 
    
         
            -
                          "LDFLAGS" => "-R#{install_dir}/embedded/lib -L#{install_dir}/embedded/lib -static-libgcc",
         
     | 
| 
       677 
     | 
    
         
            -
                          "CFLAGS" => "-I#{install_dir}/embedded/include -O2",
         
     | 
| 
       678 
     | 
    
         
            -
                        }
         
     | 
| 
       679 
     | 
    
         
            -
                      elsif platform_version.satisfies?(">= 5.11")
         
     | 
| 
       680 
     | 
    
         
            -
                        solaris_flags = {
         
     | 
| 
       681 
     | 
    
         
            -
                          "CC" => "gcc -m64 -static-libgcc",
         
     | 
| 
       682 
     | 
    
         
            -
                          "LDFLAGS" => "-Wl,-rpath,#{install_dir}/embedded/lib -L#{install_dir}/embedded/lib -static-libgcc",
         
     | 
| 
       683 
     | 
    
         
            -
                          "CFLAGS" => "-I#{install_dir}/embedded/include -O2",
         
     | 
| 
       684 
     | 
    
         
            -
                        }
         
     | 
| 
       685 
     | 
    
         
            -
                      end
         
     | 
| 
       686 
     | 
    
         
            -
                      solaris_flags
         
     | 
| 
      
 711 
     | 
    
         
            +
                      {
         
     | 
| 
      
 712 
     | 
    
         
            +
                        "CC" => "gcc -m64 -static-libgcc",
         
     | 
| 
      
 713 
     | 
    
         
            +
                        "LDFLAGS" => "-Wl,-rpath,#{install_dir}/embedded/lib -L#{install_dir}/embedded/lib -static-libgcc",
         
     | 
| 
      
 714 
     | 
    
         
            +
                        "CFLAGS" => "-I#{install_dir}/embedded/include -O2",
         
     | 
| 
      
 715 
     | 
    
         
            +
                      }
         
     | 
| 
       687 
716 
     | 
    
         
             
                    when "freebsd"
         
     | 
| 
       688 
717 
     | 
    
         
             
                      {
         
     | 
| 
       689 
718 
     | 
    
         
             
                        "CC" => "clang",
         
     | 
| 
       690 
719 
     | 
    
         
             
                        "CXX" => "clang++",
         
     | 
| 
       691 
720 
     | 
    
         
             
                        "LDFLAGS" => "-L#{install_dir}/embedded/lib",
         
     | 
| 
       692 
     | 
    
         
            -
                        "CFLAGS" => "-I#{install_dir}/embedded/include -O2",
         
     | 
| 
       693 
     | 
    
         
            -
                      }
         
     | 
| 
       694 
     | 
    
         
            -
                    when "suse"
         
     | 
| 
       695 
     | 
    
         
            -
                      suse_flags = {
         
     | 
| 
       696 
     | 
    
         
            -
                        "LDFLAGS" => "-Wl,-rpath,#{install_dir}/embedded/lib -L#{install_dir}/embedded/lib",
         
     | 
| 
       697 
     | 
    
         
            -
                        "CFLAGS" => "-I#{install_dir}/embedded/include -O2",
         
     | 
| 
      
 721 
     | 
    
         
            +
                        "CFLAGS" => "-I#{install_dir}/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
         
     | 
| 
       698 
722 
     | 
    
         
             
                      }
         
     | 
| 
       699 
     | 
    
         
            -
                      # Enable gcc version 4.8 if it is available
         
     | 
| 
       700 
     | 
    
         
            -
                      if which("gcc-4.8") && platform_version.satisfies?("< 12")
         
     | 
| 
       701 
     | 
    
         
            -
                        suse_flags["CC"] = "gcc-4.8"
         
     | 
| 
       702 
     | 
    
         
            -
                        suse_flags["CXX"] = "g++-4.8"
         
     | 
| 
       703 
     | 
    
         
            -
                      end
         
     | 
| 
       704 
     | 
    
         
            -
                      suse_flags
         
     | 
| 
       705 
723 
     | 
    
         
             
                    when "windows"
         
     | 
| 
       706 
724 
     | 
    
         
             
                      arch_flag = windows_arch_i386? ? "-m32" : "-m64"
         
     | 
| 
       707 
725 
     | 
    
         
             
                      opt_flag = windows_arch_i386? ? "-march=i686" : "-march=x86-64"
         
     | 
| 
         @@ -721,7 +739,7 @@ module Omnibus 
     | 
|
| 
       721 
739 
     | 
    
         
             
                    else
         
     | 
| 
       722 
740 
     | 
    
         
             
                      {
         
     | 
| 
       723 
741 
     | 
    
         
             
                        "LDFLAGS" => "-Wl,-rpath,#{install_dir}/embedded/lib -L#{install_dir}/embedded/lib",
         
     | 
| 
       724 
     | 
    
         
            -
                        "CFLAGS" => "-I#{install_dir}/embedded/include -O2",
         
     | 
| 
      
 742 
     | 
    
         
            +
                        "CFLAGS" => "-I#{install_dir}/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
         
     | 
| 
       725 
743 
     | 
    
         
             
                      }
         
     | 
| 
       726 
744 
     | 
    
         
             
                    end
         
     | 
| 
       727 
745 
     | 
    
         | 
| 
         @@ -1075,8 +1093,8 @@ module Omnibus 
     | 
|
| 
       1075 
1093 
     | 
    
         
             
                      log.info(log_key) do
         
     | 
| 
       1076 
1094 
     | 
    
         
             
                        "Forcing a build because resolved version is nil"
         
     | 
| 
       1077 
1095 
     | 
    
         
             
                      end
         
     | 
| 
       1078 
     | 
    
         
            -
                      execute_build
         
     | 
| 
       1079 
     | 
    
         
            -
                      project.dirty!(self)
         
     | 
| 
      
 1096 
     | 
    
         
            +
                      execute_build(build_wrappers)
         
     | 
| 
      
 1097 
     | 
    
         
            +
                      project.dirty!(self) unless project.dirty? # omnibus can only be mildly dirty
         
     | 
| 
       1080 
1098 
     | 
    
         
             
                    elsif project.dirty?
         
     | 
| 
       1081 
1099 
     | 
    
         
             
                      log.info(log_key) do
         
     | 
| 
       1082 
1100 
     | 
    
         
             
                        "Building because `#{project.culprit.name}' dirtied the cache"
         
     | 
    
        data/lib/omnibus/sugarable.rb
    CHANGED
    
    | 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #
         
     | 
| 
       2 
     | 
    
         
            -
            # Copyright 2014- 
     | 
| 
      
 2 
     | 
    
         
            +
            # Copyright 2014-2020, 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.
         
     | 
| 
         @@ -14,31 +14,22 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
            # limitations under the License.
         
     | 
| 
       15 
15 
     | 
    
         
             
            #
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            require "chef 
     | 
| 
       18 
     | 
    
         
            -
            require "chef/sugar/cloud"
         
     | 
| 
       19 
     | 
    
         
            -
            require "chef/sugar/constraints"
         
     | 
| 
       20 
     | 
    
         
            -
            require "chef/sugar/ip"
         
     | 
| 
       21 
     | 
    
         
            -
            require "chef/sugar/init"
         
     | 
| 
       22 
     | 
    
         
            -
            require "chef/sugar/platform"
         
     | 
| 
       23 
     | 
    
         
            -
            require "chef/sugar/platform_family"
         
     | 
| 
       24 
     | 
    
         
            -
            require "chef/sugar/ruby"
         
     | 
| 
       25 
     | 
    
         
            -
            require "chef/sugar/shell"
         
     | 
| 
       26 
     | 
    
         
            -
            require "chef/sugar/vagrant"
         
     | 
| 
      
 17 
     | 
    
         
            +
            require "chef-utils" unless defined?(ChefUtils::CANARY)
         
     | 
| 
       27 
18 
     | 
    
         | 
| 
       28 
19 
     | 
    
         
             
            module Omnibus
         
     | 
| 
       29 
20 
     | 
    
         
             
              module Sugarable
         
     | 
| 
       30 
21 
     | 
    
         
             
                def self.extended(base)
         
     | 
| 
       31 
     | 
    
         
            -
                  base.send(:extend,  
     | 
| 
      
 22 
     | 
    
         
            +
                  base.send(:extend, ChefUtils)
         
     | 
| 
       32 
23 
     | 
    
         
             
                  base.send(:extend, Omnibus::Sugar)
         
     | 
| 
       33 
24 
     | 
    
         
             
                end
         
     | 
| 
       34 
25 
     | 
    
         | 
| 
       35 
26 
     | 
    
         
             
                def self.included(base)
         
     | 
| 
       36 
     | 
    
         
            -
                  base.send(:include,  
     | 
| 
      
 27 
     | 
    
         
            +
                  base.send(:include, ChefUtils)
         
     | 
| 
       37 
28 
     | 
    
         
             
                  base.send(:include, Omnibus::Sugar)
         
     | 
| 
       38 
29 
     | 
    
         | 
| 
       39 
30 
     | 
    
         
             
                  if base < Cleanroom
         
     | 
| 
       40 
31 
     | 
    
         
             
                    # Make all the "sugars" available in the cleanroom (DSL)
         
     | 
| 
       41 
     | 
    
         
            -
                     
     | 
| 
      
 32 
     | 
    
         
            +
                    ChefUtils.instance_methods.each do |instance_method|
         
     | 
| 
       42 
33 
     | 
    
         
             
                      base.send(:expose, instance_method)
         
     | 
| 
       43 
34 
     | 
    
         
             
                    end
         
     | 
| 
       44 
35 
     | 
    
         | 
    
        data/lib/omnibus/templating.rb
    CHANGED
    
    
    
        data/lib/omnibus/thread_pool.rb
    CHANGED
    
    
    
        data/lib/omnibus/util.rb
    CHANGED
    
    
    
        data/lib/omnibus/version.rb
    CHANGED
    
    
    
        data/lib/omnibus/whitelist.rb
    CHANGED
    
    | 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         | 
| 
       2 
     | 
    
         
            -
            # Copyright 2012- 
     | 
| 
      
 2 
     | 
    
         
            +
            # Copyright 2012-2020, 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.
         
     | 
| 
         @@ -16,6 +16,7 @@ 
     | 
|
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            WHITELIST_LIBS = [
         
     | 
| 
       18 
18 
     | 
    
         
             
                /ld-linux/,
         
     | 
| 
      
 19 
     | 
    
         
            +
                /libanl\.so/,
         
     | 
| 
       19 
20 
     | 
    
         
             
                /libc\.so/,
         
     | 
| 
       20 
21 
     | 
    
         
             
                /libcrypt\.so/,
         
     | 
| 
       21 
22 
     | 
    
         
             
                /libdl/,
         
     | 
| 
         @@ -33,6 +34,7 @@ WHITELIST_LIBS = [ 
     | 
|
| 
       33 
34 
     | 
    
         
             
              ].freeze
         
     | 
| 
       34 
35 
     | 
    
         | 
| 
       35 
36 
     | 
    
         
             
            ARCH_WHITELIST_LIBS = [
         
     | 
| 
      
 37 
     | 
    
         
            +
              /libanl\.so/,
         
     | 
| 
       36 
38 
     | 
    
         
             
              /libc\.so/,
         
     | 
| 
       37 
39 
     | 
    
         
             
              /libcrypt\.so/,
         
     | 
| 
       38 
40 
     | 
    
         
             
              /libdb-5\.3\.so/,
         
     | 
| 
         @@ -56,6 +58,27 @@ AIX_WHITELIST_LIBS = [ 
     | 
|
| 
       56 
58 
     | 
    
         
             
              /unix$/,
         
     | 
| 
       57 
59 
     | 
    
         
             
            ].freeze
         
     | 
| 
       58 
60 
     | 
    
         | 
| 
      
 61 
     | 
    
         
            +
            OMNIOS_WHITELIST_LIBS = [
         
     | 
| 
      
 62 
     | 
    
         
            +
              /libc\.so\.1/,
         
     | 
| 
      
 63 
     | 
    
         
            +
              /libcrypt\./,
         
     | 
| 
      
 64 
     | 
    
         
            +
              /libcrypt\.so\.1/,
         
     | 
| 
      
 65 
     | 
    
         
            +
              /libdl\.so\.1/,
         
     | 
| 
      
 66 
     | 
    
         
            +
              /libgcc_s\.so\.1/,
         
     | 
| 
      
 67 
     | 
    
         
            +
              /libgen\.so\.1/,
         
     | 
| 
      
 68 
     | 
    
         
            +
              /libm\.so\.2/,
         
     | 
| 
      
 69 
     | 
    
         
            +
              /libmd\.so\.1/,
         
     | 
| 
      
 70 
     | 
    
         
            +
              /libmp\.so/,
         
     | 
| 
      
 71 
     | 
    
         
            +
              /libmp\.so\.2/,
         
     | 
| 
      
 72 
     | 
    
         
            +
              /libnsl\.so\.1/,
         
     | 
| 
      
 73 
     | 
    
         
            +
              /libpthread\.so\.1/,
         
     | 
| 
      
 74 
     | 
    
         
            +
              /librt\.so\.1/,
         
     | 
| 
      
 75 
     | 
    
         
            +
              /libsocket\.so\.1/,
         
     | 
| 
      
 76 
     | 
    
         
            +
              /libssp\.s/,
         
     | 
| 
      
 77 
     | 
    
         
            +
              /libssp\.so./,
         
     | 
| 
      
 78 
     | 
    
         
            +
              /libssp\.so\.0/,
         
     | 
| 
      
 79 
     | 
    
         
            +
              /libgcc_s\.so\.1/,
         
     | 
| 
      
 80 
     | 
    
         
            +
            ].freeze
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
       59 
82 
     | 
    
         
             
            SOLARIS_WHITELIST_LIBS = [
         
     | 
| 
       60 
83 
     | 
    
         
             
              /libaio\.so/,
         
     | 
| 
       61 
84 
     | 
    
         
             
              /libavl\.so/,
         
     | 
    
        data/omnibus.gemspec
    CHANGED
    
    | 
         @@ -1,5 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
            lib = File.expand_path("../lib", __FILE__)
         
     | 
| 
      
 1 
     | 
    
         
            +
            lib = File.expand_path("lib", __dir__)
         
     | 
| 
       3 
2 
     | 
    
         
             
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
       4 
3 
     | 
    
         
             
            require "omnibus/version"
         
     | 
| 
       5 
4 
     | 
    
         | 
| 
         @@ -13,7 +12,7 @@ Gem::Specification.new do |gem| 
     | 
|
| 
       13 
12 
     | 
    
         
             
              gem.description    = gem.summary
         
     | 
| 
       14 
13 
     | 
    
         
             
              gem.homepage       = "https://github.com/chef/omnibus"
         
     | 
| 
       15 
14 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
              gem.required_ruby_version = ">= 2. 
     | 
| 
      
 15 
     | 
    
         
            +
              gem.required_ruby_version = ">= 2.6"
         
     | 
| 
       17 
16 
     | 
    
         | 
| 
       18 
17 
     | 
    
         
             
              gem.files = %w{ LICENSE README.md Rakefile Gemfile } + Dir.glob("*.gemspec") + Dir.glob("{bin,lib,resources,spec}/**/{*,.kitchen*}")
         
     | 
| 
       19 
18 
     | 
    
         
             
              gem.bindir = "bin"
         
     | 
| 
         @@ -22,13 +21,13 @@ Gem::Specification.new do |gem| 
     | 
|
| 
       22 
21 
     | 
    
         
             
              gem.require_paths = ["lib"]
         
     | 
| 
       23 
22 
     | 
    
         | 
| 
       24 
23 
     | 
    
         
             
              gem.add_dependency "aws-sdk-s3",       "~> 1"
         
     | 
| 
       25 
     | 
    
         
            -
              gem.add_dependency "chef- 
     | 
| 
      
 24 
     | 
    
         
            +
              gem.add_dependency "chef-utils",       ">= 15.4"
         
     | 
| 
       26 
25 
     | 
    
         
             
              gem.add_dependency "chef-cleanroom",   "~> 1.0"
         
     | 
| 
       27 
26 
     | 
    
         
             
              gem.add_dependency "ffi-yajl",         "~> 2.2"
         
     | 
| 
       28 
27 
     | 
    
         
             
              gem.add_dependency "mixlib-shellout",  ">= 2.0", "< 4.0"
         
     | 
| 
       29 
     | 
    
         
            -
              gem.add_dependency "ohai",             ">=  
     | 
| 
      
 28 
     | 
    
         
            +
              gem.add_dependency "ohai",             ">= 15"
         
     | 
| 
       30 
29 
     | 
    
         
             
              gem.add_dependency "ruby-progressbar", "~> 1.7"
         
     | 
| 
       31 
     | 
    
         
            -
              gem.add_dependency "thor",             " 
     | 
| 
      
 30 
     | 
    
         
            +
              gem.add_dependency "thor",             ">= 0.18", "< 2.0"
         
     | 
| 
       32 
31 
     | 
    
         
             
              gem.add_dependency "license_scout",    "~> 1.0"
         
     | 
| 
       33 
32 
     | 
    
         | 
| 
       34 
33 
     | 
    
         
             
              gem.add_dependency "mixlib-versioning"
         
     | 
| 
         @@ -36,8 +35,8 @@ Gem::Specification.new do |gem| 
     | 
|
| 
       36 
35 
     | 
    
         | 
| 
       37 
36 
     | 
    
         
             
              gem.add_development_dependency "artifactory", "~> 3.0"
         
     | 
| 
       38 
37 
     | 
    
         
             
              gem.add_development_dependency "aruba",       "~> 0.5"
         
     | 
| 
       39 
     | 
    
         
            -
              gem.add_development_dependency "chefstyle",   "=  
     | 
| 
       40 
     | 
    
         
            -
              gem.add_development_dependency "fauxhai", 
     | 
| 
      
 38 
     | 
    
         
            +
              gem.add_development_dependency "chefstyle",   "= 1.6.2"
         
     | 
| 
      
 39 
     | 
    
         
            +
              gem.add_development_dependency "fauxhai-ng",  ">= 7.5"
         
     | 
| 
       41 
40 
     | 
    
         
             
              gem.add_development_dependency "rspec",       "~> 3.0"
         
     | 
| 
       42 
41 
     | 
    
         
             
              gem.add_development_dependency "rspec-json_expectations"
         
     | 
| 
       43 
42 
     | 
    
         
             
              gem.add_development_dependency "rspec-its"
         
     | 
| 
         Binary file 
     | 
| 
         @@ -21,20 +21,12 @@ 
     | 
|
| 
       21 
21 
     | 
    
         
             
                <Media Id="1" Cabinet="Project.cab" EmbedCab="yes" CompressionLevel="high" />
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                <!--
         
     | 
| 
       24 
     | 
    
         
            -
                  Take advantage of Windows Installer 5.0 feature (if available) to disable 
     | 
| 
       25 
     | 
    
         
            -
                  checkpointing and other costings that take significant amounts of time 
     | 
| 
      
 24 
     | 
    
         
            +
                  Take advantage of Windows Installer 5.0 feature (if available) to disable
         
     | 
| 
      
 25 
     | 
    
         
            +
                  checkpointing and other costings that take significant amounts of time
         
     | 
| 
       26 
26 
     | 
    
         
             
                  ref: https://msdn.microsoft.com/en-us/library/windows/desktop/dd408005(v=vs.85).aspx
         
     | 
| 
       27 
27 
     | 
    
         
             
                -->
         
     | 
| 
       28 
28 
     | 
    
         
             
                <Property Id="MSIFASTINSTALL" Value="7" />
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
                <!--
         
     | 
| 
       31 
     | 
    
         
            -
                  Uncomment launch condition below to check for minimum OS
         
     | 
| 
       32 
     | 
    
         
            -
                  601 = Windows 7/Server 2008R2.
         
     | 
| 
       33 
     | 
    
         
            -
                -->
         
     | 
| 
       34 
     | 
    
         
            -
                <!-- Condition Message="!(loc.MinimumOSVersionMessage)">
         
     | 
| 
       35 
     | 
    
         
            -
                  <![CDATA[Installed OR VersionNT >= 601]]>
         
     | 
| 
       36 
     | 
    
         
            -
                </Condition -->
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
30 
     | 
    
         
             
                <!-- We always do Major upgrades -->
         
     | 
| 
       39 
31 
     | 
    
         
             
                <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeErrorMessage)" />
         
     | 
| 
       40 
32 
     | 
    
         |