]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/apt/providers/source.rb
Update bundle
[chef.git] / cookbooks / apt / providers / source.rb
index cce755a637b79219d15d4504bf0a8325173e5097..d3b710b85a2eb13396fee68bd2126dc6492477e1 100644 (file)
@@ -25,17 +25,29 @@ use_inline_resources
 
 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 list | /bin/fgrep -q #{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
 
-  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