chef 11.6.2-x86-mingw32 → 11.8.0.rc.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CONTRIBUTING.md +12 -12
- data/Rakefile +11 -14
- data/bin/chef-apply +2 -2
- data/bin/chef-client +2 -2
- data/bin/chef-service-manager +2 -2
- data/bin/chef-shell +3 -0
- data/bin/chef-solo +2 -2
- data/bin/knife +3 -3
- data/distro/arch/etc/rc.d/chef-client +2 -2
- data/distro/arch/etc/rc.d/chef-server +2 -2
- data/distro/arch/etc/rc.d/chef-server-webui +2 -2
- data/distro/arch/etc/rc.d/chef-solr +2 -2
- data/distro/common/html/chef-client.8.html +3 -3
- data/distro/common/html/chef-expander.8.html +3 -3
- data/distro/common/html/chef-expanderctl.8.html +3 -3
- data/distro/common/html/chef-server-webui.8.html +3 -3
- data/distro/common/html/chef-server.8.html +3 -3
- data/distro/common/html/chef-shell.1.html +3 -3
- data/distro/common/html/chef-solo.8.html +3 -3
- data/distro/common/html/chef-solr.8.html +4 -4
- data/distro/common/html/knife-bootstrap.1.html +3 -3
- data/distro/common/html/knife-client.1.html +3 -3
- data/distro/common/html/knife-configure.1.html +13 -13
- data/distro/common/html/knife-cookbook-site.1.html +3 -3
- data/distro/common/html/knife-cookbook.1.html +7 -7
- data/distro/common/html/knife-data-bag.1.html +3 -3
- data/distro/common/html/knife-environment.1.html +3 -3
- data/distro/common/html/knife-exec.1.html +3 -3
- data/distro/common/html/knife-index.1.html +3 -3
- data/distro/common/html/knife-node.1.html +3 -3
- data/distro/common/html/knife-role.1.html +3 -3
- data/distro/common/html/knife-search.1.html +3 -3
- data/distro/common/html/knife-ssh.1.html +3 -3
- data/distro/common/html/knife-status.1.html +3 -3
- data/distro/common/html/knife-tag.1.html +3 -3
- data/distro/common/html/knife.1.html +3 -3
- data/distro/common/man/man1/README.md +58 -0
- data/distro/common/man/man1/chef-shell.1 +114 -219
- data/distro/common/man/man1/knife-bootstrap.1 +176 -180
- data/distro/common/man/man1/knife-client.1 +368 -0
- data/distro/common/man/man1/knife-configure.1 +147 -85
- data/distro/common/man/man1/knife-cookbook-site.1 +465 -133
- data/distro/common/man/man1/knife-cookbook.1 +614 -304
- data/distro/common/man/man1/knife-data-bag.1 +476 -113
- data/distro/common/man/man1/knife-delete.1 +132 -0
- data/distro/common/man/man1/knife-deps.1 +219 -0
- data/distro/common/man/man1/knife-diff.1 +212 -0
- data/distro/common/man/man1/knife-download.1 +220 -0
- data/distro/common/man/man1/knife-edit.1 +126 -0
- data/distro/common/man/man1/knife-environment.1 +324 -0
- data/distro/common/man/man1/knife-exec.1 +317 -35
- data/distro/common/man/man1/knife-index-rebuild.1 +115 -0
- data/distro/common/man/man1/knife-list.1 +167 -0
- data/distro/common/man/man1/knife-node.1 +567 -123
- data/distro/common/man/man1/knife-raw.1 +170 -0
- data/distro/common/man/man1/knife-recipe-list.1 +133 -0
- data/distro/common/man/man1/knife-role.1 +367 -81
- data/distro/common/man/man1/knife-search.1 +267 -243
- data/distro/common/man/man1/knife-show.1 +138 -0
- data/distro/common/man/man1/knife-ssh.1 +241 -66
- data/distro/common/man/man1/knife-status.1 +202 -24
- data/distro/common/man/man1/knife-tag.1 +176 -39
- data/distro/common/man/man1/knife-upload.1 +239 -0
- data/distro/common/man/man1/knife-user.1 +317 -0
- data/distro/common/man/man1/knife-xargs.1 +166 -0
- data/distro/common/man/man1/knife.1 +227 -284
- data/distro/common/man/man8/chef-client.8 +247 -81
- data/distro/common/man/man8/chef-solo.8 +142 -110
- data/distro/common/markdown/man1/knife-bootstrap.mkd +1 -1
- data/distro/common/markdown/man1/knife-configure.mkd +11 -11
- data/distro/common/markdown/man1/knife-cookbook.mkd +4 -4
- data/distro/common/markdown/man8/chef-expander.mkd +1 -1
- data/distro/common/markdown/man8/chef-expanderctl.mkd +1 -1
- data/distro/debian/etc/init.d/chef-client +1 -1
- data/distro/debian/etc/init.d/chef-expander +1 -1
- data/distro/debian/etc/init.d/chef-server +1 -1
- data/distro/debian/etc/init.d/chef-server-webui +1 -1
- data/distro/debian/etc/init.d/chef-solr +1 -1
- data/distro/debian/etc/init/chef-client.conf +1 -1
- data/distro/debian/etc/init/chef-expander.conf +1 -1
- data/distro/debian/etc/init/chef-server-webui.conf +1 -1
- data/distro/debian/etc/init/chef-server.conf +1 -1
- data/distro/debian/etc/init/chef-solr.conf +1 -1
- data/distro/redhat/etc/init.d/chef-client +1 -1
- data/distro/redhat/etc/init.d/chef-server +2 -2
- data/distro/redhat/etc/init.d/chef-server-webui +2 -2
- data/distro/redhat/etc/init.d/chef-solr +2 -2
- data/lib/chef/api_client.rb +20 -5
- data/lib/chef/application.rb +53 -22
- data/lib/chef/application/agent.rb +2 -2
- data/lib/chef/application/client.rb +34 -24
- data/lib/chef/application/knife.rb +10 -0
- data/lib/chef/application/solo.rb +9 -27
- data/lib/chef/application/windows_service.rb +24 -10
- data/lib/chef/application/windows_service_manager.rb +8 -0
- data/lib/chef/checksum/storage.rb +2 -2
- data/lib/chef/checksum/storage/filesystem.rb +2 -2
- data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -1
- data/lib/chef/chef_fs/command_line.rb +2 -1
- data/lib/chef/chef_fs/config.rb +19 -64
- data/lib/chef/chef_fs/data_handler/client_data_handler.rb +1 -2
- data/lib/chef/chef_fs/file_system.rb +2 -2
- data/lib/chef/chef_fs/file_system/acl_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_acls_dir.rb +37 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +16 -8
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +19 -4
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb +27 -12
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb +31 -3
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +12 -5
- data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +12 -2
- data/lib/chef/chef_fs/file_system/cookbook_dir.rb +3 -2
- data/lib/chef/chef_fs/file_system/cookbook_file.rb +2 -5
- data/lib/chef/chef_fs/file_system/cookbooks_dir.rb +21 -6
- data/lib/chef/chef_fs/file_system/data_bag_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/data_bags_dir.rb +3 -2
- data/lib/chef/chef_fs/file_system/file_system_entry.rb +15 -5
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +2 -1
- data/lib/chef/chef_fs/file_system/nodes_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/operation_failed_error.rb +8 -0
- data/lib/chef/chef_fs/file_system/rest_list_dir.rb +4 -2
- data/lib/chef/chef_fs/file_system/rest_list_entry.rb +4 -6
- data/lib/chef/chef_fs/knife.rb +39 -22
- data/lib/chef/chef_fs/path_utils.rb +5 -0
- data/lib/chef/client.rb +9 -3
- data/lib/chef/config.rb +306 -115
- data/lib/chef/config_fetcher.rb +79 -0
- data/lib/chef/cookbook/file_vendor.rb +5 -5
- data/lib/chef/cookbook/metadata.rb +2 -2
- data/lib/chef/cookbook/syntax_check.rb +6 -16
- data/lib/chef/cookbook_site_streaming_uploader.rb +8 -4
- data/lib/chef/cookbook_uploader.rb +10 -8
- data/lib/chef/cookbook_version.rb +24 -8
- data/lib/chef/daemon.rb +14 -75
- data/lib/chef/data_bag.rb +2 -3
- data/lib/chef/dsl/include_recipe.rb +2 -2
- data/lib/chef/event_dispatch/base.rb +1 -1
- data/lib/chef/event_dispatch/dispatcher.rb +1 -1
- data/lib/chef/file_access_control/windows.rb +1 -1
- data/lib/chef/formatters/doc.rb +5 -5
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +2 -2
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +2 -2
- data/lib/chef/handler/json_file.rb +2 -2
- data/lib/chef/http.rb +386 -0
- data/lib/chef/{rest → http}/auth_credentials.rb +1 -1
- data/lib/chef/http/authenticator.rb +89 -0
- data/lib/chef/http/basic_client.rb +114 -0
- data/lib/chef/{rest → http}/cookie_jar.rb +1 -1
- data/lib/chef/http/cookie_manager.rb +56 -0
- data/lib/chef/http/decompressor.rb +137 -0
- data/lib/chef/{rest/rest_request.rb → http/http_request.rb} +13 -74
- data/lib/chef/http/json_input.rb +53 -0
- data/lib/chef/http/json_output.rb +69 -0
- data/lib/chef/http/json_to_model_output.rb +34 -0
- data/lib/chef/http/simple.rb +16 -0
- data/lib/chef/http/ssl_policies.rb +129 -0
- data/lib/chef/knife.rb +45 -23
- data/lib/chef/knife/bootstrap.rb +10 -3
- data/lib/chef/knife/bootstrap/chef-full.erb +10 -1
- data/lib/chef/knife/client_create.rb +1 -1
- data/lib/chef/knife/configure.rb +1 -1
- data/lib/chef/knife/cookbook_create.rb +7 -7
- data/lib/chef/knife/cookbook_download.rb +2 -2
- data/lib/chef/knife/cookbook_metadata_from_file.rb +2 -2
- data/lib/chef/knife/cookbook_show.rb +3 -3
- data/lib/chef/knife/cookbook_site_install.rb +2 -2
- data/lib/chef/knife/cookbook_site_list.rb +2 -2
- data/lib/chef/knife/cookbook_site_search.rb +3 -3
- data/lib/chef/knife/cookbook_site_show.rb +5 -5
- data/lib/chef/knife/core/bootstrap_context.rb +7 -3
- data/lib/chef/knife/core/node_editor.rb +16 -36
- data/lib/chef/knife/core/node_presenter.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +5 -5
- data/lib/chef/knife/core/ui.rb +9 -13
- data/lib/chef/knife/data_bag_create.rb +7 -5
- data/lib/chef/knife/data_bag_delete.rb +3 -3
- data/lib/chef/knife/data_bag_edit.rb +9 -7
- data/lib/chef/knife/data_bag_from_file.rb +10 -8
- data/lib/chef/knife/data_bag_list.rb +2 -2
- data/lib/chef/knife/data_bag_show.rb +9 -7
- data/lib/chef/knife/delete.rb +2 -0
- data/lib/chef/knife/deps.rb +2 -0
- data/lib/chef/knife/diff.rb +6 -0
- data/lib/chef/knife/download.rb +6 -0
- data/lib/chef/knife/edit.rb +5 -8
- data/lib/chef/knife/environment_from_file.rb +2 -2
- data/lib/chef/knife/help_topics.rb +1 -1
- data/lib/chef/knife/index_rebuild.rb +2 -2
- data/lib/chef/knife/list.rb +2 -0
- data/lib/chef/knife/raw.rb +31 -5
- data/lib/chef/knife/show.rb +2 -0
- data/lib/chef/knife/ssh.rb +21 -7
- data/lib/chef/knife/status.rb +1 -1
- data/lib/chef/knife/upload.rb +2 -0
- data/lib/chef/knife/xargs.rb +2 -0
- data/lib/chef/mixin/checksum.rb +2 -2
- data/lib/chef/mixin/command.rb +46 -17
- data/lib/chef/mixin/convert_to_class_name.rb +8 -8
- data/lib/chef/mixin/create_path.rb +9 -9
- data/lib/chef/mixin/deep_merge.rb +2 -2
- data/lib/chef/mixin/from_file.rb +6 -6
- data/lib/chef/mixin/language_include_recipe.rb +2 -2
- data/lib/chef/mixin/params_validate.rb +21 -21
- data/lib/chef/mixin/shell_out.rb +9 -0
- data/lib/chef/mixin/template.rb +13 -16
- data/lib/chef/mixin/why_run.rb +16 -16
- data/lib/chef/mixin/windows_architecture_helper.rb +5 -5
- data/lib/chef/mixin/xml_escape.rb +10 -10
- data/lib/chef/monkey_patches/numeric.rb +1 -1
- data/lib/chef/monkey_patches/regexp.rb +4 -4
- data/lib/chef/monkey_patches/string.rb +3 -3
- data/lib/chef/monkey_patches/tempfile.rb +2 -2
- data/lib/chef/node.rb +8 -0
- data/lib/chef/node/attribute.rb +1 -1
- data/lib/chef/platform/provider_mapping.rb +26 -1
- data/lib/chef/provider/batch.rb +3 -3
- data/lib/chef/provider/cron.rb +27 -13
- data/lib/chef/provider/cron/aix.rb +48 -0
- data/lib/chef/provider/cron/solaris.rb +6 -40
- data/lib/chef/provider/cron/unix.rb +76 -0
- data/lib/chef/provider/deploy/timestamped.rb +4 -4
- data/lib/chef/provider/erl_call.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -2
- data/lib/chef/provider/git.rb +1 -0
- data/lib/chef/provider/group.rb +21 -21
- data/lib/chef/provider/group/dscl.rb +9 -9
- data/lib/chef/provider/group/gpasswd.rb +5 -5
- data/lib/chef/provider/group/groupadd.rb +11 -10
- data/lib/chef/provider/group/pw.rb +11 -11
- data/lib/chef/provider/group/suse.rb +4 -4
- data/lib/chef/provider/group/usermod.rb +8 -8
- data/lib/chef/provider/group/windows.rb +9 -9
- data/lib/chef/provider/http_request.rb +8 -8
- data/lib/chef/provider/ifconfig.rb +57 -37
- data/lib/chef/provider/ifconfig/aix.rb +99 -0
- data/lib/chef/provider/log.rb +3 -3
- data/lib/chef/provider/mdadm.rb +5 -4
- data/lib/chef/provider/mount.rb +12 -12
- data/lib/chef/provider/mount/aix.rb +179 -0
- data/lib/chef/provider/mount/mount.rb +29 -15
- data/lib/chef/provider/package.rb +26 -16
- data/lib/chef/provider/package/aix.rb +146 -0
- data/lib/chef/provider/package/apt.rb +16 -31
- data/lib/chef/provider/package/dpkg.rb +9 -9
- data/lib/chef/provider/package/freebsd.rb +2 -2
- data/lib/chef/provider/package/ips.rb +3 -3
- data/lib/chef/provider/package/macports.rb +1 -1
- data/lib/chef/provider/package/pacman.rb +8 -8
- data/lib/chef/provider/package/rpm.rb +14 -14
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/smartos.rb +3 -3
- data/lib/chef/provider/package/solaris.rb +16 -6
- data/lib/chef/provider/package/yum-dump.py +4 -4
- data/lib/chef/provider/package/yum.rb +3 -3
- data/lib/chef/provider/powershell_script.rb +7 -7
- data/lib/chef/provider/remote_file/ftp.rb +1 -0
- data/lib/chef/provider/remote_file/http.rb +6 -13
- data/lib/chef/provider/remote_file/local_file.rb +1 -0
- data/lib/chef/provider/resource_update.rb +9 -9
- data/lib/chef/provider/ruby_block.rb +3 -3
- data/lib/chef/provider/script.rb +1 -1
- data/lib/chef/provider/service.rb +2 -2
- data/lib/chef/provider/service/debian.rb +35 -15
- data/lib/chef/provider/service/freebsd.rb +9 -9
- data/lib/chef/provider/service/gentoo.rb +4 -4
- data/lib/chef/provider/service/init.rb +1 -1
- data/lib/chef/provider/service/insserv.rb +2 -2
- data/lib/chef/provider/service/invokercd.rb +1 -1
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/simple.rb +6 -6
- data/lib/chef/provider/service/solaris.rb +1 -1
- data/lib/chef/provider/service/systemd.rb +3 -3
- data/lib/chef/provider/service/upstart.rb +15 -15
- data/lib/chef/provider/subversion.rb +6 -5
- data/lib/chef/provider/user.rb +13 -9
- data/lib/chef/provider/user/dscl.rb +28 -28
- data/lib/chef/provider/user/pw.rb +11 -11
- data/lib/chef/provider/user/useradd.rb +1 -1
- data/lib/chef/provider/user/windows.rb +7 -7
- data/lib/chef/provider/windows_script.rb +7 -7
- data/lib/chef/providers.rb +4 -0
- data/lib/chef/recipe.rb +2 -19
- data/lib/chef/resource/apt_package.rb +3 -3
- data/lib/chef/resource/bash.rb +3 -3
- data/lib/chef/resource/batch.rb +4 -4
- data/lib/chef/resource/bff_package.rb +36 -0
- data/lib/chef/resource/breakpoint.rb +3 -3
- data/lib/chef/resource/cron.rb +5 -5
- data/lib/chef/resource/csh.rb +3 -3
- data/lib/chef/resource/deploy.rb +16 -3
- data/lib/chef/resource/deploy_revision.rb +6 -6
- data/lib/chef/resource/directory.rb +2 -2
- data/lib/chef/resource/dpkg_package.rb +4 -4
- data/lib/chef/resource/easy_install_package.rb +1 -1
- data/lib/chef/resource/erl_call.rb +1 -1
- data/lib/chef/resource/freebsd_package.rb +4 -4
- data/lib/chef/resource/group.rb +15 -6
- data/lib/chef/resource/http_request.rb +6 -6
- data/lib/chef/resource/ifconfig.rb +4 -4
- data/lib/chef/resource/ips_package.rb +2 -2
- data/lib/chef/resource/log.rb +12 -11
- data/lib/chef/resource/macports_package.rb +2 -2
- data/lib/chef/resource/mount.rb +11 -12
- data/lib/chef/resource/ohai.rb +3 -3
- data/lib/chef/resource/pacman_package.rb +4 -4
- data/lib/chef/resource/perl.rb +3 -3
- data/lib/chef/resource/portage_package.rb +4 -4
- data/lib/chef/resource/powershell_script.rb +3 -3
- data/lib/chef/resource/python.rb +3 -3
- data/lib/chef/resource/route.rb +4 -4
- data/lib/chef/resource/rpm_package.rb +2 -2
- data/lib/chef/resource/ruby.rb +3 -3
- data/lib/chef/resource/ruby_block.rb +3 -3
- data/lib/chef/resource/scm.rb +10 -2
- data/lib/chef/resource/script.rb +5 -5
- data/lib/chef/resource/service.rb +5 -5
- data/lib/chef/resource/smartos_package.rb +8 -6
- data/lib/chef/resource/solaris_package.rb +8 -7
- data/lib/chef/resource/subversion.rb +3 -3
- data/lib/chef/resource/timestamped_deploy.rb +4 -4
- data/lib/chef/resource/user.rb +13 -13
- data/lib/chef/resource/windows_script.rb +6 -6
- data/lib/chef/resource/yum_package.rb +2 -2
- data/lib/chef/resource_collection.rb +1 -1
- data/lib/chef/resource_collection/stepable_iterator.rb +22 -22
- data/lib/chef/resource_definition.rb +8 -8
- data/lib/chef/resource_definition_list.rb +2 -2
- data/lib/chef/resource_reporter.rb +8 -2
- data/lib/chef/resources.rb +2 -0
- data/lib/chef/rest.rb +70 -334
- data/lib/chef/role.rb +17 -13
- data/lib/chef/run_context.rb +14 -0
- data/lib/chef/run_context/cookbook_compiler.rb +3 -3
- data/lib/chef/run_lock.rb +73 -20
- data/lib/chef/server_api.rb +41 -0
- data/lib/chef/shell.rb +3 -19
- data/lib/chef/shell/shell_session.rb +1 -1
- data/lib/chef/streaming_cookbook_uploader.rb +30 -26
- data/lib/chef/tasks/chef_repo.rake +17 -17
- data/lib/chef/util/backup.rb +2 -1
- data/lib/chef/util/diff.rb +76 -33
- data/lib/chef/util/windows.rb +2 -2
- data/lib/chef/util/windows/net_group.rb +2 -2
- data/lib/chef/util/windows/net_use.rb +2 -2
- data/lib/chef/util/windows/net_user.rb +3 -3
- data/lib/chef/util/windows/volume.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api/file.rb +1 -1
- data/lib/chef/win32/api/synchronization.rb +89 -0
- data/lib/chef/win32/handle.rb +1 -1
- data/lib/chef/win32/mutex.rb +94 -0
- data/lib/chef/win32/security/ace.rb +1 -1
- data/lib/chef/win32/security/sid.rb +1 -1
- data/lib/chef/win32/version.rb +5 -3
- data/spec/data/bootstrap/no_proxy.erb +2 -0
- data/spec/data/cookbooks/openldap/metadata.rb +8 -0
- data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -0
- data/spec/data/trusted_certs/example.crt +22 -0
- data/spec/data/trusted_certs/intermediate.pem +27 -0
- data/spec/data/trusted_certs/opscode.pem +38 -0
- data/spec/data/trusted_certs/root.pem +22 -0
- data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
- data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
- data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
- data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
- data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
- data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
- data/spec/functional/knife/cookbook_delete_spec.rb +4 -7
- data/spec/functional/knife/exec_spec.rb +0 -3
- data/spec/functional/knife/ssh_spec.rb +2 -6
- data/spec/functional/resource/base.rb +41 -0
- data/spec/functional/resource/batch_spec.rb +6 -33
- data/spec/functional/resource/bff_spec.rb +122 -0
- data/spec/functional/resource/cron_spec.rb +147 -0
- data/spec/functional/resource/group_spec.rb +204 -0
- data/spec/functional/resource/ifconfig_spec.rb +163 -0
- data/spec/functional/resource/link_spec.rb +4 -4
- data/spec/functional/resource/mount_spec.rb +207 -0
- data/spec/functional/resource/package_spec.rb +95 -17
- data/spec/functional/resource/powershell_spec.rb +21 -22
- data/spec/functional/resource/registry_spec.rb +5 -19
- data/spec/functional/resource/remote_file_spec.rb +14 -0
- data/spec/functional/resource/rpm_spec.rb +122 -0
- data/spec/functional/resource/template_spec.rb +11 -44
- data/spec/functional/resource/user_spec.rb +2 -1
- data/spec/functional/run_lock_spec.rb +48 -5
- data/spec/functional/shell_spec.rb +46 -26
- data/spec/functional/tiny_server_spec.rb +2 -2
- data/spec/functional/version_spec.rb +35 -0
- data/spec/functional/win32/versions_spec.rb +3 -3
- data/spec/integration/client/client_spec.rb +146 -0
- data/spec/integration/knife/chef_fs_data_store_spec.rb +353 -0
- data/spec/integration/knife/chef_repo_path_spec.rb +72 -19
- data/spec/integration/knife/common_options_spec.rb +103 -0
- data/spec/integration/knife/download_spec.rb +38 -2
- data/spec/integration/knife/raw_spec.rb +63 -0
- data/spec/integration/knife/upload_spec.rb +20 -4
- data/spec/integration/solo/solo_spec.rb +78 -25
- data/spec/spec_helper.rb +35 -1
- data/spec/support/lib/chef/provider/easy.rb +4 -4
- data/spec/support/lib/chef/provider/snakeoil.rb +4 -4
- data/spec/support/lib/chef/resource/cat.rb +5 -5
- data/spec/support/lib/chef/resource/with_state.rb +37 -0
- data/spec/support/lib/library_load_order.rb +22 -0
- data/spec/support/platform_helpers.rb +8 -0
- data/spec/support/shared/functional/file_resource.rb +4 -22
- data/spec/support/shared/functional/windows_script.rb +48 -0
- data/spec/support/shared/integration/integration_helper.rb +5 -22
- data/spec/support/shared/integration/knife_support.rb +3 -3
- data/spec/support/shared/unit/script_resource.rb +7 -7
- data/spec/support/shared/unit/windows_script_resource.rb +7 -7
- data/spec/tiny_server.rb +2 -2
- data/spec/unit/api_client/registration_spec.rb +1 -1
- data/spec/unit/api_client_spec.rb +25 -2
- data/spec/unit/application/apply.rb +1 -9
- data/spec/unit/application/client_spec.rb +19 -44
- data/spec/unit/application/solo_spec.rb +10 -50
- data/spec/unit/application_spec.rb +51 -80
- data/spec/unit/checksum/storage/filesystem_spec.rb +3 -2
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +47 -0
- data/spec/unit/chef_spec.rb +2 -2
- data/spec/unit/client_spec.rb +2 -18
- data/spec/unit/config_fetcher_spec.rb +98 -0
- data/spec/unit/config_spec.rb +107 -29
- data/spec/unit/cookbook/metadata_spec.rb +50 -50
- data/spec/unit/cookbook/synchronizer_spec.rb +3 -3
- data/spec/unit/cookbook/syntax_check_spec.rb +1 -2
- data/spec/unit/cookbook_loader_spec.rb +28 -12
- data/spec/unit/cookbook_manifest_spec.rb +11 -11
- data/spec/unit/cookbook_site_streaming_uploader.rb +200 -0
- data/spec/unit/cookbook_version_spec.rb +16 -0
- data/spec/unit/daemon_spec.rb +0 -132
- data/spec/unit/data_bag_item_spec.rb +6 -6
- data/spec/unit/data_bag_spec.rb +6 -8
- data/spec/unit/digester_spec.rb +2 -2
- data/spec/unit/encrypted_data_bag_item_spec.rb +0 -15
- data/spec/unit/file_cache_spec.rb +1 -1
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +4 -4
- data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +4 -4
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +2 -2
- data/spec/unit/handler_spec.rb +5 -5
- data/spec/unit/http/ssl_policies_spec.rb +170 -0
- data/spec/unit/knife/bootstrap_spec.rb +31 -14
- data/spec/unit/knife/client_bulk_delete_spec.rb +8 -8
- data/spec/unit/knife/client_create_spec.rb +2 -2
- data/spec/unit/knife/client_delete_spec.rb +2 -2
- data/spec/unit/knife/client_edit_spec.rb +2 -2
- data/spec/unit/knife/client_list_spec.rb +2 -2
- data/spec/unit/knife/client_reregister_spec.rb +2 -2
- data/spec/unit/knife/client_show_spec.rb +2 -2
- data/spec/unit/knife/config_file_selection_spec.rb +53 -36
- data/spec/unit/knife/configure_spec.rb +0 -6
- data/spec/unit/knife/cookbook_create_spec.rb +1 -12
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +2 -2
- data/spec/unit/knife/cookbook_show_spec.rb +3 -3
- data/spec/unit/knife/cookbook_site_install_spec.rb +1 -1
- data/spec/unit/knife/core/bootstrap_context_spec.rb +10 -2
- data/spec/unit/knife/core/ui_spec.rb +118 -0
- data/spec/unit/knife/data_bag_show_spec.rb +2 -2
- data/spec/unit/knife/environment_from_file_spec.rb +2 -2
- data/spec/unit/knife/index_rebuild_spec.rb +1 -1
- data/spec/unit/knife/node_delete_spec.rb +3 -3
- data/spec/unit/knife/node_edit_spec.rb +35 -8
- data/spec/unit/knife/node_list_spec.rb +3 -3
- data/spec/unit/knife/node_run_list_add_spec.rb +3 -3
- data/spec/unit/knife/node_show_spec.rb +3 -3
- data/spec/unit/knife/role_create_spec.rb +3 -3
- data/spec/unit/knife/role_delete_spec.rb +3 -3
- data/spec/unit/knife/role_list_spec.rb +2 -2
- data/spec/unit/knife/ssh_spec.rb +1 -8
- data/spec/unit/knife_spec.rb +0 -2
- data/spec/unit/log_spec.rb +2 -2
- data/spec/unit/mash_spec.rb +2 -2
- data/spec/unit/mixin/checksum_spec.rb +3 -3
- data/spec/unit/mixin/command_spec.rb +1 -1
- data/spec/unit/mixin/convert_to_class_name_spec.rb +7 -7
- data/spec/unit/mixin/deprecation_spec.rb +2 -2
- data/spec/unit/mixin/params_validate_spec.rb +72 -72
- data/spec/unit/mixin/securable_spec.rb +0 -14
- data/spec/unit/mixin/shell_out_spec.rb +1 -1
- data/spec/unit/mixin/template_spec.rb +34 -0
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +5 -5
- data/spec/unit/mixin/xml_escape_spec.rb +2 -2
- data/spec/unit/node/attribute_spec.rb +11 -11
- data/spec/unit/node/immutable_collections_spec.rb +2 -2
- data/spec/unit/node_spec.rb +5 -0
- data/spec/unit/platform_spec.rb +36 -35
- data/spec/unit/provider/cron/{solaris_spec.rb → unix_spec.rb} +6 -6
- data/spec/unit/provider/cron_spec.rb +21 -3
- data/spec/unit/provider/deploy/timestamped_spec.rb +5 -5
- data/spec/unit/provider/deploy_spec.rb +21 -7
- data/spec/unit/provider/env_spec.rb +2 -2
- data/spec/unit/provider/execute_spec.rb +2 -2
- data/spec/unit/provider/file/content_spec.rb +0 -8
- data/spec/unit/provider/git_spec.rb +29 -9
- data/spec/unit/provider/group/dscl_spec.rb +12 -12
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupadd_spec.rb +14 -0
- data/spec/unit/provider/group/groupmod_spec.rb +13 -13
- data/spec/unit/provider/group/pw_spec.rb +16 -16
- data/spec/unit/provider/group/usermod_spec.rb +10 -9
- data/spec/unit/provider/group/windows_spec.rb +14 -0
- data/spec/unit/provider/group_spec.rb +29 -29
- data/spec/unit/provider/http_request_spec.rb +15 -15
- data/spec/unit/provider/ifconfig/aix_spec.rb +180 -0
- data/spec/unit/provider/ifconfig_spec.rb +9 -9
- data/spec/unit/provider/link_spec.rb +2 -2
- data/spec/unit/provider/log_spec.rb +8 -8
- data/spec/unit/provider/mdadm_spec.rb +14 -11
- data/spec/unit/provider/mount/aix_spec.rb +237 -0
- data/spec/unit/provider/mount/mount_spec.rb +2 -0
- data/spec/unit/provider/mount/windows_spec.rb +2 -2
- data/spec/unit/provider/mount_spec.rb +6 -6
- data/spec/unit/provider/package/aix_spec.rb +171 -0
- data/spec/unit/provider/package/apt_spec.rb +130 -171
- data/spec/unit/provider/package/dpkg_spec.rb +3 -3
- data/spec/unit/provider/package/freebsd_spec.rb +28 -0
- data/spec/unit/provider/package/ips_spec.rb +1 -1
- data/spec/unit/provider/package/rpm_spec.rb +15 -15
- data/spec/unit/provider/package/smartos_spec.rb +21 -3
- data/spec/unit/provider/package_spec.rb +4 -2
- data/spec/unit/provider/powershell_spec.rb +3 -3
- data/spec/unit/provider/remote_directory_spec.rb +2 -2
- data/spec/unit/provider/remote_file/ftp_spec.rb +0 -5
- data/spec/unit/provider/remote_file/http_spec.rb +12 -28
- data/spec/unit/provider/remote_file/local_file_spec.rb +2 -1
- data/spec/unit/provider/route_spec.rb +2 -2
- data/spec/unit/provider/ruby_block_spec.rb +2 -2
- data/spec/unit/provider/service/arch_service_spec.rb +17 -17
- data/spec/unit/provider/service/debian_service_spec.rb +242 -152
- data/spec/unit/provider/service/freebsd_service_spec.rb +9 -9
- data/spec/unit/provider/service/gentoo_service_spec.rb +9 -9
- data/spec/unit/provider/service/init_service_spec.rb +11 -11
- data/spec/unit/provider/service/insserv_service_spec.rb +5 -5
- data/spec/unit/provider/service/invokercd_service_spec.rb +10 -10
- data/spec/unit/provider/service/redhat_spec.rb +6 -6
- data/spec/unit/provider/service/simple_service_spec.rb +6 -6
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +4 -4
- data/spec/unit/provider/service/systemd_service_spec.rb +3 -3
- data/spec/unit/provider/service/upstart_service_spec.rb +5 -5
- data/spec/unit/provider/service/windows_spec.rb +7 -7
- data/spec/unit/provider/subversion_spec.rb +1 -1
- data/spec/unit/provider/user/dscl_spec.rb +21 -21
- data/spec/unit/provider/user/pw_spec.rb +2 -2
- data/spec/unit/provider/user/windows_spec.rb +5 -5
- data/spec/unit/provider/user_spec.rb +39 -47
- data/spec/unit/resource/apt_package_spec.rb +6 -6
- data/spec/unit/resource/bash_spec.rb +5 -5
- data/spec/unit/resource/batch_spec.rb +7 -7
- data/spec/unit/resource/breakpoint_spec.rb +8 -8
- data/spec/unit/resource/chef_gem_spec.rb +6 -6
- data/spec/unit/resource/cookbook_file_spec.rb +11 -11
- data/spec/unit/resource/cron_spec.rb +15 -15
- data/spec/unit/resource/csh_spec.rb +5 -5
- data/spec/unit/resource/deploy_revision_spec.rb +6 -6
- data/spec/unit/resource/deploy_spec.rb +50 -36
- data/spec/unit/resource/directory_spec.rb +1 -1
- data/spec/unit/resource/dpkg_package_spec.rb +6 -6
- data/spec/unit/resource/env_spec.rb +1 -1
- data/spec/unit/resource/erl_call_spec.rb +1 -1
- data/spec/unit/resource/freebsd_package_spec.rb +6 -6
- data/spec/unit/resource/gem_package_spec.rb +6 -6
- data/spec/unit/resource/git_spec.rb +8 -8
- data/spec/unit/resource/group_spec.rb +11 -11
- data/spec/unit/resource/http_request_spec.rb +7 -7
- data/spec/unit/resource/ifconfig_spec.rb +1 -1
- data/spec/unit/resource/ips_package_spec.rb +6 -6
- data/spec/unit/resource/link_spec.rb +1 -1
- data/spec/unit/resource/log_spec.rb +13 -10
- data/spec/unit/resource/macports_package_spec.rb +2 -2
- data/spec/unit/resource/mdadm_spec.rb +3 -3
- data/spec/unit/resource/mount_spec.rb +13 -13
- data/spec/unit/resource/ohai_spec.rb +1 -1
- data/spec/unit/resource/package_spec.rb +6 -6
- data/spec/unit/resource/pacman_package_spec.rb +6 -6
- data/spec/unit/resource/perl_spec.rb +5 -5
- data/spec/unit/resource/portage_package_spec.rb +6 -6
- data/spec/unit/resource/powershell_spec.rb +5 -5
- data/spec/unit/resource/python_spec.rb +5 -5
- data/spec/unit/resource/registry_key_spec.rb +2 -2
- data/spec/unit/resource/remote_directory_spec.rb +9 -9
- data/spec/unit/resource/remote_file_spec.rb +4 -4
- data/spec/unit/resource/route_spec.rb +13 -13
- data/spec/unit/resource/rpm_package_spec.rb +2 -2
- data/spec/unit/resource/ruby_block_spec.rb +4 -4
- data/spec/unit/resource/ruby_spec.rb +5 -5
- data/spec/unit/resource/scm_spec.rb +14 -1
- data/spec/unit/resource/script_spec.rb +5 -5
- data/spec/unit/resource/service_spec.rb +18 -18
- data/spec/unit/resource/smartos_package_spec.rb +6 -6
- data/spec/unit/resource/solaris_package_spec.rb +57 -0
- data/spec/unit/resource/subversion_spec.rb +6 -6
- data/spec/unit/resource/timestamped_deploy_spec.rb +4 -4
- data/spec/unit/resource/user_spec.rb +13 -13
- data/spec/unit/resource/yum_package_spec.rb +7 -7
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +21 -21
- data/spec/unit/resource_definition_spec.rb +23 -23
- data/spec/unit/resource_reporter_spec.rb +27 -0
- data/spec/unit/rest/auth_credentials_spec.rb +0 -94
- data/spec/unit/rest_spec.rb +117 -99
- data/spec/unit/role_spec.rb +57 -4
- data/spec/unit/run_context/cookbook_compiler_spec.rb +4 -20
- data/spec/unit/run_context_spec.rb +44 -3
- data/spec/unit/run_list/run_list_item_spec.rb +1 -1
- data/spec/unit/run_lock_spec.rb +6 -3
- data/spec/unit/scan_access_control_spec.rb +2 -2
- data/spec/unit/search/query_spec.rb +3 -3
- data/spec/unit/util/backup_spec.rb +6 -13
- data/spec/unit/util/diff_spec.rb +36 -53
- data/spec/unit/version/platform_spec.rb +3 -3
- data/spec/unit/version_class_spec.rb +5 -5
- data/spec/unit/version_constraint/platform_spec.rb +2 -2
- data/spec/unit/windows_service_spec.rb +54 -0
- metadata +290 -108
- checksums.yaml +0 -7
- data/distro/common/man/man1/knife-index.1 +0 -29
- data/distro/common/man/man8/chef-expander.8 +0 -97
- data/distro/common/man/man8/chef-expanderctl.8 +0 -62
- data/distro/common/man/man8/chef-server-webui.8 +0 -155
- data/distro/common/man/man8/chef-server.8 +0 -147
- data/distro/common/man/man8/chef-solr.8 +0 -122
- data/lib/chef/chef_fs/raw_request.rb +0 -79
@@ -0,0 +1,146 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Deepali Jagtap
|
3
|
+
# Copyright:: Copyright (c) 2013 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
#
|
19
|
+
require 'chef/provider/package'
|
20
|
+
require 'chef/mixin/command'
|
21
|
+
require 'chef/resource/package'
|
22
|
+
require 'chef/mixin/get_source_from_package'
|
23
|
+
|
24
|
+
class Chef
|
25
|
+
class Provider
|
26
|
+
class Package
|
27
|
+
class Aix < Chef::Provider::Package
|
28
|
+
|
29
|
+
include Chef::Mixin::GetSourceFromPackage
|
30
|
+
|
31
|
+
def define_resource_requirements
|
32
|
+
super
|
33
|
+
requirements.assert(:install) do |a|
|
34
|
+
a.assertion { @new_resource.source }
|
35
|
+
a.failure_message Chef::Exceptions::Package, "Source for package #{@new_resource.name} required for action install"
|
36
|
+
end
|
37
|
+
requirements.assert(:all_actions) do |a|
|
38
|
+
a.assertion { !@new_resource.source || @package_source_found }
|
39
|
+
a.failure_message Chef::Exceptions::Package, "Package #{@new_resource.name} not found: #{@new_resource.source}"
|
40
|
+
a.whyrun "would assume #{@new_resource.source} would be have previously been made available"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def load_current_resource
|
45
|
+
@current_resource = Chef::Resource::Package.new(@new_resource.name)
|
46
|
+
@current_resource.package_name(@new_resource.package_name)
|
47
|
+
@new_resource.version(nil)
|
48
|
+
|
49
|
+
if @new_resource.source
|
50
|
+
@package_source_found = ::File.exists?(@new_resource.source)
|
51
|
+
if @package_source_found
|
52
|
+
Chef::Log.debug("#{@new_resource} checking pkg status")
|
53
|
+
status = popen4("installp -L -d #{@new_resource.source}") do |pid, stdin, stdout, stderr|
|
54
|
+
package_found = false
|
55
|
+
stdout.each do |line|
|
56
|
+
case line
|
57
|
+
when /#{@new_resource.package_name}:/
|
58
|
+
package_found = true
|
59
|
+
fields = line.split(":")
|
60
|
+
@new_resource.version(fields[2])
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
Chef::Log.debug("#{@new_resource} checking install state")
|
68
|
+
status = popen4("lslpp -lcq #{@current_resource.package_name}") do |pid, stdin, stdout, stderr|
|
69
|
+
stdout.each do |line|
|
70
|
+
case line
|
71
|
+
when /#{@current_resource.package_name}/
|
72
|
+
fields = line.split(":")
|
73
|
+
Chef::Log.debug("#{@new_resource} version #{fields[2]} is already installed")
|
74
|
+
@current_resource.version(fields[2])
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
unless status.exitstatus == 0 || status.exitstatus == 1
|
80
|
+
raise Chef::Exceptions::Package, "lslpp failed - #{status.inspect}!"
|
81
|
+
end
|
82
|
+
|
83
|
+
@current_resource
|
84
|
+
end
|
85
|
+
|
86
|
+
def candidate_version
|
87
|
+
return @candidate_version if @candidate_version
|
88
|
+
status = popen4("installp -L -d #{@new_resource.source}") do |pid, stdin, stdout, stderr|
|
89
|
+
stdout.each_line do |line|
|
90
|
+
case line
|
91
|
+
when /\w:{Regexp.escape(@new_resource.package_name)}:(.*)/
|
92
|
+
fields = line.split(":")
|
93
|
+
@candidate_version = fields[2]
|
94
|
+
@new_resource.version(fields[2])
|
95
|
+
Chef::Log.debug("#{@new_resource} setting install candidate version to #{@candidate_version}")
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
unless status.exitstatus == 0
|
100
|
+
raise Chef::Exceptions::Package, "installp -L -d #{@new_resource.source} - #{status.inspect}!"
|
101
|
+
end
|
102
|
+
@candidate_version
|
103
|
+
end
|
104
|
+
|
105
|
+
#
|
106
|
+
# The install/update action needs to be tested with various kinds of packages
|
107
|
+
# on AIX viz. packages with or without licensing file dependencies, packages
|
108
|
+
# with dependencies on other packages which will help to test additional
|
109
|
+
# options of installp.
|
110
|
+
# So far, the code has been tested only with standalone packages.
|
111
|
+
#
|
112
|
+
def install_package(name, version)
|
113
|
+
Chef::Log.debug("#{@new_resource} package install options: #{@new_resource.options}")
|
114
|
+
if @new_resource.options.nil?
|
115
|
+
run_command_with_systems_locale(
|
116
|
+
:command => "installp -aYF -d #{@new_resource.source} #{@new_resource.package_name}"
|
117
|
+
)
|
118
|
+
Chef::Log.debug("#{@new_resource} installed version #{@new_resource.version} from: #{@new_resource.source}")
|
119
|
+
else
|
120
|
+
run_command_with_systems_locale(
|
121
|
+
:command => "installp -aYF #{expand_options(@new_resource.options)} -d #{@new_resource.source} #{@new_resource.package_name}"
|
122
|
+
)
|
123
|
+
Chef::Log.debug("#{@new_resource} installed version #{@new_resource.version} from: #{@new_resource.source}")
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
alias_method :upgrade_package, :install_package
|
128
|
+
|
129
|
+
def remove_package(name, version)
|
130
|
+
if @new_resource.options.nil?
|
131
|
+
run_command_with_systems_locale(
|
132
|
+
:command => "installp -u #{name}"
|
133
|
+
)
|
134
|
+
Chef::Log.debug("#{@new_resource} removed version #{@new_resource.version}")
|
135
|
+
else
|
136
|
+
run_command_with_systems_locale(
|
137
|
+
:command => "installp -u #{expand_options(@new_resource.options)} #{name}"
|
138
|
+
)
|
139
|
+
Chef::Log.debug("#{@new_resource} removed version #{@new_resource.version}")
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
@@ -65,7 +65,8 @@ class Chef
|
|
65
65
|
@is_virtual_package = true
|
66
66
|
showpkg = shell_out!("apt-cache showpkg #{package}").stdout
|
67
67
|
providers = Hash.new
|
68
|
-
|
68
|
+
# Returns all lines after 'Reverse Provides:'
|
69
|
+
showpkg.rpartition(/Reverse Provides:\s*#{$/}/)[2].each_line do |line|
|
69
70
|
provider, version = line.split
|
70
71
|
providers[provider] = version
|
71
72
|
end
|
@@ -90,12 +91,7 @@ class Chef
|
|
90
91
|
def install_package(name, version)
|
91
92
|
package_name = "#{name}=#{version}"
|
92
93
|
package_name = name if @is_virtual_package
|
93
|
-
|
94
|
-
:command => "apt-get -q -y#{expand_options(default_release_options)}#{expand_options(@new_resource.options)} install #{package_name}",
|
95
|
-
:environment => {
|
96
|
-
"DEBIAN_FRONTEND" => "noninteractive"
|
97
|
-
}
|
98
|
-
)
|
94
|
+
run_noninteractive("apt-get -q -y#{expand_options(default_release_options)}#{expand_options(@new_resource.options)} install #{package_name}")
|
99
95
|
end
|
100
96
|
|
101
97
|
def upgrade_package(name, version)
|
@@ -104,41 +100,30 @@ class Chef
|
|
104
100
|
|
105
101
|
def remove_package(name, version)
|
106
102
|
package_name = "#{name}"
|
107
|
-
|
108
|
-
:command => "apt-get -q -y#{expand_options(@new_resource.options)} remove #{package_name}",
|
109
|
-
:environment => {
|
110
|
-
"DEBIAN_FRONTEND" => "noninteractive"
|
111
|
-
}
|
112
|
-
)
|
103
|
+
run_noninteractive("apt-get -q -y#{expand_options(@new_resource.options)} remove #{package_name}")
|
113
104
|
end
|
114
105
|
|
115
106
|
def purge_package(name, version)
|
116
|
-
|
117
|
-
:command => "apt-get -q -y#{expand_options(@new_resource.options)} purge #{@new_resource.package_name}",
|
118
|
-
:environment => {
|
119
|
-
"DEBIAN_FRONTEND" => "noninteractive"
|
120
|
-
}
|
121
|
-
)
|
107
|
+
run_noninteractive("apt-get -q -y#{expand_options(@new_resource.options)} purge #{@new_resource.package_name}")
|
122
108
|
end
|
123
109
|
|
124
110
|
def preseed_package(preseed_file)
|
125
111
|
Chef::Log.info("#{@new_resource} pre-seeding package installation instructions")
|
126
|
-
|
127
|
-
:command => "debconf-set-selections #{preseed_file}",
|
128
|
-
:environment => {
|
129
|
-
"DEBIAN_FRONTEND" => "noninteractive"
|
130
|
-
}
|
131
|
-
)
|
112
|
+
run_noninteractive("debconf-set-selections #{preseed_file}")
|
132
113
|
end
|
133
114
|
|
134
115
|
def reconfig_package(name, version)
|
135
116
|
Chef::Log.info("#{@new_resource} reconfiguring")
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
117
|
+
run_noninteractive("dpkg-reconfigure #{name}")
|
118
|
+
end
|
119
|
+
|
120
|
+
private
|
121
|
+
|
122
|
+
# Runs command via shell_out with magic environment to disable
|
123
|
+
# interactive prompts. Command is run with default localization rather
|
124
|
+
# than forcing locale to "C", so command output may not be stable.
|
125
|
+
def run_noninteractive(command)
|
126
|
+
shell_out!(command, :env => { "DEBIAN_FRONTEND" => "noninteractive", "LC_ALL" => nil })
|
142
127
|
end
|
143
128
|
|
144
129
|
end
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -32,14 +32,14 @@ class Chef
|
|
32
32
|
include Chef::Mixin::GetSourceFromPackage
|
33
33
|
def define_resource_requirements
|
34
34
|
super
|
35
|
-
requirements.assert(:install) do |a|
|
35
|
+
requirements.assert(:install) do |a|
|
36
36
|
a.assertion{ not @new_resource.source.nil? }
|
37
37
|
a.failure_message Chef::Exceptions::Package, "Source for package #{@new_resource.name} required for action install"
|
38
38
|
end
|
39
39
|
|
40
40
|
# TODO this was originally written for any action in which .source is provided
|
41
41
|
# but would it make more sense to only look at source if the action is :install?
|
42
|
-
requirements.assert(:all_actions) do |a|
|
42
|
+
requirements.assert(:all_actions) do |a|
|
43
43
|
a.assertion { @source_exists }
|
44
44
|
a.failure_message Chef::Exceptions::Package, "Package #{@new_resource.name} not found: #{@new_resource.source}"
|
45
45
|
a.whyrun "Assuming it would have been previously downloaded."
|
@@ -53,7 +53,7 @@ class Chef
|
|
53
53
|
@new_resource.version(nil)
|
54
54
|
|
55
55
|
if @new_resource.source
|
56
|
-
@source_exists = ::File.exists?(@new_resource.source)
|
56
|
+
@source_exists = ::File.exists?(@new_resource.source)
|
57
57
|
if @source_exists
|
58
58
|
# Get information from the package if supplied
|
59
59
|
Chef::Log.debug("#{@new_resource} checking dpkg status")
|
@@ -71,7 +71,7 @@ class Chef
|
|
71
71
|
end
|
72
72
|
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
# Check to see if it is installed
|
76
76
|
package_installed = nil
|
77
77
|
Chef::Log.debug("#{@new_resource} checking install state")
|
@@ -92,10 +92,10 @@ class Chef
|
|
92
92
|
unless status.exitstatus == 0 || status.exitstatus == 1
|
93
93
|
raise Chef::Exceptions::Package, "dpkg failed - #{status.inspect}!"
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
@current_resource
|
97
97
|
end
|
98
|
-
|
98
|
+
|
99
99
|
def install_package(name, version)
|
100
100
|
run_command_with_systems_locale(
|
101
101
|
:command => "dpkg -i#{expand_options(@new_resource.options)} #{@new_resource.source}",
|
@@ -113,7 +113,7 @@ class Chef
|
|
113
113
|
}
|
114
114
|
)
|
115
115
|
end
|
116
|
-
|
116
|
+
|
117
117
|
def purge_package(name, version)
|
118
118
|
run_command_with_systems_locale(
|
119
119
|
:command => "dpkg -P#{expand_options(@new_resource.options)} #{@new_resource.package_name}",
|
@@ -37,7 +37,7 @@ class Chef
|
|
37
37
|
|
38
38
|
def current_installed_version
|
39
39
|
pkg_info = shell_out!("pkg_info -E \"#{package_name}*\"", :env => nil, :returns => [0,1])
|
40
|
-
pkg_info.stdout[/^#{package_name}-(.+)/, 1]
|
40
|
+
pkg_info.stdout[/^#{Regexp.escape(package_name)}-(.+)/, 1]
|
41
41
|
end
|
42
42
|
|
43
43
|
def port_path
|
@@ -52,7 +52,7 @@ class Chef
|
|
52
52
|
# Otherwise look up the path to the ports directory using 'whereis'
|
53
53
|
else
|
54
54
|
whereis = shell_out!("whereis -s #{@new_resource.package_name}", :env => nil)
|
55
|
-
unless path = whereis.stdout[/^#{@new_resource.package_name}:\s+(.+)$/, 1]
|
55
|
+
unless path = whereis.stdout[/^#{Regexp.escape(@new_resource.package_name)}:\s+(.+)$/, 1]
|
56
56
|
raise Chef::Exceptions::Package, "Could not find port with the name #{@new_resource.package_name}"
|
57
57
|
end
|
58
58
|
path
|
@@ -33,12 +33,12 @@ class Chef
|
|
33
33
|
|
34
34
|
def define_resource_requirements
|
35
35
|
super
|
36
|
-
|
36
|
+
|
37
37
|
requirements.assert(:all_actions) do |a|
|
38
38
|
a.assertion { ! @candidate_version.nil? }
|
39
39
|
a.failure_message Chef::Exceptions::Package, "Package #{@new_resource.package_name} not found"
|
40
40
|
a.whyrun "Assuming package #{@new_resource.package_name} would have been made available."
|
41
|
-
end
|
41
|
+
end
|
42
42
|
end
|
43
43
|
|
44
44
|
def load_current_resource
|
@@ -52,7 +52,7 @@ class Chef
|
|
52
52
|
Chef::Log.debug("Checking package status for #{package}")
|
53
53
|
installed = false
|
54
54
|
depends = false
|
55
|
-
|
55
|
+
|
56
56
|
shell_out!("pkg info -r #{package}").stdout.each_line do |line|
|
57
57
|
case line
|
58
58
|
when /^\s+State: Installed/
|
@@ -44,7 +44,7 @@ class Chef
|
|
44
44
|
def install_package(name, version)
|
45
45
|
unless @current_resource.version == version
|
46
46
|
command = "port#{expand_options(@new_resource.options)} install #{name}"
|
47
|
-
command << " @#{version}" if version and !version.empty?
|
47
|
+
command << " @#{version}" if version and !version.empty?
|
48
48
|
run_command_with_systems_locale(
|
49
49
|
:command => command
|
50
50
|
)
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
class Provider
|
25
25
|
class Package
|
26
26
|
class Pacman < Chef::Provider::Package
|
27
|
-
|
27
|
+
|
28
28
|
def load_current_resource
|
29
29
|
@current_resource = Chef::Resource::Package.new(@new_resource.name)
|
30
30
|
@current_resource.package_name(@new_resource.package_name)
|
@@ -84,27 +84,27 @@ class Chef
|
|
84
84
|
@candidate_version
|
85
85
|
|
86
86
|
end
|
87
|
-
|
87
|
+
|
88
88
|
def install_package(name, version)
|
89
89
|
run_command_with_systems_locale(
|
90
90
|
:command => "pacman --sync --noconfirm --noprogressbar#{expand_options(@new_resource.options)} #{name}"
|
91
91
|
)
|
92
92
|
end
|
93
|
-
|
93
|
+
|
94
94
|
def upgrade_package(name, version)
|
95
95
|
install_package(name, version)
|
96
96
|
end
|
97
|
-
|
97
|
+
|
98
98
|
def remove_package(name, version)
|
99
99
|
run_command_with_systems_locale(
|
100
100
|
:command => "pacman --remove --noconfirm --noprogressbar#{expand_options(@new_resource.options)} #{name}"
|
101
101
|
)
|
102
102
|
end
|
103
|
-
|
103
|
+
|
104
104
|
def purge_package(name, version)
|
105
105
|
remove_package(name, version)
|
106
106
|
end
|
107
|
-
|
107
|
+
|
108
108
|
end
|
109
109
|
end
|
110
110
|
end
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -30,18 +30,18 @@ class Chef
|
|
30
30
|
def define_resource_requirements
|
31
31
|
super
|
32
32
|
|
33
|
-
requirements.assert(:all_actions) do |a|
|
33
|
+
requirements.assert(:all_actions) do |a|
|
34
34
|
a.assertion { @package_source_exists }
|
35
35
|
a.failure_message Chef::Exceptions::Package, "Package #{@new_resource.name} not found: #{@new_resource.source}"
|
36
36
|
a.whyrun "Assuming package #{@new_resource.name} would have been made available."
|
37
37
|
end
|
38
|
-
requirements.assert(:all_actions) do |a|
|
39
|
-
a.assertion { !@rpm_status.nil? && (@rpm_status.exitstatus == 0 || @rpm_status.exitstatus == 1) }
|
38
|
+
requirements.assert(:all_actions) do |a|
|
39
|
+
a.assertion { !@rpm_status.nil? && (@rpm_status.exitstatus == 0 || @rpm_status.exitstatus == 1) }
|
40
40
|
a.failure_message Chef::Exceptions::Package, "Unable to determine current version due to RPM failure. Detail: #{@rpm_status.inspect}"
|
41
41
|
a.whyrun "Assuming current version would have been determined for package#{@new_resource.name}."
|
42
42
|
end
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
def load_current_resource
|
46
46
|
@package_source_provided = true
|
47
47
|
@package_source_exists = true
|
@@ -49,13 +49,13 @@ class Chef
|
|
49
49
|
@current_resource = Chef::Resource::Package.new(@new_resource.name)
|
50
50
|
@current_resource.package_name(@new_resource.package_name)
|
51
51
|
@new_resource.version(nil)
|
52
|
-
|
52
|
+
|
53
53
|
if @new_resource.source
|
54
54
|
unless ::File.exists?(@new_resource.source)
|
55
55
|
@package_source_exists = false
|
56
56
|
return
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
Chef::Log.debug("#{@new_resource} checking rpm status")
|
60
60
|
status = popen4("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' #{@new_resource.source}") do |pid, stdin, stdout, stderr|
|
61
61
|
stdout.each do |line|
|
@@ -72,7 +72,7 @@ class Chef
|
|
72
72
|
return
|
73
73
|
end
|
74
74
|
end
|
75
|
-
|
75
|
+
|
76
76
|
Chef::Log.debug("#{@new_resource} checking install state")
|
77
77
|
@rpm_status = popen4("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' #{@current_resource.package_name}") do |pid, stdin, stdout, stderr|
|
78
78
|
stdout.each do |line|
|
@@ -83,11 +83,11 @@ class Chef
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
end
|
86
|
-
|
87
|
-
|
86
|
+
|
87
|
+
|
88
88
|
@current_resource
|
89
89
|
end
|
90
|
-
|
90
|
+
|
91
91
|
def install_package(name, version)
|
92
92
|
unless @current_resource.version
|
93
93
|
run_command_with_systems_locale(
|
@@ -99,9 +99,9 @@ class Chef
|
|
99
99
|
)
|
100
100
|
end
|
101
101
|
end
|
102
|
-
|
102
|
+
|
103
103
|
alias_method :upgrade_package, :install_package
|
104
|
-
|
104
|
+
|
105
105
|
def remove_package(name, version)
|
106
106
|
if version
|
107
107
|
run_command_with_systems_locale(
|