3 if defined('$caller_module_name') and $caller_module_name and $caller_module_name != $module_name {
4 fail('apt::params is a private class and cannot be accessed directly')
7 if $::osfamily != 'Debian' {
8 fail('This module only works on Debian or derivatives like Ubuntu')
11 # Strict variables facts lookup compatibility
13 'lsbdistcodename' => defined('$lsbdistcodename') ? {
14 true => $::lsbdistcodename,
17 'lsbdistrelease' => defined('$lsbdistrelease') ? {
18 true => $::lsbdistrelease,
21 'lsbmajdistrelease' => defined('$lsbmajdistrelease') ? {
22 true => $::lsbmajdistrelease,
25 'lsbdistdescription' => defined('$lsbdistdescription') ? {
26 true => $::lsbdistdescription,
29 'lsbminordistrelease' => defined('$lsbminordistrelease') ? {
30 true => $::lsbminordistrelease,
33 'lsbdistid' => defined('$lsbdistid') ? {
40 $provider = '/usr/bin/apt-get'
41 $sources_list = "${root}/sources.list"
42 $sources_list_d = "${root}/sources.list.d"
43 $conf_d = "${root}/apt.conf.d"
44 $preferences = "${root}/preferences"
45 $preferences_d = "${root}/preferences.d"
46 $keyserver = 'keyserver.ubuntu.com'
54 'path' => $preferences_d,
58 'path' => $sources_list_d,
65 'frequency' => 'reluctantly',
77 'sources.list' => true,
78 'sources.list.d' => true,
79 'preferences' => true,
80 'preferences.d' => true,
83 $source_key_defaults = {
84 'server' => $keyserver,
95 case $xfacts['lsbdistid'] {
97 $distid = $xfacts['lsbdistid']
98 $distcodename = $xfacts['lsbdistcodename']
101 if $xfacts['lsbdistcodename'] == 'debian' {
103 $distcodename = 'wheezy'
106 $distcodename = $xfacts['lsbdistcodename'] ? {
109 'olivia' => 'raring',
110 'nadia' => 'quantal',
116 fail('Unable to determine lsbdistid, is lsb-release installed?')
119 fail("Unsupported lsbdistid (${::lsbdistid})")
127 $ppa_package = 'python-software-properties'
131 $ppa_package = 'python-software-properties'
133 'trusty', 'utopic', 'vivid': {
135 $ppa_package = 'software-properties-common'
139 $ppa_package = 'software-properties-common'