summaryrefslogtreecommitdiff
path: root/spec/unit/module_tool/tar/mini_spec.rb
AgeCommit message (Collapse)AuthorFilesLines
2014-07-14(PUP-1186) Ignore PAX header in tar unpackingBrandon High1-1/+2
Prior to this commit if you installed a puppet module built on a platform with a tar implementation that adds PAX headers and your platform didn't have a native tar implementation (Windows), the module would contain junk PaxHeader directories. This is due to the default POSIX behavior programmed in to minitar (the ruby tar implementation used for platforms with out native tar) for an unknown typeflag, such as those used in PAX headers, is to treat it as a regular file and extract it. This commit adds a pre-scan step to our use of minitar for unpacking that finds all the files with standard typeflags (0-7) and then only unpacks those, thus ignoring any Pax typeflags like 'x' or 'g'.
2014-04-04(PUP-2093) Migrate PMT to /v3 API.Pieter van de Bruggen1-1/+1
Prior to this commit, the PMT managed all communication with the Forge via the (now legacy) /v1 API. That API has been deprecated (primarily due to scalability concerns), which is less of an issue since it was never officially a public API. This commit migrates all communication to the Forge to the new /v3 API, which is expected to be launched as our official public API "soon". This commit also integrates a standalone dependency resolver, as the /v3 API contains no implicit dependency resolution (as the /v1 API did); consequently, large portions of the PMT code have been changed, and others have become unreachable. This commit also changes the default host that the PMT communicates with, from https://forge.puppetlabs.com to https://forgeapi.puppetlabs.com (the natural URL for the Forge API service). Since the tool now expects to communicate with a completely different service, it will be unable to communicate with services that do not implement the same /v3 API.
2013-08-06Fixing a missed test for minitar.Pieter van de Bruggen1-4/+4
This test wasn't updated when the signature of #unpack was changed, which was causing the tests to fail. The test now sends appropriate arguments to the method.
2013-04-15(#11276) Select tar command or minitarJosh Cooper1-0/+59
Previously, the module tool relied on GNU versions of tar and gzip/gunzip to build and install modules, which isn't portable on Windows in particular. This commit adds Gnu, Solaris, and Mini tar implementations for packing and unpacking tar.gz format. It modifies the module tool to select the appropriate implementation for the platform it's currently running on. Paired-with: Andy Parker <andy@puppetlabs.com>