]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/apt/providers/source.rb
Remove expired apt keys
[chef.git] / cookbooks / apt / providers / source.rb
index cce755a637b79219d15d4504bf0a8325173e5097..048d1eeae1481311c7600d6b64af6ba14d23a037 100644 (file)
@@ -25,17 +25,22 @@ use_inline_resources
 
 action :create do
   if new_resource.key
-    execute "apt-key-#{new_resource.key}" do
+    execute "apt-key-#{new_resource.key}-clean" do
+      command "/usr/bin/apt-key adv --batch --delete-key --yes #{new_resource.key}"
+      only_if "/usr/bin/apt-key adv --list-keys #{new_resource.key} | fgrep expired"
+    end
+
+    execute "apt-key-#{new_resource.key}-install" do
       command "/usr/bin/apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys #{new_resource.key}"
-      not_if "/usr/bin/apt-key list | /bin/fgrep -q #{new_resource.key}"
+      not_if "/usr/bin/apt-key adv --list-keys #{new_resource.key}"
     end
   end
 
-  template source_path  do
+  template source_path do
     source new_resource.template
     owner "root"
     group "root"
-    mode 0644
+    mode 0o644
     variables :url => new_resource.url
   end
 end