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
@@ -20,13 +20,13 @@ module Puppet::Util::CharacterEncoding
|
|
20
20
|
string_copy = string.dup
|
21
21
|
begin
|
22
22
|
if original_encoding == Encoding::UTF_8
|
23
|
-
|
23
|
+
unless string_copy.valid_encoding?
|
24
24
|
Puppet.debug {
|
25
25
|
_("%{value} is already labeled as UTF-8 but this encoding is invalid. It cannot be transcoded by Puppet.") % { value: string.dump }
|
26
26
|
}
|
27
27
|
end
|
28
28
|
# String is already valid UTF-8 - noop
|
29
|
-
|
29
|
+
string_copy
|
30
30
|
else
|
31
31
|
# If the string comes to us as BINARY encoded, we don't know what it
|
32
32
|
# started as. However, to encode! we need a starting place, and our
|
@@ -34,7 +34,7 @@ module Puppet::Util::CharacterEncoding
|
|
34
34
|
# So set external_encoding to default_external before we try to
|
35
35
|
# transcode to UTF-8.
|
36
36
|
string_copy.force_encoding(Encoding.default_external) if original_encoding == Encoding::BINARY
|
37
|
-
|
37
|
+
string_copy.encode(Encoding::UTF_8)
|
38
38
|
end
|
39
39
|
rescue EncodingError => detail
|
40
40
|
# Set the encoding on our copy back to its original if we modified it
|
@@ -46,7 +46,7 @@ module Puppet::Util::CharacterEncoding
|
|
46
46
|
Puppet.debug {
|
47
47
|
_("%{error}: %{value} cannot be transcoded by Puppet.") % { error: detail.inspect, value: string.dump }
|
48
48
|
}
|
49
|
-
|
49
|
+
string_copy
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -68,14 +68,15 @@ module Puppet::Util::CharacterEncoding
|
|
68
68
|
string_copy = string.dup
|
69
69
|
original_encoding = string_copy.encoding
|
70
70
|
return string_copy if original_encoding == Encoding::UTF_8
|
71
|
+
|
71
72
|
if string_copy.force_encoding(Encoding::UTF_8).valid_encoding?
|
72
|
-
|
73
|
+
string_copy
|
73
74
|
else
|
74
75
|
Puppet.debug {
|
75
76
|
_("%{value} is not valid UTF-8 and result of overriding encoding would be invalid.") % { value: string.dump }
|
76
77
|
}
|
77
78
|
# Set copy back to its original encoding before returning
|
78
|
-
|
79
|
+
string_copy.force_encoding(original_encoding)
|
79
80
|
end
|
80
81
|
end
|
81
82
|
end
|
@@ -45,12 +45,12 @@ module Puppet::Util::Checksums
|
|
45
45
|
|
46
46
|
# Strip the checksum type from an existing checksum
|
47
47
|
def sumdata(checksum)
|
48
|
-
checksum =~ /^\{(\w+)\}(.+)/ ?
|
48
|
+
checksum =~ /^\{(\w+)\}(.+)/ ? ::Regexp.last_match(2) : nil
|
49
49
|
end
|
50
50
|
|
51
51
|
# Strip the checksum type from an existing checksum
|
52
52
|
def sumtype(checksum)
|
53
|
-
checksum =~ /^\{(\w+)\}/ ?
|
53
|
+
checksum =~ /^\{(\w+)\}/ ? ::Regexp.last_match(1) : nil
|
54
54
|
end
|
55
55
|
|
56
56
|
# Calculate a checksum using Digest::SHA256.
|
data/lib/puppet/util/classgen.rb
CHANGED
@@ -177,11 +177,11 @@ module Puppet::Util::ClassGen
|
|
177
177
|
|
178
178
|
[:include, :extend].each do |method|
|
179
179
|
set = options[method]
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
180
|
+
next unless set
|
181
|
+
|
182
|
+
set = [set] unless set.is_a?(Array)
|
183
|
+
set.each do |mod|
|
184
|
+
klass.send(method, mod)
|
185
185
|
end
|
186
186
|
end
|
187
187
|
|
@@ -210,9 +210,9 @@ module Puppet::Util::ClassGen
|
|
210
210
|
# If we were told to stick it in a hash, then do so
|
211
211
|
array = options[:array]
|
212
212
|
if array
|
213
|
-
if
|
214
|
-
|
215
|
-
|
213
|
+
if klass.respond_to? :name and
|
214
|
+
array.find { |c| c.name == klassname } and
|
215
|
+
!options[:overwrite]
|
216
216
|
raise Puppet::SubclassAlreadyDefined,
|
217
217
|
_("Already a generated class named %{klassname}") % { klassname: klassname }
|
218
218
|
end
|
data/lib/puppet/util/colors.rb
CHANGED
@@ -97,6 +97,6 @@ module Puppet::Util::Colors
|
|
97
97
|
|
98
98
|
def html_color(color, str)
|
99
99
|
span = '<span style="%s">' % Colormap[color][:html]
|
100
|
-
"#{span}%s</span>" % str.gsub(
|
100
|
+
"#{span}%s</span>" % str.gsub(%r{<span .*?</span>}, "</span>\\0#{span}")
|
101
101
|
end
|
102
102
|
end
|
@@ -63,7 +63,7 @@ module Puppet
|
|
63
63
|
when :NONE
|
64
64
|
options[:type] = :flag
|
65
65
|
else
|
66
|
-
raise PuppetOptionError
|
66
|
+
raise PuppetOptionError, _("Unsupported type: '%{type}'") % { type: type }
|
67
67
|
end
|
68
68
|
|
69
69
|
@parser.opt long.sub("^--", "").intern, desc, options
|
@@ -33,10 +33,10 @@ class CommandLine
|
|
33
33
|
class VersionNeeded < StandardError; end
|
34
34
|
|
35
35
|
## Regex for floating point numbers
|
36
|
-
FLOAT_RE = /^-?((\d+(\.\d+)?)|(\.\d+))([eE][-+]
|
36
|
+
FLOAT_RE = /^-?((\d+(\.\d+)?)|(\.\d+))([eE][-+]?\d+)?$/
|
37
37
|
|
38
38
|
## Regex for parameters
|
39
|
-
PARAM_RE = /^-(-|\.$|[^\d
|
39
|
+
PARAM_RE = /^-(-|\.$|[^\d.])/
|
40
40
|
|
41
41
|
## The commandline parser. In typical usage, the methods in this class
|
42
42
|
## will be handled internally by Trollop::options. In this case, only the
|
@@ -221,7 +221,7 @@ class CommandLine
|
|
221
221
|
opts[:long] =
|
222
222
|
case opts[:long]
|
223
223
|
when /^--([^-].*)$/
|
224
|
-
|
224
|
+
::Regexp.last_match(1)
|
225
225
|
when /^[^-]/
|
226
226
|
opts[:long]
|
227
227
|
else
|
@@ -234,7 +234,7 @@ class CommandLine
|
|
234
234
|
opts[:short] = opts[:short].to_s if opts[:short]
|
235
235
|
end
|
236
236
|
opts[:short] = case opts[:short]
|
237
|
-
when /^-(.)$/;
|
237
|
+
when /^-(.)$/; ::Regexp.last_match(1)
|
238
238
|
when nil, :none, /^.$/; opts[:short]
|
239
239
|
else raise ArgumentError, _("invalid short option name '%{name}'") % { name: opts[:short].inspect }
|
240
240
|
end
|
@@ -333,11 +333,11 @@ class CommandLine
|
|
333
333
|
@leftovers = each_arg cmdline do |arg, params|
|
334
334
|
sym = case arg
|
335
335
|
when /^-([^-])$/
|
336
|
-
@short[
|
336
|
+
@short[::Regexp.last_match(1)]
|
337
337
|
when /^--no-([^-]\S*)$/
|
338
|
-
@long["[no-]#{
|
338
|
+
@long["[no-]#{::Regexp.last_match(1)}"]
|
339
339
|
when /^--([^-]\S*)$/
|
340
|
-
@long[
|
340
|
+
@long[::Regexp.last_match(1)] || @long["[no-]#{::Regexp.last_match(1)}"]
|
341
341
|
else
|
342
342
|
raise CommandlineError, _("invalid argument syntax: '%{arg}'") % { arg: arg }
|
343
343
|
end
|
@@ -417,7 +417,7 @@ class CommandLine
|
|
417
417
|
when :float, :floats
|
418
418
|
vals[sym] = params.map { |pg| pg.map { |p| parse_float_parameter p, arg } }
|
419
419
|
when :string, :strings
|
420
|
-
vals[sym] = params.map { |pg| pg.map
|
420
|
+
vals[sym] = params.map { |pg| pg.map(&:to_s) }
|
421
421
|
when :io, :ios
|
422
422
|
vals[sym] = params.map { |pg| pg.map { |p| parse_io_parameter p, arg } }
|
423
423
|
when :date, :dates
|
@@ -425,13 +425,13 @@ class CommandLine
|
|
425
425
|
end
|
426
426
|
|
427
427
|
if SINGLE_ARG_TYPES.include?(opts[:type])
|
428
|
-
|
429
|
-
vals[sym] = vals[sym][0][0]
|
430
|
-
else # multiple options, each with a single parameter
|
428
|
+
if opts[:multi] # multiple options, each with a single parameter
|
431
429
|
vals[sym] = vals[sym].map { |p| p[0] }
|
430
|
+
else # single parameter
|
431
|
+
vals[sym] = vals[sym][0][0]
|
432
432
|
end
|
433
433
|
elsif MULTI_ARG_TYPES.include?(opts[:type]) && !opts[:multi]
|
434
|
-
vals[sym] = vals[sym][0]
|
434
|
+
vals[sym] = vals[sym][0] # single option, with multiple parameters
|
435
435
|
end
|
436
436
|
# else: multiple options, with multiple parameters
|
437
437
|
|
@@ -454,15 +454,13 @@ class CommandLine
|
|
454
454
|
|
455
455
|
def parse_date_parameter param, arg # :nodoc:
|
456
456
|
begin
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
# chronic is not available
|
461
|
-
end
|
462
|
-
time ? Date.new(time.year, time.month, time.day) : Date.parse(param)
|
463
|
-
rescue ArgumentError
|
464
|
-
raise CommandlineError, _("option '%{arg}' needs a date") % { arg: arg }, $!.backtrace
|
457
|
+
time = Chronic.parse(param)
|
458
|
+
rescue NameError
|
459
|
+
# chronic is not available
|
465
460
|
end
|
461
|
+
time ? Date.new(time.year, time.month, time.day) : Date.parse(param)
|
462
|
+
rescue ArgumentError => e
|
463
|
+
raise CommandlineError, _("option '%{arg}' needs a date") % { arg: arg }, e.backtrace
|
466
464
|
end
|
467
465
|
|
468
466
|
## Print the help message to +stream+.
|
@@ -489,11 +487,11 @@ class CommandLine
|
|
489
487
|
end
|
490
488
|
end
|
491
489
|
|
492
|
-
leftcol_width = left.values.map
|
490
|
+
leftcol_width = left.values.map(&:length).max || 0
|
493
491
|
rightcol_start = leftcol_width + 6 # spaces
|
494
492
|
|
495
493
|
unless @order.size > 0 && @order.first.first == :text
|
496
|
-
stream.puts "
|
494
|
+
stream.puts "#{@version}\n" if @version
|
497
495
|
stream.puts _("Options:")
|
498
496
|
end
|
499
497
|
|
@@ -582,11 +580,14 @@ class CommandLine
|
|
582
580
|
remains += args[(i + 1)..]
|
583
581
|
return remains
|
584
582
|
when /^--(\S+?)=(.*)$/ # long argument with equals
|
585
|
-
yield "--#{
|
583
|
+
yield "--#{::Regexp.last_match(1)}", [::Regexp.last_match(2)]
|
586
584
|
i += 1
|
587
585
|
when /^--(\S+)$/ # long argument
|
588
586
|
params = collect_argument_parameters(args, i + 1)
|
589
|
-
|
587
|
+
if params.empty? # long argument no parameter
|
588
|
+
yield args[i], nil
|
589
|
+
i += 1
|
590
|
+
else
|
590
591
|
num_params_taken = yield args[i], params
|
591
592
|
unless num_params_taken
|
592
593
|
if @stop_on_unknown
|
@@ -597,16 +598,16 @@ class CommandLine
|
|
597
598
|
end
|
598
599
|
end
|
599
600
|
i += 1 + num_params_taken
|
600
|
-
else # long argument no parameter
|
601
|
-
yield args[i], nil
|
602
|
-
i += 1
|
603
601
|
end
|
604
602
|
when /^-(\S+)$/ # one or more short arguments
|
605
|
-
shortargs =
|
603
|
+
shortargs = ::Regexp.last_match(1).split(//)
|
606
604
|
shortargs.each_with_index do |a, j|
|
607
605
|
if j == (shortargs.length - 1)
|
608
606
|
params = collect_argument_parameters(args, i + 1)
|
609
|
-
|
607
|
+
if params.empty? # argument no parameter
|
608
|
+
yield "-#{a}", nil
|
609
|
+
i += 1
|
610
|
+
else
|
610
611
|
num_params_taken = yield "-#{a}", params
|
611
612
|
unless num_params_taken
|
612
613
|
if @stop_on_unknown
|
@@ -617,9 +618,6 @@ class CommandLine
|
|
617
618
|
end
|
618
619
|
end
|
619
620
|
i += 1 + num_params_taken
|
620
|
-
else # argument no parameter
|
621
|
-
yield "-#{a}", nil
|
622
|
-
i += 1
|
623
621
|
end
|
624
622
|
else
|
625
623
|
yield "-#{a}", nil
|
@@ -667,7 +665,7 @@ class CommandLine
|
|
667
665
|
def collect_argument_parameters args, start_at
|
668
666
|
params = []
|
669
667
|
pos = start_at
|
670
|
-
while args[pos] && args[pos] !~ PARAM_RE && !@stop_words.member?(args[pos])
|
668
|
+
while args[pos] && args[pos] !~ PARAM_RE && !@stop_words.member?(args[pos])
|
671
669
|
params << args[pos]
|
672
670
|
pos += 1
|
673
671
|
end
|
@@ -784,19 +782,17 @@ class CommandLine
|
|
784
782
|
## Requires passing in the parser object.
|
785
783
|
|
786
784
|
def with_standard_exception_handling parser
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
exit
|
799
|
-
end
|
785
|
+
yield
|
786
|
+
rescue CommandlineError => e
|
787
|
+
$stderr.puts _("Error: %{value0}.") % { value0: e.message }
|
788
|
+
$stderr.puts _("Try --help for help.")
|
789
|
+
exit(-1)
|
790
|
+
rescue HelpNeeded
|
791
|
+
parser.educate
|
792
|
+
exit
|
793
|
+
rescue VersionNeeded
|
794
|
+
puts parser.version
|
795
|
+
exit
|
800
796
|
end
|
801
797
|
|
802
798
|
## Informs the user that their usage of 'arg' was wrong, as detailed by
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# load gems. If Bundler is loaded, let it determine what can be
|
5
5
|
# loaded. If it's not loaded, then use rubygems. But do this before
|
6
6
|
# loading any puppet code, so that our gem loading system is sane.
|
7
|
-
|
7
|
+
unless defined? ::Bundler
|
8
8
|
begin
|
9
9
|
require 'rubygems'
|
10
10
|
rescue LoadError
|
@@ -31,7 +31,7 @@ module Puppet
|
|
31
31
|
# @param zero [String] the name of the executable
|
32
32
|
# @param argv [Array<String>] the arguments passed on the command line
|
33
33
|
# @param stdin [IO] (unused)
|
34
|
-
def initialize(zero = $
|
34
|
+
def initialize(zero = $PROGRAM_NAME, argv = ARGV, stdin = STDIN)
|
35
35
|
@command = File.basename(zero, '.rb')
|
36
36
|
@argv = argv
|
37
37
|
end
|
@@ -12,12 +12,12 @@ module Puppet
|
|
12
12
|
module Util
|
13
13
|
module ConstantInflector
|
14
14
|
def file2constant(file)
|
15
|
-
file.split("/").collect
|
15
|
+
file.split("/").collect(&:capitalize).join("::").gsub(/_+(.)/) { |_term| ::Regexp.last_match(1).capitalize }
|
16
16
|
end
|
17
17
|
module_function :file2constant
|
18
18
|
|
19
19
|
def constant2file(constant)
|
20
|
-
constant.to_s.gsub(/([a-z])([A-Z])/) { |_term|
|
20
|
+
constant.to_s.gsub(/([a-z])([A-Z])/) { |_term| ::Regexp.last_match(1) + "_#{::Regexp.last_match(2)}" }.gsub("::", "/").downcase
|
21
21
|
end
|
22
22
|
module_function :constant2file
|
23
23
|
end
|
data/lib/puppet/util/diff.rb
CHANGED
@@ -32,8 +32,8 @@ module Puppet::Util::Diff
|
|
32
32
|
Puppet.warning _("Cannot provide diff without the diff/lcs Ruby library")
|
33
33
|
return ""
|
34
34
|
end
|
35
|
-
data_old = data_old.split(/\n/).map!
|
36
|
-
data_new = data_new.split(/\n/).map!
|
35
|
+
data_old = data_old.split(/\n/).map!(&:chomp)
|
36
|
+
data_new = data_new.split(/\n/).map!(&:chomp)
|
37
37
|
|
38
38
|
output = ''.dup
|
39
39
|
|
@@ -44,27 +44,25 @@ module Puppet::Util::Diff
|
|
44
44
|
file_length_difference = 0
|
45
45
|
|
46
46
|
diffs.each do |piece|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
next unless oldhunk
|
47
|
+
hunk = ::Diff::LCS::Hunk.new(
|
48
|
+
data_old, data_new, piece,
|
49
|
+
context_lines,
|
50
|
+
file_length_difference
|
51
|
+
)
|
52
|
+
file_length_difference = hunk.file_length_difference
|
53
|
+
next unless oldhunk
|
55
54
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
end
|
64
|
-
ensure
|
65
|
-
oldhunk = hunk
|
66
|
-
output << "\n"
|
55
|
+
# Hunks may overlap, which is why we need to be careful when our
|
56
|
+
# diff includes lines of context. Otherwise, we might print
|
57
|
+
# redundant lines.
|
58
|
+
if (context_lines > 0) and hunk.overlaps?(oldhunk)
|
59
|
+
hunk.unshift(oldhunk)
|
60
|
+
else
|
61
|
+
output << oldhunk.diff(format)
|
67
62
|
end
|
63
|
+
ensure
|
64
|
+
oldhunk = hunk
|
65
|
+
output << "\n"
|
68
66
|
end
|
69
67
|
|
70
68
|
# Handle the last remaining hunk
|
data/lib/puppet/util/docs.rb
CHANGED
@@ -21,7 +21,7 @@ module Puppet::Util::Docs
|
|
21
21
|
# Generate the full doc string.
|
22
22
|
def doc
|
23
23
|
extra = methods.find_all { |m| m.to_s =~ /^dochook_.+/ }.sort.filter_map { |m|
|
24
|
-
|
24
|
+
send(m)
|
25
25
|
}.collect { |r| "* #{r}" }.join("\n")
|
26
26
|
|
27
27
|
if @doc
|
@@ -125,7 +125,7 @@ module Puppet::Util::Docs
|
|
125
125
|
text = text.gsub(/^#{indent}/, '')
|
126
126
|
end
|
127
127
|
# Clean trailing space
|
128
|
-
text.lines.map
|
128
|
+
text.lines.map(&:rstrip).join("\n").rstrip
|
129
129
|
end
|
130
130
|
|
131
131
|
module_function :scrub
|
data/lib/puppet/util/errors.rb
CHANGED
@@ -22,8 +22,8 @@ module Puppet::Util::Errors
|
|
22
22
|
# @param other [Exception] original exception, source of backtrace info
|
23
23
|
# @return [Exception] error parameter
|
24
24
|
def adderrorcontext(error, other = nil)
|
25
|
-
error.line ||=
|
26
|
-
error.file ||=
|
25
|
+
error.line ||= line if error.respond_to?(:line=) and respond_to?(:line) and line
|
26
|
+
error.file ||= file if error.respond_to?(:file=) and respond_to?(:file) and file
|
27
27
|
error.original ||= other if error.respond_to?(:original=)
|
28
28
|
|
29
29
|
error.set_backtrace(other.backtrace) if other and other.respond_to?(:backtrace)
|
@@ -42,9 +42,9 @@ module Puppet::Util::Errors
|
|
42
42
|
# @return [String] description of file, line, and column
|
43
43
|
#
|
44
44
|
def self.error_location(file, line = nil, column = nil)
|
45
|
-
file = nil if
|
46
|
-
line = nil if
|
47
|
-
column = nil if
|
45
|
+
file = nil if file.is_a?(String) && file.empty?
|
46
|
+
line = nil if line.is_a?(String) && line.empty?
|
47
|
+
column = nil if column.is_a?(String) && column.empty?
|
48
48
|
if file and line and column
|
49
49
|
_("(file: %{file}, line: %{line}, column: %{column})") % { file: file, line: line, column: column }
|
50
50
|
elsif file and line
|
@@ -85,10 +85,10 @@ module Puppet::Util::Errors
|
|
85
85
|
# @param line [String] the line number for the error (nil or "", for not known)
|
86
86
|
# @return [String] description of file, and line
|
87
87
|
def self.error_location_with_unknowns(file, line)
|
88
|
-
file = nil if
|
89
|
-
line = nil if
|
90
|
-
file
|
91
|
-
line
|
88
|
+
file = nil if file.is_a?(String) && file.empty?
|
89
|
+
line = nil if line.is_a?(String) && line.empty?
|
90
|
+
file ||= _('unknown')
|
91
|
+
line ||= _('unknown')
|
92
92
|
error_location(file, line)
|
93
93
|
end
|
94
94
|
|
@@ -212,13 +212,25 @@ module Puppet::Util::Execution
|
|
212
212
|
execution_stub = Puppet::Util::ExecutionStub.current_value
|
213
213
|
if execution_stub
|
214
214
|
child_pid = execution_stub.call(*exec_args)
|
215
|
-
[stdin, stdout, stderr].each { |io|
|
215
|
+
[stdin, stdout, stderr].each { |io|
|
216
|
+
begin
|
217
|
+
io.close
|
218
|
+
rescue
|
219
|
+
nil
|
220
|
+
end
|
221
|
+
}
|
216
222
|
return child_pid
|
217
223
|
elsif Puppet.features.posix?
|
218
224
|
child_pid = nil
|
219
225
|
begin
|
220
226
|
child_pid = execute_posix(*exec_args)
|
221
|
-
[stdin, stdout, stderr].each { |io|
|
227
|
+
[stdin, stdout, stderr].each { |io|
|
228
|
+
begin
|
229
|
+
io.close
|
230
|
+
rescue
|
231
|
+
nil
|
232
|
+
end
|
233
|
+
}
|
222
234
|
if options[:squelch]
|
223
235
|
exit_status = Process.waitpid2(child_pid).last.exitstatus
|
224
236
|
else
|
@@ -276,7 +288,13 @@ module Puppet::Util::Execution
|
|
276
288
|
elsif Puppet::Util::Platform.windows?
|
277
289
|
process_info = execute_windows(*exec_args)
|
278
290
|
begin
|
279
|
-
[stdin, stderr].each { |io|
|
291
|
+
[stdin, stderr].each { |io|
|
292
|
+
begin
|
293
|
+
io.close
|
294
|
+
rescue
|
295
|
+
nil
|
296
|
+
end
|
297
|
+
}
|
280
298
|
exit_status = Puppet::Util::Windows::Process.wait_process(process_info.process_handle)
|
281
299
|
|
282
300
|
# read output in if required
|
@@ -295,8 +313,14 @@ module Puppet::Util::Execution
|
|
295
313
|
end
|
296
314
|
ensure
|
297
315
|
# Make sure all handles are closed in case an exception was thrown attempting to execute.
|
298
|
-
[stdin, stdout, stderr].each { |io|
|
299
|
-
|
316
|
+
[stdin, stdout, stderr].each { |io|
|
317
|
+
begin
|
318
|
+
io.close
|
319
|
+
rescue
|
320
|
+
nil
|
321
|
+
end
|
322
|
+
}
|
323
|
+
unless options[:squelch]
|
300
324
|
# if we opened a pipe, we need to clean it up.
|
301
325
|
reader.close if reader
|
302
326
|
stdout.close! if Puppet::Util::Platform.windows?
|
@@ -327,7 +351,7 @@ module Puppet::Util::Execution
|
|
327
351
|
# @api private
|
328
352
|
#
|
329
353
|
def self.execute_posix(command, options, stdin, stdout, stderr)
|
330
|
-
|
354
|
+
Puppet::Util.safe_posix_fork(stdin, stdout, stderr) do
|
331
355
|
# We can't just call Array(command), and rely on it returning
|
332
356
|
# things like ['foo'], when passed ['foo'], because
|
333
357
|
# Array(command) will call command.to_a internally, which when
|
@@ -345,7 +369,7 @@ module Puppet::Util::Execution
|
|
345
369
|
Puppet::Util::SUIDManager.change_privileges(options[:uid], options[:gid], true)
|
346
370
|
|
347
371
|
# if the caller has requested that we override locale environment variables,
|
348
|
-
if
|
372
|
+
if options[:override_locale] then
|
349
373
|
# loop over them and clear them
|
350
374
|
Puppet::Util::POSIX::LOCALE_ENV_VARS.each { |name| ENV.delete(name) }
|
351
375
|
# set LANG and LC_ALL to 'C' so that the command will have consistent, predictable output
|
@@ -371,7 +395,6 @@ module Puppet::Util::Execution
|
|
371
395
|
exit!(1)
|
372
396
|
end
|
373
397
|
end
|
374
|
-
child_pid
|
375
398
|
end
|
376
399
|
private_class_method :execute_posix
|
377
400
|
|
@@ -381,7 +404,7 @@ module Puppet::Util::Execution
|
|
381
404
|
#
|
382
405
|
def self.execute_windows(command, options, stdin, stdout, stderr)
|
383
406
|
command = command.map do |part|
|
384
|
-
part.include?(' ') ? %Q
|
407
|
+
part.include?(' ') ? %Q("#{part.gsub(/"/, '\"')}") : part
|
385
408
|
end.join(" ") if command.is_a?(Array)
|
386
409
|
|
387
410
|
options[:custom_environment] ||= {}
|
data/lib/puppet/util/feature.rb
CHANGED
@@ -77,7 +77,7 @@ class Puppet::Util::Feature
|
|
77
77
|
feature = method.to_s.sub(/\?$/, '')
|
78
78
|
@loader.load(feature, Puppet.lookup(:current_environment))
|
79
79
|
|
80
|
-
respond_to?(method) &&
|
80
|
+
respond_to?(method) && send(method)
|
81
81
|
end
|
82
82
|
|
83
83
|
# Actually test whether the feature is present. We only want to test when
|
@@ -42,7 +42,7 @@ module Puppet::Util::FileParsing
|
|
42
42
|
def fields=(fields)
|
43
43
|
@fields = fields.collect do |field|
|
44
44
|
r = field.intern
|
45
|
-
raise ArgumentError
|
45
|
+
raise ArgumentError, _("Cannot have fields named %{name}") % { name: r } if INVALID_FIELDS.include?(r)
|
46
46
|
|
47
47
|
r
|
48
48
|
end
|
@@ -121,9 +121,7 @@ module Puppet::Util::FileParsing
|
|
121
121
|
|
122
122
|
# Customize this so we can do a bit of validation.
|
123
123
|
def optional=(optional)
|
124
|
-
@optional = optional.collect
|
125
|
-
field.intern
|
126
|
-
end
|
124
|
+
@optional = optional.collect(&:intern)
|
127
125
|
end
|
128
126
|
|
129
127
|
# Create a hook that modifies the hash resulting from parsing.
|
@@ -230,9 +228,9 @@ module Puppet::Util::FileParsing
|
|
230
228
|
|
231
229
|
if ret
|
232
230
|
ret[:record_type] = record.name
|
233
|
-
|
231
|
+
ret
|
234
232
|
else
|
235
|
-
|
233
|
+
nil
|
236
234
|
end
|
237
235
|
end
|
238
236
|
|
@@ -246,7 +244,7 @@ module Puppet::Util::FileParsing
|
|
246
244
|
def lines(text)
|
247
245
|
# NOTE: We do not have to remove trailing separators because split will ignore
|
248
246
|
# them by default (unless you pass -1 as a second parameter)
|
249
|
-
text.split(
|
247
|
+
text.split(line_separator)
|
250
248
|
end
|
251
249
|
|
252
250
|
# Split a bunch of text into lines and then parse them individually.
|
@@ -346,7 +344,7 @@ module Puppet::Util::FileParsing
|
|
346
344
|
end
|
347
345
|
|
348
346
|
case record.type
|
349
|
-
when :text;
|
347
|
+
when :text; details[:line]
|
350
348
|
else
|
351
349
|
return record.to_line(details) if record.respond_to?(:to_line)
|
352
350
|
|
@@ -358,9 +356,9 @@ module Puppet::Util::FileParsing
|
|
358
356
|
if regex == true
|
359
357
|
regex = /\s+$/
|
360
358
|
end
|
361
|
-
|
359
|
+
line.sub(regex, '')
|
362
360
|
else
|
363
|
-
|
361
|
+
line
|
364
362
|
end
|
365
363
|
end
|
366
364
|
end
|
@@ -368,9 +366,9 @@ module Puppet::Util::FileParsing
|
|
368
366
|
# Whether to add a trailing separator to the file. Defaults to true
|
369
367
|
def trailing_separator
|
370
368
|
if defined?(@trailing_separator)
|
371
|
-
|
369
|
+
@trailing_separator
|
372
370
|
else
|
373
|
-
|
371
|
+
true
|
374
372
|
end
|
375
373
|
end
|
376
374
|
|
@@ -378,11 +376,9 @@ module Puppet::Util::FileParsing
|
|
378
376
|
type = type.intern
|
379
377
|
record = record_type(type)
|
380
378
|
if record && record.fields.include?(attr.intern)
|
381
|
-
|
382
|
-
elsif attr.intern == :ensure
|
383
|
-
return true
|
379
|
+
true
|
384
380
|
else
|
385
|
-
|
381
|
+
attr.intern == :ensure
|
386
382
|
end
|
387
383
|
end
|
388
384
|
|