summaryrefslogtreecommitdiff
path: root/manifests/preferences_snippet.pp
blob: 91b3dde64621b5e9c4c24ff77e81b100bb3948ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
define apt::preferences_snippet(
  $ensure = 'present',
  $source = '',
  $release,
  $priority )
{

  if $custom_preferences == false {
    fail("Trying to define a preferences_snippet with \$custom_preferences set to false.")
  }

  include apt::preferences

  concat::fragment{"apt_preference_${name}":
    ensure => $ensure,
    target => '/etc/apt/preferences',
  }

  # This should really work in the same manner as sources_list and apt_conf
  # snippets, but since the preferences.d directory cannot be used in Debian
  # lenny, we can't generalize without going into ugly special-casing.
  case $source {
    '': {
      Concat::Fragment["apt_preference_${name}"]{
        content => template("apt/preferences_snippet.erb")
      }
    }
    default: {
      Concat::Fragment["apt_preference_${name}"]{
        source => $source
      }
    }
  }
}