Fix check for ubuntu version
[puppet-modules/puppetlabs-apt.git] / manifests / params.pp
index 57cee5007d65ee75a21f06c4a6afa4ec315db807..c648c4ef992b853cacc0dea271a2ae0c4d21e207 100644 (file)
@@ -1,45 +1,36 @@
+# @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'))
   }
 
-  # Strict variables facts lookup compatibility
-  $xfacts = {
-    'lsbdistcodename' => defined('$lsbdistcodename') ? {
-      true    => $::lsbdistcodename,
-      default => undef,
-    },
-    'lsbdistrelease' => defined('$lsbdistrelease') ? {
-      true    => $::lsbdistrelease,
-      default => undef,
-    },
-    'lsbmajdistrelease' => defined('$lsbmajdistrelease') ? {
-      true    => $::lsbmajdistrelease,
-      default => undef,
-    },
-    'lsbdistdescription' => defined('$lsbdistdescription') ? {
-      true    => $::lsbdistdescription,
-      default => undef,
-    },
-    'lsbminordistrelease' => defined('$lsbminordistrelease') ? {
-      true    => $::lsbminordistrelease,
-      default => undef,
-    },
-    'lsbdistid' => defined('$lsbdistid') ? {
-      true    => $::lsbdistid,
-      default => undef,
-    },
-  }
-
-  $root           = '/etc/apt'
-  $provider       = '/usr/bin/apt-get'
-  $sources_list   = "${root}/sources.list"
-  $sources_list_d = "${root}/sources.list.d"
-  $conf_d         = "${root}/apt.conf.d"
-  $preferences    = "${root}/preferences"
-  $preferences_d  = "${root}/preferences.d"
-  $keyserver      = 'keyserver.ubuntu.com'
+  $root                 = '/etc/apt'
+  $provider             = '/usr/bin/apt-get'
+  $sources_list         = "${root}/sources.list"
+  $sources_list_force   = false
+  $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                = {}
+  $proxy                = {}
+  $sources              = {}
+  $keys                 = {}
+  $ppas                 = {}
+  $pins                 = {}
+  $settings             = {}
+  $manage_auth_conf     = true
+  $auth_conf_entries    = []
 
   $config_files = {
     'conf'   => {
@@ -48,7 +39,7 @@ class apt::params {
     },
     'pref'   => {
       'path' => $preferences_d,
-      'ext'  => '',
+      'ext'  => '.pref',
     },
     'list'   => {
       'path' => $sources_list_d,
@@ -58,21 +49,26 @@ class apt::params {
 
   $update_defaults = {
     'frequency' => 'reluctantly',
+    'loglevel'  => undef,
     'timeout'   => undef,
     'tries'     => undef,
   }
 
   $proxy_defaults = {
-    'host'  => undef,
-    'port'  => 8080,
-    'https' => false,
+    'ensure'     => undef,
+    'host'       => undef,
+    'port'       => 8080,
+    'https'      => false,
+    'https_acng' => false,
+    'direct'     => false,
   }
 
   $purge_defaults = {
-    'sources.list'   => true,
-    'sources.list.d' => true,
-    'preferences'    => true,
-    'preferences.d'  => true,
+    'sources.list'   => false,
+    'sources.list.d' => false,
+    'preferences'    => false,
+    'preferences.d'  => false,
+    'apt.conf.d'     => false,
   }
 
   $source_key_defaults = {
@@ -87,61 +83,42 @@ class apt::params {
     'src' => false,
   }
 
-  case $xfacts['lsbdistid'] {
-    'ubuntu', 'debian': {
-      $distid = $xfacts['lsbdistid']
-      $distcodename = $xfacts['lsbdistcodename']
-    }
-    'linuxmint': {
-      if $xfacts['lsbdistcodename'] == 'debian' {
-        $distid = 'debian'
-        $distcodename = 'wheezy'
+  case $facts['os']['name']{
+    'Debian': {
+          $backports = {
+            'location' => 'http://deb.debian.org/debian',
+            'repos'    => 'main contrib non-free',
+          }
+      $ppa_options = undef
+      $ppa_package = undef
+      if versioncmp($facts['os']['release']['major'], '9') >= 0 {
+        $auth_conf_owner = '_apt'
       } else {
-        $distid = 'ubuntu'
-        $distcodename = $xfacts['lsbdistcodename'] ? {
-          'qiana'  => 'trusty',
-          'petra'  => 'saucy',
-          'olivia' => 'raring',
-          'nadia'  => 'quantal',
-          'maya'   => 'precise',
-        }
+        $auth_conf_owner = 'root'
       }
     }
-    'Cumulus Networks': {
-      $distid = 'debian'
-      $distcodename = $::lsbdistcodename
+    'Ubuntu': {
+      $backports = {
+        'location' => 'http://archive.ubuntu.com/ubuntu',
+        'key'      => '630239CC130E1A7FD81A27B140976EAF437D05B5',
+        'repos'    => 'main universe multiverse restricted',
+      }
+      $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 lsbdistid, is lsb-release installed?')
+      fail(translate('Unable to determine value for fact os[\"name\"]'))
     }
     default: {
-      fail("Unsupported lsbdistid (${::lsbdistid})")
-    }
-  }
-  case $distid {
-    'ubuntu': {
-      case $distcodename {
-        'lucid': {
-          $ppa_options        = undef
-          $ppa_package        = 'python-software-properties'
-        }
-        'precise': {
-          $ppa_options        = '-y'
-          $ppa_package        = 'python-software-properties'
-        }
-        'trusty', 'utopic', 'vivid': {
-          $ppa_options        = '-y'
-          $ppa_package        = 'software-properties-common'
-        }
-        default: {
-          $ppa_options        = '-y'
-          $ppa_package        = 'python-software-properties'
-        }
-      }
-    }
-    '', default: {
       $ppa_options = undef
       $ppa_package = undef
+      $backports   = undef
+      $auth_conf_owner = 'root'
     }
   }
 }