puppetlabs/puppet — pull request #894 by kbarber (2012-06-28 17:08:59+00:00)
Title: Ticket/2.7.x/14715 solaris pmt gnu tar

Previously we were assuming there was a usable GNU tar in the path for Solaris,
but Solaris provides its own tar implementation which works quite differently.

Solaris tar is also unsafe, as it allows unpacking repositories to absolute
paths.

This patch changes the behaviour of the unpacker code during module
installation to use the 'gtar' implementation found on most Solaris 10 systems,
and later part of core with Solaris 11. 'gtar' is also available on older
Solaris systems from package providers such as OpenCSW and Blastwave.

This also adds some unit tests for puppet/module_tool/applications/unpacker.