From 31f9ada8660a2831204aca436e343b6a10b103cd Mon Sep 17 00:00:00 2001 From: John Keiser Date: Sat, 16 Apr 2016 21:22:16 -0700 Subject: Allow Windows to freeze --- omnibus/config/projects/chef.rb | 2 ++ omnibus/config/software/chef.rb | 5 +---- omnibus/files/chef-appbundle/build-chef-appbundle.rb | 5 +---- omnibus/files/chef/build-chef.rb | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) (limited to 'omnibus') diff --git a/omnibus/config/projects/chef.rb b/omnibus/config/projects/chef.rb index ce79c5cd1d..fa6f30b322 100644 --- a/omnibus/config/projects/chef.rb +++ b/omnibus/config/projects/chef.rb @@ -45,6 +45,8 @@ end overrides_path = File.expand_path("../../../../omnibus_overrides.rb", __FILE__) instance_eval(IO.read(overrides_path), overrides_path) +override :"ruby-windows-devkit", version: "4.5.2-20111229-1559" if windows? && windows_arch_i386? + dependency "preparation" # All actual dependencies are in chef-complete, so that the addition diff --git a/omnibus/config/software/chef.rb b/omnibus/config/software/chef.rb index 866694c894..4b4e9c2850 100644 --- a/omnibus/config/software/chef.rb +++ b/omnibus/config/software/chef.rb @@ -63,10 +63,7 @@ build do # Prepare to install: build config, retries, job, frozen=true # TODO Windows install seems to sometimes install already-installed gems such # as gherkin (and fail as a result) if you use jobs > 1. - # TODO Windows cannot be frozen, because Bundler doesn't understand platform-specific - # versions. However, on Windows we have explicit version pins for most things, so - # we will *probably* get the exact versions of everything we want. - create_bundle_config(chef_gemfile, retries: 4, jobs: windows? ? 1 : 7, frozen: !windows?) + create_bundle_config(chef_gemfile, retries: 4, jobs: windows? ? 1 : 7, frozen: true) # Install all the things. Arguments are specified in .bundle/config (see create_bundle_config) block { log.info(log_key) { "" } } diff --git a/omnibus/files/chef-appbundle/build-chef-appbundle.rb b/omnibus/files/chef-appbundle/build-chef-appbundle.rb index 5e4a6afdfd..da6a4dc970 100644 --- a/omnibus/files/chef-appbundle/build-chef-appbundle.rb +++ b/omnibus/files/chef-appbundle/build-chef-appbundle.rb @@ -50,10 +50,7 @@ module BuildChefAppbundle # "test", "changelog" and "guard" come from berkshelf, "maintenance" comes from chef # "tools" and "integration" come from inspec shellout!("#{bundle_bin} config --local without #{without_groups.join(":")}", env: env, cwd: installed_path) - # TODO Windows cannot be frozen, because Bundler doesn't understand platform-specific - # versions. However, on Windows we have explicit version pins for most things, so - # we will *probably* get the exact versions of everything we want. - shellout!("#{bundle_bin} config --local frozen 1") unless windows? + shellout!("#{bundle_bin} config --local frozen 1") shellout!("#{bundle_bin} check", env: env, cwd: installed_path) diff --git a/omnibus/files/chef/build-chef.rb b/omnibus/files/chef/build-chef.rb index dd2f76e049..a4a6becfdd 100644 --- a/omnibus/files/chef/build-chef.rb +++ b/omnibus/files/chef/build-chef.rb @@ -78,7 +78,7 @@ module BuildChef # Emit blank line to separate different tasks log.info(log_key) { "" } log.info(log_key) { "Properly installing git or path sourced gem #{gem_path} using rake install" } - shellout!("#{bundle_bin} exec #{rake_bin} install --trace", env: chef_env, cwd: gem_path) + shellout!("#{bundle_bin} exec #{rake_bin} install", env: chef_env, cwd: gem_path) end end end -- cgit v1.2.1