diff -r 0a5eef6ad2fe -r f239c8c5bb94 dev/provisioning/modules/archive/manifests/extract.pp --- a/dev/provisioning/modules/archive/manifests/extract.pp Tue Nov 08 15:48:01 2016 +0100 +++ b/dev/provisioning/modules/archive/manifests/extract.pp Tue Nov 08 18:23:01 2016 +0100 @@ -41,6 +41,10 @@ $strip_components=0, $purge=false, $user=undef, + $tar_command=$::osfamily ? { + 'Solaris' => 'gtar', + default => 'tar', + }, ) { if $root_dir { @@ -53,9 +57,9 @@ 'present': { $extract_zip = "unzip -o ${src_target}/${name}.${extension} -d ${target}" - $extract_targz = "tar --no-same-owner --no-same-permissions --strip-components=${strip_components} -xzf ${src_target}/${name}.${extension} -C ${target}" - $extract_tarbz2 = "tar --no-same-owner --no-same-permissions --strip-components=${strip_components} -xjf ${src_target}/${name}.${extension} -C ${target}" - $extract_tarxz = "tar --no-same-owner --no-same-permissions --strip-components=${strip_components} -xpf ${src_target}/${name}.${extension} -C ${target}" + $extract_targz = "${tar_command} --no-same-owner --no-same-permissions --strip-components=${strip_components} -xzf ${src_target}/${name}.${extension} -C ${target}" + $extract_tarbz2 = "${tar_command} --no-same-owner --no-same-permissions --strip-components=${strip_components} -xjf ${src_target}/${name}.${extension} -C ${target}" + $extract_tarxz = "${tar_command} --no-same-owner --no-same-permissions --strip-components=${strip_components} -xpf ${src_target}/${name}.${extension} -C ${target}" $purge_command = $purge ? { true => "rm -rf ${target} && ",