diff --git a/manifests/extract.pp b/manifests/extract.pp index 16a4888..50ee0ca 100644 --- a/manifests/extract.pp +++ b/manifests/extract.pp @@ -44,7 +44,7 @@ } case $ensure { - present: { + present, latest: { $extract_zip = "unzip -o ${src_target}/${name}.${extension} -d ${extract_dir}" $extract_tar = "tar --no-same-owner --no-same-permissions --strip-components=${strip_components} -xf ${src_target}/${name}.${extension} -C ${extract_dir}" @@ -65,6 +65,16 @@ fail("Unknown extension value '${extension}'") } + if $ensure == 'latest' { + exec { "Remove ${name}": + command => "rm -rf ${extract_dir}", + path => $exec_path, + timeout => $timeout, + refreshonly => true, + before => Exec["Unpack ${name}"] + } + } + exec {"Unpack ${name}": command => $unpack_command, path => $exec_path,