2.0.0 prep
[puppet-modules/puppetlabs-apt.git] / manifests / params.pp
index 8edd2e7840583141b944e2e288c415f20b0f8ff4..57cee5007d65ee75a21f06c4a6afa4ec315db807 100644 (file)
@@ -1,17 +1,34 @@
 class apt::params {
 
-  if defined('$caller_module_name') and $caller_module_name and $caller_module_name != $module_name {
-    fail('apt::params is a private class and cannot be accessed directly')
-  }
-
   if $::osfamily != 'Debian' {
     fail('This module only works on Debian or derivatives like Ubuntu')
   }
 
+  # Strict variables facts lookup compatibility
   $xfacts = {
     'lsbdistcodename' => defined('$lsbdistcodename') ? {
       true    => $::lsbdistcodename,
-      default => undef
+      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,
     },
   }
 
@@ -40,7 +57,6 @@ class apt::params {
   }
 
   $update_defaults = {
-    'always'    => false,
     'frequency' => 'reluctantly',
     'timeout'   => undef,
     'tries'     => undef,
@@ -66,24 +82,23 @@ class apt::params {
     'source'  => undef,
   }
 
-  $file_defaults = {
-    'owner' => 'root',
-    'group' => 'root',
-    'mode'  => '0644',
+  $include_defaults = {
+    'deb' => true,
+    'src' => false,
   }
 
-  case $::lsbdistid {
+  case $xfacts['lsbdistid'] {
     'ubuntu', 'debian': {
-      $distid = $::lsbdistid
+      $distid = $xfacts['lsbdistid']
       $distcodename = $xfacts['lsbdistcodename']
     }
     'linuxmint': {
-      if $::lsbdistcodename == 'debian' {
+      if $xfacts['lsbdistcodename'] == 'debian' {
         $distid = 'debian'
         $distcodename = 'wheezy'
       } else {
         $distid = 'ubuntu'
-        $distcodename = $::lsbdistcodename ? {
+        $distcodename = $xfacts['lsbdistcodename'] ? {
           'qiana'  => 'trusty',
           'petra'  => 'saucy',
           'olivia' => 'raring',
@@ -92,7 +107,11 @@ class apt::params {
         }
       }
     }
-    '': {
+    'Cumulus Networks': {
+      $distid = 'debian'
+      $distcodename = $::lsbdistcodename
+    }
+    undef: {
       fail('Unable to determine lsbdistid, is lsb-release installed?')
     }
     default: {
@@ -116,7 +135,7 @@ class apt::params {
         }
         default: {
           $ppa_options        = '-y'
-          $ppa_package        = 'software-properties-common'
+          $ppa_package        = 'python-software-properties'
         }
       }
     }