module-puppetlabs-apt/manifests/params.pp
Philipp Wagner e651d7d25c Install software-properties-common for xenial
Instead of adding every newer release of Ubuntu, let's assume that the
package name that is used today will be used in the future, until the
next change is necessary.
2016-05-02 13:53:09 +02:00

157 lines
4.3 KiB
Puppet

class apt::params {
if $::osfamily != 'Debian' {
fail('This module only works on Debian or derivatives like Ubuntu')
}
# prior to puppet 3.5.0, defined couldn't test if a variable was defined
# strict variables wasn't added until 3.5.0, so this should be fine.
if ! $::settings::strict_variables {
$xfacts = {
'lsbdistcodename' => $::lsbdistcodename,
'lsbdistrelease' => $::lsbdistrelease,
'lsbmajdistrelease' => $::lsbmajdistrelease,
'lsbdistdescription' => $::lsbdistdescription,
'lsbminordistrelease' => $::lsbminordistrelease,
'lsbdistid' => $::lsbdistid,
}
} else {
# 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'
$config_files = {
'conf' => {
'path' => $conf_d,
'ext' => '',
},
'pref' => {
'path' => $preferences_d,
'ext' => '.pref',
},
'list' => {
'path' => $sources_list_d,
'ext' => '.list',
}
}
$update_defaults = {
'frequency' => 'reluctantly',
'timeout' => undef,
'tries' => undef,
}
$proxy_defaults = {
'ensure' => undef,
'host' => undef,
'port' => 8080,
'https' => false,
}
$purge_defaults = {
'sources.list' => false,
'sources.list.d' => false,
'preferences' => false,
'preferences.d' => false,
}
$source_key_defaults = {
'server' => $keyserver,
'options' => undef,
'content' => undef,
'source' => undef,
}
$include_defaults = {
'deb' => true,
'src' => false,
}
case $xfacts['lsbdistid'] {
'debian': {
case $xfacts['lsbdistcodename'] {
'squeeze': {
$backports = {
'location' => 'http://httpredir.debian.org/debian-backports',
'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
'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
}
'ubuntu': {
$backports = {
'location' => 'http://archive.ubuntu.com/ubuntu',
'key' => '630239CC130E1A7FD81A27B140976EAF437D05B5',
'repos' => 'main universe multiverse restricted',
}
if $xfacts['lsbdistcodename'] == 'lucid' {
$ppa_options = undef
$ppa_package = 'python-software-properties'
} elsif $xfacts['lsbdistcodename'] == 'precise' {
$ppa_options = '-y'
$ppa_package = 'python-software-properties'
} elsif versioncmp($xfacts['lsbdistrelease'], '14.04') >= 0 {
$ppa_options = '-y'
$ppa_package = 'software-properties-common'
} else {
$ppa_options = '-y'
$ppa_package = 'python-software-properties'
}
}
undef: {
fail('Unable to determine lsbdistid, please install lsb-release first')
}
default: {
$ppa_options = undef
$ppa_package = undef
$backports = undef
}
}
}