(MODULES-8272) - Revert "Autorequire dirmngr in apt_key types"
authorEimhin Laverty <eimhin.laverty@puppet.com>
Tue, 20 Nov 2018 09:09:49 +0000 (09:09 +0000)
committerEimhin Laverty <eimhin.laverty@puppet.com>
Tue, 20 Nov 2018 09:14:51 +0000 (09:14 +0000)
This reverts commit 53ea6e7a789ebec00d463ba78abf09bfe031efd9.

lib/puppet/type/apt_key.rb
manifests/key.pp
spec/acceptance/apt_key_provider_spec.rb

index ca88f867eab26918b43ad729dd29a7b53ec754e2..467f568af4a74ff475fb2ed77da0e2c31298dc16 100644 (file)
@@ -64,10 +64,6 @@ Puppet::Type.newtype(:apt_key) do
     end
   end
 
-  autorequire(:package) do
-    'dirmngr'
-  end
-
   newparam(:server) do
     desc 'The key server to fetch the key from based on the ID. It can either be a domain name or url.'
     defaultto :'keyserver.ubuntu.com'
index 6daace0e034e9ad464f014e7262f33e3f16d29f7..13b477060d679786677697db0fab9a1b60dc61d5 100644 (file)
@@ -57,6 +57,22 @@ define apt::key (
           server  => $server,
           options => $options,
         } -> anchor { "apt_key ${id} present": }
+
+        case $facts['os']['name'] {
+          'Debian': {
+            if versioncmp($facts['os']['release']['major'], '9') >= 0 {
+              ensure_packages(['dirmngr'])
+              Apt::Key<| title == $title |>
+            }
+          }
+          'Ubuntu': {
+            if versioncmp($facts['os']['release']['full'], '17.04') >= 0 {
+              ensure_packages(['dirmngr'])
+              Apt::Key<| title == $title |>
+            }
+          }
+          default: { }
+        }
       }
     }
 
index 95b84d00119de0644b32378ece1a6a0d163c310f..fdb2ec63d0f35bc02b1234ff461b96d0aa99ded1 100644 (file)
@@ -665,6 +665,12 @@ refresh_del_key_pp = <<-MANIFEST
         }
 MANIFEST
 
+refresh_check_for_dirmngr_pp = <<-MANIFEST
+        package { 'dirmngr':
+          ensure  => 'present',
+        }
+MANIFEST
+
 describe 'apt_key' do
   before(:each) do
     # Delete twice to make sure everything is cleaned
@@ -971,6 +977,10 @@ describe 'apt_key' do
       let(:puppetlabs_exp_check_command) { PUPPETLABS_EXP_CHECK_COMMAND }
     end
     before(:each) do
+      if fact('lsbdistcodename') == 'stretch' || fact('lsbdistcodename') == 'bionic'
+        # Ensure dirmngr package is installed
+        apply_manifest(refresh_check_for_dirmngr_pp, acceptable_exit_codes: [0, 2])
+      end
       # Delete the Puppet Labs Release Key and install an expired version of the key
       apply_manifest(refresh_del_key_pp)
       apply_manifest(refresh_pp, catch_failures: true)