puppet 8.5.0-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 +29 -26
- 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/literal_evaluator.rb +4 -0
- 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 +2 -0
- 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
@@ -36,7 +36,7 @@ class Puppet::Util::AtFork::Solaris
|
|
36
36
|
[:ct_status_read, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP],
|
37
37
|
|
38
38
|
[:ct_status_get_id, Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP],
|
39
|
-
[:ct_status_free, Fiddle::TYPE_VOID, Fiddle::TYPE_VOIDP]
|
39
|
+
[:ct_status_free, Fiddle::TYPE_VOID, Fiddle::TYPE_VOIDP]
|
40
40
|
],
|
41
41
|
}.each do |library, functions|
|
42
42
|
libhandle = Fiddle::Handle.new(library)
|
@@ -46,9 +46,9 @@ class Puppet::Util::AtFork::Solaris
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
CTFS_PR_ROOT = File.join('', %w
|
50
|
-
CTFS_PR_TEMPLATE = File.join(CTFS_PR_ROOT,
|
51
|
-
CTFS_PR_LATEST = File.join(CTFS_PR_ROOT,
|
49
|
+
CTFS_PR_ROOT = File.join('', %w[system contract process])
|
50
|
+
CTFS_PR_TEMPLATE = File.join(CTFS_PR_ROOT, 'template')
|
51
|
+
CTFS_PR_LATEST = File.join(CTFS_PR_ROOT, 'latest')
|
52
52
|
|
53
53
|
CT_PR_PGRPONLY = 0x4
|
54
54
|
CT_PR_EV_HWERR = 0x20
|
@@ -63,27 +63,25 @@ class Puppet::Util::AtFork::Solaris
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def activate_new_contract_template
|
66
|
-
|
67
|
-
tmpl = File.new(CTFS_PR_TEMPLATE, File::RDWR)
|
68
|
-
|
69
|
-
begin
|
70
|
-
tmpl_fd = tmpl.fileno
|
66
|
+
tmpl = File.new(CTFS_PR_TEMPLATE, File::RDWR)
|
71
67
|
|
72
|
-
|
73
|
-
|
74
|
-
raise_if_error { ct_tmpl_set_critical(tmpl_fd, 0) }
|
75
|
-
raise_if_error { ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) }
|
68
|
+
begin
|
69
|
+
tmpl_fd = tmpl.fileno
|
76
70
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
end
|
71
|
+
raise_if_error { ct_pr_tmpl_set_param(tmpl_fd, CT_PR_PGRPONLY) }
|
72
|
+
raise_if_error { ct_pr_tmpl_set_fatal(tmpl_fd, CT_PR_EV_HWERR) }
|
73
|
+
raise_if_error { ct_tmpl_set_critical(tmpl_fd, 0) }
|
74
|
+
raise_if_error { ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) }
|
82
75
|
|
83
|
-
|
84
|
-
rescue
|
85
|
-
|
76
|
+
raise_if_error { ct_tmpl_activate(tmpl_fd) }
|
77
|
+
rescue
|
78
|
+
tmpl.close
|
79
|
+
raise
|
86
80
|
end
|
81
|
+
|
82
|
+
@tmpl = tmpl
|
83
|
+
rescue => detail
|
84
|
+
Puppet.log_exception(detail, _('Failed to activate a new process contract template'))
|
87
85
|
end
|
88
86
|
|
89
87
|
def deactivate_contract_template(parent)
|
@@ -108,24 +106,22 @@ class Puppet::Util::AtFork::Solaris
|
|
108
106
|
end
|
109
107
|
|
110
108
|
def get_latest_child_contract_id
|
111
|
-
|
112
|
-
stat = File.new(CTFS_PR_LATEST, File::RDONLY)
|
109
|
+
stat = File.new(CTFS_PR_LATEST, File::RDONLY)
|
113
110
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
raise_if_error { ct_status_read(stat.fileno, CTD_COMMON, stathdl.ref) }
|
118
|
-
ctid = ct_status_get_id(stathdl)
|
119
|
-
ct_status_free(stathdl)
|
120
|
-
ensure
|
121
|
-
stat.close
|
122
|
-
end
|
111
|
+
begin
|
112
|
+
stathdl = Fiddle::Pointer.new(0)
|
123
113
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
114
|
+
raise_if_error { ct_status_read(stat.fileno, CTD_COMMON, stathdl.ref) }
|
115
|
+
ctid = ct_status_get_id(stathdl)
|
116
|
+
ct_status_free(stathdl)
|
117
|
+
ensure
|
118
|
+
stat.close
|
128
119
|
end
|
120
|
+
|
121
|
+
ctid
|
122
|
+
rescue => detail
|
123
|
+
Puppet.log_exception(detail, _('Failed to get latest child process contract id'))
|
124
|
+
nil
|
129
125
|
end
|
130
126
|
|
131
127
|
def abandon_latest_child_contract
|
@@ -133,7 +129,7 @@ class Puppet::Util::AtFork::Solaris
|
|
133
129
|
return if ctid.nil?
|
134
130
|
|
135
131
|
begin
|
136
|
-
ctl = File.new(File.join(CTFS_PR_ROOT, ctid.to_s,
|
132
|
+
ctl = File.new(File.join(CTFS_PR_ROOT, ctid.to_s, 'ctl'), File::WRONLY)
|
137
133
|
|
138
134
|
begin
|
139
135
|
raise_if_error { ct_ctl_abandon(ctl.fileno) }
|
data/lib/puppet/util/autoload.rb
CHANGED
@@ -81,7 +81,7 @@ class Puppet::Util::Autoload
|
|
81
81
|
begin
|
82
82
|
mark_loaded(name, file)
|
83
83
|
Kernel.load file
|
84
|
-
|
84
|
+
true
|
85
85
|
rescue SystemExit, NoMemoryError
|
86
86
|
raise
|
87
87
|
rescue Exception => detail
|
@@ -111,7 +111,7 @@ class Puppet::Util::Autoload
|
|
111
111
|
# returns nil if no file is found
|
112
112
|
# @api private
|
113
113
|
def get_file(name, env)
|
114
|
-
name
|
114
|
+
name += '.rb' unless name =~ /\.rb$/
|
115
115
|
path = search_directories(env).find { |dir| Puppet::FileSystem.exist?(File.join(dir, name)) }
|
116
116
|
path and File.join(path, name)
|
117
117
|
end
|
data/lib/puppet/util/backups.rb
CHANGED
@@ -13,13 +13,13 @@ module Puppet::Util::Backups
|
|
13
13
|
file ||= self[:path]
|
14
14
|
return true unless Puppet::FileSystem.exist?(file)
|
15
15
|
|
16
|
-
|
16
|
+
(bucket ? perform_backup_with_bucket(file) : perform_backup_with_backuplocal(file, self[:backup]))
|
17
17
|
end
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
21
|
def perform_backup_with_bucket(fileobj)
|
22
|
-
file =
|
22
|
+
file = fileobj.instance_of?(String) ? fileobj : fileobj.name
|
23
23
|
case Puppet::FileSystem.lstat(file).ftype
|
24
24
|
when "directory"
|
25
25
|
# we don't need to backup directories when recurse is on
|
@@ -34,7 +34,7 @@ module Puppet::Util::Backups
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def perform_backup_with_backuplocal(fileobj, backup)
|
37
|
-
file =
|
37
|
+
file = fileobj.instance_of?(String) ? fileobj : fileobj.name
|
38
38
|
newfile = file + backup
|
39
39
|
|
40
40
|
remove_backup(newfile)
|
@@ -44,7 +44,7 @@ module Puppet::Util::Backups
|
|
44
44
|
|
45
45
|
# N.B. cp_r works on both files and directories
|
46
46
|
FileUtils.cp_r(file, bfile, :preserve => true)
|
47
|
-
|
47
|
+
true
|
48
48
|
rescue => detail
|
49
49
|
# since they said they want a backup, let's error out
|
50
50
|
# if we couldn't make one
|
@@ -53,7 +53,7 @@ module Puppet::Util::Backups
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def remove_backup(newfile)
|
56
|
-
if
|
56
|
+
if instance_of?(Puppet::Type::File) and self[:links] != :follow
|
57
57
|
method = :lstat
|
58
58
|
else
|
59
59
|
method = :stat
|
@@ -75,14 +75,14 @@ module Puppet::Util::Backups
|
|
75
75
|
Puppet::FileSystem.unlink(newfile)
|
76
76
|
rescue => detail
|
77
77
|
message = _("Could not remove old backup: %{detail}") % { detail: detail }
|
78
|
-
|
78
|
+
log_exception(detail, message)
|
79
79
|
self.fail Puppet::Error, message, detail
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
83
|
def backup_file_with_filebucket(f)
|
84
|
-
sum =
|
85
|
-
|
86
|
-
|
84
|
+
sum = bucket.backup(f)
|
85
|
+
info _("Filebucketed %{f} to %{filebucket} with sum %{sum}") % { f: f, filebucket: bucket.name, sum: sum }
|
86
|
+
sum
|
87
87
|
end
|
88
88
|
end
|
@@ -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
|
|