summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrlyders <Richard@Lyders.com>2018-02-27 03:30:16 -0600
committerTim Smith <tsmith@chef.io>2018-03-02 14:51:10 -0800
commitff5d9860081ad7cf3a2ec8343590f6207faff903 (patch)
tree7fb48651cf576ea1b83248c83a3fdc9931d53ded
parent2c1fc982bfee738ad7b14c0c1292510eb23ad496 (diff)
downloadchef-site_failure_deprecated_chef_13.tar.gz
[knife] Don't crash when a deprecated cookbook has no replacement (#6853)site_failure_deprecated_chef_13
* Don't crash when a deprecated cookbook has no replacement
-rw-r--r--lib/chef/knife/cookbook_site_download.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/chef/knife/cookbook_site_download.rb b/lib/chef/knife/cookbook_site_download.rb
index 43677cfa78..07e0037bd6 100644
--- a/lib/chef/knife/cookbook_site_download.rb
+++ b/lib/chef/knife/cookbook_site_download.rb
@@ -47,7 +47,12 @@ class Chef
def run
if current_cookbook_deprecated?
message = "DEPRECATION: This cookbook has been deprecated. "
- message << "It has been replaced by #{replacement_cookbook}."
+ replacement = replacement_cookbook
+ if !replacement.to_s.strip.empty?
+ message << "It has been replaced by #{replacement}."
+ else
+ message << "No replacement has been defined."
+ end
ui.warn message
unless config[:force]
@@ -105,7 +110,7 @@ class Chef
end
def replacement_cookbook
- File.basename(current_cookbook_data["replacement"])
+ File.basename(current_cookbook_data["replacement"] || "")
end
def specific_cookbook_version_url