]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/apt/providers/source.rb
Merge remote-tracking branch 'github/pull/89'
[chef.git] / cookbooks / apt / providers / source.rb
index 77a204bde897e53910d13e071545a92dedd0c7d0..d3b710b85a2eb13396fee68bd2126dc6492477e1 100644 (file)
@@ -25,9 +25,21 @@ 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 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
 
@@ -35,7 +47,7 @@ action :create do
     source new_resource.template
     owner "root"
     group "root"
-    mode 0644
+    mode 0o644
     variables :url => new_resource.url
   end
 end