diff options
author | John Keiser <john@johnkeiser.com> | 2016-08-04 10:37:51 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-04 10:37:51 -0700 |
commit | c3f5422f39853996b852ff561622ecc67dfcc826 (patch) | |
tree | 76b669696d3958b780dbade634dfa8b0ebf6c235 | |
parent | 25b1e744757ed6021bb082cd8b87580023bc1625 (diff) | |
parent | 2458a737d6f97fefe60a97df66a1398004a39448 (diff) | |
download | chef-c3f5422f39853996b852ff561622ecc67dfcc826.tar.gz |
Merge pull request #5165 from chef/jk/msys2
Make Chef work with Ruby 2.3, update Ruby to 2.1.9
-rw-r--r-- | .travis.yml | 49 | ||||
-rw-r--r-- | Gemfile | 4 | ||||
-rw-r--r-- | Gemfile.lock | 127 | ||||
-rw-r--r-- | acceptance/Gemfile.lock | 20 | ||||
-rw-r--r-- | appveyor.yml | 2 | ||||
-rw-r--r-- | chef-config/chef-config.gemspec | 2 | ||||
-rw-r--r-- | kitchen-tests/Berksfile.lock | 19 | ||||
-rw-r--r-- | kitchen-tests/Gemfile.lock | 37 | ||||
-rw-r--r-- | lib/chef/file_access_control/windows.rb | 6 | ||||
-rw-r--r-- | lib/chef/resource/freebsd_package.rb | 2 | ||||
-rw-r--r-- | lib/chef/version_class.rb | 9 | ||||
-rw-r--r-- | lib/chef/win32/file.rb | 8 | ||||
-rw-r--r-- | omnibus/Gemfile | 4 | ||||
-rw-r--r-- | omnibus/Gemfile.lock | 48 | ||||
-rw-r--r-- | omnibus_overrides.rb | 4 | ||||
-rw-r--r-- | spec/functional/mixin/powershell_out_spec.rb | 4 | ||||
-rw-r--r-- | spec/functional/resource/link_spec.rb | 7 | ||||
-rw-r--r-- | spec/spec_helper.rb | 8 | ||||
-rw-r--r-- | version_policy.rb | 16 |
19 files changed, 221 insertions, 155 deletions
diff --git a/.travis.yml b/.travis.yml index b81c538737..dfee9acd79 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,17 +30,17 @@ env: matrix: include: - - rvm: 2.1 + - rvm: 2.1.9 sudo: true script: sudo -E $(which bundle) exec rake spec; # also remove integration / external tests bundler_args: --without changelog development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen - - rvm: 2.2 + - rvm: 2.2.5 sudo: true script: sudo -E $(which bundle) exec rake spec; # also remove integration / external tests bundler_args: --without changelog development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen - - rvm: 2.3.0 + - rvm: 2.3.1 sudo: true script: sudo -E $(which bundle) exec rake spec; # also remove integration / external tests @@ -52,13 +52,13 @@ matrix: bundler_args: --without changelog development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen - env: CHEFSTYLE: 1 - rvm: 2.1 + rvm: 2.2.5 script: bundle exec rake style # also remove integration / external tests bundler_args: --without changelog development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen - env: AUDIT_CHECK: 1 - rvm: 2.1 + rvm: 2.2.5 script: bundle exec bundle-audit check --update # also remove integration / external tests bundler_args: --without changelog development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen @@ -68,23 +68,23 @@ matrix: - env: TEST_GEM: chef-provisioning script: tasks/bin/run_external_test $TEST_GEM rake spec - rvm: 2.2 + rvm: 2.2.5 - env: TEST_GEM: chef-provisioning-aws script: tasks/bin/run_external_test $TEST_GEM rake spec - rvm: 2.2 + rvm: 2.2.5 - env: TEST_GEM: chef-sugar script: tasks/bin/run_external_test $TEST_GEM rake - rvm: 2.2 + rvm: 2.2.5 - env: - TEST_GEM: chef-zero script: tasks/bin/run_external_test $TEST_GEM rake spec cheffs - rvm: 2.2 + rvm: 2.2.5 - env: TEST_GEM: cheffish script: tasks/bin/run_external_test $TEST_GEM rake spec - rvm: 2.2 + rvm: 2.2.5 - env: TEST_GEM: chefspec # The chefspec tests + bundler cache + "gem update --system" interact badly :/ @@ -93,26 +93,26 @@ matrix: - gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2) - bundle config --local without server:docgen:maintenance:omnibus_package:development:ruby_prof:pry script: tasks/bin/run_external_test $TEST_GEM rake - rvm: 2.2.0 + rvm: 2.2.5 - env: TEST_GEM: foodcritic script: tasks/bin/run_external_test $TEST_GEM rake test - rvm: 2.2 + rvm: 2.2.5 - env: TEST_GEM: halite script: tasks/bin/run_external_test $TEST_GEM rake spec - rvm: 2.2 + rvm: 2.2.5 - env: TEST_GEM: knife-windows script: tasks/bin/run_external_test $TEST_GEM rake unit_spec - rvm: 2.2 + rvm: 2.2.5 - env: TEST_GEM: poise script: tasks/bin/run_external_test $TEST_GEM rake spec - rvm: 2.2 + rvm: 2.2.5 ### START TEST KITCHEN ONLY ### # - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -129,7 +129,7 @@ matrix: env: - UBUNTU=12.04 - KITCHEN_YAML=.kitchen.travis.yml - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -146,7 +146,7 @@ matrix: env: - UBUNTU=14.04 - KITCHEN_YAML=.kitchen.travis.yml - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -163,7 +163,7 @@ matrix: env: - UBUNTU=16.04 - KITCHEN_YAML=.kitchen.travis.yml - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -180,7 +180,7 @@ matrix: env: - DEBIAN=7 - KITCHEN_YAML=.kitchen.travis.yml - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -197,7 +197,7 @@ matrix: env: - DEBIAN=8 - KITCHEN_YAML=.kitchen.travis.yml - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -214,7 +214,7 @@ matrix: env: - CENTOS=6 - KITCHEN_YAML=.kitchen.travis.yml - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -231,7 +231,7 @@ matrix: env: - CENTOS=7 - KITCHEN_YAML=.kitchen.travis.yml - - rvm: 2.2 + - rvm: 2.2.5 services: docker sudo: required gemfile: kitchen-tests/Gemfile @@ -249,7 +249,7 @@ matrix: - FEDORA=23 - KITCHEN_YAML=.kitchen.travis.yml ### END TEST KITCHEN ONLY ### - - rvm: 2.2 + - rvm: 2.2.5 sudo: required dist: trusty before_install: @@ -270,7 +270,6 @@ matrix: - sudo cat /var/log/squid3/access.log allow_failures: - - rvm: 2.3.0 - rvm: rbx notifications: @@ -75,11 +75,15 @@ end group(:changelog) do gem "github_changelog_generator" + # Until https://github.com/piotrmurach/github/pull/274 is merged + gem "github_api", git: "https://github.com/jkeiser/github.git", branch: "pin-less" end group(:travis) do # See `bundler-audit` in .travis.yml gem "bundler-audit", git: "https://github.com/rubysec/bundler-audit.git" + # Until https://github.com/travis-ci/travis.rb/pull/426 is merged + gem "travis", git: "https://github.com/jkeiser/travis.rb", branch: "update-typheous" end instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"] diff --git a/Gemfile.lock b/Gemfile.lock index 3f9bacc645..5d3f00789a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,14 +1,41 @@ GIT remote: https://github.com/chef/chefstyle.git - revision: 52a0d55a9e8fb30d067c0a66371db4ae781a0269 + revision: b4c1c5ae0b0ec824a1561523a79c0ff30f167a5e branch: master specs: chefstyle (0.3.1) rubocop (= 0.39.0) GIT + remote: https://github.com/jkeiser/github.git + revision: 77ddc2f14fb19ca677987752afedf4044fbd929c + branch: pin-less + specs: + github_api (0.14.4) + addressable (~> 2.4.0) + descendants_tracker (~> 0.0.4) + faraday (~> 0.8, < 0.10) + hashie (>= 3.4) + oauth2 (~> 1.0) + +GIT + remote: https://github.com/jkeiser/travis.rb + revision: 279c289a0fbeff984949bd7d266723c547c59c96 + branch: update-typheous + specs: + travis (1.8.2) + backports + faraday (~> 0.9) + faraday_middleware (~> 0.9, >= 0.9.1) + gh (~> 0.13) + highline (~> 1.6) + launchy (~> 2.1) + pusher-client (~> 0.4) + typhoeus (~> 1.0) + +GIT remote: https://github.com/rubysec/bundler-audit.git - revision: b16b26e0a4eed474f5f1ee38c22030a2f617ffc8 + revision: b7123d7b294f244165d9469f22b37a559e235fc2 specs: bundler-audit (0.5.0) bundler (~> 1.2) @@ -89,7 +116,7 @@ PATH remote: chef-config specs: chef-config (12.13.24) - fuzzyurl (~> 0.8.0) + fuzzyurl mixlib-config (~> 2.0) mixlib-shellout (~> 2.0) @@ -101,23 +128,24 @@ GEM mixlib-cli (~> 1.4) artifactory (2.3.3) ast (2.3.0) - aws-sdk (2.3.19) - aws-sdk-resources (= 2.3.19) - aws-sdk-core (2.3.19) + aws-sdk (2.5.0) + aws-sdk-resources (= 2.5.0) + aws-sdk-core (2.5.0) jmespath (~> 1.0) - aws-sdk-resources (2.3.19) - aws-sdk-core (= 2.3.19) + aws-sdk-resources (2.5.0) + aws-sdk-core (= 2.5.0) aws-sdk-v1 (1.66.0) json (~> 1.4) nokogiri (>= 1.4.4) + backports (3.6.8) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) builder (3.2.2) byebug (9.0.5) - chef-api (0.6.0) + chef-api (0.7.0) logify (~> 0.1) mime-types - chef-provisioning (1.8.0) + chef-provisioning (1.8.1) cheffish (>= 1.3.1, < 3.0) inifile (>= 2.0.2) mixlib-install (~> 1.0) @@ -132,14 +160,14 @@ GEM retryable (~> 2.0, >= 2.0.1) ubuntu_ami (~> 0.4, >= 0.4.1) chef-rewind (0.0.9) - chef-sugar (3.3.0) + chef-sugar (3.4.0) chef-zero (4.8.0) ffi-yajl (~> 2.2) hashie (>= 2.0, < 4.0) mixlib-log (~> 1.3) rack (< 2) uuidtools (~> 2.1) - cheffish (2.0.4) + cheffish (2.0.5) chef-zero (~> 4.3) compat_resource chefspec (4.7.0) @@ -148,7 +176,7 @@ GEM rspec (~> 3.0) coderay (1.1.1) colorize (0.8.1) - compat_resource (12.10.6) + compat_resource (12.10.7) cucumber-core (1.5.0) gherkin (~> 4.0) debug_inspector (0.0.2) @@ -157,17 +185,21 @@ GEM diff-lcs (1.2.5) docile (1.1.5) erubis (2.7.0) + ethon (0.9.0) + ffi (>= 1.3.0) faraday (0.9.2) multipart-post (>= 1.2, < 3) - fauxhai (3.6.0) + faraday_middleware (0.10.0) + faraday (>= 0.7.4, < 0.10) + fauxhai (3.7.0) net-ssh - ffi (1.9.10) - ffi (1.9.10-x86-mingw32) + ffi (1.9.14) + ffi (1.9.14-x86-mingw32) ffi-win32-extensions (1.0.2) ffi - ffi-yajl (2.2.3) + ffi-yajl (2.3.0) libyajl2 (~> 1.2) - foodcritic (6.3.0) + foodcritic (7.0.1) cucumber-core (>= 1.3) erubis nokogiri (>= 1.5, < 2.0) @@ -175,15 +207,16 @@ GEM rufus-lru (~> 1.0) treetop (~> 1.4) yajl-ruby (~> 1.1) - fuzzyurl (0.8.0) + fuzzyurl (0.9.0) + gh (0.14.0) + addressable + backports + faraday (~> 0.8) + multi_json (~> 1.0) + net-http-persistent (>= 2.7) + net-http-pipeline gherkin (4.0.0) - github_api (0.14.2) - addressable (~> 2.4.0) - descendants_tracker (~> 0.0.4) - faraday (~> 0.8, < 0.10) - hashie (>= 3.4) - oauth2 - github_changelog_generator (1.12.1) + github_changelog_generator (1.13.1) colorize (~> 0.7) github_api (~> 0.12) rake (>= 10.0) @@ -202,13 +235,13 @@ GEM inifile (3.0.0) iniparse (1.4.2) ipaddress (0.8.3) - jmespath (1.2.4) - json_pure (>= 1.8.1) + jmespath (1.3.1) json (1.8.3) - json_pure (1.8.3) - jwt (1.5.1) - knife-windows (1.4.1) + jwt (1.5.4) + knife-windows (1.5.0) winrm (~> 1.7) + launchy (2.4.3) + addressable (~> 2.3) libyajl2 (1.2.0) little-plugger (1.1.4) logging (2.1.0) @@ -239,6 +272,8 @@ GEM multi_json (1.12.1) multi_xml (0.5.5) multipart-post (2.0.0) + net-http-persistent (2.9.4) + net-http-pipeline (1.0.1) net-scp (1.2.1) net-ssh (>= 2.6.5) net-sftp (2.1.2) @@ -258,9 +293,9 @@ GEM mini_portile2 (~> 2.1.0) pkg-config (~> 1.1.7) nori (2.6.0) - oauth2 (1.1.0) + oauth2 (1.2.0) faraday (>= 0.8, < 0.10) - jwt (~> 1.0, < 1.5.2) + jwt (~> 1.0) multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) @@ -287,7 +322,7 @@ GEM polyglot (0.3.5) powerpack (0.1.1) proxifier (1.0.3) - pry (0.10.3) + pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) slop (~> 3.4) @@ -300,16 +335,19 @@ GEM pry-stack_explorer (0.4.9.2) binding_of_caller (>= 0.7) pry (>= 0.9.11) + pusher-client (0.6.2) + json + websocket (~> 1.0) rack (1.6.4) rainbow (2.1.0) rake (11.2.2) rb-readline (0.5.3) - retryable (2.0.3) + retryable (2.0.4) rspec (3.5.0) rspec-core (~> 3.5.0) rspec-expectations (~> 3.5.0) rspec-mocks (~> 3.5.0) - rspec-core (3.5.1) + rspec-core (3.5.2) rspec-support (~> 3.5.0) rspec-expectations (3.5.0) diff-lcs (>= 1.2.0, < 2.0) @@ -344,13 +382,13 @@ GEM rspec-its specinfra (~> 2.53) sfl (2.2) - simplecov (0.11.2) + simplecov (0.12.0) docile (~> 1.1.0) - json (~> 1.8) + json (>= 1.8, < 3) simplecov-html (~> 0.10.0) simplecov-html (0.10.0) slop (3.6.0) - specinfra (2.59.4) + specinfra (2.60.2) net-scp net-ssh (>= 2.7, < 4.0) net-telnet @@ -362,12 +400,15 @@ GEM systemu (2.6.5) thor (0.19.1) thread_safe (0.3.5) - tomlrb (1.2.2) - treetop (1.6.5) + tomlrb (1.2.3) + treetop (1.6.8) polyglot (~> 0.3) + typhoeus (1.1.0) + ethon (>= 0.9.0) ubuntu_ami (0.4.1) unicode-display_width (1.1.0) uuidtools (2.1.5) + websocket (1.2.3) win32-api (1.5.3-universal-mingw32) win32-dir (0.5.1) ffi (>= 1.0.0) @@ -398,7 +439,7 @@ GEM rubyntlm (~> 0.6.0) wmi-lite (1.0.0) yajl-ruby (1.2.1) - yard (0.8.7.6) + yard (0.9.5) PLATFORMS ruby @@ -418,6 +459,7 @@ DEPENDENCIES chefspec chefstyle! foodcritic + github_api! github_changelog_generator halite knife-windows @@ -436,6 +478,7 @@ DEPENDENCIES ruby-shadow simplecov tomlrb + travis! yard BUNDLED WITH diff --git a/acceptance/Gemfile.lock b/acceptance/Gemfile.lock index ff9d439b5b..3a3c30820d 100644 --- a/acceptance/Gemfile.lock +++ b/acceptance/Gemfile.lock @@ -22,7 +22,7 @@ GIT GIT remote: git://github.com/mwrock/kitchen-inspec.git - revision: d63240a44667974070298ad4fca20394257c92bd + revision: 5c00e1d66fa3b459e0a504ed08d0550c31f35b06 branch: winrm-v2 specs: kitchen-inspec (0.14.0) @@ -64,7 +64,7 @@ GIT GIT remote: git://github.com/winrb/winrm.git - revision: 0f35bbd963024b32cc8e262f25e6110c6abf5794 + revision: 3e50c963b935d046099a5afb295cf01f8030e43e branch: winrm-v2 specs: winrm (2.0.0) @@ -82,12 +82,12 @@ GEM specs: addressable (2.4.0) artifactory (2.3.3) - aws-sdk (2.4.2) - aws-sdk-resources (= 2.4.2) - aws-sdk-core (2.4.2) + aws-sdk (2.5.0) + aws-sdk-resources (= 2.5.0) + aws-sdk-core (2.5.0) jmespath (~> 1.0) - aws-sdk-resources (2.4.2) - aws-sdk-core (= 2.4.2) + aws-sdk-resources (2.5.0) + aws-sdk-core (= 2.5.0) berkshelf (4.3.5) addressable (~> 2.3, >= 2.3.4) berkshelf-api-client (~> 2.0, >= 2.0.2) @@ -114,7 +114,7 @@ GEM buff-extensions (~> 1.0) varia_model (~> 0.4) buff-extensions (1.0.0) - buff-ignore (1.1.1) + buff-ignore (1.2.0) buff-ruby_engine (0.1.0) buff-shell_out (0.2.0) buff-ruby_engine (~> 0.1.0) @@ -131,7 +131,7 @@ GEM cleanroom (1.0.0) coderay (1.1.1) diff-lcs (1.2.5) - docker-api (1.29.1) + docker-api (1.29.2) excon (>= 0.38.0) json erubis (2.7.0) @@ -224,7 +224,7 @@ GEM rspec-core (~> 3.5.0) rspec-expectations (~> 3.5.0) rspec-mocks (~> 3.5.0) - rspec-core (3.5.1) + rspec-core (3.5.2) rspec-support (~> 3.5.0) rspec-expectations (3.5.0) diff-lcs (>= 1.2.0, < 2.0) diff --git a/appveyor.yml b/appveyor.yml index 7d89df1eb3..8a348295da 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ platform: environment: matrix: # 21-x64 is failing right now - #- ruby_version: "21-x64" + # - ruby_version: "21-x64" - ruby_version: "21" clone_folder: c:\projects\chef diff --git a/chef-config/chef-config.gemspec b/chef-config/chef-config.gemspec index 307112126e..3d6243b898 100644 --- a/chef-config/chef-config.gemspec +++ b/chef-config/chef-config.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |spec| spec.add_dependency "mixlib-shellout", "~> 2.0" spec.add_dependency "mixlib-config", "~> 2.0" - spec.add_dependency "fuzzyurl", "~> 0.8.0" + spec.add_dependency "fuzzyurl" spec.add_development_dependency "rake", "~> 10.0" diff --git a/kitchen-tests/Berksfile.lock b/kitchen-tests/Berksfile.lock index eeecf4954f..e54aace074 100644 --- a/kitchen-tests/Berksfile.lock +++ b/kitchen-tests/Berksfile.lock @@ -30,19 +30,19 @@ GRAPH ubuntu (>= 0.0.0) users (>= 0.0.0) yum-epel (>= 0.0.0) - build-essential (6.0.0) + build-essential (6.0.3) compat_resource (>= 12.10) mingw (>= 1.1) seven_zip (>= 0.0.0) - chef-client (4.6.0) + chef-client (5.0.0) cron (>= 1.7.0) logrotate (>= 1.9.0) windows (>= 1.42.0) - chef-sugar (3.3.0) + chef-sugar (3.4.0) chef_handler (1.4.0) chef_hostname (0.4.1) compat_resource (>= 0.0.0) - compat_resource (12.10.6) + compat_resource (12.10.7) cron (1.7.6) database (2.3.1) aws (>= 0.0.0) @@ -53,8 +53,9 @@ GRAPH iis (4.1.10) windows (>= 1.34.6) iptables (2.2.0) - logrotate (1.9.2) - mingw (1.2.2) + logrotate (2.1.0) + compat_resource (>= 0.0.0) + mingw (1.2.4) compat_resource (>= 0.0.0) seven_zip (>= 0.0.0) multipackage (3.0.28) @@ -68,7 +69,7 @@ GRAPH compat_resource (>= 0.0.0) ntp (2.0.0) windows (>= 1.38.0) - ohai (4.1.1) + ohai (4.2.0) compat_resource (>= 12.10) openssh (2.0.0) iptables (>= 1.0) @@ -92,7 +93,7 @@ GRAPH sudo (2.9.0) ubuntu (1.2.0) apt (>= 0.0.0) - users (2.0.3) + users (3.0.0) webapp (0.1.0) apache2 (~> 3.2.2) database (~> 2.3.1) @@ -107,5 +108,5 @@ GRAPH yum (3.11.0) yum-epel (0.7.0) yum (>= 3.6.3) - yum-mysql-community (0.2.0) + yum-mysql-community (0.3.0) yum (>= 3.2) diff --git a/kitchen-tests/Gemfile.lock b/kitchen-tests/Gemfile.lock index edc91cc8b2..278d2f5465 100644 --- a/kitchen-tests/Gemfile.lock +++ b/kitchen-tests/Gemfile.lock @@ -3,12 +3,12 @@ GEM specs: addressable (2.4.0) artifactory (2.3.3) - aws-sdk (2.3.21) - aws-sdk-resources (= 2.3.21) - aws-sdk-core (2.3.21) + aws-sdk (2.5.0) + aws-sdk-resources (= 2.5.0) + aws-sdk-core (2.5.0) jmespath (~> 1.0) - aws-sdk-resources (2.3.21) - aws-sdk-core (= 2.3.21) + aws-sdk-resources (2.5.0) + aws-sdk-core (= 2.5.0) berkshelf (4.3.5) addressable (~> 2.3, >= 2.3.4) berkshelf-api-client (~> 2.0, >= 2.0.2) @@ -35,7 +35,7 @@ GEM buff-extensions (~> 1.0) varia_model (~> 0.4) buff-extensions (1.0.0) - buff-ignore (1.1.1) + buff-ignore (1.2.0) buff-ruby_engine (0.1.0) buff-shell_out (0.2.0) buff-ruby_engine (~> 0.1.0) @@ -52,7 +52,7 @@ GEM cleanroom (1.0.0) coderay (1.1.1) diff-lcs (1.2.5) - docker-api (1.29.0) + docker-api (1.29.2) excon (>= 0.38.0) json erubis (2.7.0) @@ -60,6 +60,7 @@ GEM faraday (0.9.2) multipart-post (>= 1.2, < 3) ffi (1.9.14) + ffi (1.9.14-x86-mingw32) fuzzyurl (0.8.0) gssapi (1.2.0) ffi (>= 1.0.1) @@ -67,8 +68,9 @@ GEM builder (>= 2.1.2) hashie (3.4.4) hitimes (1.2.4) + hitimes (1.2.4-x86-mingw32) httpclient (2.7.2) - inspec (0.27.0) + inspec (0.28.1) hashie (~> 3.4) json (~> 1.8) method_source (~> 0.8) @@ -79,19 +81,19 @@ GEM rubyzip (~> 1.1) thor (~> 0.19) train (>= 0.15.1, < 1.0) - jmespath (1.3.0) + jmespath (1.3.1) json (1.8.3) kitchen-appbundle-updater (0.1.2) kitchen-dokken (0.0.31) docker-api (~> 1.29) test-kitchen (~> 1.5) - kitchen-ec2 (1.0.0) + kitchen-ec2 (1.0.1) aws-sdk (~> 2) excon multi_json retryable (~> 2.0) test-kitchen (~> 1.4, >= 1.4.1) - kitchen-inspec (0.14.0) + kitchen-inspec (0.15.0) inspec (>= 0.22.0, < 1.0.0) test-kitchen (~> 1.6) kitchen-vagrant (0.20.0) @@ -113,6 +115,9 @@ GEM mixlib-versioning mixlib-log (1.6.0) mixlib-shellout (2.2.6) + mixlib-shellout (2.2.6-universal-mingw32) + win32-process (~> 0.8.2) + wmi-lite (~> 1.0) mixlib-versioning (1.1.0) molinillo (0.4.5) multi_json (1.12.1) @@ -129,8 +134,8 @@ GEM method_source (~> 0.8.1) slop (~> 3.4) rainbow (2.1.0) - retryable (2.0.3) - ridley (4.5.1) + retryable (2.0.4) + ridley (4.6.0) addressable buff-config (~> 1.0) buff-extensions (~> 1.0) @@ -152,7 +157,7 @@ GEM rspec-core (~> 3.5.0) rspec-expectations (~> 3.5.0) rspec-mocks (~> 3.5.0) - rspec-core (3.5.1) + rspec-core (3.5.2) rspec-support (~> 3.5.0) rspec-expectations (3.5.0) diff-lcs (>= 1.2.0, < 2.0) @@ -197,6 +202,8 @@ GEM varia_model (0.4.1) buff-extensions (~> 1.0) hashie (>= 2.0.2, < 4.0.0) + win32-process (0.8.3) + ffi (>= 1.0.0) winrm (1.8.1) builder (>= 2.1.2) gssapi (~> 1.2) @@ -210,9 +217,11 @@ GEM logging (>= 1.6.1, < 3.0) rubyzip (~> 1.1) winrm (~> 1.5) + wmi-lite (1.0.0) PLATFORMS ruby + x86-mingw32 DEPENDENCIES berkshelf diff --git a/lib/chef/file_access_control/windows.rb b/lib/chef/file_access_control/windows.rb index 6b7184bbd3..6f1ac5f581 100644 --- a/lib/chef/file_access_control/windows.rb +++ b/lib/chef/file_access_control/windows.rb @@ -128,7 +128,7 @@ class Chef end def should_update_dacl? - return true unless ::File.exists?(file) + return true unless ::File.exists?(file) || ::File.symlink?(file) dacl = target_dacl existing_dacl = existing_descriptor.dacl inherits = target_inherits @@ -161,7 +161,7 @@ class Chef end def should_update_group? - return true unless ::File.exists?(file) + return true unless ::File.exists?(file) || ::File.symlink?(file) (group = target_group) && (group != existing_descriptor.group) end @@ -180,7 +180,7 @@ class Chef end def should_update_owner? - return true unless ::File.exists?(file) + return true unless ::File.exists?(file) || ::File.symlink?(file) (owner = target_owner) && (owner != existing_descriptor.owner) end diff --git a/lib/chef/resource/freebsd_package.rb b/lib/chef/resource/freebsd_package.rb index 540774e864..a94dd0a928 100644 --- a/lib/chef/resource/freebsd_package.rb +++ b/lib/chef/resource/freebsd_package.rb @@ -45,7 +45,7 @@ class Chef def ships_with_pkgng? # It was not until __FreeBSD_version 1000017 that pkgng became # the default binary package manager. See '/usr/ports/Mk/bsd.port.mk'. - node.automatic[:os_version].to_i >= 1000017 + node[:os_version].to_i >= 1000017 end def assign_provider diff --git a/lib/chef/version_class.rb b/lib/chef/version_class.rb index 35a9f3282f..f018833717 100644 --- a/lib/chef/version_class.rb +++ b/lib/chef/version_class.rb @@ -34,8 +34,13 @@ class Chef def <=>(v) [:major, :minor, :patch].each do |method| - ans = (self.send(method) <=> v.send(method)) - return ans if ans != 0 + version = self.send(method) + begin + ans = (version <=> v.send(method)) + rescue NoMethodError # if the other thing isn't a version object, return nil + return nil + end + return ans unless ans == 0 end 0 end diff --git a/lib/chef/win32/file.rb b/lib/chef/win32/file.rb index 2a8f453432..1009f8c5a9 100644 --- a/lib/chef/win32/file.rb +++ b/lib/chef/win32/file.rb @@ -39,7 +39,7 @@ class Chef # returns nil as per MRI. # def self.link(old_name, new_name) - raise Errno::ENOENT, "(#{old_name}, #{new_name})" unless ::File.exist?(old_name) + raise Errno::ENOENT, "(#{old_name}, #{new_name})" unless ::File.exist?(old_name) || ::File.symlink?(old_name) # TODO do a check for CreateHardLinkW and # raise NotImplemented exception on older Windows old_name = encode_path(old_name) @@ -56,7 +56,7 @@ class Chef # returns nil as per MRI. # def self.symlink(old_name, new_name) - # raise Errno::ENOENT, "(#{old_name}, #{new_name})" unless ::File.exist?(old_name) + # raise Errno::ENOENT, "(#{old_name}, #{new_name})" unless ::File.exist?(old_name) || ::File.symlink?(old_name) # TODO do a check for CreateSymbolicLinkW and # raise NotImplemented exception on older Windows flags = ::File.directory?(old_name) ? SYMBOLIC_LINK_FLAG_DIRECTORY : 0 @@ -75,7 +75,7 @@ class Chef def self.symlink?(file_name) is_symlink = false path = encode_path(file_name) - if ::File.exists?(file_name) + if ::File.exists?(file_name) || ::File.symlink?(file_name) if (GetFileAttributesW(path) & FILE_ATTRIBUTE_REPARSE_POINT) > 0 file_search_handle(file_name) do |handle, find_data| if find_data[:dw_reserved_0] == IO_REPARSE_TAG_SYMLINK @@ -93,7 +93,7 @@ class Chef # will raise a NotImplementedError, as per MRI. # def self.readlink(link_name) - raise Errno::ENOENT, link_name unless ::File.exists?(link_name) + raise Errno::ENOENT, link_name unless ::File.exists?(link_name) || ::File.symlink?(link_name) symlink_file_handle(link_name) do |handle| # Go to DeviceIoControl to get the symlink information # http://msdn.microsoft.com/en-us/library/windows/desktop/aa364571(v=vs.85).aspx diff --git a/omnibus/Gemfile b/omnibus/Gemfile index 3e19adfb39..3f2de9d41a 100644 --- a/omnibus/Gemfile +++ b/omnibus/Gemfile @@ -1,7 +1,7 @@ source "https://rubygems.org" -gem "omnibus", git: "https://github.com/chef/omnibus.git" -gem "omnibus-software", git: "https://github.com/chef/omnibus-software.git" +gem "omnibus", github: "chef/omnibus", branch: "ksubrama/gcc_investigate" +gem "omnibus-software", github: "chef/omnibus-software", branch: "ksubrama/ruby23" # pedump pessimistically pins multipart-post to a version from 2013 which makes # bundler very unhappy. Remove this when upstream has merged zed-0xff/pedump#6 . diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock index f8cfeec014..b70b46de2a 100644 --- a/omnibus/Gemfile.lock +++ b/omnibus/Gemfile.lock @@ -1,13 +1,16 @@ GIT - remote: https://github.com/chef/omnibus-software.git - revision: 5e767a6d220f024256439b0a8415eefe923967dc + remote: git://github.com/chef/omnibus-software.git + revision: dc55a789ee9cfb25aa243c3778ae8dabd5eeed7a + branch: ksubrama/ruby23 specs: omnibus-software (4.0.0) + chef-sugar (>= 3.4.0) omnibus (>= 5.2.0) GIT - remote: https://github.com/chef/omnibus.git - revision: 29d390ec93709ceec2667038aed6769ee29a0646 + remote: git://github.com/chef/omnibus.git + revision: 45daf5afbef664bb1866561671ec94ccfe307bc6 + branch: ksubrama/gcc_investigate specs: omnibus (5.4.0) aws-sdk (~> 2) @@ -36,15 +39,15 @@ GEM remote: https://rubygems.org/ specs: addressable (2.4.0) - artifactory (2.3.2) + artifactory (2.3.3) awesome_print (1.7.0) - aws-sdk (2.4.2) - aws-sdk-resources (= 2.4.2) - aws-sdk-core (2.4.2) + aws-sdk (2.5.0) + aws-sdk-resources (= 2.5.0) + aws-sdk-core (2.5.0) jmespath (~> 1.0) - aws-sdk-resources (2.4.2) - aws-sdk-core (= 2.4.2) - berkshelf (4.3.3) + aws-sdk-resources (2.5.0) + aws-sdk-core (= 2.5.0) + berkshelf (4.3.5) addressable (~> 2.3, >= 2.3.4) berkshelf-api-client (~> 2.0, >= 2.0.2) buff-config (~> 1.0) @@ -56,6 +59,7 @@ GEM faraday (~> 0.9) httpclient (~> 2.7) minitar (~> 0.5, >= 0.5.4) + mixlib-archive (~> 0.1) octokit (~> 4.0) retryable (~> 2.0) ridley (~> 4.5) @@ -71,7 +75,7 @@ GEM buff-extensions (~> 1.0) varia_model (~> 0.4) buff-extensions (1.0.0) - buff-ignore (1.1.1) + buff-ignore (1.2.0) buff-ruby_engine (0.1.0) buff-shell_out (0.2.0) buff-ruby_engine (~> 0.1.0) @@ -109,7 +113,7 @@ GEM iostruct (0.0.4) ipaddress (0.8.3) jmespath (1.3.1) - json (1.8.3) + json (2.0.2) kitchen-vagrant (0.19.0) test-kitchen (~> 1.4) libyajl2 (1.2.0) @@ -119,11 +123,13 @@ GEM multi_json (~> 1.10) method_source (0.8.2) minitar (0.5.4) + mixlib-archive (0.2.0) + mixlib-log mixlib-authentication (1.4.1) mixlib-log - mixlib-cli (1.6.0) + mixlib-cli (1.7.0) mixlib-config (2.2.1) - mixlib-install (1.0.12) + mixlib-install (1.1.0) artifactory mixlib-shellout mixlib-versioning @@ -138,7 +144,7 @@ GEM multipart-post (1.2.0) net-scp (1.2.1) net-ssh (>= 2.6.5) - net-ssh (3.1.1) + net-ssh (3.2.0) nio4r (1.2.1) nori (2.6.0) octokit (4.3.0) @@ -157,7 +163,7 @@ GEM wmi-lite (~> 1.0) plist (3.2.0) progressbar (0.21.0) - pry (0.10.3) + pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) slop (~> 3.4) @@ -167,8 +173,8 @@ GEM pry-stack_explorer (0.4.9.2) binding_of_caller (>= 0.7) pry (>= 0.9.11) - retryable (2.0.3) - ridley (4.5.1) + retryable (2.0.4) + ridley (4.6.0) addressable buff-config (~> 1.0) buff-extensions (~> 1.0) @@ -199,7 +205,7 @@ GEM molinillo (~> 0.4.2) semverse (~> 1.1) systemu (2.6.5) - test-kitchen (1.9.2) + test-kitchen (1.10.2) mixlib-install (~> 1.0, >= 1.0.4) mixlib-shellout (>= 1.2, < 3.0) net-scp (~> 1.1) @@ -222,7 +228,7 @@ GEM logging (>= 1.6.1, < 3.0) nori (~> 2.0) rubyntlm (~> 0.6.0) - winrm-fs (0.4.2) + winrm-fs (0.4.3) erubis (~> 2.7) logging (>= 1.6.1, < 3.0) rubyzip (~> 1.1) diff --git a/omnibus_overrides.rb b/omnibus_overrides.rb index 7771e805e3..0c90c65c7e 100644 --- a/omnibus_overrides.rb +++ b/omnibus_overrides.rb @@ -1,5 +1,5 @@ # DO NOT EDIT. Generated by "rake dependencies". Edit version_policy.rb instead. -override :rubygems, version: "2.6.4" +override :rubygems, version: "2.6.6" override :bundler, version: "1.12.5" override "libffi", version: "3.2.1" override "libiconv", version: "1.14" @@ -11,7 +11,7 @@ override "libyaml", version: "0.1.6" override "makedepend", version: "1.0.5" override "ncurses", version: "5.9" override "pkg-config-lite", version: "0.28-1" -override "ruby", version: "2.1.8" +override "ruby", version: "2.1.9" override "ruby-windows-devkit-bash", version: "3.1.23-4-msys-1.0.18" override "util-macros", version: "1.19.0" override "xproto", version: "7.0.28" diff --git a/spec/functional/mixin/powershell_out_spec.rb b/spec/functional/mixin/powershell_out_spec.rb index 293e9552ab..66214cb0c7 100644 --- a/spec/functional/mixin/powershell_out_spec.rb +++ b/spec/functional/mixin/powershell_out_spec.rb @@ -23,7 +23,7 @@ describe Chef::Mixin::PowershellOut, windows_only: true do describe "#powershell_out" do it "runs a powershell command and collects stdout" do - expect(powershell_out("get-process").run_command.stdout).to match /Handles\s+NPM\(K\)\s+PM\(K\)\s+WS\(K\)\s+VM\(M\)\s+CPU\(s\)\s+Id\s+ProcessName/ + expect(powershell_out("get-process").run_command.stdout).to match /Handles\s+NPM\(K\)\s+PM\(K\)\s+WS\(K\)\s+VM\(M\)\s+CPU\(s\)\s+Id\s+/ end it "does not raise exceptions when the command is invalid" do @@ -33,7 +33,7 @@ describe Chef::Mixin::PowershellOut, windows_only: true do describe "#powershell_out!" do it "runs a powershell command and collects stdout" do - expect(powershell_out!("get-process").run_command.stdout).to match /Handles\s+NPM\(K\)\s+PM\(K\)\s+WS\(K\)\s+VM\(M\)\s+CPU\(s\)\s+Id\s+ProcessName/ + expect(powershell_out!("get-process").run_command.stdout).to match /Handles\s+NPM\(K\)\s+PM\(K\)\s+WS\(K\)\s+VM\(M\)\s+CPU\(s\)\s+Id\s+/ end it "raises exceptions when the command is invalid" do diff --git a/spec/functional/resource/link_spec.rb b/spec/functional/resource/link_spec.rb index 6dd6ad8422..5e58d0918a 100644 --- a/spec/functional/resource/link_spec.rb +++ b/spec/functional/resource/link_spec.rb @@ -580,12 +580,7 @@ describe Chef::Resource::Link do it "links to the target file" do skip("OS X/FreeBSD/AIX fails to create hardlinks to broken symlinks") if os_x? || freebsd? || aix? resource.run_action(:create) - # Windows and Unix have different definitions of exists? here, and that's OK. - if windows? - expect(File.exists?(target_file)).to be_truthy - else - expect(File.exists?(target_file)).to be_falsey - end + expect(File.exists?(target_file) || File.symlink?(target_file)).to be_truthy expect(symlink?(target_file)).to be_truthy expect(readlink(target_file)).to eq(canonicalize(@other_target)) end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index dcbc34a157..3a05e4dbeb 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -226,6 +226,7 @@ RSpec.configure do |config| end require "webrick/utils" +require "thread" # Webrick uses a centralized/synchronized timeout manager. It works by # starting a thread to check for timeouts on an interval. The timeout @@ -244,7 +245,12 @@ module WEBrick module Utils class TimeoutHandler def initialize - @timeout_info = Hash.new + end + + def register(*args) + end + + def cancel(*args) end end end diff --git a/version_policy.rb b/version_policy.rb index b8bead7bef..24484aa4d5 100644 --- a/version_policy.rb +++ b/version_policy.rb @@ -32,7 +32,7 @@ OMNIBUS_OVERRIDES = { "makedepend" => "1.0.5", "ncurses" => "5.9", "pkg-config-lite" => "0.28-1", - "ruby" => "2.1.8", + "ruby" => "2.1.9", # Leave dev-kit pinned to 4.5 on 32-bit, because 4.7 is 20MB larger and we don't want # to unnecessarily make the client any fatter. (Since it's different between # 32 and 64, we have to do it in the project file still.) @@ -74,14 +74,12 @@ OMNIBUS_RUBYGEMS_AT_LATEST_VERSION = { # stove - halite pins to ~> 3.2 in 1.2.1 # rubocop - chef-style pins to 0.39.0 in 0.3.1 # -ACCEPTABLE_OUTDATED_GEMS = %w{ - gherkin - jwt - mini_portile2 - slop - stove - rubocop -} +ACCEPTABLE_OUTDATED_GEMS = [ + "json", # aws-sdk-v1 disallows JSON 2.x (no fix pending yet) + "rack", # Rack 2.0+ requires Ruby 2.2 + "rubocop", # chef-style pins to 0.39.0 in 0.3.1 + "slop", # expected to disappear with pry 0.11 +] # # Some gems are part of our bundle (must be installed) but not important |