puppetlabs/puppet — pull request #816 by kbarber (2012-05-29 15:12:29+00:00)
Title: Ticket/master/14715

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.

This patch changes the behaviour of the unpacker code during module
installation to use the 'gtar' implementation found on most Solaris 10 systems.

This was deemed as a better choice over trying to make Solaris tar to work, as
Solaris tar has an issue whereby it cannot control absolute paths - this is
potentially dangerous and is fixed in GNU tar.

I've also added some basic unit test coverage for the unpacker.rb code as it
previously had no specific unit test coverage.