]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/apt/providers/source.rb
Update bundle
[chef.git] / cookbooks / apt / providers / source.rb
index c12679f0d96b0b2ababf81acc7c4fb3810d53429..d3b710b85a2eb13396fee68bd2126dc6492477e1 100644 (file)
@@ -25,9 +25,21 @@ use_inline_resources
 
 action :create do
   if new_resource.key
 
 action :create do
   if new_resource.key
-    execute "apt-key-#{new_resource.key}" do
-      command "/usr/bin/apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys #{new_resource.key}"
-      not_if "/usr/bin/apt-key adv --list-keys #{new_resource.key}"
+    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
+
+    if new_resource.key_url
+      execute "apt-key-#{new_resource.key}-install" do
+        command "/usr/bin/apt-key adv --fetch-keys #{new_resource.key_url}"
+        not_if "/usr/bin/apt-key adv --list-keys #{new_resource.key}"
+      end
+    else
+      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 adv --list-keys #{new_resource.key}"
+      end
     end
   end
 
     end
   end