diff options
-rw-r--r-- | CHANGELOG.md | 13 | ||||
-rw-r--r-- | Gemfile.lock | 26 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | chef-config/lib/chef-config/version.rb | 2 | ||||
-rw-r--r-- | chef-universal-mingw32.gemspec | 2 | ||||
-rw-r--r-- | lib/chef/application/client.rb | 14 | ||||
-rw-r--r-- | lib/chef/version.rb | 2 | ||||
-rw-r--r-- | omnibus/Gemfile.lock | 63 | ||||
-rw-r--r-- | spec/integration/client/client_spec.rb | 6 |
9 files changed, 77 insertions, 53 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 8521c5c53e..480a34149e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,17 @@ <!-- usage documentation: http://expeditor-docs.es.chef.io/configuration/changelog/ --> -<!-- latest_release --> +<!-- latest_release 13.9.6 --> +## [v13.9.6](https://github.com/chef/chef/tree/v13.9.6) (2018-07-07) + +#### Merged Pull Requests +- Pull in latest win32-service gem [#7432](https://github.com/chef/chef/pull/7432) ([tas50](https://github.com/tas50)) <!-- latest_release --> -<!-- release_rollup --> +<!-- release_rollup since=13.9.4 --> +### Changes since 13.9.4 release + +#### Merged Pull Requests +- Pull in latest win32-service gem [#7432](https://github.com/chef/chef/pull/7432) ([tas50](https://github.com/tas50)) <!-- 13.9.6 --> +- Trying to use --recipe-url on Windows with local file fails [#7426](https://github.com/chef/chef/pull/7426) ([tyler-ball](https://github.com/tyler-ball)) <!-- 13.9.5 --> <!-- release_rollup --> <!-- latest_stable_release --> diff --git a/Gemfile.lock b/Gemfile.lock index 29b1625f43..0571ecc6d8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,10 +9,10 @@ GIT PATH remote: . specs: - chef (13.9.4) + chef (13.9.6) addressable bundler (>= 1.10) - chef-config (= 13.9.4) + chef-config (= 13.9.6) chef-zero (~> 13.0) diff-lcs (~> 1.2, >= 1.2.4) erubis (~> 2.7) @@ -39,10 +39,10 @@ PATH specinfra (~> 2.10) syslog-logger (~> 1.6) uuidtools (~> 2.1.5) - chef (13.9.4-universal-mingw32) + chef (13.9.6-universal-mingw32) addressable bundler (>= 1.10) - chef-config (= 13.9.4) + chef-config (= 13.9.6) chef-zero (~> 13.0) diff-lcs (~> 1.2, >= 1.2.4) erubis (~> 2.7) @@ -77,14 +77,14 @@ PATH win32-mmap (~> 0.4.1) win32-mutex (~> 0.4.2) win32-process (~> 0.8.2) - win32-service (~> 0.8.7) + win32-service (~> 1.0) windows-api (~> 0.4.4) wmi-lite (~> 1.0) PATH remote: chef-config specs: - chef-config (13.9.4) + chef-config (13.9.6) addressable fuzzyurl mixlib-config (~> 2.0) @@ -188,11 +188,11 @@ GEM little-plugger (~> 1.1) multi_json (~> 1.10) method_source (0.9.0) - mixlib-archive (0.4.6) + mixlib-archive (0.4.8) mixlib-log mixlib-authentication (1.4.2) mixlib-cli (1.7.0) - mixlib-config (2.2.6) + mixlib-config (2.2.12) tomlrb mixlib-log (1.7.1) mixlib-shellout (2.3.2) @@ -235,7 +235,7 @@ GEM ast (~> 2.4.0) parslet (1.8.2) plist (3.4.0) - powerpack (0.1.1) + powerpack (0.1.2) proxifier (1.0.3) pry (0.11.3) coderay (~> 1.1.0) @@ -305,7 +305,7 @@ GEM simplecov-html (~> 0.10.0) simplecov-html (0.10.2) slop (3.6.0) - specinfra (2.73.3) + specinfra (2.73.4) net-scp net-ssh (>= 2.7, < 5.0) net-telnet @@ -314,7 +314,7 @@ GEM syslog-logger (1.6.8) systemu (2.6.5) thor (0.20.0) - tomlrb (1.2.6) + tomlrb (1.2.7) train (0.32.0) docker-api (~> 1.26) json (>= 1.8, < 3.0) @@ -356,7 +356,7 @@ GEM win32-ipc (>= 0.6.0) win32-process (0.8.3) ffi (>= 1.0.0) - win32-service (0.8.10) + win32-service (1.0.1) ffi ffi-win32-extensions windows-api (0.4.4) @@ -410,4 +410,4 @@ DEPENDENCIES yard BUNDLED WITH - 1.16.1 + 1.16.2 @@ -1 +1 @@ -13.9.4
\ No newline at end of file +13.9.6
\ No newline at end of file diff --git a/chef-config/lib/chef-config/version.rb b/chef-config/lib/chef-config/version.rb index f424c693ec..a717078702 100644 --- a/chef-config/lib/chef-config/version.rb +++ b/chef-config/lib/chef-config/version.rb @@ -21,7 +21,7 @@ module ChefConfig CHEFCONFIG_ROOT = File.expand_path("../..", __FILE__) - VERSION = "13.9.4" + VERSION = "13.9.6" end # diff --git a/chef-universal-mingw32.gemspec b/chef-universal-mingw32.gemspec index 449f909bb2..661ee0a3c8 100644 --- a/chef-universal-mingw32.gemspec +++ b/chef-universal-mingw32.gemspec @@ -12,7 +12,7 @@ gemspec.add_dependency "win32-eventlog", "0.6.3" gemspec.add_dependency "win32-mmap", "~> 0.4.1" gemspec.add_dependency "win32-mutex", "~> 0.4.2" gemspec.add_dependency "win32-process", "~> 0.8.2" -gemspec.add_dependency "win32-service", "~> 0.8.7" +gemspec.add_dependency "win32-service", "~> 1.0" gemspec.add_dependency "windows-api", "~> 0.4.4" gemspec.add_dependency "wmi-lite", "~> 1.0" gemspec.extensions << "ext/win32-eventlog/Rakefile" diff --git a/lib/chef/application/client.rb b/lib/chef/application/client.rb index 32530925d5..7713350352 100644 --- a/lib/chef/application/client.rb +++ b/lib/chef/application/client.rb @@ -28,6 +28,7 @@ require "chef/workstation_config_loader" require "chef/mixin/shell_out" require "chef-config/mixin/dot_d" require "mixlib/archive" +require "uri" class Chef::Application::Client < Chef::Application include Chef::Mixin::ShellOut @@ -528,10 +529,17 @@ class Chef::Application::Client < Chef::Application def fetch_recipe_tarball(url, path) Chef::Log.debug("Download recipes tarball from #{url} to #{path}") - File.open(path, "wb") do |f| - open(url) do |r| - f.write(r.read) + if url =~ URI.regexp + File.open(path, "wb") do |f| + open(url) do |r| + f.write(r.read) + end end + elsif File.exist?(url) + FileUtils.cp(url, path) + else + Chef::Application.fatal! "You specified --recipe-url but the value is neither a valid URL nor a path to a file that exists on disk." + + "Please confirm the location of the tarball and try again." end end end diff --git a/lib/chef/version.rb b/lib/chef/version.rb index c057904814..d0e79ba31b 100644 --- a/lib/chef/version.rb +++ b/lib/chef/version.rb @@ -23,7 +23,7 @@ require "chef/version_string" class Chef CHEF_ROOT = File.expand_path("../..", __FILE__) - VERSION = Chef::VersionString.new("13.9.4") + VERSION = Chef::VersionString.new("13.9.6") end # diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock index 5ab4d71bc0..2ca2c29e80 100644 --- a/omnibus/Gemfile.lock +++ b/omnibus/Gemfile.lock @@ -1,8 +1,8 @@ GIT remote: https://github.com/chef/omnibus - revision: 7f3652f85986ba24d681493bf2968326bfc2de46 + revision: 7e9c9a6a71c1ada2d7f42484f13074e1ec6b7cd3 specs: - omnibus (5.6.11) + omnibus (5.6.12) aws-sdk (~> 2) chef-sugar (~> 3.3) cleanroom (~> 1.0) @@ -17,7 +17,7 @@ GIT GIT remote: https://github.com/chef/omnibus-software - revision: 0cb3a8dfb6cebd56684c1d4609a676959389e4c5 + revision: 836bd650d49e6350dfa40b43a1398c5847a6fd42 specs: omnibus-software (4.0.0) chef-sugar (>= 3.4.0) @@ -29,14 +29,14 @@ GEM addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) awesome_print (1.8.0) - aws-sdk (2.11.31) - aws-sdk-resources (= 2.11.31) - aws-sdk-core (2.11.31) + aws-sdk (2.11.83) + aws-sdk-resources (= 2.11.83) + aws-sdk-core (2.11.83) aws-sigv4 (~> 1.0) jmespath (~> 1.0) - aws-sdk-resources (2.11.31) - aws-sdk-core (= 2.11.31) - aws-sigv4 (1.0.2) + aws-sdk-resources (2.11.83) + aws-sdk-core (= 2.11.83) + aws-sigv4 (1.0.3) berkshelf (4.3.5) addressable (~> 2.3, >= 2.3.4) berkshelf-api-client (~> 2.0, >= 2.0.2) @@ -76,7 +76,7 @@ GEM celluloid-io (0.16.2) celluloid (>= 0.16.0) nio4r (>= 1.1.0) - chef-config (14.0.190) + chef-config (14.2.0) addressable fuzzyurl mixlib-config (~> 2.0) @@ -90,9 +90,9 @@ GEM erubis (2.7.0) faraday (0.9.2) multipart-post (>= 1.2, < 3) - ffi (1.9.23) - ffi (1.9.23-x64-mingw32) - ffi (1.9.23-x86-mingw32) + ffi (1.9.25) + ffi (1.9.25-x64-mingw32) + ffi (1.9.25-x86-mingw32) ffi-yajl (2.3.1) libyajl2 (~> 1.2) fuzzyurl (0.9.0) @@ -101,8 +101,9 @@ GEM gyoku (1.3.1) builder (>= 2.1.2) hashie (3.5.7) - hitimes (1.2.6) - hitimes (1.2.6-x86-mingw32) + hitimes (1.3.0) + hitimes (1.3.0-x64-mingw32) + hitimes (1.3.0-x86-mingw32) httpclient (2.7.2) iostruct (0.0.4) ipaddress (0.8.3) @@ -111,7 +112,7 @@ GEM kitchen-vagrant (0.19.0) test-kitchen (~> 1.4) libyajl2 (1.2.0) - license_scout (1.0.1) + license_scout (1.0.10) ffi-yajl (~> 2.2) mixlib-shellout (~> 2.2) toml-rb (~> 1.0) @@ -121,17 +122,17 @@ GEM multi_json (~> 1.10) method_source (0.9.0) minitar (0.6.1) - mixlib-archive (0.4.1) + mixlib-archive (0.4.8) mixlib-log - mixlib-authentication (1.4.2) + mixlib-authentication (2.1.1) mixlib-cli (1.7.0) - mixlib-config (2.2.6) + mixlib-config (2.2.12) tomlrb - mixlib-install (3.9.3) + mixlib-install (3.10.0) mixlib-shellout mixlib-versioning thor - mixlib-log (2.0.3) + mixlib-log (2.0.4) mixlib-shellout (2.3.2) mixlib-shellout (2.3.2-universal-mingw32) win32-process (~> 0.8.2) @@ -145,11 +146,11 @@ GEM net-ssh (4.2.0) net-ssh-gateway (1.3.0) net-ssh (>= 2.6.5) - nio4r (2.3.0) + nio4r (2.3.1) nori (2.6.0) - octokit (4.8.0) + octokit (4.9.0) sawyer (~> 0.8.0, >= 0.5.3) - ohai (14.0.29) + ohai (14.2.0) chef-config (>= 12.8, < 15) ffi (~> 1.9) ffi-yajl (~> 2.2) @@ -209,22 +210,22 @@ GEM molinillo (~> 0.4.2) semverse (~> 1.1) systemu (2.6.5) - test-kitchen (1.20.0) + test-kitchen (1.22.0) 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, < 0.19.2) + thor (~> 0.19) winrm (~> 2.0) winrm-elevated (~> 1.0) - winrm-fs (~> 1.1.0) - thor (0.19.1) + 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) + tomlrb (1.2.7) varia_model (0.4.1) buff-extensions (~> 1.0) hashie (>= 2.0.2, < 4.0.0) @@ -242,7 +243,7 @@ GEM winrm-elevated (1.1.0) winrm (~> 2.0) winrm-fs (~> 1.0) - winrm-fs (1.1.1) + winrm-fs (1.2.0) erubis (~> 2.7) logging (>= 1.6.1, < 3.0) rubyzip (~> 1.1) @@ -268,4 +269,4 @@ DEPENDENCIES winrm-fs (~> 1.0) BUNDLED WITH - 1.16.1 + 1.16.2 diff --git a/spec/integration/client/client_spec.rb b/spec/integration/client/client_spec.rb index de12b8ba8e..b7eb3b1d07 100644 --- a/spec/integration/client/client_spec.rb +++ b/spec/integration/client/client_spec.rb @@ -553,6 +553,12 @@ EOM result = shell_out("#{chef_client} --recipe-url=http://localhost:9000/recipes.tgz", :cwd => tmp_dir) expect(result.exitstatus).not_to eq(0) end + + it "should fail when passed --recipe-url with a file that doesn't exist" do + broken_path = File.join(CHEF_SPEC_DATA, "recipes_dont_exist.tgz") + result = shell_out("#{chef_client} --recipe-url=#{broken_path}", :cwd => tmp_dir) + expect(result.exitstatus).not_to eq(0) + end end when_the_repository "has a cookbook with broken metadata.rb, but has metadata.json" do |