3 if $::osfamily != 'Debian' {
4 fail('This module only works on Debian or derivatives like Ubuntu')
7 # prior to puppet 3.5.0, defined() couldn't test if a variable was defined.
8 # strict_variables wasn't added until 3.5.0, so this should be fine.
9 if $::puppetversion and versioncmp($::puppetversion, '3.5.0') < 0 {
11 'lsbdistcodename' => $::lsbdistcodename,
12 'lsbdistrelease' => $::lsbdistrelease,
13 'lsbdistid' => $::lsbdistid,
16 # Strict variables facts lookup compatibility
18 'lsbdistcodename' => defined('$lsbdistcodename') ? {
19 true => $::lsbdistcodename,
22 'lsbdistrelease' => defined('$lsbdistrelease') ? {
23 true => $::lsbdistrelease,
26 'lsbdistid' => defined('$lsbdistid') ? {
34 $provider = '/usr/bin/apt-get'
35 $sources_list = "${root}/sources.list"
36 $sources_list_d = "${root}/sources.list.d"
37 $conf_d = "${root}/apt.conf.d"
38 $preferences = "${root}/preferences"
39 $preferences_d = "${root}/preferences.d"
40 $keyserver = 'keyserver.ubuntu.com'
48 'path' => $preferences_d,
52 'path' => $sources_list_d,
58 'frequency' => 'reluctantly',
71 'sources.list' => false,
72 'sources.list.d' => false,
73 'preferences' => false,
74 'preferences.d' => false,
77 $source_key_defaults = {
78 'server' => $keyserver,
89 case $xfacts['lsbdistid'] {
91 case $xfacts['lsbdistcodename'] {
94 'location' => 'http://httpredir.debian.org/debian-backports',
95 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
96 'repos' => 'main contrib non-free',
101 'location' => 'http://httpredir.debian.org/debian',
102 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
103 'repos' => 'main contrib non-free',
114 'location' => 'http://archive.ubuntu.com/ubuntu',
115 'key' => '630239CC130E1A7FD81A27B140976EAF437D05B5',
116 'repos' => 'main universe multiverse restricted',
119 if $xfacts['lsbdistcodename'] == 'lucid' {
121 $ppa_package = 'python-software-properties'
122 } elsif $xfacts['lsbdistcodename'] == 'precise' {
124 $ppa_package = 'python-software-properties'
125 } elsif versioncmp($xfacts['lsbdistrelease'], '14.04') >= 0 {
127 $ppa_package = 'software-properties-common'
130 $ppa_package = 'python-software-properties'
134 fail('Unable to determine lsbdistid, please install lsb-release first')