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
@@ -40,9 +40,9 @@ class Puppet::Interface::Action
|
|
40
40
|
# @return [void]
|
41
41
|
# @api private
|
42
42
|
def __dup_and_rebind_to(to)
|
43
|
-
bound_version =
|
43
|
+
bound_version = dup
|
44
44
|
bound_version.instance_variable_set(:@face, to)
|
45
|
-
|
45
|
+
bound_version
|
46
46
|
end
|
47
47
|
|
48
48
|
def to_s() "#{@face}##{@name}" end
|
@@ -88,7 +88,7 @@ class Puppet::Interface::Action
|
|
88
88
|
return @when_rendering[alt].bind(@face) if @when_rendering.has_key? alt
|
89
89
|
|
90
90
|
# Guess not, nothing to run.
|
91
|
-
|
91
|
+
nil
|
92
92
|
end
|
93
93
|
|
94
94
|
# @api private
|
@@ -254,7 +254,7 @@ class Puppet::Interface::Action
|
|
254
254
|
file = __FILE__ + "+eval[wrapper]"
|
255
255
|
line = __LINE__ + 2 # <== points to the same line as 'def' in the wrapper.
|
256
256
|
wrapper = <<~WRAPPER
|
257
|
-
def #{@name}(#{decl.join(
|
257
|
+
def #{@name}(#{decl.join(', ')})
|
258
258
|
#{optn}
|
259
259
|
args = #{args}
|
260
260
|
action = get_action(#{name.inspect})
|
@@ -394,7 +394,7 @@ class Puppet::Interface::Action
|
|
394
394
|
end
|
395
395
|
|
396
396
|
# All done.
|
397
|
-
|
397
|
+
result
|
398
398
|
end
|
399
399
|
|
400
400
|
########################################################################
|
@@ -39,7 +39,7 @@ module Puppet::Interface::ActionManager
|
|
39
39
|
@actions ||= {}
|
40
40
|
result = @actions.keys
|
41
41
|
|
42
|
-
if
|
42
|
+
if is_a?(Class) and superclass.respond_to?(:actions)
|
43
43
|
result += superclass.actions
|
44
44
|
elsif self.class.respond_to?(:actions)
|
45
45
|
result += self.class.actions
|
@@ -58,7 +58,7 @@ module Puppet::Interface::ActionManager
|
|
58
58
|
@actions ||= {}
|
59
59
|
result = @actions[name.to_sym]
|
60
60
|
if result.nil?
|
61
|
-
if
|
61
|
+
if is_a?(Class) and superclass.respond_to?(:get_action)
|
62
62
|
found = superclass.get_action(name)
|
63
63
|
elsif self.class.respond_to?(:get_action)
|
64
64
|
found = self.class.get_action(name)
|
@@ -71,16 +71,16 @@ module Puppet::Interface::ActionManager
|
|
71
71
|
result = @actions[name.to_sym] = found.__dup_and_rebind_to(self)
|
72
72
|
end
|
73
73
|
end
|
74
|
-
|
74
|
+
result
|
75
75
|
end
|
76
76
|
|
77
77
|
# Retrieves the default action for the face
|
78
78
|
# @return [Puppet::Interface::Action]
|
79
79
|
# @api private
|
80
80
|
def get_default_action
|
81
|
-
default = actions.map { |x| get_action(x) }.select
|
81
|
+
default = actions.map { |x| get_action(x) }.select(&:default)
|
82
82
|
if default.length > 1
|
83
|
-
raise "The actions #{default.map(&:name).join(
|
83
|
+
raise "The actions #{default.map(&:name).join(', ')} cannot all be default"
|
84
84
|
end
|
85
85
|
|
86
86
|
default.first
|
@@ -79,7 +79,7 @@ class Puppet::Interface
|
|
79
79
|
|
80
80
|
options.each do |option|
|
81
81
|
option = get_option(option)
|
82
|
-
wrap = option.required? ? %w
|
82
|
+
wrap = option.required? ? %w[< >] : %w{[ ]}
|
83
83
|
|
84
84
|
s.group(0, *wrap) do
|
85
85
|
option.optparse.each do |item|
|
@@ -184,7 +184,7 @@ class Puppet::Interface
|
|
184
184
|
first_paragraph_break = lines.index('') || 5
|
185
185
|
grab = [5, first_paragraph_break].min
|
186
186
|
@short_description = lines[0, grab].join("\n")
|
187
|
-
@short_description += ' [...]' if
|
187
|
+
@short_description += ' [...]' if grab < lines.length and first_paragraph_break >= 5
|
188
188
|
end
|
189
189
|
@short_description
|
190
190
|
end
|
@@ -250,7 +250,7 @@ class Puppet::Interface
|
|
250
250
|
# @api public
|
251
251
|
# @dsl Faces
|
252
252
|
def copyright(owner = nil, years = nil)
|
253
|
-
if years.nil? and
|
253
|
+
if years.nil? and !owner.nil? then
|
254
254
|
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
255
255
|
raise ArgumentError, _('copyright takes the owners names, then the years covered')
|
256
256
|
end
|
@@ -258,8 +258,8 @@ class Puppet::Interface
|
|
258
258
|
self.copyright_owner = owner unless owner.nil?
|
259
259
|
self.copyright_years = years unless years.nil?
|
260
260
|
|
261
|
-
if
|
262
|
-
"Copyright #{
|
261
|
+
if copyright_years or copyright_owner then
|
262
|
+
"Copyright #{copyright_years} by #{copyright_owner}"
|
263
263
|
else
|
264
264
|
"Unknown copyright owner and years."
|
265
265
|
end
|
@@ -40,7 +40,7 @@ module Puppet::Interface::FaceCollection
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
|
43
|
+
action
|
44
44
|
end
|
45
45
|
|
46
46
|
# get face from memory, without loading.
|
@@ -51,11 +51,11 @@ module Puppet::Interface::FaceCollection
|
|
51
51
|
versions = @faces[name].keys - [:current]
|
52
52
|
range = pattern.is_a?(SemanticPuppet::Version) ? SemanticPuppet::VersionRange.new(pattern, pattern) : SemanticPuppet::VersionRange.parse(pattern)
|
53
53
|
found = find_matching(range, versions)
|
54
|
-
|
54
|
+
@faces[name][found]
|
55
55
|
end
|
56
56
|
|
57
57
|
def self.find_matching(range, versions)
|
58
|
-
versions.select { |v| range === v }.
|
58
|
+
versions.select { |v| range === v }.max
|
59
59
|
end
|
60
60
|
|
61
61
|
# try to load the face, and return it.
|
@@ -95,7 +95,7 @@ module Puppet::Interface::FaceCollection
|
|
95
95
|
# versions here and return the last item in that set.
|
96
96
|
#
|
97
97
|
# --daniel 2011-04-06
|
98
|
-
latest_ver = @faces[name].keys.
|
98
|
+
latest_ver = @faces[name].keys.max
|
99
99
|
@faces[name][:current] = @faces[name][latest_ver]
|
100
100
|
end
|
101
101
|
end
|
@@ -105,7 +105,7 @@ module Puppet::Interface::FaceCollection
|
|
105
105
|
safely_require name, version
|
106
106
|
end
|
107
107
|
|
108
|
-
|
108
|
+
get_face(name, version)
|
109
109
|
end
|
110
110
|
|
111
111
|
def self.safely_require(name, version = nil)
|
@@ -113,12 +113,12 @@ module Puppet::Interface::FaceCollection
|
|
113
113
|
require path
|
114
114
|
true
|
115
115
|
rescue LoadError => e
|
116
|
-
raise unless e.message =~
|
116
|
+
raise unless e.message =~ /-- #{path}$/
|
117
117
|
|
118
118
|
# ...guess we didn't find the file; return a much better problem.
|
119
119
|
nil
|
120
120
|
rescue SyntaxError => e
|
121
|
-
raise unless e.message =~
|
121
|
+
raise unless e.message =~ /#{path}\.rb:\d+: /
|
122
122
|
|
123
123
|
Puppet.err _("Failed to load face %{name}:\n%{detail}") % { name: name, detail: e }
|
124
124
|
# ...but we just carry on after complaining.
|
@@ -64,7 +64,7 @@ class Puppet::Interface::Option
|
|
64
64
|
# incoherence here makes our life super-difficult, and we can more easily
|
65
65
|
# relax this rule later if we find a valid use case for it. --daniel 2011-03-30
|
66
66
|
@argument = @optparse.any? { |o| o =~ /[ =]/ }
|
67
|
-
if @argument and
|
67
|
+
if @argument and !@optparse.all? { |o| o =~ /[ =]/ } then
|
68
68
|
raise ArgumentError, _("Option %{name} is inconsistent about taking an argument") % { name: @name }
|
69
69
|
end
|
70
70
|
|
@@ -74,7 +74,7 @@ class Puppet::Interface::Option
|
|
74
74
|
if @optional_argument
|
75
75
|
raise ArgumentError, _("Options with optional arguments are not supported")
|
76
76
|
end
|
77
|
-
if @optional_argument and
|
77
|
+
if @optional_argument and !@optparse.all? { |o| o =~ /[ =]\[/ } then
|
78
78
|
raise ArgumentError, _("Option %{name} is inconsistent about the argument being optional") % { name: @name }
|
79
79
|
end
|
80
80
|
end
|
@@ -28,13 +28,13 @@ module Puppet::Interface::OptionManager
|
|
28
28
|
|
29
29
|
# @api private
|
30
30
|
def walk_inheritance_tree(start, sym)
|
31
|
-
result =
|
32
|
-
if
|
31
|
+
result = start || []
|
32
|
+
if is_a?(Class) and superclass.respond_to?(sym)
|
33
33
|
result = superclass.send(sym) + result
|
34
34
|
elsif self.class.respond_to?(sym)
|
35
35
|
result = self.class.send(sym) + result
|
36
36
|
end
|
37
|
-
|
37
|
+
result
|
38
38
|
end
|
39
39
|
|
40
40
|
# Declare that this app can take a specific option, and provide the
|
@@ -77,7 +77,7 @@ module Puppet::Interface::OptionManager
|
|
77
77
|
@options_hash[name] = option
|
78
78
|
end
|
79
79
|
|
80
|
-
|
80
|
+
option
|
81
81
|
end
|
82
82
|
|
83
83
|
# @api private
|
@@ -91,14 +91,14 @@ module Puppet::Interface::OptionManager
|
|
91
91
|
|
92
92
|
result = @options_hash[name.to_sym]
|
93
93
|
if result.nil? and with_inherited_options then
|
94
|
-
if
|
94
|
+
if is_a?(Class) and superclass.respond_to?(:get_option)
|
95
95
|
result = superclass.get_option(name)
|
96
96
|
elsif self.class.respond_to?(:get_option)
|
97
97
|
result = self.class.get_option(name)
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
|
101
|
+
result
|
102
102
|
end
|
103
103
|
|
104
104
|
# @api private
|
data/lib/puppet/interface.rb
CHANGED
@@ -58,7 +58,7 @@ class Puppet::Interface
|
|
58
58
|
def define(name, version, &block)
|
59
59
|
face = Puppet::Interface::FaceCollection[name, version]
|
60
60
|
if face.nil? then
|
61
|
-
face =
|
61
|
+
face = new(name, version)
|
62
62
|
Puppet::Interface::FaceCollection.register(face)
|
63
63
|
# REVISIT: Shouldn't this be delayed until *after* we evaluate the
|
64
64
|
# current block, not done before? --daniel 2011-04-07
|
@@ -67,7 +67,7 @@ class Puppet::Interface
|
|
67
67
|
|
68
68
|
face.instance_eval(&block) if block_given?
|
69
69
|
|
70
|
-
|
70
|
+
face
|
71
71
|
end
|
72
72
|
|
73
73
|
# Retrieves a face by name and version. Use `:current` for the
|
@@ -126,7 +126,7 @@ class Puppet::Interface
|
|
126
126
|
# @return [String] usage synopsis
|
127
127
|
# @api private
|
128
128
|
def synopsis
|
129
|
-
build_synopsis
|
129
|
+
build_synopsis name, '<action>'
|
130
130
|
end
|
131
131
|
|
132
132
|
########################################################################
|
@@ -219,7 +219,7 @@ class Puppet::Interface
|
|
219
219
|
# Exceptions here should propagate up; this implements a hook we can use
|
220
220
|
# reasonably for option validation.
|
221
221
|
methods.each do |hook|
|
222
|
-
respond_to? hook and
|
222
|
+
respond_to? hook and __send__(hook, action, passed_args, passed_options)
|
223
223
|
end
|
224
224
|
end
|
225
225
|
|
@@ -88,7 +88,7 @@ module Manager
|
|
88
88
|
selfobj = singleton_class
|
89
89
|
|
90
90
|
if @types.include?(name)
|
91
|
-
if
|
91
|
+
if respond_to?(newmethod)
|
92
92
|
# Remove the old newmethod
|
93
93
|
selfobj.send(:remove_method, newmethod)
|
94
94
|
end
|
@@ -106,7 +106,7 @@ module Manager
|
|
106
106
|
)
|
107
107
|
|
108
108
|
# Now define a "new<type>" method for convenience.
|
109
|
-
if
|
109
|
+
if respond_to? newmethod
|
110
110
|
# Refuse to overwrite existing methods like 'newparam' or 'newtype'.
|
111
111
|
# TRANSLATORS 'new%{method}' will become a method name, do not translate this string
|
112
112
|
Puppet.warning(_("'new%{method}' method already exists; skipping") % { method: name.to_s })
|
data/lib/puppet/module/plan.rb
CHANGED
@@ -48,18 +48,18 @@ class Puppet::Module
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
ALLOWED_EXTENSIONS = %w
|
52
|
-
RESERVED_WORDS = %w
|
51
|
+
ALLOWED_EXTENSIONS = %w[.pp .yaml]
|
52
|
+
RESERVED_WORDS = %w[and application attr case class consumes default else
|
53
53
|
elsif environment false function if import in inherits node or private
|
54
|
-
produces site true type undef unless
|
55
|
-
RESERVED_DATA_TYPES = %w
|
54
|
+
produces site true type undef unless]
|
55
|
+
RESERVED_DATA_TYPES = %w[any array boolean catalogentry class collection
|
56
56
|
callable data default enum float hash integer numeric optional pattern
|
57
|
-
resource runtime scalar string struct tuple type undef variant
|
57
|
+
resource runtime scalar string struct tuple type undef variant]
|
58
58
|
|
59
59
|
def self.is_plan_name?(name)
|
60
60
|
return true if name =~ /^[a-z][a-z0-9_]*$/
|
61
61
|
|
62
|
-
|
62
|
+
false
|
63
63
|
end
|
64
64
|
|
65
65
|
# Determine whether a plan file has a legal name and extension
|
@@ -77,7 +77,7 @@ class Puppet::Module
|
|
77
77
|
return [false, _("Plan name cannot be a Puppet data type, but was '%{name}'") % { name: name }]
|
78
78
|
end
|
79
79
|
|
80
|
-
|
80
|
+
[true]
|
81
81
|
end
|
82
82
|
|
83
83
|
# Executables list should contain the full path of all possible implementation files
|
@@ -89,7 +89,7 @@ class Puppet::Module
|
|
89
89
|
implementations = plan_files.select { |impl| File.basename(impl, '.*') == basename }
|
90
90
|
|
91
91
|
# Select .pp before .yaml, since .pp comes before .yaml alphabetically.
|
92
|
-
chosen = implementations.
|
92
|
+
chosen = implementations.min
|
93
93
|
|
94
94
|
[{ "name" => File.basename(chosen), "path" => chosen }]
|
95
95
|
end
|
@@ -143,7 +143,7 @@ class Puppet::Module
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def ==(other)
|
146
|
-
|
146
|
+
name == other.name &&
|
147
147
|
self.module == other.module
|
148
148
|
end
|
149
149
|
|
@@ -159,7 +159,7 @@ class Puppet::Module
|
|
159
159
|
|
160
160
|
# Abstracted here so we can add support for subdirectories later
|
161
161
|
def self.plan_name_from_path(path)
|
162
|
-
|
162
|
+
File.basename(path, '.*')
|
163
163
|
end
|
164
164
|
private_class_method :plan_name_from_path
|
165
165
|
end
|
data/lib/puppet/module/task.rb
CHANGED
@@ -49,13 +49,13 @@ class Puppet::Module
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
FORBIDDEN_EXTENSIONS = %w
|
52
|
+
FORBIDDEN_EXTENSIONS = %w[.conf .md]
|
53
53
|
MOUNTS = %w[files lib scripts tasks]
|
54
54
|
|
55
55
|
def self.is_task_name?(name)
|
56
56
|
return true if name =~ /^[a-z][a-z0-9_]*$/
|
57
57
|
|
58
|
-
|
58
|
+
false
|
59
59
|
end
|
60
60
|
|
61
61
|
def self.is_tasks_file?(path)
|
@@ -65,12 +65,12 @@ class Puppet::Module
|
|
65
65
|
# Determine whether a file has a legal name for either a task's executable or metadata file.
|
66
66
|
def self.is_tasks_filename?(path)
|
67
67
|
name_less_extension = File.basename(path, '.*')
|
68
|
-
return false
|
68
|
+
return false unless is_task_name?(name_less_extension)
|
69
69
|
|
70
70
|
FORBIDDEN_EXTENSIONS.each do |ext|
|
71
71
|
return false if path.end_with?(ext)
|
72
72
|
end
|
73
|
-
|
73
|
+
true
|
74
74
|
end
|
75
75
|
|
76
76
|
def self.get_file_details(path, mod)
|
@@ -130,7 +130,7 @@ class Puppet::Module
|
|
130
130
|
|
131
131
|
unless File.exist?(path)
|
132
132
|
msg = _("Could not find %{path} on disk" % { path: path })
|
133
|
-
raise InvalidFile
|
133
|
+
raise InvalidFile, msg
|
134
134
|
end
|
135
135
|
|
136
136
|
last_char = file[-1] == '/'
|
@@ -226,7 +226,7 @@ class Puppet::Module
|
|
226
226
|
|
227
227
|
# file paths must be relative to the modules task directory
|
228
228
|
def initialize(pup_module, task_name, module_executables, metadata_file = nil)
|
229
|
-
|
229
|
+
unless Puppet::Module::Task.is_task_name?(task_name)
|
230
230
|
raise InvalidName, _("Task names must start with a lowercase letter and be composed of only lowercase letters, numbers, and underscores")
|
231
231
|
end
|
232
232
|
|
@@ -264,7 +264,7 @@ class Puppet::Module
|
|
264
264
|
end
|
265
265
|
|
266
266
|
def ==(other)
|
267
|
-
|
267
|
+
name == other.name &&
|
268
268
|
self.module == other.module
|
269
269
|
end
|
270
270
|
|
@@ -281,7 +281,7 @@ class Puppet::Module
|
|
281
281
|
|
282
282
|
# Abstracted here so we can add support for subdirectories later
|
283
283
|
def self.task_name_from_path(path)
|
284
|
-
|
284
|
+
File.basename(path, '.*')
|
285
285
|
end
|
286
286
|
private_class_method :task_name_from_path
|
287
287
|
end
|
data/lib/puppet/module.rb
CHANGED
@@ -46,21 +46,21 @@ class Puppet::Module
|
|
46
46
|
fullpath = File.join(path, name)
|
47
47
|
return false unless Puppet::FileSystem.directory?(fullpath)
|
48
48
|
|
49
|
-
|
49
|
+
is_module_directory_name?(name)
|
50
50
|
end
|
51
51
|
|
52
52
|
def self.is_module_directory_name?(name)
|
53
53
|
# it must match an installed module name according to forge validator
|
54
54
|
return true if name =~ /^[a-z][a-z0-9_]*$/
|
55
55
|
|
56
|
-
|
56
|
+
false
|
57
57
|
end
|
58
58
|
|
59
59
|
def self.is_module_namespaced_name?(name)
|
60
60
|
# it must match the full module name according to forge validator
|
61
|
-
return true if name =~ /^[a-zA-Z0-9]
|
61
|
+
return true if name =~ /^[a-zA-Z0-9]+-[a-z][a-z0-9_]*$/
|
62
62
|
|
63
|
-
|
63
|
+
false
|
64
64
|
end
|
65
65
|
|
66
66
|
# @api private
|
@@ -96,16 +96,14 @@ class Puppet::Module
|
|
96
96
|
|
97
97
|
# @deprecated The puppetversion module metadata field is no longer used.
|
98
98
|
def validate_puppet_version
|
99
|
-
|
99
|
+
nil
|
100
100
|
end
|
101
101
|
|
102
102
|
def has_metadata?
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
false
|
108
|
-
end
|
103
|
+
load_metadata
|
104
|
+
@metadata.is_a?(Hash) && !@metadata.empty?
|
105
|
+
rescue Puppet::Module::MissingMetadata
|
106
|
+
false
|
109
107
|
end
|
110
108
|
|
111
109
|
FILETYPES.each do |type, location|
|
@@ -118,7 +116,7 @@ class Puppet::Module
|
|
118
116
|
return false
|
119
117
|
end
|
120
118
|
|
121
|
-
|
119
|
+
true
|
122
120
|
end
|
123
121
|
|
124
122
|
# A method for returning a given file of a given type.
|
@@ -137,7 +135,7 @@ class Puppet::Module
|
|
137
135
|
|
138
136
|
return nil unless Puppet::FileSystem.exist?(full_path)
|
139
137
|
|
140
|
-
|
138
|
+
full_path
|
141
139
|
end
|
142
140
|
|
143
141
|
# Return the base directory for the given type
|
@@ -173,9 +171,9 @@ class Puppet::Module
|
|
173
171
|
end
|
174
172
|
|
175
173
|
if Puppet::FileSystem.exist?(full_path)
|
176
|
-
|
174
|
+
full_path
|
177
175
|
else
|
178
|
-
|
176
|
+
nil
|
179
177
|
end
|
180
178
|
end
|
181
179
|
|
@@ -206,9 +204,9 @@ class Puppet::Module
|
|
206
204
|
end
|
207
205
|
|
208
206
|
if Puppet::FileSystem.exist?(full_path)
|
209
|
-
|
207
|
+
full_path
|
210
208
|
else
|
211
|
-
|
209
|
+
nil
|
212
210
|
end
|
213
211
|
end
|
214
212
|
|
@@ -252,11 +250,11 @@ class Puppet::Module
|
|
252
250
|
|
253
251
|
[:source, :author, :version, :license, :dependencies].each do |attr|
|
254
252
|
value = data[attr.to_s]
|
255
|
-
raise MissingMetadata, "No #{attr} module metadata provided for #{
|
253
|
+
raise MissingMetadata, "No #{attr} module metadata provided for #{name}" if value.nil?
|
256
254
|
|
257
255
|
if attr == :dependencies
|
258
256
|
unless value.is_a?(Array)
|
259
|
-
raise MissingMetadata, "The value for the key dependencies in the file metadata.json of the module #{
|
257
|
+
raise MissingMetadata, "The value for the key dependencies in the file metadata.json of the module #{name} must be an array, not: '#{value}'"
|
260
258
|
end
|
261
259
|
|
262
260
|
value.each do |dep|
|
@@ -338,7 +336,7 @@ class Puppet::Module
|
|
338
336
|
# @return true if the module has a directory for the locale, false
|
339
337
|
# false otherwise
|
340
338
|
def has_translations?(locale)
|
341
|
-
|
339
|
+
Puppet::FileSystem.exist?(File.join(locale_directory, locale))
|
342
340
|
end
|
343
341
|
|
344
342
|
def has_external_facts?
|
@@ -368,7 +366,7 @@ class Puppet::Module
|
|
368
366
|
end
|
369
367
|
|
370
368
|
def required_by
|
371
|
-
environment.module_requirements[
|
369
|
+
environment.module_requirements[forge_name] || {}
|
372
370
|
end
|
373
371
|
|
374
372
|
# Identify and mark unmet dependencies. A dependency will be marked unmet
|
@@ -415,8 +413,8 @@ class Puppet::Module
|
|
415
413
|
:name => name,
|
416
414
|
:version_constraint => version_string.gsub(/^(?=\d)/, "v"),
|
417
415
|
:parent => {
|
418
|
-
:name =>
|
419
|
-
:version =>
|
416
|
+
:name => forge_name,
|
417
|
+
:version => version.gsub(/^(?=\d)/, "v")
|
420
418
|
},
|
421
419
|
:mod_details => {
|
422
420
|
:installed_version => dep_mod.nil? ? nil : dep_mod.version
|
@@ -429,32 +427,32 @@ class Puppet::Module
|
|
429
427
|
next
|
430
428
|
end
|
431
429
|
|
432
|
-
|
433
|
-
begin
|
434
|
-
required_version_semver_range = self.class.parse_range(version_string)
|
435
|
-
actual_version_semver = SemanticPuppet::Version.parse(dep_mod.version)
|
436
|
-
rescue ArgumentError
|
437
|
-
error_details[:reason] = :non_semantic_version
|
438
|
-
unmet_dependencies << error_details
|
439
|
-
next
|
440
|
-
end
|
430
|
+
next unless version_string
|
441
431
|
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
432
|
+
begin
|
433
|
+
required_version_semver_range = self.class.parse_range(version_string)
|
434
|
+
actual_version_semver = SemanticPuppet::Version.parse(dep_mod.version)
|
435
|
+
rescue ArgumentError
|
436
|
+
error_details[:reason] = :non_semantic_version
|
437
|
+
unmet_dependencies << error_details
|
438
|
+
next
|
447
439
|
end
|
440
|
+
|
441
|
+
next if required_version_semver_range.include? actual_version_semver
|
442
|
+
|
443
|
+
error_details[:reason] = :version_mismatch
|
444
|
+
unmet_dependencies << error_details
|
445
|
+
next
|
448
446
|
end
|
449
447
|
|
450
448
|
unmet_dependencies
|
451
449
|
end
|
452
450
|
|
453
451
|
def ==(other)
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
452
|
+
name == other.name &&
|
453
|
+
version == other.version &&
|
454
|
+
path == other.path &&
|
455
|
+
environment == other.environment
|
458
456
|
end
|
459
457
|
|
460
458
|
private
|
@@ -28,7 +28,11 @@ module Puppet::ModuleTool
|
|
28
28
|
when Net::HTTPOK, Net::HTTPCreated
|
29
29
|
Puppet.notice success
|
30
30
|
else
|
31
|
-
errors =
|
31
|
+
errors = begin
|
32
|
+
Puppet::Util::Json.load(response.body)['error']
|
33
|
+
rescue
|
34
|
+
"HTTP #{response.code}, #{response.body}"
|
35
|
+
end
|
32
36
|
Puppet.warning "#{failure} (#{errors})"
|
33
37
|
end
|
34
38
|
end
|
@@ -50,11 +54,9 @@ module Puppet::ModuleTool
|
|
50
54
|
|
51
55
|
if File.file?(metadata_path)
|
52
56
|
File.open(metadata_path) do |f|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
raise ArgumentError, _("Could not parse JSON %{metadata_path}") % { metadata_path: metadata_path }, ex.backtrace
|
57
|
-
end
|
57
|
+
@metadata.update(Puppet::Util::Json.load(f))
|
58
|
+
rescue Puppet::Util::Json::ParseError => ex
|
59
|
+
raise ArgumentError, _("Could not parse JSON %{metadata_path}") % { metadata_path: metadata_path }, ex.backtrace
|
58
60
|
end
|
59
61
|
end
|
60
62
|
|
@@ -62,7 +64,7 @@ module Puppet::ModuleTool
|
|
62
64
|
Puppet.warning _("A Modulefile was found in the root directory of the module. This file will be ignored and can safely be removed.")
|
63
65
|
end
|
64
66
|
|
65
|
-
|
67
|
+
@metadata
|
66
68
|
end
|
67
69
|
|
68
70
|
def load_metadata!
|
@@ -82,7 +84,7 @@ module Puppet::ModuleTool
|
|
82
84
|
raise ArgumentError, _("Invalid version format: %{version} (Semantic Versions are acceptable: http://semver.org)") % { version: version }
|
83
85
|
end
|
84
86
|
|
85
|
-
|
87
|
+
{
|
86
88
|
:module_name => module_name,
|
87
89
|
:author => author,
|
88
90
|
:dir_name => shortname,
|