Age | Commit message (Collapse) | Author | Files | Lines |
|
Prior to this commit build/unpack were trying to use the Ruby stdlib symlink to
deal with symlinks. This fails on platforms (Windows) that Puppet says supports
symlinks because it does not duck punch Ruby stdlib.
This commit switches the specs and code for build/unpack to use Puppet FS lib's
symlink functions. This should allow it to function correctly on Windows hosts that Puppet
supports symlinks.
|
|
Prior to this commit we would try to use symlinks in the tests on platforms that
do not support symlinking.
This commit uses the Puppet feature checker to conditionally try the tests if
Puppet thinks the platform supports symlinks (Unixes, Linuxes, Win 2k8+).
|
|
Adding spec tests to check for symlinks in build/install.
|
|
Prior to this commit, there were a number of places where documentation
was missing and test names were insufficiently descriptive. This commit
adds additional clarity around those places, and makes a couple of code
clarity changes as well.
|
|
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.
|
|
This commit allows the module tool to run on windows and updates the spec
tests as they are no longer pending.
|
|
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>
|
|
This commit removes the `fails_on_windows` filter in favor of a pending
block. This way we document what tests don't currently pass on Windows,
and it ensures that the test fails or raises. If the test runs without a
problem, the test will be reported as a failure, so that we know the test
is no longer pending.
|
|
Priror to this commit, Puppet had many conditionals based of the
operatingsystem fact returning `:solaris`. This fact now
supports (and can return) several different version of Solaris.
Change the conditionals in Puppet which rely on Solaris to rely on
the osfamily fact instead, to prevent issues with this change in
Facter.
<hailee@puppetlabs.com>
|
|
The Puppet::Util.execute method is moving to Puppet::Util::Execution.execute,
so to remove warning messages this patch changes the code that still uses
the old methodology to the new methodology introduced in 3.x.
|
|
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.
|