123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- 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
- }
- }
- }
|