e651d7d25c
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.
157 lines
4.3 KiB
Puppet
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
|
|
}
|
|
}
|
|
}
|