dev/provisioning/modules/archive/manifests/extract.pp
changeset 405 f239c8c5bb94
parent 28 b0b56e0f8c7f
--- 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} && ",