| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
In the process, stop auto-expanding JSON in the HTTP client, and let
individual classes control that themselves.
Fixes #2737, Fixes #3518
|
|\
| |
| | |
fix run_as_user of windows_service
|
| |
| |
| |
| | |
not clobber existing service rights of other users
|
| |
| |
| |
| | |
Fixed resource to use let
|
|\ \
| |/
|/| |
Fix failing package unit test
|
| | |
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
adds support for installer types inno, nsis, wise and installshield to windows_package resource
|
| |
| |
| |
| | |
windows_package resource
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously dpkg -s would allow a 0 or 1 exit status and it wasn't
entirely clear why this was so either from the code or the tests.
This restores throwing an exception if we are outside of the [0,1]
range, and then adds tests for both behaviors:
- on old ubuntu/debian we get an exit(0) and output on stdout if the
file is not installed
- on newer ubuntu/debian we get an exit(1) and output on stderr if
the file is not installed
Added tests for both those cases, and the case where dpkg -s does
some other kind of exitcode barf and we should raise.
|
| |
|
|
|
|
|
|
|
|
| |
- multipackages dpkg_package
- fixes edge conditions in load-current-resource around purging/removing
packages that threw errors before
- fixes the ability to purge packages that have been removed
- adds a lot of functional tests for dpkg_package
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- :update and :install are now treated the same way and throw the
same exceptions
- :remove and :purge don't require the source at all, so don't do
any checking on that
- fix some convoluted side-effecty logic in load_current_resource
- load_current_resource now correctly gets the dpkg state on
:remove and :purge when the file does not exist (pretty sure
the old logic did not)
- fixed the FIXME about using en_US.UTF-8 (the default for shell_out!)
- just use shell_out! to throw exceptions
- clean up all the specs and remove all the instance vars from the code
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* removes the mutation of the new_resource.version
* adds package_class_supports_arrays for multipackage providers
* cleans up the package resource initializer and sets the package_name
correctly through the accessor method.
By mutating new_resource.version we were destroying the original intent
of what the user was requesting. This is a bug that must be fixed.
Generally, subclasses will be able to get the correct information they
need through either the version argument they were passed in
install_package(name, version) instead, or through their
`#target_version_array` method. If this breaks anything then those
providers need bugfixes as well (since this is a change to an internal
API accessible only to subclassing, and there are backwards compatible
and correct ways to get the information, this is *not* a SemVer
violating change). See the fix I made to the OpenBSD provider to
preserve the same semantics, avoid using new_resource.version where it
was inappropriate, and make the code more symmetrical where before
substantially different looking code in install_package and
remove_package had exactly the same ultimate effect.
The package_class_supports_arrays 'DSL' for writing multipackage
providers coerces the arguments to the virtual methods (e.g.
install_package) into arrays, even if the user is only requesting a
single package install. This removes most of the `is_a?(Array)`
checks from the implementation subclasses.
The cleanup of the initializer is similarly necessary so that we can
use Chef 12.5 coercions to make the package_name and version arguments
accept string, but always be Arrays. This should eliminate the rest
of the need to write `is_a?(Array)` code all over the package provider
implementations.
|
|\
| |
| | |
Implement live streaming for execute resources
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the logic is now:
if the resource is not sensitive, and if it's explicitly requested to be
streamed or if the log level is info or debug, then we'll consider
streaming it.
If we're configured to send the output to the events stream, we'll do
so.
Otherwise, if we're not daemonized and have a TTY, we'll go to STDOUT
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This brings live streaming of execute resource output to the
output formatters. It also adds a mechanism for checking to
see if an output formatter is in use through the event dispatch
system.
It adds a new configuration option, "always_stream_execute", which
does what it says on the tin.
|
|\ \
| | |
| | | |
Modify remote_file cache_control_data to use sha256 for its name
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fedora 21+ use dnf as the primary package manager. Lamont added code in
12.5 to allow for a yum compat mode. This doesn't entirely work though
as we need yum-dump.py to correctly run. We were parsing the shabang in
the yum binary to find the path to python. On a dnf system the yum
binary is a bash script though so we were trying to run yum-dump.py
using bash which obviously fails. I added a fallback method to use
python if the shebang parsing returns bash. With this in place AND the
yum package installed you can use the package resource on Fedora.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
"comment" attribute should be defined to create user account properly on OS X.
Otherwise, the RealName will be empty.
|
| |
| |
| |
| |
| | |
gid should always be defined to create user account properly on OS X.
"staff" (gid 20) is a default group for regular user accounts.
|
| | |
|
|\ \
| | |
| | | |
Fix condition of removing a group before user error.
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Use -Command flag on Nano
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | | |
Use Chef::FileContentManagement::Tempfile to create temp file
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
|/ / |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Huge speed and memory perf boost. In the prior code if you were
copying 10 dotfiles to a home directory with a million files in it,
would slurp all million files into a ruby Set object even if you were
not ultimately going to purge the unmanaged files. This code inverts
the logic and tracks managed files and then iterates through the
filesystem without slurping a list into memory.
- Only do file purging logic if purging is set.
- Fixes mutation of new_resource.overwrite.
- Fixes mutation of new_resource.rights (subtle).
- Adds helper delegators to the new_resource properties.
- Deprecates (instead of removes) now-unused methods.
- Renamed a method (with deprecated alias preserved) for consistency.
- Adds YARD for everything.
- Changes protected to private because protected is largely useless
in ruby.
- Removes whyrun_supported? because the superclass sets that.
|