]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/site/manifests/alternative.pp
1a40c1575ffe8e3993d2527747e904ab56e3522a
[dsa-puppet.git] / modules / site / manifests / alternative.pp
1 define site::alternative ($linkto, $ensure = present) {
2         case $ensure {
3                 present: {
4                         if $::lsbdistcodename == 'lenny' {
5                                 exec { "/usr/sbin/update-alternatives --set ${name} ${linkto}":
6                                         unless => "[ $(readlink -f /etc/alternatives/${name}) = ${linkto} ]",
7                                 }
8                         } else {
9                                 exec { "/usr/sbin/update-alternatives --set ${name} ${linkto}":
10                                         unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') = ${linkto} ]",
11                                 }
12                         }
13                 }
14                 absent: {
15                         if $::lsbdistcodename == 'lenny' {
16                                 exec { "/usr/sbin/update-alternatives --remove ${name} ${linkto}":
17                                         unless => "[ $(readlink -f /etc/alternatives/${name}) != ${linkto} ]",
18                                 }
19                         } else {
20                                 exec { "/usr/sbin/update-alternatives --remove ${name} ${linkto}":
21                                         unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') != ${linkto} ]",
22                                 }
23                         }
24                 }
25                 default: { fail ( "Unknown ensure value: '$ensure'" ) }
26         }
27 }