From 19c567d5109b124b1c5d7126e645f9fbd9f39199 Mon Sep 17 00:00:00 2001 From: Stephen Gran Date: Fri, 6 Apr 2012 06:17:15 +0100 Subject: [PATCH] lenny doesn't have --query Signed-off-by: Stephen Gran --- modules/site/manifests/alternative.pp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/site/manifests/alternative.pp b/modules/site/manifests/alternative.pp index c207df882..d7488bee3 100644 --- a/modules/site/manifests/alternative.pp +++ b/modules/site/manifests/alternative.pp @@ -1,15 +1,25 @@ 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 => "[ $(basename $(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 => "[ $(basename $(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: { fail ( "Unknown ensure value: '$ensure'" ) } -- 2.20.1