params.pp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. class apt::params {
  2. if $::osfamily != 'Debian' {
  3. fail('This module only works on Debian or derivatives like Ubuntu')
  4. }
  5. # prior to puppet 3.5.0, defined() couldn't test if a variable was defined.
  6. # strict_variables wasn't added until 3.5.0, so this should be fine.
  7. if $::puppetversion and versioncmp($::puppetversion, '3.5.0') < 0 {
  8. $xfacts = {
  9. 'lsbdistcodename' => $::lsbdistcodename,
  10. 'lsbdistrelease' => $::lsbdistrelease,
  11. 'lsbdistid' => $::lsbdistid,
  12. }
  13. } else {
  14. # Strict variables facts lookup compatibility
  15. $xfacts = {
  16. 'lsbdistcodename' => defined('$lsbdistcodename') ? {
  17. true => $::lsbdistcodename,
  18. default => undef,
  19. },
  20. 'lsbdistrelease' => defined('$lsbdistrelease') ? {
  21. true => $::lsbdistrelease,
  22. default => undef,
  23. },
  24. 'lsbdistid' => defined('$lsbdistid') ? {
  25. true => $::lsbdistid,
  26. default => undef,
  27. },
  28. }
  29. }
  30. $root = '/etc/apt'
  31. $provider = '/usr/bin/apt-get'
  32. $sources_list = "${root}/sources.list"
  33. $sources_list_d = "${root}/sources.list.d"
  34. $conf_d = "${root}/apt.conf.d"
  35. $preferences = "${root}/preferences"
  36. $preferences_d = "${root}/preferences.d"
  37. $keyserver = 'keyserver.ubuntu.com'
  38. $config_files = {
  39. 'conf' => {
  40. 'path' => $conf_d,
  41. 'ext' => '',
  42. },
  43. 'pref' => {
  44. 'path' => $preferences_d,
  45. 'ext' => '.pref',
  46. },
  47. 'list' => {
  48. 'path' => $sources_list_d,
  49. 'ext' => '.list',
  50. }
  51. }
  52. $update_defaults = {
  53. 'frequency' => 'reluctantly',
  54. 'timeout' => undef,
  55. 'tries' => undef,
  56. }
  57. $proxy_defaults = {
  58. 'ensure' => undef,
  59. 'host' => undef,
  60. 'port' => 8080,
  61. 'https' => false,
  62. }
  63. $purge_defaults = {
  64. 'sources.list' => false,
  65. 'sources.list.d' => false,
  66. 'preferences' => false,
  67. 'preferences.d' => false,
  68. }
  69. $source_key_defaults = {
  70. 'server' => $keyserver,
  71. 'options' => undef,
  72. 'content' => undef,
  73. 'source' => undef,
  74. }
  75. $include_defaults = {
  76. 'deb' => true,
  77. 'src' => false,
  78. }
  79. case $xfacts['lsbdistid'] {
  80. 'debian': {
  81. case $xfacts['lsbdistcodename'] {
  82. 'squeeze': {
  83. $backports = {
  84. 'location' => 'http://httpredir.debian.org/debian-backports',
  85. 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
  86. 'repos' => 'main contrib non-free',
  87. }
  88. }
  89. default: {
  90. $backports = {
  91. 'location' => 'http://httpredir.debian.org/debian',
  92. 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
  93. 'repos' => 'main contrib non-free',
  94. }
  95. }
  96. }
  97. $ppa_options = undef
  98. $ppa_package = undef
  99. }
  100. 'ubuntu': {
  101. $backports = {
  102. 'location' => 'http://archive.ubuntu.com/ubuntu',
  103. 'key' => '630239CC130E1A7FD81A27B140976EAF437D05B5',
  104. 'repos' => 'main universe multiverse restricted',
  105. }
  106. if $xfacts['lsbdistcodename'] == 'lucid' {
  107. $ppa_options = undef
  108. $ppa_package = 'python-software-properties'
  109. } elsif $xfacts['lsbdistcodename'] == 'precise' {
  110. $ppa_options = '-y'
  111. $ppa_package = 'python-software-properties'
  112. } elsif versioncmp($xfacts['lsbdistrelease'], '14.04') >= 0 {
  113. $ppa_options = '-y'
  114. $ppa_package = 'software-properties-common'
  115. } else {
  116. $ppa_options = '-y'
  117. $ppa_package = 'python-software-properties'
  118. }
  119. }
  120. undef: {
  121. fail('Unable to determine lsbdistid, please install lsb-release first')
  122. }
  123. default: {
  124. $ppa_options = undef
  125. $ppa_package = undef
  126. $backports = undef
  127. }
  128. }
  129. }