summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Ball <tball@chef.io>2018-08-07 13:30:10 -0600
committerGitHub <noreply@github.com>2018-08-07 13:30:10 -0600
commit28f8ad784acd0a36f0118f2d9d9f651c48681ccb (patch)
tree8bcffa51dbf04f28e3edf241832bfe51494a0fe3
parent522d04e230cb0d5d8b7878baed568d069ea2d8c0 (diff)
parent5276b1b96a254177778b275fa441ab9a4abd920f (diff)
downloadchef-28f8ad784acd0a36f0118f2d9d9f651c48681ccb.tar.gz
Merge pull request #7526 from chef/scrub_basename
Backport for 13: scrub tempfile names
-rw-r--r--.travis.yml59
-rw-r--r--kitchen-tests/cookbooks/base/recipes/packages.rb2
-rw-r--r--lib/chef/file_content_management/tempfile.rb6
3 files changed, 35 insertions, 32 deletions
diff --git a/.travis.yml b/.travis.yml
index c4f1ba3911..3960749218 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,10 @@ dist: trusty
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem --version
- - rvm @global do gem uninstall bundler -a -x
+ # travis may preinstall a bundler gem which is later than the one which we pin, which may totally hose us, so we preemtively
+ # uninstall anything they may have installed here. if they haven't installed anything then we have to ignore the failure
+ # to uninstall the default bundler that ships embedded in ruby itself.
+ - rvm @global do gem uninstall bundler -a -x || true
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundle --version
- rm -f .bundle/config
@@ -39,7 +42,7 @@ matrix:
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
- env:
INTEGRATION_SPECS_24: 1
- rvm: 2.4.3
+ rvm: 2.4.4
sudo: true
script: sudo -E $(which bundle) exec rake spec:integration;
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
@@ -51,7 +54,7 @@ matrix:
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
- env:
FUNCTIONAL_SPECS_24: 1
- rvm: 2.4.3
+ rvm: 2.4.4
sudo: true
script: sudo -E $(which bundle) exec rake spec:functional;
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
@@ -65,7 +68,7 @@ matrix:
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
- env:
UNIT_SPECS_24: 1
- rvm: 2.4.3
+ rvm: 2.4.4
sudo: true
script:
- sudo -E $(which bundle) exec rake spec:unit;
@@ -73,13 +76,13 @@ matrix:
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
- env:
CHEFSTYLE: 1
- rvm: 2.4.3
+ rvm: 2.4.4
script: bundle exec rake style
# also remove integration / external tests
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
- env:
AUDIT_CHECK: 1
- rvm: 2.4.3
+ rvm: 2.4.4
script: bundle exec bundle-audit check --update
# also remove integration / external tests
bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen
@@ -89,45 +92,45 @@ matrix:
- env:
TEST_GEM: sethvargo/chef-sugar
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
PEDANT_OPTS: --skip-oc_id
TEST_GEM: chef/chef-zero
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec cheffs
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
TEST_GEM: chef/cheffish
script: bundle exec tasks/bin/run_external_test $TEST_GEM cheffish-13 rake spec
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
TEST_GEM: chefspec/chefspec
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
TEST_GEM: foodcritic/foodcritic
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake test
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
TEST_GEM: poise/halite
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
TEST_GEM: chef/knife-windows
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake unit_spec
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
TEST_GEM: poise/poise
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec
- rvm: 2.4.3
+ rvm: 2.4.4
- env:
TEST_GEM: chef/knife-windows
script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake unit_spec
- rvm: 2.4.3
+ rvm: 2.4.4
### START TEST KITCHEN ONLY ###
#
# Temporarily Disable Amazon Linux 2
#
- # - rvm: 2.4.3
+ # - rvm: 2.4.4
# services: docker
# sudo: required
# gemfile: kitchen-tests/Gemfile
@@ -144,7 +147,7 @@ matrix:
# env:
# - AMAZON=LATEST
# - KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -161,7 +164,7 @@ matrix:
env:
- UBUNTU=14.04
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -178,7 +181,7 @@ matrix:
env:
- UBUNTU=16.04
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -195,7 +198,7 @@ matrix:
env:
- DEBIAN=7
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -212,7 +215,7 @@ matrix:
env:
- DEBIAN=8
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -229,7 +232,7 @@ matrix:
env:
- DEBIAN=9
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -246,7 +249,7 @@ matrix:
env:
- CENTOS=6
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -263,7 +266,7 @@ matrix:
env:
- CENTOS=7
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -280,7 +283,7 @@ matrix:
env:
- FEDORA=latest
- KITCHEN_YAML=.kitchen.travis.yml
- - rvm: 2.4.3
+ - rvm: 2.4.4
services: docker
sudo: required
gemfile: kitchen-tests/Gemfile
@@ -297,7 +300,7 @@ matrix:
env:
- OPENSUSELEAP=42
- KITCHEN_YAML=.kitchen.travis.yml
-# - rvm: 2.4.3
+# - rvm: 2.4.4
# services: docker
# sudo: required
# gemfile: kitchen-tests/Gemfile
@@ -314,7 +317,7 @@ matrix:
# env:
# - AWESOME_CUSTOMERS_UBUNTU=1
# - KITCHEN_YAML=.kitchen.travis.yml
-# - rvm: 2.4.3
+# - rvm: 2.4.4
# services: docker
# sudo: required
# gemfile: kitchen-tests/Gemfile
@@ -332,7 +335,7 @@ matrix:
# - AWESOME_CUSTOMERS_RHEL=1
# - KITCHEN_YAML=.kitchen.travis.yml
# ### END TEST KITCHEN ONLY ###
- - rvm: 2.4.3
+ - rvm: 2.4.4
sudo: required
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
diff --git a/kitchen-tests/cookbooks/base/recipes/packages.rb b/kitchen-tests/cookbooks/base/recipes/packages.rb
index fc65a2d8f7..f8ceb342ad 100644
--- a/kitchen-tests/cookbooks/base/recipes/packages.rb
+++ b/kitchen-tests/cookbooks/base/recipes/packages.rb
@@ -15,7 +15,7 @@ pkgs.each do |pkg|
multipackage pkgs
end
-gems = %w{fpm aws-sdk}
+gems = %w{fpm community_cookbook_releaser}
gems.each do |gem|
chef_gem gem do
diff --git a/lib/chef/file_content_management/tempfile.rb b/lib/chef/file_content_management/tempfile.rb
index cf59a87996..3d22069be2 100644
--- a/lib/chef/file_content_management/tempfile.rb
+++ b/lib/chef/file_content_management/tempfile.rb
@@ -1,6 +1,6 @@
#
# Author:: Lamont Granquist (<lamont@chef.io>)
-# Copyright:: Copyright 2013-2016, Chef Software Inc.
+# Copyright:: Copyright 2013-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -68,7 +68,7 @@ class Chef
# the leading "[.]chef-" here should be considered a public API and should not be changed
basename.insert 0, "chef-"
basename.insert 0, "." unless Chef::Platform.windows? # dotfile if we're not on windows
- basename
+ basename.scrub
end
# this is similar to File.extname() but greedy about the extension (from the first dot, not the last dot)
@@ -76,7 +76,7 @@ class Chef
# complexity here is due to supporting mangling non-UTF8 strings (e.g. latin-1 filenames with characters that are illegal in UTF-8)
b = File.basename(@new_resource.path)
i = b.index(".")
- i.nil? ? "" : b[i..-1]
+ i.nil? ? "" : b[i..-1].scrub
end
# Returns the possible directories for the tempfile to be created in.