puppet 6.20.0-x86-mingw32 → 7.4.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -4
- data/Gemfile.lock +13 -13
- data/README.md +1 -1
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -2
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/filebucket.rb +13 -9
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +27 -29
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +57 -162
- data/lib/puppet/environments.rb +8 -23
- data/lib/puppet/face/facts.rb +73 -49
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +8 -0
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +6 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -11
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -12
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/resolver/server_list.rb +6 -10
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -69
- data/lib/puppet/http/service/file_server.rb +18 -27
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/facts/facter.rb +25 -3
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +67 -0
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +3 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/factory.rb +0 -45
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/group/groupadd.rb +13 -8
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +30 -2
- data/lib/puppet/provider/package/aptitude.rb +6 -0
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/service/debian.rb +2 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/useradd.rb +55 -8
- data/lib/puppet/reference/configuration.rb +7 -5
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +45 -33
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/file.rb +5 -7
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/windows.rb +3 -8
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +521 -1226
- data/man/man5/puppet.conf.5 +35 -95
- 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 +57 -36
- data/man/man8/puppet-filebucket.8 +4 -4
- 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 -58
- 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 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/integration/application/agent_spec.rb +57 -11
- data/spec/integration/application/apply_spec.rb +1 -1
- data/spec/integration/application/filebucket_spec.rb +16 -16
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/plugin_spec.rb +23 -1
- data/spec/integration/defaults_spec.rb +7 -3
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -37
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/puppet_spec/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/facts_spec.rb +86 -0
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/ssl_spec.rb +2 -2
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +12 -9
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +22 -47
- data/spec/unit/environments_spec.rb +0 -3
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +14 -2
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +22 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -8
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -62
- data/spec/unit/http/service/file_server_spec.rb +3 -3
- data/spec/unit/http/service/puppetserver_spec.rb +34 -4
- data/spec/unit/http/service_spec.rb +0 -1
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/facts/facter_spec.rb +113 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/network/authconfig_spec.rb +2 -129
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +45 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -92
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/provider/group/groupadd_spec.rb +5 -2
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/apt_spec.rb +24 -15
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/windows_spec.rb +0 -1
- data/spec/unit/provider/user/useradd_spec.rb +55 -3
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +17 -0
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +19 -55
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/report_spec.rb +0 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +0 -18
- metadata +48 -219
- data/conf/auth.conf +0 -150
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/fact_dif.rb +0 -62
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -309
- data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -78
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -422
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -148
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -645
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/ssl_spec.rb +0 -91
@@ -134,10 +134,10 @@ class Lexer2
|
|
134
134
|
'type' => [:TYPE, 'type', 4],
|
135
135
|
'attr' => [:ATTR, 'attr', 4],
|
136
136
|
'private' => [:PRIVATE, 'private', 7],
|
137
|
-
'application' => [:APPLICATION, 'application', 11],
|
138
|
-
'consumes' => [:CONSUMES, 'consumes', 8],
|
139
|
-
'produces' => [:PRODUCES, 'produces', 8],
|
140
|
-
'site' => [:SITE, 'site', 4],
|
137
|
+
'application' => [:APPLICATION, 'application', 11], # reserved
|
138
|
+
'consumes' => [:CONSUMES, 'consumes', 8], # reserved
|
139
|
+
'produces' => [:PRODUCES, 'produces', 8], # reserved
|
140
|
+
'site' => [:SITE, 'site', 4], # reserved
|
141
141
|
}
|
142
142
|
|
143
143
|
KEYWORDS.each {|k,v| v[1].freeze; v.freeze }
|
@@ -178,11 +178,6 @@ class Parser
|
|
178
178
|
definition
|
179
179
|
end
|
180
180
|
|
181
|
-
def add_mapping(produces)
|
182
|
-
# The actual handling of mappings happens in PopsBridge
|
183
|
-
add_definition(produces)
|
184
|
-
end
|
185
|
-
|
186
181
|
# Transforms an array of expressions containing literal name expressions to calls if followed by an
|
187
182
|
# expression, or expression list
|
188
183
|
#
|
@@ -87,9 +87,7 @@ class ResourceTypeImpl
|
|
87
87
|
:subscribe,
|
88
88
|
:before,
|
89
89
|
:notify,
|
90
|
-
:stage
|
91
|
-
:export,
|
92
|
-
:consume
|
90
|
+
:stage
|
93
91
|
].freeze
|
94
92
|
|
95
93
|
# Speed up lookup
|
@@ -107,7 +105,7 @@ class ResourceTypeImpl
|
|
107
105
|
@parameters = parameters
|
108
106
|
@title_patterns_hash = title_patterns_hash
|
109
107
|
@isomorphic = isomorphic
|
110
|
-
|
108
|
+
# ignore capability parameter
|
111
109
|
|
112
110
|
# Compute attributes hash
|
113
111
|
# Compute key_names (possibly compound key if there are multiple name vars).
|
@@ -175,10 +173,6 @@ class ResourceTypeImpl
|
|
175
173
|
false
|
176
174
|
end
|
177
175
|
|
178
|
-
def is_capability?
|
179
|
-
@capability
|
180
|
-
end
|
181
|
-
|
182
176
|
# Answers if the parameter name is a parameter/attribute of this type
|
183
177
|
# This is part of the Puppet::Type API
|
184
178
|
# Check if used when compiling (it is triggered in an apply)
|
@@ -243,22 +237,6 @@ class ResourceTypeImpl
|
|
243
237
|
# Param.
|
244
238
|
end
|
245
239
|
|
246
|
-
#######################
|
247
|
-
# UNSUPPORTED STUFF
|
248
|
-
#######################
|
249
|
-
|
250
|
-
# Applications are not supported
|
251
|
-
#
|
252
|
-
# @deprecated application orchestration will be removed in puppet 7
|
253
|
-
def application?
|
254
|
-
false
|
255
|
-
end
|
256
|
-
|
257
|
-
############################
|
258
|
-
# DON'T KNOW YET
|
259
|
-
############################
|
260
|
-
|
261
|
-
|
262
240
|
##################################################
|
263
241
|
# NEVER CALLED COMPILE SIDE FOR A COMPILATION
|
264
242
|
##################################################
|
@@ -181,13 +181,6 @@ class TypeCalculator
|
|
181
181
|
t.is_a?(PAnyType) ? t.assignable?(t2) : false
|
182
182
|
end
|
183
183
|
|
184
|
-
# Returns an iterable if the t represents something that can be iterated
|
185
|
-
def enumerable(t)
|
186
|
-
#TRANSLATOR 'TypeCalculator.enumerable' and 'iterable' are methods and should not be translated
|
187
|
-
Puppet.deprecation_warning(_('TypeCalculator.enumerable is deprecated. Use iterable'))
|
188
|
-
iterable(t)
|
189
|
-
end
|
190
|
-
|
191
184
|
# Returns an iterable if the t represents something that can be iterated
|
192
185
|
def iterable(t)
|
193
186
|
# Create an iterable on the type if possible
|
@@ -199,11 +199,6 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
202
|
-
def check_Application(o)
|
203
|
-
check_NamedDefinition(o)
|
204
|
-
acceptor.accept(Issues::DEPRECATED_APP_ORCHESTRATION, o, {:klass => o})
|
205
|
-
end
|
206
|
-
|
207
202
|
def check_AssignmentExpression(o)
|
208
203
|
case o.operator
|
209
204
|
when '='
|
@@ -241,7 +236,6 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
241
236
|
case p
|
242
237
|
when Model::AbstractResource
|
243
238
|
when Model::CollectExpression
|
244
|
-
when Model::CapabilityMapping
|
245
239
|
acceptor.accept(Issues::UNSUPPORTED_OPERATOR_IN_CONTEXT, p, :operator=>'* =>')
|
246
240
|
else
|
247
241
|
# protect against just testing a snippet that has no parent, error message will be a bit strange
|
@@ -300,33 +294,6 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
300
294
|
end
|
301
295
|
end
|
302
296
|
|
303
|
-
def check_CapabilityMapping(o)
|
304
|
-
acceptor.accept(Issues::DEPRECATED_APP_ORCHESTRATION, o, {:klass => o})
|
305
|
-
ok =
|
306
|
-
case o.component
|
307
|
-
when Model::QualifiedReference
|
308
|
-
name = o.component.cased_value
|
309
|
-
acceptor.accept(Issues::ILLEGAL_CLASSREF, o.component, {:name=>name}) unless name =~ Patterns::CLASSREF_EXT
|
310
|
-
true
|
311
|
-
when Model::AccessExpression
|
312
|
-
keys = o.component.keys
|
313
|
-
expr = o.component.left_expr
|
314
|
-
if expr.is_a?(Model::QualifiedReference) && keys.size == 1
|
315
|
-
key = keys[0]
|
316
|
-
key.is_a?(Model::LiteralString) || key.is_a?(Model::QualifiedName) || key.is_a?(Model::QualifiedReference)
|
317
|
-
else
|
318
|
-
false
|
319
|
-
end
|
320
|
-
else
|
321
|
-
false
|
322
|
-
end
|
323
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o.component, :feature=>'capability mapping', :container => o) unless ok
|
324
|
-
|
325
|
-
if o.capability !~ Patterns::CLASSREF_EXT
|
326
|
-
acceptor.accept(Issues::ILLEGAL_CLASSREF, o, {:name=>o.capability})
|
327
|
-
end
|
328
|
-
end
|
329
|
-
|
330
297
|
def check_EppExpression(o)
|
331
298
|
p = container
|
332
299
|
if p.is_a?(Model::LambdaExpression)
|
@@ -403,6 +370,15 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
403
370
|
'regexp' => true,
|
404
371
|
'pattern' => true,
|
405
372
|
'runtime' => true,
|
373
|
+
'init' => true,
|
374
|
+
'object' => true,
|
375
|
+
'sensitive' => true,
|
376
|
+
'semver' => true,
|
377
|
+
'semverrange' => true,
|
378
|
+
'string' => true,
|
379
|
+
'timestamp' => true,
|
380
|
+
'timespan' => true,
|
381
|
+
'typeset' => true,
|
406
382
|
}
|
407
383
|
|
408
384
|
FUTURE_RESERVED_WORDS = {
|
@@ -875,10 +851,6 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
875
851
|
rvalue(o.matching_expr)
|
876
852
|
end
|
877
853
|
|
878
|
-
def check_SiteDefinition(o)
|
879
|
-
acceptor.accept(Issues::DEPRECATED_APP_ORCHESTRATION, o, {:klass => o})
|
880
|
-
end
|
881
|
-
|
882
854
|
def check_UnaryExpression(o)
|
883
855
|
rvalue(o.expr)
|
884
856
|
end
|
@@ -13,14 +13,6 @@ class TasksChecker < Checker4_0
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def check_Application(o)
|
17
|
-
illegalTasksExpression(o)
|
18
|
-
end
|
19
|
-
|
20
|
-
def check_CapabilityMapping(o)
|
21
|
-
illegalTasksExpression(o)
|
22
|
-
end
|
23
|
-
|
24
16
|
def check_CollectExpression(o)
|
25
17
|
# Only virtual resource queries are allowed in apply blocks, not exported
|
26
18
|
# resource queries
|
@@ -83,10 +75,6 @@ class TasksChecker < Checker4_0
|
|
83
75
|
illegalTasksExpression(o)
|
84
76
|
end
|
85
77
|
|
86
|
-
def check_SiteDefinition(o)
|
87
|
-
illegalTasksExpression(o)
|
88
|
-
end
|
89
|
-
|
90
78
|
def check_ApplyExpression(o)
|
91
79
|
if in_ApplyExpression?
|
92
80
|
acceptor.accept(Issues::EXPRESSION_NOT_SUPPORTED_WHEN_COMPILING, o, {:klass => o})
|
@@ -31,12 +31,11 @@ class ValidatorFactory_4_0 < Factory
|
|
31
31
|
p[Issues::RT_NO_STORECONFIGS] = Puppet[:storeconfigs] ? :ignore : :warning
|
32
32
|
|
33
33
|
p[Issues::FUTURE_RESERVED_WORD] = :deprecation
|
34
|
-
p[Issues::DEPRECATED_APP_ORCHESTRATION] = :deprecation
|
35
34
|
|
36
35
|
p[Issues::DUPLICATE_KEY] = Puppet[:strict] == :off ? :ignore : Puppet[:strict]
|
37
36
|
p[Issues::NAME_WITH_HYPHEN] = :error
|
38
37
|
p[Issues::EMPTY_RESOURCE_SPECIALIZATION] = :ignore
|
39
|
-
p[Issues::CLASS_NOT_VIRTUALIZABLE] =
|
38
|
+
p[Issues::CLASS_NOT_VIRTUALIZABLE] = :error
|
40
39
|
p
|
41
40
|
end
|
42
41
|
end
|
data/lib/puppet/property/list.rb
CHANGED
@@ -47,7 +47,7 @@ module Puppet
|
|
47
47
|
#ok, some 'convention' if the list property is named groups, provider should implement a groups method
|
48
48
|
tmp = provider.send(name) if provider
|
49
49
|
if tmp && tmp != :absent
|
50
|
-
return tmp.split(delimiter)
|
50
|
+
return tmp.instance_of?(Array) ? tmp : tmp.split(delimiter)
|
51
51
|
else
|
52
52
|
return :absent
|
53
53
|
end
|
data/lib/puppet/provider.rb
CHANGED
@@ -117,19 +117,6 @@ class Puppet::Provider
|
|
117
117
|
Puppet::Util::Execution.execpipe(*args, &block)
|
118
118
|
end
|
119
119
|
|
120
|
-
# Convenience methods - see class method with the same name.
|
121
|
-
# @return (see self.execfail)
|
122
|
-
# @deprecated
|
123
|
-
def execfail(*args)
|
124
|
-
Puppet::Util::Execution.execfail(*args)
|
125
|
-
end
|
126
|
-
|
127
|
-
# (see Puppet::Util::Execution.execfail)
|
128
|
-
# @deprecated
|
129
|
-
def self.execfail(*args)
|
130
|
-
Puppet::Util::Execution.execfail(*args)
|
131
|
-
end
|
132
|
-
|
133
120
|
# Returns the absolute path to the executable for the command referenced by the given name.
|
134
121
|
# @raise [Puppet::DevError] if the name does not reference an existing command.
|
135
122
|
# @return [String] the absolute path to the found executable for the command
|
@@ -130,16 +130,21 @@ Puppet::Type.type(:group).provide :groupadd, :parent => Puppet::Provider::NameSe
|
|
130
130
|
private
|
131
131
|
|
132
132
|
def findgroup(key, value)
|
133
|
-
group_file =
|
133
|
+
group_file = '/etc/group'
|
134
134
|
group_keys = [:group_name, :password, :gid, :user_list]
|
135
|
-
|
136
|
-
@
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
135
|
+
|
136
|
+
unless @groups
|
137
|
+
unless Puppet::FileSystem.exist?(group_file)
|
138
|
+
raise Puppet::Error.new("Forcelocal set for group resource '#{resource[:name]}', but #{group_file} does not exist")
|
139
|
+
end
|
140
|
+
|
141
|
+
@groups = []
|
142
|
+
Puppet::FileSystem.each_line(group_file) do |line|
|
143
|
+
group = line.chomp.split(':')
|
144
|
+
@groups << Hash[group_keys.zip(group)]
|
141
145
|
end
|
142
146
|
end
|
143
|
-
|
147
|
+
|
148
|
+
@groups.find { |param| param[key] == value } || false
|
144
149
|
end
|
145
150
|
end
|
@@ -54,24 +54,6 @@ class Puppet::Provider::NameService < Puppet::Provider
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
# List everything out by name. Abstracted a bit so that it works
|
58
|
-
# for both users and groups.
|
59
|
-
def listbyname
|
60
|
-
Puppet.deprecation_warning(_("listbyname is deprecated and will be removed in a future release of Puppet. Please use `self.instances` to obtain a list of users."))
|
61
|
-
names = []
|
62
|
-
Puppet::Etc.send("set#{section()}ent")
|
63
|
-
begin
|
64
|
-
while ent = Puppet::Etc.send("get#{section()}ent") #rubocop:disable Lint/AssignmentInCondition
|
65
|
-
names << ent.name
|
66
|
-
yield ent.name if block_given?
|
67
|
-
end
|
68
|
-
ensure
|
69
|
-
Puppet::Etc.send("end#{section()}ent")
|
70
|
-
end
|
71
|
-
|
72
|
-
names
|
73
|
-
end
|
74
|
-
|
75
57
|
def resource_type=(resource_type)
|
76
58
|
super
|
77
59
|
@resource_type.validproperties.each do |prop|
|
@@ -42,7 +42,11 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
|
|
42
42
|
|
43
43
|
def query
|
44
44
|
hash = super
|
45
|
-
|
45
|
+
|
46
|
+
if !%i(absent purged).include?(hash[:ensure]) && aptmark('showmanual', @resource[:name]).strip == @resource[:name]
|
47
|
+
hash[:mark] = :manual
|
48
|
+
end
|
49
|
+
|
46
50
|
hash
|
47
51
|
end
|
48
52
|
|
@@ -147,7 +151,13 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
|
|
147
151
|
end
|
148
152
|
|
149
153
|
cmd += install_options if @resource[:install_options]
|
150
|
-
cmd << :install
|
154
|
+
cmd << :install
|
155
|
+
|
156
|
+
if source
|
157
|
+
cmd << source
|
158
|
+
else
|
159
|
+
cmd << str
|
160
|
+
end
|
151
161
|
|
152
162
|
self.unhold if self.properties[:mark] == :hold
|
153
163
|
begin
|
@@ -155,6 +165,18 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
|
|
155
165
|
ensure
|
156
166
|
self.hold if @resource[:mark] == :hold
|
157
167
|
end
|
168
|
+
|
169
|
+
# If a source file was specified, we must make sure the expected version was installed from specified file
|
170
|
+
if source && !%i(present installed).include?(should)
|
171
|
+
is = self.query
|
172
|
+
raise Puppet::Error, _("Could not find package %{name}") % { name: self.name } unless is
|
173
|
+
|
174
|
+
version = is[:ensure]
|
175
|
+
|
176
|
+
raise Puppet::Error, _("Failed to update to version %{should}, got version %{version} instead") % { should: should, version: version } unless
|
177
|
+
insync?(version)
|
178
|
+
end
|
179
|
+
|
158
180
|
end
|
159
181
|
|
160
182
|
# What's the latest package version available?
|
@@ -231,4 +253,10 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
|
|
231
253
|
end
|
232
254
|
should_range.include?(is_version)
|
233
255
|
end
|
256
|
+
|
257
|
+
private
|
258
|
+
|
259
|
+
def source
|
260
|
+
@source ||= @resource[:source]
|
261
|
+
end
|
234
262
|
end
|
@@ -173,13 +173,6 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
|
|
173
173
|
dpkg "--purge", @resource[:name]
|
174
174
|
end
|
175
175
|
|
176
|
-
def deprecated_hold
|
177
|
-
if package_not_installed?
|
178
|
-
self.install
|
179
|
-
end
|
180
|
-
hold
|
181
|
-
end
|
182
|
-
|
183
176
|
def hold
|
184
177
|
Tempfile.open('puppet_dpkg_set_selection') do |tmpfile|
|
185
178
|
tmpfile.write("#{@resource[:name]} hold\n")
|
@@ -196,7 +189,4 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
|
|
196
189
|
end
|
197
190
|
end
|
198
191
|
|
199
|
-
def package_not_installed?
|
200
|
-
query[:status] != "installed"
|
201
|
-
end
|
202
192
|
end
|
@@ -14,7 +14,7 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
14
14
|
|
15
15
|
This provider supports the `install_options` and `uninstall_options` attributes,
|
16
16
|
which allow command-line flags to be passed to the gem command.
|
17
|
-
These options should be specified as an array where each element is either a
|
17
|
+
These options should be specified as an array where each element is either a
|
18
18
|
string or a hash."
|
19
19
|
|
20
20
|
has_feature :versionable, :install_options, :uninstall_options, :targetable, :version_ranges
|
@@ -36,7 +36,11 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
36
36
|
# Required by Puppet::Provider::Package::Targetable::resource_or_provider_command
|
37
37
|
|
38
38
|
def self.provider_command
|
39
|
-
|
39
|
+
if Puppet::Util::Platform.windows?
|
40
|
+
Puppet::Util.withenv(PATH: windows_path_without_puppet_bin) { command(:gemcmd) }
|
41
|
+
else
|
42
|
+
command(:gemcmd)
|
43
|
+
end
|
40
44
|
end
|
41
45
|
|
42
46
|
# Define the default provider package command as optional when the provider is targetable.
|
@@ -46,6 +50,18 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
46
50
|
is_optional
|
47
51
|
end
|
48
52
|
|
53
|
+
# Having puppet/bin in PATH makes gem provider to use puppet/bin/gem
|
54
|
+
# This is an utility methods that reads the PATH and returns a string
|
55
|
+
# that contains the content of PATH but without puppet/bin dir.
|
56
|
+
# This is used to pass a custom PATH and execute commands in a controlled environment
|
57
|
+
def self.windows_path_without_puppet_bin
|
58
|
+
@path ||= Puppet::Util.get_env('PATH').split(File::PATH_SEPARATOR)
|
59
|
+
.reject { |dir| dir =~ /puppet\\bin$/ }
|
60
|
+
.join(File::PATH_SEPARATOR)
|
61
|
+
end
|
62
|
+
|
63
|
+
private_class_method :windows_path_without_puppet_bin
|
64
|
+
|
49
65
|
# CommandDefiner in provider.rb creates convenience execution methods that set failonfail, combine, and optionally, environment.
|
50
66
|
# And when a child provider defines its own command via commands() or has_command(), the provider-specific path is always returned by command().
|
51
67
|
# But when the convenience execution method is invoked, the last convenience method to be defined is executed.
|
@@ -59,6 +75,10 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
59
75
|
|
60
76
|
custom_environment = {'HOME'=>Puppet::Util.get_env('HOME')}.merge(custom_environment)
|
61
77
|
|
78
|
+
if Puppet::Util::Platform.windows?
|
79
|
+
custom_environment[:PATH] = windows_path_without_puppet_bin
|
80
|
+
end
|
81
|
+
|
62
82
|
execute(cmd, {:failonfail => true, :combine => true, :custom_environment => custom_environment})
|
63
83
|
end
|
64
84
|
|
@@ -152,7 +172,7 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
152
172
|
end
|
153
173
|
end
|
154
174
|
end
|
155
|
-
|
175
|
+
|
156
176
|
begin
|
157
177
|
# Range intersections are not supported by Gem::Requirement, so just split by comma.
|
158
178
|
dependency = Gem::Dependency.new('', should.split(','))
|