Merge pull request #904 from anarcat/sources-list-remove
[puppet-modules/puppetlabs-apt.git] / manifests / params.pp
index bcff6bd40d293cde5ed273e6d55495b2a252075a..b0c367ca109cb4858df14ee0fbcdc56263d19332 100644 (file)
@@ -1,17 +1,24 @@
+# @summary Provides defaults for the Apt module parameters.
+# 
+# @api private
+#
 class apt::params {
 
   if $::osfamily != 'Debian' {
-    fail('This module only works on Debian or derivatives like Ubuntu')
+    fail(translate('This module only works on Debian or derivatives like Ubuntu'))
   }
 
   $root           = '/etc/apt'
   $provider       = '/usr/bin/apt-get'
   $sources_list   = "${root}/sources.list"
   $sources_list_d = "${root}/sources.list.d"
+  $trusted_gpg_d  = "${root}/trusted.gpg.d"
   $conf_d         = "${root}/apt.conf.d"
   $preferences    = "${root}/preferences"
   $preferences_d  = "${root}/preferences.d"
+  $apt_conf_d     = "${root}/apt.conf.d"
   $keyserver      = 'keyserver.ubuntu.com'
+  $key_options    = undef
   $confs          = {}
   $update         = {}
   $purge          = {}
@@ -21,6 +28,8 @@ class apt::params {
   $ppas           = {}
   $pins           = {}
   $settings       = {}
+  $manage_auth_conf = true
+  $auth_conf_entries = []
 
   $config_files = {
     'conf'   => {
@@ -39,6 +48,7 @@ class apt::params {
 
   $update_defaults = {
     'frequency' => 'reluctantly',
+    'loglevel'  => undef,
     'timeout'   => undef,
     'tries'     => undef,
   }
@@ -48,6 +58,7 @@ class apt::params {
     'host'   => undef,
     'port'   => 8080,
     'https'  => false,
+    'direct' => false,
   }
 
   $purge_defaults = {
@@ -55,6 +66,7 @@ class apt::params {
     'sources.list.d' => false,
     'preferences'    => false,
     'preferences.d'  => false,
+    'apt.conf.d'     => false,
   }
 
   $source_key_defaults = {
@@ -71,26 +83,17 @@ class apt::params {
 
   case $facts['os']['name']{
     'Debian': {
-      case $facts['os']['release']['full'] {
-        '6.0': {
           $backports = {
-            'location' => 'http://httpredir.debian.org/debian-backports',
-            'key'      => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
+            'location' => 'http://deb.debian.org/debian',
             'repos'    => 'main contrib non-free',
           }
-        }
-        default: {
-          $backports = {
-            'location' => 'http://httpredir.debian.org/debian',
-            'key'      => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
-            'repos'    => 'main contrib non-free',
-          }
-        }
-      }
-
       $ppa_options = undef
       $ppa_package = undef
-
+      if versioncmp($facts['os']['release']['major'], '9') >= 0 {
+        $auth_conf_owner = '_apt'
+      } else {
+        $auth_conf_owner = 'root'
+      }
     }
     'Ubuntu': {
       $backports = {
@@ -98,33 +101,22 @@ class apt::params {
         'key'      => '630239CC130E1A7FD81A27B140976EAF437D05B5',
         'repos'    => 'main universe multiverse restricted',
       }
-
-      case $facts['os']['release']['full'] {
-        '10.04': {
-          $ppa_options        = undef
-          $ppa_package        = 'python-software-properties'
-        }
-        '12.04': {
-          $ppa_options        = '-y'
-          $ppa_package        = 'python-software-properties'
-        }
-        '14.04', '14.10', '15.04', '15.10': {
-          $ppa_options        = '-y'
-          $ppa_package        = 'software-properties-common'
-        }
-        default: {
-          $ppa_options        = '-y'
-          $ppa_package        = 'python-software-properties'
-        }
+      $ppa_options        = '-y'
+      $ppa_package        = 'software-properties-common'
+      if versioncmp($facts['os']['release']['full'], '16.04') >= 0 {
+        $auth_conf_owner = '_apt'
+      } else {
+        $auth_conf_owner = 'root'
       }
     }
     undef: {
-      fail('Unable to determine value for fact os["name"]')
+      fail(translate('Unable to determine value for fact os[\"name\"]'))
     }
     default: {
       $ppa_options = undef
       $ppa_package = undef
       $backports   = undef
+      $auth_conf_owner = 'root'
     }
   }
 }