X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fsite%2Fmanifests%2Falternative.pp;h=1a40c1575ffe8e3993d2527747e904ab56e3522a;hb=0ce79ae5d0968def8a0a4ae1556d1e6cfb9a53d7;hp=94d088818a71398109adf270bb35e7603a28a394;hpb=3eb533e5499e66423bafdedaf6c7d08ead1772de;p=mirror%2Fdsa-puppet.git diff --git a/modules/site/manifests/alternative.pp b/modules/site/manifests/alternative.pp index 94d088818..1a40c1575 100644 --- a/modules/site/manifests/alternative.pp +++ b/modules/site/manifests/alternative.pp @@ -1,17 +1,27 @@ define site::alternative ($linkto, $ensure = present) { case $ensure { present: { - exec { - "/usr/sbin/update-alternatives --set ${name} ${linkto}": + if $::lsbdistcodename == 'lenny' { + exec { "/usr/sbin/update-alternatives --set ${name} ${linkto}": + unless => "[ $(readlink -f /etc/alternatives/${name}) = ${linkto} ]", + } + } else { + exec { "/usr/sbin/update-alternatives --set ${name} ${linkto}": unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') = ${linkto} ]", + } } } absent: { - exec { - "/usr/sbin/update-alternatives --remove ${name} ${linkto}": + if $::lsbdistcodename == 'lenny' { + exec { "/usr/sbin/update-alternatives --remove ${name} ${linkto}": + unless => "[ $(readlink -f /etc/alternatives/${name}) != ${linkto} ]", + } + } else { + exec { "/usr/sbin/update-alternatives --remove ${name} ${linkto}": unless => "[ $(update-alternatives --query ${name} | grep ^Value | awk '{print \$2}') != ${linkto} ]", + } } } - default: { err ( "Unknown ensure value: '$ensure'" ) } + default: { fail ( "Unknown ensure value: '$ensure'" ) } } }