puppet 8.5.1-universal-darwin → 8.6.0-universal-darwin
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +23 -20
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
@@ -8,14 +8,14 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
|
|
8
8
|
:portuninstall => "/usr/local/sbin/pkg_deinstall",
|
9
9
|
:portinfo => "/usr/sbin/pkg_info"
|
10
10
|
|
11
|
-
%w
|
11
|
+
%w[INTERACTIVE UNAME].each do |var|
|
12
12
|
ENV.delete(var) if ENV.include?(var)
|
13
13
|
end
|
14
14
|
|
15
15
|
def install
|
16
16
|
# -N: install if the package is missing, otherwise upgrade
|
17
17
|
# -M: yes, we're a batch, so don't ask any questions
|
18
|
-
cmd = %w
|
18
|
+
cmd = %w[-N -M BATCH=yes] << @resource[:name]
|
19
19
|
|
20
20
|
output = portupgrade(*cmd)
|
21
21
|
if output =~ /\*\* No such /
|
@@ -29,8 +29,8 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
|
|
29
29
|
|
30
30
|
begin
|
31
31
|
output = portversion(*cmd)
|
32
|
-
rescue Puppet::ExecutionFailure
|
33
|
-
raise Puppet::Error.new(output,
|
32
|
+
rescue Puppet::ExecutionFailure => e
|
33
|
+
raise Puppet::Error.new(output, e)
|
34
34
|
end
|
35
35
|
line = output.split("\n").pop
|
36
36
|
|
@@ -39,16 +39,16 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
|
|
39
39
|
return :latest
|
40
40
|
end
|
41
41
|
|
42
|
-
pkgstuff =
|
43
|
-
match =
|
44
|
-
info =
|
42
|
+
pkgstuff = Regexp.last_match(1)
|
43
|
+
match = Regexp.last_match(2)
|
44
|
+
info = Regexp.last_match(3)
|
45
45
|
|
46
46
|
unless pkgstuff =~ /^\S+-([^-\s]+)$/
|
47
47
|
raise Puppet::Error,
|
48
48
|
_("Could not match package info '%{pkgstuff}'") % { pkgstuff: pkgstuff }
|
49
49
|
end
|
50
50
|
|
51
|
-
version =
|
51
|
+
version = Regexp.last_match(1)
|
52
52
|
|
53
53
|
if match == "=" or match == ">"
|
54
54
|
# we're up to date or more recent
|
@@ -62,7 +62,8 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
|
|
62
62
|
_("Could not match version info '%{info}'") % { info: info }
|
63
63
|
end
|
64
64
|
|
65
|
-
source
|
65
|
+
source = Regexp.last_match(1)
|
66
|
+
newversion = Regexp.last_match(2)
|
66
67
|
|
67
68
|
debug "Newer version in #{source}"
|
68
69
|
newversion
|
@@ -71,8 +72,8 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
|
|
71
72
|
def query
|
72
73
|
# support portorigin_glob such as "mail/postfix"
|
73
74
|
name = self.name
|
74
|
-
if name =~
|
75
|
-
name = self.name.split(
|
75
|
+
if name =~ %r{/}
|
76
|
+
name = self.name.split(%r{/}).slice(1)
|
76
77
|
end
|
77
78
|
self.class.instances.each do |instance|
|
78
79
|
if instance.name == name
|
@@ -23,7 +23,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
23
23
|
# defaultfor 'os.name' => :freebsd
|
24
24
|
|
25
25
|
# Remove unwanted environment variables.
|
26
|
-
%w
|
26
|
+
%w[INTERACTIVE UNAME].each do |var|
|
27
27
|
if ENV.include?(var)
|
28
28
|
ENV.delete(var)
|
29
29
|
end
|
@@ -35,7 +35,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
35
35
|
Puppet.debug "portupgrade.rb Building packages list from installed ports"
|
36
36
|
|
37
37
|
# regex to match output from pkg_info
|
38
|
-
regex =
|
38
|
+
regex = /^(\S+)-([^-\s]+):(\S+)$/
|
39
39
|
# Corresponding field names
|
40
40
|
fields = [:portname, :ensure, :portorigin]
|
41
41
|
# define Temporary hash used, packages array of hashes
|
@@ -46,8 +46,8 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
46
46
|
cmdline = ["-aoQ"]
|
47
47
|
begin
|
48
48
|
output = portinfo(*cmdline)
|
49
|
-
rescue Puppet::ExecutionFailure
|
50
|
-
raise Puppet::Error.new(output,
|
49
|
+
rescue Puppet::ExecutionFailure => e
|
50
|
+
raise Puppet::Error.new(output, e)
|
51
51
|
end
|
52
52
|
|
53
53
|
# split output and match it and populate temp hash
|
@@ -64,7 +64,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
64
64
|
# populate the actual :name field from the :portorigin
|
65
65
|
# Set :provider to this object name
|
66
66
|
hash[:name] = hash[:portorigin]
|
67
|
-
hash[:provider] =
|
67
|
+
hash[:provider] = name
|
68
68
|
|
69
69
|
# Add to the full packages listing
|
70
70
|
packages << new(hash)
|
@@ -75,7 +75,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
75
75
|
}
|
76
76
|
|
77
77
|
# return the packages array of hashes
|
78
|
-
|
78
|
+
packages
|
79
79
|
end
|
80
80
|
|
81
81
|
######## Installation sub command
|
@@ -88,8 +88,8 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
88
88
|
# FIXME: it's possible that portinstall prompts for data so locks up.
|
89
89
|
begin
|
90
90
|
output = portinstall(*cmdline)
|
91
|
-
rescue Puppet::ExecutionFailure
|
92
|
-
raise Puppet::Error.new(output,
|
91
|
+
rescue Puppet::ExecutionFailure => e
|
92
|
+
raise Puppet::Error.new(output, e)
|
93
93
|
end
|
94
94
|
|
95
95
|
if output =~ /\*\* No such /
|
@@ -97,7 +97,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
97
97
|
end
|
98
98
|
|
99
99
|
# No return code required, so do nil to be clean
|
100
|
-
|
100
|
+
nil
|
101
101
|
end
|
102
102
|
|
103
103
|
######## Latest subcommand (returns the latest version available, or current version if installed is latest)
|
@@ -111,39 +111,39 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
111
111
|
|
112
112
|
begin
|
113
113
|
output = portversion(*cmdline)
|
114
|
-
rescue Puppet::ExecutionFailure
|
115
|
-
raise Puppet::Error.new(output,
|
114
|
+
rescue Puppet::ExecutionFailure => e
|
115
|
+
raise Puppet::Error.new(output, e)
|
116
116
|
end
|
117
117
|
|
118
118
|
# Check: output format.
|
119
119
|
if output =~ /^\S+-([^-\s]+)\s+(\S)\s+(.*)/
|
120
|
-
installedversion =
|
121
|
-
comparison =
|
122
|
-
otherdata =
|
120
|
+
installedversion = Regexp.last_match(1)
|
121
|
+
comparison = Regexp.last_match(2)
|
122
|
+
otherdata = Regexp.last_match(3)
|
123
123
|
|
124
124
|
# Only return a new version number when it's clear that there is a new version
|
125
125
|
# all others return the current version so no unexpected 'upgrades' occur.
|
126
126
|
case comparison
|
127
127
|
when "=", ">"
|
128
128
|
Puppet.debug "portupgrade.latest() - Installed package is latest (#{installedversion})"
|
129
|
-
|
129
|
+
installedversion
|
130
130
|
when "<"
|
131
131
|
# "portpkg-1.7_5 < needs updating (port has 1.14)"
|
132
132
|
# "portpkg-1.7_5 < needs updating (port has 1.14) (=> 'newport/pkg')
|
133
133
|
if otherdata =~ /\(port has (\S+)\)/
|
134
|
-
newversion =
|
134
|
+
newversion = Regexp.last_match(1)
|
135
135
|
Puppet.debug "portupgrade.latest() - Installed version needs updating to (#{newversion})"
|
136
|
-
|
136
|
+
newversion
|
137
137
|
else
|
138
138
|
Puppet.debug "portupgrade.latest() - Unable to determine new version from (#{otherdata})"
|
139
|
-
|
139
|
+
installedversion
|
140
140
|
end
|
141
141
|
when "?", "!", "#"
|
142
142
|
Puppet.debug "portupgrade.latest() - Comparison Error reported from portversion (#{output})"
|
143
|
-
|
143
|
+
installedversion
|
144
144
|
else
|
145
145
|
Puppet.debug "portupgrade.latest() - Unknown code from portversion output (#{output})"
|
146
|
-
|
146
|
+
installedversion
|
147
147
|
end
|
148
148
|
|
149
149
|
elsif output =~ /^\*\* No matching package /
|
@@ -166,25 +166,25 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
166
166
|
cmdline = ["-qO", @resource[:name]]
|
167
167
|
begin
|
168
168
|
output = portinfo(*cmdline)
|
169
|
-
rescue Puppet::ExecutionFailure
|
170
|
-
raise Puppet::Error.new(output,
|
169
|
+
rescue Puppet::ExecutionFailure => e
|
170
|
+
raise Puppet::Error.new(output, e)
|
171
171
|
end
|
172
172
|
|
173
173
|
# Check: if output isn't in the right format, return nil
|
174
174
|
if output =~ /^(\S+)-([^-\s]+)/
|
175
175
|
# Fill in the details
|
176
176
|
hash = Hash.new
|
177
|
-
hash[:portorigin] =
|
178
|
-
hash[:portname] =
|
179
|
-
hash[:ensure] =
|
177
|
+
hash[:portorigin] = name
|
178
|
+
hash[:portname] = Regexp.last_match(1)
|
179
|
+
hash[:ensure] = Regexp.last_match(2)
|
180
180
|
|
181
181
|
# If more details are required, then we can do another pkg_info
|
182
182
|
# query here and parse out that output and add to the hash
|
183
183
|
# return the hash to the caller
|
184
|
-
|
184
|
+
hash
|
185
185
|
else
|
186
186
|
Puppet.debug "portupgrade.query() - package (#{@resource[:name]}) not installed"
|
187
|
-
|
187
|
+
nil
|
188
188
|
end
|
189
189
|
end
|
190
190
|
|
@@ -196,13 +196,13 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
196
196
|
cmdline = ["-qO", @resource[:name]]
|
197
197
|
begin
|
198
198
|
output = portinfo(*cmdline)
|
199
|
-
rescue Puppet::ExecutionFailure
|
200
|
-
raise Puppet::Error.new(output,
|
199
|
+
rescue Puppet::ExecutionFailure => e
|
200
|
+
raise Puppet::Error.new(output, e)
|
201
201
|
end
|
202
202
|
|
203
203
|
if output =~ /^(\S+)/
|
204
204
|
# output matches, so uninstall it
|
205
|
-
portuninstall
|
205
|
+
portuninstall Regexp.last_match(1)
|
206
206
|
end
|
207
207
|
end
|
208
208
|
|
@@ -214,17 +214,17 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
|
|
214
214
|
cmdline = ["-qO", @resource[:name]]
|
215
215
|
begin
|
216
216
|
output = portinfo(*cmdline)
|
217
|
-
rescue Puppet::ExecutionFailure
|
218
|
-
raise Puppet::Error.new(output,
|
217
|
+
rescue Puppet::ExecutionFailure => e
|
218
|
+
raise Puppet::Error.new(output, e)
|
219
219
|
end
|
220
220
|
|
221
221
|
if output =~ /^(\S+)/
|
222
222
|
# output matches, so upgrade the software
|
223
|
-
cmdline = ["-M BATCH=yes",
|
223
|
+
cmdline = ["-M BATCH=yes", Regexp.last_match(1)]
|
224
224
|
begin
|
225
225
|
output = portupgrade(*cmdline)
|
226
|
-
rescue Puppet::ExecutionFailure
|
227
|
-
raise Puppet::Error.new(output,
|
226
|
+
rescue Puppet::ExecutionFailure => e
|
227
|
+
raise Puppet::Error.new(output, e)
|
228
228
|
end
|
229
229
|
end
|
230
230
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'English'
|
3
4
|
unless Puppet::Util::Platform.jruby_fips?
|
4
5
|
require 'rubygems/commands/list_command'
|
5
6
|
end
|
@@ -37,7 +38,7 @@ Puppet::Type.type(:package).provide :puppetserver_gem, :parent => :gem do
|
|
37
38
|
end
|
38
39
|
|
39
40
|
def self.gemlist(options)
|
40
|
-
command_options = [
|
41
|
+
command_options = %w[gem list]
|
41
42
|
|
42
43
|
if options[:local]
|
43
44
|
command_options << '--local'
|
@@ -74,14 +75,14 @@ Puppet::Type.type(:package).provide :puppetserver_gem, :parent => :gem do
|
|
74
75
|
.map { |set| gemsplit(set) }
|
75
76
|
|
76
77
|
if options[:justme]
|
77
|
-
|
78
|
+
gem_list.shift
|
78
79
|
else
|
79
|
-
|
80
|
+
gem_list
|
80
81
|
end
|
81
82
|
end
|
82
83
|
|
83
84
|
def install(useversion = true)
|
84
|
-
command_options = [
|
85
|
+
command_options = %w[gem install]
|
85
86
|
command_options += install_options if resource[:install_options]
|
86
87
|
|
87
88
|
command_options << '-v' << resource[:ensure] if (!resource[:ensure].is_a? Symbol) && useversion
|
@@ -103,10 +104,10 @@ Puppet::Type.type(:package).provide :puppetserver_gem, :parent => :gem do
|
|
103
104
|
command_options << uri.path
|
104
105
|
when 'puppet'
|
105
106
|
# we don't support puppet:// URLs (yet)
|
106
|
-
raise Puppet::Error
|
107
|
+
raise Puppet::Error, _('puppet:// URLs are not supported as gem sources')
|
107
108
|
else
|
108
109
|
# interpret it as a gem repository
|
109
|
-
command_options << '--source' <<
|
110
|
+
command_options << '--source' << resource[:source].to_s << resource[:name]
|
110
111
|
end
|
111
112
|
else
|
112
113
|
command_options << resource[:name]
|
@@ -118,7 +119,7 @@ Puppet::Type.type(:package).provide :puppetserver_gem, :parent => :gem do
|
|
118
119
|
end
|
119
120
|
|
120
121
|
def uninstall
|
121
|
-
command_options = [
|
122
|
+
command_options = %w[gem uninstall]
|
122
123
|
command_options << '--executables' << '--all' << resource[:name]
|
123
124
|
command_options += uninstall_options if resource[:uninstall_options]
|
124
125
|
|
@@ -158,7 +159,7 @@ Puppet::Type.type(:package).provide :puppetserver_gem, :parent => :gem do
|
|
158
159
|
gem_env['GEM_HOME'] = puppetserver_conf['jruby-puppet'].key?('gem-home') ? puppetserver_conf['jruby-puppet']['gem-home'] : puppetserver_default_gem_home
|
159
160
|
gem_env['GEM_PATH'] = puppetserver_conf['jruby-puppet'].key?('gem-path') ? puppetserver_conf['jruby-puppet']['gem-path'].join(':') : puppetserver_default_gem_path
|
160
161
|
end
|
161
|
-
gem_env['GEM_SPEC_CACHE'] = "/tmp/#{
|
162
|
+
gem_env['GEM_SPEC_CACHE'] = "/tmp/#{$PROCESS_ID}"
|
162
163
|
|
163
164
|
# Remove the 'gem' from the command_options
|
164
165
|
command_options.shift
|
@@ -167,7 +168,7 @@ Puppet::Type.type(:package).provide :puppetserver_gem, :parent => :gem do
|
|
167
168
|
# There is no method exclude default gems from the local gem list,
|
168
169
|
# for example: psych (default: 2.2.2)
|
169
170
|
# but default gems should not be managed by this (or any) provider.
|
170
|
-
gem_list = gem_out.lines.reject { |gem| gem =~ / \(default
|
171
|
+
gem_list = gem_out.lines.reject { |gem| gem =~ / \(default: / }
|
171
172
|
gem_list.join("\n")
|
172
173
|
end
|
173
174
|
end
|
@@ -24,8 +24,8 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
24
24
|
# Note: self:: is required here to keep these constants in the context of what will
|
25
25
|
# eventually become this Puppet::Type::Package::ProviderRpm class.
|
26
26
|
# The query format by which we identify installed packages
|
27
|
-
self::NEVRA_FORMAT = %
|
28
|
-
self::NEVRA_REGEX =
|
27
|
+
self::NEVRA_FORMAT = '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n'
|
28
|
+
self::NEVRA_REGEX = /^'?(\S+) (\S+) (\S+) (\S+) (\S+)$/
|
29
29
|
self::NEVRA_FIELDS = [:name, :epoch, :version, :release, :arch]
|
30
30
|
self::MULTIVERSION_SEPARATOR = "; "
|
31
31
|
|
@@ -71,8 +71,8 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
71
71
|
# now turn each returned line into a package object
|
72
72
|
nevra_to_multiversion_hash(process).each { |hash| packages << new(hash) }
|
73
73
|
}
|
74
|
-
rescue Puppet::ExecutionFailure
|
75
|
-
raise Puppet::Error, _("Failed to list packages"),
|
74
|
+
rescue Puppet::ExecutionFailure => e
|
75
|
+
raise Puppet::Error, _("Failed to list packages"), e.backtrace
|
76
76
|
end
|
77
77
|
|
78
78
|
packages
|
@@ -85,7 +85,7 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
85
85
|
# NOTE: Prior to a fix for issue 1243, this method potentially returned a cached value
|
86
86
|
# IF YOU CALL THIS METHOD, IT WILL CALL RPM
|
87
87
|
# Use get(:property) to check if cached values are available
|
88
|
-
cmd = ["-q", @resource[:name],
|
88
|
+
cmd = ["-q", @resource[:name], self.class.nosignature.to_s, self.class.nodigest.to_s, "--qf", self.class::NEVRA_FORMAT.to_s]
|
89
89
|
|
90
90
|
begin
|
91
91
|
output = rpm(*cmd)
|
@@ -114,7 +114,7 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
114
114
|
@resource.fail _("RPMs must specify a package source")
|
115
115
|
end
|
116
116
|
|
117
|
-
cmd = [command(:rpm), "-q", "--qf",
|
117
|
+
cmd = [command(:rpm), "-q", "--qf", self.class::NEVRA_FORMAT.to_s, "-p", source]
|
118
118
|
h = self.class.nevra_to_multiversion_hash(execute(cmd))
|
119
119
|
h[:ensure]
|
120
120
|
rescue Puppet::ExecutionFailure => e
|
@@ -175,7 +175,7 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
175
175
|
end
|
176
176
|
|
177
177
|
def update
|
178
|
-
|
178
|
+
install
|
179
179
|
end
|
180
180
|
|
181
181
|
def install_options
|
@@ -209,14 +209,14 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
209
209
|
match = self::NEVRA_REGEX.match(line)
|
210
210
|
if match
|
211
211
|
self::NEVRA_FIELDS.zip(match.captures) { |f, v| hash[f] = v }
|
212
|
-
hash[:provider] =
|
212
|
+
hash[:provider] = name
|
213
213
|
hash[:ensure] = "#{hash[:version]}-#{hash[:release]}"
|
214
214
|
hash[:ensure].prepend("#{hash[:epoch]}:") if hash[:epoch] != '0'
|
215
215
|
else
|
216
216
|
Puppet.debug("Failed to match rpm line #{line}")
|
217
217
|
end
|
218
218
|
|
219
|
-
|
219
|
+
hash
|
220
220
|
end
|
221
221
|
|
222
222
|
# @param line [String] multiple lines of rpm package query information
|
@@ -227,22 +227,22 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
227
227
|
list = []
|
228
228
|
multiversion_hash = {}
|
229
229
|
multiline.each_line do |line|
|
230
|
-
hash =
|
231
|
-
if
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
230
|
+
hash = nevra_to_hash(line)
|
231
|
+
next if hash.empty?
|
232
|
+
|
233
|
+
if multiversion_hash.empty?
|
234
|
+
multiversion_hash = hash.dup
|
235
|
+
next
|
236
|
+
end
|
237
|
+
|
238
|
+
if multiversion_hash[:name] != hash[:name]
|
239
|
+
list << multiversion_hash
|
240
|
+
multiversion_hash = hash.dup
|
241
|
+
next
|
242
|
+
end
|
243
|
+
|
244
|
+
unless multiversion_hash[:ensure].include?(hash[:ensure])
|
245
|
+
multiversion_hash[:ensure].concat("#{self::MULTIVERSION_SEPARATOR}#{hash[:ensure]}")
|
246
246
|
end
|
247
247
|
end
|
248
248
|
list << multiversion_hash if multiversion_hash
|
@@ -250,6 +250,6 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
|
|
250
250
|
return list[0]
|
251
251
|
end
|
252
252
|
|
253
|
-
|
253
|
+
list
|
254
254
|
end
|
255
255
|
end
|
@@ -12,7 +12,7 @@ Puppet::Type.type(:package).provide :rug, :parent => :rpm do
|
|
12
12
|
# Install a package using 'rug'.
|
13
13
|
def install
|
14
14
|
should = @resource.should(:ensure)
|
15
|
-
|
15
|
+
debug "Ensuring => #{should}"
|
16
16
|
wanted = @resource[:name]
|
17
17
|
|
18
18
|
# XXX: We don't actually deal with epochs here.
|
@@ -25,10 +25,8 @@ Puppet::Type.type(:package).provide :rug, :parent => :rpm do
|
|
25
25
|
end
|
26
26
|
rug "--quiet", :install, "-y", wanted
|
27
27
|
|
28
|
-
unless
|
29
|
-
raise Puppet::ExecutionFailure
|
30
|
-
_("Could not find package %{name}") % { name: self.name }
|
31
|
-
)
|
28
|
+
unless query
|
29
|
+
raise Puppet::ExecutionFailure, _("Could not find package %{name}") % { name: name }
|
32
30
|
end
|
33
31
|
end
|
34
32
|
|
@@ -37,17 +35,17 @@ Puppet::Type.type(:package).provide :rug, :parent => :rpm do
|
|
37
35
|
# rug can only get a list of *all* available packages?
|
38
36
|
output = rug "list-updates"
|
39
37
|
|
40
|
-
if output =~ /#{Regexp.escape @resource[:name]}\s*\|\s*([^\s
|
41
|
-
|
38
|
+
if output =~ /#{Regexp.escape @resource[:name]}\s*\|\s*([^\s|]+)/
|
39
|
+
Regexp.last_match(1)
|
42
40
|
else
|
43
41
|
# rug didn't find updates, pretend the current
|
44
42
|
# version is the latest
|
45
|
-
|
43
|
+
@property_hash[:ensure]
|
46
44
|
end
|
47
45
|
end
|
48
46
|
|
49
47
|
def update
|
50
48
|
# rug install can be used for update, too
|
51
|
-
|
49
|
+
install
|
52
50
|
end
|
53
51
|
end
|
@@ -47,7 +47,7 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d
|
|
47
47
|
pkgs << pkg unless pkg.empty?
|
48
48
|
pkg = {}
|
49
49
|
when /^\s*([^:]+):\s+(.+)$/
|
50
|
-
pkg[
|
50
|
+
pkg[Regexp.last_match(1)] = Regexp.last_match(2)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
pkgs << pkg unless pkg.empty?
|
@@ -81,7 +81,7 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d
|
|
81
81
|
# so even though pkginfo passed, we have to check the actual output
|
82
82
|
raise Puppet::Error, _("Unable to get information about package %{name} because of: %{errmsg}") % { name: @resource[:name], errmsg: errmsg }
|
83
83
|
rescue Puppet::ExecutionFailure
|
84
|
-
|
84
|
+
{ :ensure => :absent }
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
@@ -115,8 +115,8 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d
|
|
115
115
|
# Remove the old package, and install the new one. This will probably
|
116
116
|
# often fail.
|
117
117
|
def update
|
118
|
-
|
119
|
-
|
118
|
+
uninstall if (@property_hash[:ensure] || info2hash[:ensure]) != :absent
|
119
|
+
install
|
120
120
|
end
|
121
121
|
|
122
122
|
def prepare_cmd(opt)
|
@@ -14,10 +14,8 @@ Puppet::Type.type(:package).provide :up2date, :parent => :rpm, :source => :rpm d
|
|
14
14
|
def install
|
15
15
|
up2date "-u", @resource[:name]
|
16
16
|
|
17
|
-
unless
|
18
|
-
raise Puppet::ExecutionFailure
|
19
|
-
_("Could not find package %{name}") % { name: self.name }
|
20
|
-
)
|
17
|
+
unless query
|
18
|
+
raise Puppet::ExecutionFailure, _("Could not find package %{name}") % { name: name }
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -27,16 +25,16 @@ Puppet::Type.type(:package).provide :up2date, :parent => :rpm, :source => :rpm d
|
|
27
25
|
output = up2date "--showall"
|
28
26
|
|
29
27
|
if output =~ /^#{Regexp.escape @resource[:name]}-(\d+.*)\.\w+/
|
30
|
-
|
28
|
+
Regexp.last_match(1)
|
31
29
|
else
|
32
30
|
# up2date didn't find updates, pretend the current
|
33
31
|
# version is the latest
|
34
|
-
|
32
|
+
@property_hash[:ensure]
|
35
33
|
end
|
36
34
|
end
|
37
35
|
|
38
36
|
def update
|
39
37
|
# Install in up2date can be used for update, too
|
40
|
-
|
38
|
+
install
|
41
39
|
end
|
42
40
|
end
|
@@ -10,7 +10,7 @@ Puppet::Type.type(:package).provide :urpmi, :parent => :rpm, :source => :rpm do
|
|
10
10
|
|
11
11
|
def install
|
12
12
|
should = @resource.should(:ensure)
|
13
|
-
|
13
|
+
debug "Ensuring => #{should}"
|
14
14
|
wanted = @resource[:name]
|
15
15
|
|
16
16
|
# XXX: We don't actually deal with epochs here.
|
@@ -24,8 +24,8 @@ Puppet::Type.type(:package).provide :urpmi, :parent => :rpm, :source => :rpm do
|
|
24
24
|
|
25
25
|
urpmi "--auto", wanted
|
26
26
|
|
27
|
-
unless
|
28
|
-
raise Puppet::Error, _("Package %{name} was not present after trying to install it") % { name:
|
27
|
+
unless query
|
28
|
+
raise Puppet::Error, _("Package %{name} was not present after trying to install it") % { name: name }
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -34,17 +34,17 @@ Puppet::Type.type(:package).provide :urpmi, :parent => :rpm, :source => :rpm do
|
|
34
34
|
output = urpmq "-S", @resource[:name]
|
35
35
|
|
36
36
|
if output =~ /^#{Regexp.escape @resource[:name]}\s+:\s+.*\(\s+(\S+)\s+\)/
|
37
|
-
|
37
|
+
Regexp.last_match(1)
|
38
38
|
else
|
39
39
|
# urpmi didn't find updates, pretend the current
|
40
40
|
# version is the latest
|
41
|
-
|
41
|
+
@resource[:ensure]
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
def update
|
46
46
|
# Install in urpmi can be used for update, too
|
47
|
-
|
47
|
+
install
|
48
48
|
end
|
49
49
|
|
50
50
|
# For normal package removal the urpmi provider will delegate to the RPM
|
@@ -16,7 +16,7 @@ class Puppet::Provider::Package::Windows
|
|
16
16
|
'Security Update',
|
17
17
|
'Update Rollup',
|
18
18
|
'Hotfix',
|
19
|
-
'WindowsInstaller'
|
19
|
+
'WindowsInstaller'
|
20
20
|
]
|
21
21
|
|
22
22
|
def self.register(path)
|
@@ -44,10 +44,10 @@ class Puppet::Provider::Package::Windows
|
|
44
44
|
values['UninstallString'].length > 0 &&
|
45
45
|
values['WindowsInstaller'] != 1 && # DWORD
|
46
46
|
name !~ /^KB[0-9]{6}/ &&
|
47
|
-
values['ParentKeyName']
|
48
|
-
values['Security Update']
|
49
|
-
values['Update Rollup']
|
50
|
-
values['Hotfix']
|
47
|
+
values['ParentKeyName'].nil? &&
|
48
|
+
values['Security Update'].nil? &&
|
49
|
+
values['Update Rollup'].nil? &&
|
50
|
+
values['Hotfix'].nil?)
|
51
51
|
end
|
52
52
|
|
53
53
|
def initialize(name, version, uninstall_string)
|
@@ -69,7 +69,7 @@ class Puppet::Provider::Package::Windows
|
|
69
69
|
uri = URI(Puppet::Util.uri_encode(file_location))
|
70
70
|
client = Puppet.runtime[:http]
|
71
71
|
client.get(uri, options: { include_system_store: true }) do |response|
|
72
|
-
raise Puppet::HTTP::ResponseError
|
72
|
+
raise Puppet::HTTP::ResponseError, response unless response.success?
|
73
73
|
|
74
74
|
File.open(tempfile.path, 'wb') do |file|
|
75
75
|
response.read_body do |data|
|
@@ -80,7 +80,7 @@ class Puppet::Provider::Package::Windows
|
|
80
80
|
rescue => detail
|
81
81
|
raise Puppet::Error.new(_("Error when installing %{package}: %{detail}") % { package: resource[:name], detail: detail.message }, detail)
|
82
82
|
ensure
|
83
|
-
|
83
|
+
register(tempfile.path)
|
84
84
|
tempfile.close()
|
85
85
|
file_location = tempfile.path
|
86
86
|
end
|
@@ -13,9 +13,9 @@ class Puppet::Provider::Package::Windows
|
|
13
13
|
# registry values to load under each product entry in
|
14
14
|
# HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
|
15
15
|
# for this provider
|
16
|
-
REG_VALUE_NAMES = [
|
17
|
-
|
18
|
-
|
16
|
+
REG_VALUE_NAMES = %w[
|
17
|
+
DisplayVersion
|
18
|
+
WindowsInstaller
|
19
19
|
]
|
20
20
|
|
21
21
|
# Get the COM installer object, it's in a separate method for testing
|
@@ -13,7 +13,7 @@ class Puppet::Provider::Package::Windows
|
|
13
13
|
|
14
14
|
attr_reader :name, :version
|
15
15
|
|
16
|
-
REG_DISPLAY_VALUE_NAMES = [
|
16
|
+
REG_DISPLAY_VALUE_NAMES = %w[DisplayName QuietDisplayName]
|
17
17
|
|
18
18
|
def self.reg_value_names_to_load
|
19
19
|
REG_DISPLAY_VALUE_NAMES |
|
@@ -91,7 +91,7 @@ class Puppet::Provider::Package::Windows
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def self.quote(value)
|
94
|
-
value.include?(' ') ? %Q
|
94
|
+
value.include?(' ') ? %Q("#{value.gsub(/"/, '\"')}") : value
|
95
95
|
end
|
96
96
|
|
97
97
|
def self.get_display_name(values)
|