puppet 4.8.2-x64-mingw32 → 4.9.0-x64-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 +15 -0
- data/CONTRIBUTING.md +25 -1
- data/Gemfile +6 -0
- data/Rakefile +1 -0
- data/ext/project_data.yaml +5 -1
- data/ext/windows/service/daemon.rb +2 -1
- data/install.rb +43 -6
- data/lib/hiera/puppet_function.rb +15 -17
- data/lib/hiera/scope.rb +12 -14
- data/lib/puppet.rb +52 -0
- data/lib/puppet/application/face_base.rb +4 -0
- data/lib/puppet/application/lookup.rb +4 -2
- data/lib/puppet/application/resource.rb +1 -1
- data/lib/puppet/data_providers.rb +6 -3
- data/lib/puppet/data_providers/data_adapter.rb +6 -0
- data/lib/puppet/data_providers/data_function_support.rb +7 -0
- data/lib/puppet/data_providers/function_env_data_provider.rb +7 -0
- data/lib/puppet/data_providers/function_module_data_provider.rb +6 -0
- data/lib/puppet/data_providers/hiera_config.rb +31 -10
- data/lib/puppet/data_providers/hiera_env_data_provider.rb +6 -0
- data/lib/puppet/data_providers/hiera_interpolate.rb +2 -1
- data/lib/puppet/data_providers/hiera_module_data_provider.rb +6 -0
- data/lib/puppet/data_providers/hiera_support.rb +6 -0
- data/lib/puppet/data_providers/json_data_provider_factory.rb +12 -0
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +12 -0
- data/lib/puppet/defaults.rb +25 -4
- data/lib/puppet/face/ca.rb +2 -0
- data/lib/puppet/face/certificate_request.rb +2 -0
- data/lib/puppet/face/certificate_revocation_list.rb +2 -0
- data/lib/puppet/face/file.rb +3 -0
- data/lib/puppet/face/help.rb +19 -17
- data/lib/puppet/face/help/face.erb +3 -0
- data/lib/puppet/face/key.rb +1 -0
- data/lib/puppet/face/man.rb +4 -2
- data/lib/puppet/face/module/generate.rb +1 -1
- data/lib/puppet/face/status.rb +2 -0
- data/lib/puppet/feature/base.rb +9 -2
- data/lib/puppet/feature/hocon.rb +3 -0
- data/lib/puppet/file_system.rb +15 -3
- data/lib/puppet/file_system/windows.rb +8 -0
- data/lib/puppet/forge.rb +6 -6
- data/lib/puppet/forge/repository.rb +1 -2
- data/lib/puppet/functions/binary_file.rb +4 -10
- data/lib/puppet/functions/hiera_array.rb +1 -1
- data/lib/puppet/functions/hiera_include.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +24 -0
- data/lib/puppet/functions/json_data.rb +18 -0
- data/lib/puppet/functions/yaml_data.rb +21 -0
- data/lib/puppet/generate/type.rb +1 -1
- data/lib/puppet/graph/simple_graph.rb +4 -2
- data/lib/puppet/indirector/file_bucket_file/file.rb +10 -2
- data/lib/puppet/indirector/request.rb +5 -1
- data/lib/puppet/interface.rb +14 -2
- data/lib/puppet/interface/face_collection.rb +1 -1
- data/lib/puppet/module.rb +14 -2
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/module_tool/applications/builder.rb +3 -2
- data/lib/puppet/module_tool/applications/installer.rb +14 -14
- data/lib/puppet/module_tool/applications/upgrader.rb +13 -13
- data/lib/puppet/module_tool/installed_modules.rb +7 -7
- data/lib/puppet/module_tool/local_tarball.rb +3 -3
- data/lib/puppet/module_tool/metadata.rb +1 -1
- data/lib/puppet/network/http/connection.rb +2 -0
- data/lib/puppet/network/http/webrick.rb +2 -1
- data/lib/puppet/parser/functions/hiera.rb +14 -0
- data/lib/puppet/parser/functions/hiera_array.rb +14 -0
- data/lib/puppet/parser/functions/hiera_hash.rb +14 -0
- data/lib/puppet/parser/functions/hiera_include.rb +14 -0
- data/lib/puppet/parser/scope.rb +14 -20
- data/lib/puppet/plugins/data_providers.rb +2 -0
- data/lib/puppet/plugins/data_providers/data_provider.rb +108 -17
- data/lib/puppet/plugins/data_providers/registry.rb +2 -36
- data/lib/puppet/pops.rb +6 -9
- data/lib/puppet/pops/adaptable.rb +0 -3
- data/lib/puppet/pops/binder/producers.rb +3 -3
- data/lib/puppet/pops/evaluator/access_operator.rb +4 -4
- data/lib/puppet/pops/evaluator/closure.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +4 -4
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +1 -1
- data/lib/puppet/pops/issues.rb +4 -0
- data/lib/puppet/pops/label_provider.rb +14 -0
- data/lib/puppet/pops/loader/loader_paths.rb +3 -1
- data/lib/puppet/pops/loader/module_loaders.rb +21 -7
- data/lib/puppet/pops/loader/typed_name.rb +0 -2
- data/lib/puppet/pops/loaders.rb +31 -12
- data/lib/puppet/pops/lookup.rb +4 -3
- data/lib/puppet/pops/lookup/configured_data_provider.rb +87 -0
- data/lib/puppet/pops/lookup/context.rb +121 -71
- data/lib/puppet/pops/lookup/data_adapter.rb +27 -0
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +55 -0
- data/lib/puppet/pops/lookup/data_hash_function_provider.rb +111 -0
- data/lib/puppet/pops/lookup/data_provider.rb +102 -0
- data/lib/puppet/pops/lookup/environment_data_provider.rb +27 -0
- data/lib/puppet/pops/lookup/explainer.rb +122 -82
- data/lib/puppet/pops/lookup/function_provider.rb +82 -0
- data/lib/puppet/pops/lookup/global_data_provider.rb +49 -0
- data/lib/puppet/pops/lookup/hiera_config.rb +601 -0
- data/lib/puppet/pops/lookup/interpolation.rb +56 -35
- data/lib/puppet/pops/lookup/invocation.rb +179 -101
- data/lib/puppet/pops/lookup/location_resolver.rb +72 -0
- data/lib/puppet/pops/lookup/lookup_adapter.rb +451 -0
- data/lib/puppet/pops/lookup/lookup_key.rb +99 -0
- data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +119 -0
- data/lib/puppet/pops/lookup/module_data_provider.rb +58 -0
- data/lib/puppet/pops/lookup/sub_lookup.rb +8 -4
- data/lib/puppet/pops/merge_strategy.rb +120 -39
- data/lib/puppet/pops/parser/egrammar.ra +2 -0
- data/lib/puppet/pops/parser/eparser.rb +816 -808
- data/lib/puppet/pops/parser/locator.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +4 -3
- data/lib/puppet/pops/pcore.rb +21 -12
- data/lib/puppet/pops/serialization/abstract_reader.rb +17 -7
- data/lib/puppet/pops/serialization/abstract_writer.rb +27 -12
- data/lib/puppet/pops/serialization/deserializer.rb +17 -4
- data/lib/puppet/pops/serialization/extension.rb +37 -8
- data/lib/puppet/pops/serialization/object.rb +14 -6
- data/lib/puppet/pops/serialization/rgen.rb +2 -1
- data/lib/puppet/pops/serialization/serializer.rb +30 -7
- data/lib/puppet/pops/types/implementation_registry.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +55 -12
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +27 -27
- data/lib/puppet/pops/types/p_sem_ver_type.rb +12 -12
- data/lib/puppet/pops/types/p_timespan_type.rb +6 -6
- data/lib/puppet/pops/types/p_timestamp_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +7 -16
- data/lib/puppet/pops/types/recursion_guard.rb +64 -20
- data/lib/puppet/pops/types/ruby_generator.rb +10 -0
- data/lib/puppet/pops/types/type_calculator.rb +23 -13
- data/lib/puppet/pops/types/type_factory.rb +20 -9
- data/lib/puppet/pops/types/type_formatter.rb +37 -17
- data/lib/puppet/pops/types/type_mismatch_describer.rb +7 -6
- data/lib/puppet/pops/types/type_parser.rb +6 -0
- data/lib/puppet/pops/types/types.rb +225 -132
- data/lib/puppet/pops/validation.rb +1 -1
- data/lib/puppet/pops/validation/checker4_0.rb +12 -2
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/pops/visitor.rb +4 -3
- data/lib/puppet/provider/mcx/mcxcontent.rb +2 -1
- data/lib/puppet/provider/nameservice.rb +15 -0
- data/lib/puppet/provider/package/appdmg.rb +1 -1
- data/lib/puppet/provider/package/dnf.rb +1 -1
- data/lib/puppet/provider/package/pkg.rb +1 -1
- data/lib/puppet/provider/package/pkgdmg.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/rpm.rb +2 -2
- data/lib/puppet/provider/service/smf.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +5 -1
- data/lib/puppet/provider/user/directoryservice.rb +1 -0
- data/lib/puppet/provider/user/user_role_add.rb +15 -0
- data/lib/puppet/provider/yumrepo/inifile.rb +2 -2
- data/lib/puppet/provider/zone/solaris.rb +4 -1
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +2 -3
- data/lib/puppet/resource/catalog.rb +12 -4
- data/lib/puppet/resource/type.rb +3 -3
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -1
- data/lib/puppet/settings/directory_setting.rb +6 -0
- data/lib/puppet/settings/environment_conf.rb +6 -2
- data/lib/puppet/settings/file_or_directory_setting.rb +6 -0
- data/lib/puppet/settings/file_setting.rb +10 -0
- data/lib/puppet/ssl/certificate_authority.rb +13 -2
- data/lib/puppet/ssl/host.rb +23 -1
- data/lib/puppet/transaction/additional_resource_generator.rb +7 -0
- data/lib/puppet/type/user.rb +16 -3
- data/lib/puppet/util.rb +1 -0
- data/lib/puppet/util/execution.rb +3 -3
- data/lib/puppet/util/filetype.rb +11 -5
- data/lib/puppet/util/logging.rb +2 -1
- data/lib/puppet/util/network_device/config.rb +1 -1
- data/lib/puppet/util/plist.rb +6 -0
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +2 -2
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +2 -1
- data/lib/puppet/util/windows/adsi.rb +15 -12
- data/lib/puppet/vendor/load_semantic_puppet.rb +1 -0
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +2 -1
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +17 -0
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency.rb +7 -7
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/graph.rb +2 -2
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/graph_node.rb +2 -2
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +58 -0
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/source.rb +2 -2
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/unsatisfiable_graph.rb +2 -2
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +3 -0
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/locales/config.yaml +21 -0
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/version.rb +48 -21
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/version_range.rb +15 -17
- data/lib/puppet/version.rb +1 -1
- data/lib/semver.rb +19 -12
- data/locales/config.yaml +29 -0
- data/locales/puppet.pot +79 -0
- data/man/man5/puppet.conf.5 +1 -1
- data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/{data.pp → environment/data.pp} +0 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +2 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +1 -1
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +5 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +9 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +23 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +5 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +9 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +1 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +1 -1
- data/spec/fixtures/unit/functions/lookup/data/common.yaml +19 -0
- data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +19 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/environment.conf +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/lib/puppet/functions/environment/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/data/empty.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/data/empty_key.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/data/empty.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/data/first.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/meta/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/meta/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/no_provider/manifests/init.pp +0 -0
- data/spec/integration/application/apply_spec.rb +88 -2
- data/spec/integration/application/lookup_spec.rb +155 -0
- data/spec/integration/data_binding_spec.rb +5 -5
- data/spec/integration/defaults_spec.rb +13 -0
- data/spec/integration/environments/default_manifest_spec.rb +16 -16
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/test/test_helper_spec.rb +6 -2
- data/spec/integration/transaction_spec.rb +74 -0
- data/spec/integration/util/execution_spec.rb +8 -0
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
- data/spec/lib/puppet_spec/module_tool/stub_source.rb +1 -1
- data/spec/lib/puppet_spec/unindent.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +16 -0
- data/spec/unit/application/lookup_spec.rb +262 -227
- data/spec/unit/data_providers/{sample_data_provider_spec.rb → custom_data_provider_spec.rb} +14 -16
- data/spec/unit/data_providers/function_data_provider_spec.rb +2 -2
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +60 -97
- data/spec/unit/defaults_spec.rb +1 -1
- data/spec/unit/face/ca_spec.rb +10 -0
- data/spec/unit/face/certificate_request_spec.rb +10 -0
- data/spec/unit/face/certificate_revocation_list_spec.rb +10 -0
- data/spec/unit/face/file_spec.rb +4 -0
- data/spec/unit/face/help_spec.rb +17 -0
- data/spec/unit/face/key_spec.rb +10 -0
- data/spec/unit/face/status_spec.rb +10 -0
- data/spec/unit/file_system_spec.rb +143 -6
- data/spec/unit/functions/binary_file_spec.rb +1 -1
- data/spec/unit/functions/hiera_spec.rb +257 -47
- data/spec/unit/functions/lookup_fixture_spec.rb +693 -0
- data/spec/unit/functions/lookup_spec.rb +1319 -608
- data/spec/unit/functions/new_spec.rb +3 -3
- data/spec/unit/graph/rb_tree_map_spec.rb +1 -1
- data/spec/unit/graph/simple_graph_spec.rb +1 -1
- data/spec/unit/hiera/scope_spec.rb +4 -4
- data/spec/unit/indirector/request_spec.rb +9 -0
- data/spec/unit/interface_spec.rb +27 -0
- data/spec/unit/man_spec.rb +1 -1
- data/spec/unit/module_spec.rb +1 -1
- data/spec/unit/module_tool/applications/builder_spec.rb +16 -1
- data/spec/unit/module_tool/applications/installer_spec.rb +1 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +1 -1
- data/spec/unit/module_tool/installed_modules_spec.rb +6 -6
- data/spec/unit/module_tool_spec.rb +3 -3
- data/spec/unit/network/http/connection_spec.rb +10 -0
- data/spec/unit/network/http/webrick_spec.rb +1 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +2 -2
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +9 -9
- data/spec/unit/pops/loaders/environment_loader_spec.rb +172 -0
- data/spec/unit/pops/lookup/context_spec.rb +45 -16
- data/spec/unit/pops/lookup/interpolation_spec.rb +28 -20
- data/spec/unit/pops/lookup/lookup_spec.rb +197 -0
- data/spec/unit/pops/merge_strategy_spec.rb +18 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +16 -1
- data/spec/unit/pops/parser/parse_site_spec.rb +4 -0
- data/spec/unit/pops/serialization/packer_spec.rb +4 -23
- data/spec/unit/pops/serialization/serialization_spec.rb +32 -8
- data/spec/unit/pops/types/p_object_type_spec.rb +68 -3
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +4 -4
- data/spec/unit/pops/types/p_type_set_type_spec.rb +31 -2
- data/spec/unit/pops/types/type_acceptor_spec.rb +18 -17
- data/spec/unit/pops/types/type_calculator_spec.rb +39 -40
- data/spec/unit/pops/types/type_factory_spec.rb +3 -3
- data/spec/unit/pops/types/type_formatter_spec.rb +7 -3
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +13 -2
- data/spec/unit/pops/types/types_spec.rb +25 -2
- data/spec/unit/pops/validator/validator_spec.rb +60 -4
- data/spec/unit/provider/nameservice_spec.rb +42 -0
- data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
- data/spec/unit/provider/package/pkg_spec.rb +22 -0
- data/spec/unit/provider/package/pkgng_spec.rb +12 -0
- data/spec/unit/provider/package/rpm_spec.rb +8 -8
- data/spec/unit/provider/service/smf_spec.rb +13 -11
- data/spec/unit/provider/service/systemd_spec.rb +8 -1
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/puppet_spec.rb +14 -0
- data/spec/unit/resource/catalog_spec.rb +15 -9
- data/spec/unit/resource_spec.rb +20 -17
- data/spec/unit/semver_spec.rb +14 -0
- data/spec/unit/ssl/certificate_authority_spec.rb +12 -1
- data/spec/unit/transaction/additional_resource_generator_spec.rb +11 -0
- data/spec/unit/type/user_spec.rb +32 -6
- data/spec/unit/util/filetype_spec.rb +3 -3
- data/spec/unit/util/yaml_spec.rb +1 -1
- data/spec/unit/util_spec.rb +10 -2
- data/tasks/i18n.rake +20 -0
- metadata +2661 -2607
- data/lib/puppet/data_providers/lookup_adapter.rb +0 -254
- data/lib/puppet/vendor/load_semantic.rb +0 -1
- data/lib/puppet/vendor/semantic/Gemfile +0 -20
- data/lib/puppet/vendor/semantic/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/semantic/Rakefile +0 -69
- data/lib/puppet/vendor/semantic/lib/semantic.rb +0 -7
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb +0 -60
- data/lib/puppet/vendor/semantic/spec/spec_helper.rb +0 -24
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_node_spec.rb +0 -141
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_spec.rb +0 -162
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/module_release_spec.rb +0 -143
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/source_spec.rb +0 -5
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/unsatisfiable_graph_spec.rb +0 -44
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency_spec.rb +0 -383
- data/lib/puppet/vendor/semantic/spec/unit/semantic/version_range_spec.rb +0 -307
- data/lib/puppet/vendor/semantic/spec/unit/semantic/version_spec.rb +0 -608
- data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +0 -6
@@ -22,6 +22,12 @@ class Puppet::Settings::FileOrDirectorySetting < Puppet::Settings::FileSetting
|
|
22
22
|
end
|
23
23
|
|
24
24
|
# @api private
|
25
|
+
#
|
26
|
+
# @param option [String] Extra file operation mode information to use
|
27
|
+
# (defaults to read-only mode 'r')
|
28
|
+
# This is the standard mechanism Ruby uses in the IO class, and therefore
|
29
|
+
# encoding may be explicitly like fmode : encoding or fmode : "BOM|UTF-*"
|
30
|
+
# for example, a:ASCII or w+:UTF-8
|
25
31
|
def open_file(filename, option = 'r', &block)
|
26
32
|
if type == :file
|
27
33
|
super
|
@@ -185,6 +185,11 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
|
|
185
185
|
end
|
186
186
|
|
187
187
|
# @api private
|
188
|
+
# @param option [String] Extra file operation mode information to use
|
189
|
+
# (defaults to read-only mode 'r')
|
190
|
+
# This is the standard mechanism Ruby uses in the IO class, and therefore
|
191
|
+
# encoding may be explicitly like fmode : encoding or fmode : "BOM|UTF-*"
|
192
|
+
# for example, a:ASCII or w+:UTF-8
|
188
193
|
def exclusive_open(option = 'r', &block)
|
189
194
|
controlled_access do |mode|
|
190
195
|
Puppet::FileSystem.exclusive_open(file(), mode, option, &block)
|
@@ -192,6 +197,11 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
|
|
192
197
|
end
|
193
198
|
|
194
199
|
# @api private
|
200
|
+
# @param option [String] Extra file operation mode information to use
|
201
|
+
# (defaults to read-only mode 'r')
|
202
|
+
# This is the standard mechanism Ruby uses in the IO class, and therefore
|
203
|
+
# encoding may be explicitly like fmode : encoding or fmode : "BOM|UTF-*"
|
204
|
+
# for example, a:ASCII or w+:UTF-8
|
195
205
|
def open(option = 'r', &block)
|
196
206
|
controlled_access do |mode|
|
197
207
|
Puppet::FileSystem.open(file, mode, option, &block)
|
@@ -189,7 +189,7 @@ class Puppet::SSL::CertificateAuthority
|
|
189
189
|
#
|
190
190
|
# @return [Array<String>]
|
191
191
|
def list(name='*')
|
192
|
-
|
192
|
+
Puppet::SSL::Certificate.indirection.search(name).collect { |c| c.name }
|
193
193
|
end
|
194
194
|
|
195
195
|
# Return all the certificate objects as found by the indirector
|
@@ -205,7 +205,10 @@ class Puppet::SSL::CertificateAuthority
|
|
205
205
|
# @param name [Array<string>] filter to cerificate names
|
206
206
|
#
|
207
207
|
# @return [Array<Puppet::SSL::Certificate>]
|
208
|
+
#
|
209
|
+
# @deprecated Use Puppet::SSL::CertificateAuthority#list or Puppet Server Certificate status API
|
208
210
|
def list_certificates(name='*')
|
211
|
+
Puppet.deprecation_warning("Puppet::SSL::CertificateAuthority#list_certificates is deprecated. Please use Puppet::SSL::CertificateAuthority#list or the certificate status API to query certificate information. See https://docs.puppet.com/puppet/latest/http_api/http_certificate_status.html")
|
209
212
|
Puppet::SSL::Certificate.indirection.search(name)
|
210
213
|
end
|
211
214
|
|
@@ -417,6 +420,11 @@ class Puppet::SSL::CertificateAuthority
|
|
417
420
|
# of the X509 Store
|
418
421
|
#
|
419
422
|
# @return [OpenSSL::X509::Store]
|
423
|
+
#
|
424
|
+
# @deprecated Strictly speaking, #x509_store is marked API private, so we
|
425
|
+
# don't need to publicly deprecate it. But it marked as deprecated here to
|
426
|
+
# avoid the exceedingly small chance that someone comes in and uses it from
|
427
|
+
# within this class before it is removed.
|
420
428
|
def x509_store(options = {})
|
421
429
|
if (options[:cache])
|
422
430
|
return @x509store unless @x509store.nil?
|
@@ -464,7 +472,10 @@ class Puppet::SSL::CertificateAuthority
|
|
464
472
|
# @param cert [Puppet::SSL::Certificate] the certificate to check validity of
|
465
473
|
#
|
466
474
|
# @return [Boolean] true if signed, false if unsigned or revoked
|
475
|
+
#
|
476
|
+
# @deprecated use Puppet::SSL::CertificateAuthority#verify or Puppet Server certificate status API
|
467
477
|
def certificate_is_alive?(cert)
|
478
|
+
Puppet.deprecation_warning("Puppet::SSL::CertificateAuthority#certificate_is_alive? is deprecated. Please use Puppet::SSL::CertificateAuthority#verify or the certificate status API to query certificate information. See https://docs.puppet.com/puppet/latest/http_api/http_certificate_status.html")
|
468
479
|
x509_store(:cache => true).verify(cert.content)
|
469
480
|
end
|
470
481
|
|
@@ -483,7 +494,7 @@ class Puppet::SSL::CertificateAuthority
|
|
483
494
|
unless cert = Puppet::SSL::Certificate.indirection.find(name)
|
484
495
|
raise ArgumentError, "Could not find a certificate for #{name}"
|
485
496
|
end
|
486
|
-
store =
|
497
|
+
store = create_x509_store
|
487
498
|
|
488
499
|
raise CertificateVerificationError.new(store.error), store.error_string unless store.verify(cert.content)
|
489
500
|
end
|
data/lib/puppet/ssl/host.rb
CHANGED
@@ -227,7 +227,29 @@ ERROR_STRING
|
|
227
227
|
# Generate all necessary parts of our ssl host.
|
228
228
|
def generate
|
229
229
|
generate_key unless key
|
230
|
-
|
230
|
+
# ask indirector to find any existing requests and download them
|
231
|
+
existing_request = certificate_request
|
232
|
+
|
233
|
+
# if CSR downloaded from master, but the local keypair was just generated and
|
234
|
+
# does not match the public key in the CSR, fail hard
|
235
|
+
if !existing_request.nil? &&
|
236
|
+
(key.content.public_key.to_s != existing_request.content.public_key.to_s)
|
237
|
+
|
238
|
+
raise Puppet::Error, <<ERROR_STRING
|
239
|
+
The CSR retrieved from the master does not match the agent's public key.
|
240
|
+
CSR fingerprint: #{existing_request.fingerprint}
|
241
|
+
CSR public key: #{existing_request.content.public_key.to_text}
|
242
|
+
Agent public key: #{key.content.public_key.to_text}
|
243
|
+
To fix this, remove the CSR from both the master and the agent and then start a puppet run, which will automatically regenerate a CSR.
|
244
|
+
On the master:
|
245
|
+
puppet cert clean #{Puppet[:certname]}
|
246
|
+
On the agent:
|
247
|
+
1a. On most platforms: find #{Puppet[:ssldir]} -name #{Puppet[:certname]}.pem -delete
|
248
|
+
1b. On Windows: del "#{Puppet[:certdir].gsub('/', '\\')}\\#{Puppet[:certname]}.pem" /f
|
249
|
+
2. puppet agent -t
|
250
|
+
ERROR_STRING
|
251
|
+
end
|
252
|
+
generate_certificate_request unless existing_request
|
231
253
|
|
232
254
|
# If we can get a CA instance, then we're a valid CA, and we
|
233
255
|
# should use it to sign our request; else, just try to read
|
@@ -79,6 +79,13 @@ class Puppet::Transaction::AdditionalResourceGenerator
|
|
79
79
|
|
80
80
|
def contain_generated_resources_in(resource, made)
|
81
81
|
sentinel = Puppet::Type.type(:whit).new(:name => "completed_#{resource.title}", :catalog => resource.catalog)
|
82
|
+
# Tag the completed whit with all of the tags of the generating resource
|
83
|
+
# except the type name to allow event propogation to succeed beyond the whit
|
84
|
+
# "boundary" when filtering resources with tags. We include auto-generated
|
85
|
+
# tags such as the type name to support implicit filtering as well as
|
86
|
+
# explicit. Note that resource#tags returns a duplicate of the resource's
|
87
|
+
# tags.
|
88
|
+
sentinel.tag(*resource.tags)
|
82
89
|
priority = @prioritizer.generate_priority_contained_in(resource, sentinel)
|
83
90
|
@relationship_graph.add_vertex(sentinel, priority)
|
84
91
|
|
data/lib/puppet/type/user.rb
CHANGED
@@ -171,10 +171,23 @@ module Puppet
|
|
171
171
|
|
172
172
|
newproperty(:comment) do
|
173
173
|
desc "A description of the user. Generally the user's full name."
|
174
|
-
|
175
|
-
|
176
|
-
|
174
|
+
def insync?(is)
|
175
|
+
# nameservice provider requires special attention to encoding
|
176
|
+
# Overrides Puppet::Property#insync?
|
177
|
+
if !@should.empty? && provider.respond_to?(:comments_insync?)
|
178
|
+
return provider.comments_insync?(is, @should)
|
179
|
+
end
|
180
|
+
super(is)
|
181
|
+
end
|
182
|
+
|
183
|
+
# In the case that our comments have incompatible encodings, set external
|
184
|
+
# encoding to support concatenation for display.
|
185
|
+
# overrides Puppet::Property#change_to_s
|
186
|
+
def change_to_s(currentvalue, newvalue)
|
187
|
+
if newvalue.respond_to?(:force_encoding) && !Encoding.compatible?(currentvalue, newvalue)
|
188
|
+
return super(currentvalue, newvalue.dup.force_encoding(currentvalue.encoding))
|
177
189
|
end
|
190
|
+
super(currentvalue, newvalue)
|
178
191
|
end
|
179
192
|
end
|
180
193
|
|
data/lib/puppet/util.rb
CHANGED
@@ -450,6 +450,7 @@ module Util
|
|
450
450
|
|
451
451
|
begin
|
452
452
|
file = Puppet::FileSystem.pathname(file)
|
453
|
+
# encoding for Uniquefile is not important here because the caller writes to it as it sees fit
|
453
454
|
tempfile = Puppet::FileSystem::Uniquefile.new(Puppet::FileSystem.basename_string(file), Puppet::FileSystem.dir_string(file))
|
454
455
|
|
455
456
|
# Set properties of the temporary file before we write the content, because
|
@@ -184,9 +184,9 @@ module Puppet::Util::Execution
|
|
184
184
|
null_file = Puppet.features.microsoft_windows? ? 'NUL' : '/dev/null'
|
185
185
|
|
186
186
|
begin
|
187
|
-
stdin =
|
188
|
-
stdout = options[:squelch] ?
|
189
|
-
stderr = options[:combine] ? stdout :
|
187
|
+
stdin = Puppet::FileSystem.open(options[:stdinfile] || null_file, nil, 'r')
|
188
|
+
stdout = options[:squelch] ? Puppet::FileSystem.open(null_file, nil, 'w') : Puppet::FileSystem::Uniquefile.new('puppet')
|
189
|
+
stderr = options[:combine] ? stdout : Puppet::FileSystem.open(null_file, nil, 'w')
|
190
190
|
|
191
191
|
exec_args = [command, options, stdin, stdout, stderr]
|
192
192
|
|
data/lib/puppet/util/filetype.rb
CHANGED
@@ -105,7 +105,9 @@ class Puppet::Util::FileType
|
|
105
105
|
# Read the file.
|
106
106
|
def read
|
107
107
|
if Puppet::FileSystem.exist?(@path)
|
108
|
-
|
108
|
+
# this code path is used by many callers so the original default is
|
109
|
+
# being explicitly preserved
|
110
|
+
Puppet::FileSystem.read(@path, :encoding => Encoding.default_external)
|
109
111
|
else
|
110
112
|
return nil
|
111
113
|
end
|
@@ -118,7 +120,8 @@ class Puppet::Util::FileType
|
|
118
120
|
|
119
121
|
# Overwrite the file.
|
120
122
|
def write(text)
|
121
|
-
|
123
|
+
# this file is managed by the OS and should be using system encoding
|
124
|
+
tf = Tempfile.new("puppet", :encoding => Encoding.default_external)
|
122
125
|
tf.print text; tf.flush
|
123
126
|
File.chmod(@default_mode, tf.path) if @default_mode
|
124
127
|
FileUtils.cp(tf.path, @path)
|
@@ -197,7 +200,8 @@ class Puppet::Util::FileType
|
|
197
200
|
# Overwrite a specific @path's cron tab; must be passed the @path name
|
198
201
|
# and the text with which to create the cron tab.
|
199
202
|
def write(text)
|
200
|
-
|
203
|
+
# this file is managed by the OS and should be using system encoding
|
204
|
+
IO.popen("#{cmdbase()} -", "w", :encoding => Encoding.default_external) { |p|
|
201
205
|
p.print text
|
202
206
|
}
|
203
207
|
end
|
@@ -242,7 +246,8 @@ class Puppet::Util::FileType
|
|
242
246
|
# Overwrite a specific @path's cron tab; must be passed the @path name
|
243
247
|
# and the text with which to create the cron tab.
|
244
248
|
def write(text)
|
245
|
-
|
249
|
+
# this file is managed by the OS and should be using system encoding
|
250
|
+
output_file = Tempfile.new("puppet_suntab", :encoding => Encoding.default_external)
|
246
251
|
begin
|
247
252
|
output_file.print text
|
248
253
|
output_file.close
|
@@ -284,7 +289,8 @@ class Puppet::Util::FileType
|
|
284
289
|
# Overwrite a specific @path's cron tab; must be passed the @path name
|
285
290
|
# and the text with which to create the cron tab.
|
286
291
|
def write(text)
|
287
|
-
|
292
|
+
# this file is managed by the OS and should be using system encoding
|
293
|
+
output_file = Tempfile.new("puppet_aixtab", :encoding => Encoding.default_external)
|
288
294
|
|
289
295
|
begin
|
290
296
|
output_file.print text
|
data/lib/puppet/util/logging.rb
CHANGED
@@ -224,7 +224,8 @@ module Logging
|
|
224
224
|
# find the same offender, and we'd end up logging it again.
|
225
225
|
$logged_deprecation_warnings ||= {}
|
226
226
|
|
227
|
-
|
227
|
+
# Deprecation messages are UTF-8 as they are produced by Ruby
|
228
|
+
Puppet::FileSystem.open(deprecations_file, nil, "a:UTF-8") do |f|
|
228
229
|
if ($deprecation_warnings) then
|
229
230
|
$deprecation_warnings.each do |offender, message|
|
230
231
|
if (! $logged_deprecation_warnings.has_key?(offender)) then
|
@@ -59,7 +59,7 @@ class Puppet::Util::NetworkDevice::Config
|
|
59
59
|
device.options = { :debug => false }
|
60
60
|
Puppet.debug "found device: #{device.name} at #{device.line}"
|
61
61
|
devices[name] = device
|
62
|
-
when /^\s*(type|url|debug)(\s+(.+))*$/
|
62
|
+
when /^\s*(type|url|debug)(\s+(.+)\s*)*$/
|
63
63
|
parse_directive(device, $1, $3, count)
|
64
64
|
else
|
65
65
|
raise Puppet::Error, "Invalid line #{count}: #{line}"
|
data/lib/puppet/util/plist.rb
CHANGED
@@ -78,6 +78,12 @@ module Puppet::Util::Plist
|
|
78
78
|
# stubbing purposes
|
79
79
|
#
|
80
80
|
# @api private
|
81
|
+
#
|
82
|
+
# @param args [String] Extra file operation mode information to use
|
83
|
+
# (defaults to read-only mode 'r')
|
84
|
+
# This is the standard mechanism Ruby uses in the IO class, and therefore
|
85
|
+
# encoding may be explicitly like fmode : encoding or fmode : "BOM|UTF-*"
|
86
|
+
# for example, a:ASCII or w+:UTF-8
|
81
87
|
def open_file_with_args(file, args)
|
82
88
|
File.open(file, args).read
|
83
89
|
end
|
@@ -42,7 +42,7 @@ class Puppet::Util::Profiler::Aggregate < Puppet::Util::Profiler::WallClock
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def print_metrics(metrics_hash, prefix)
|
45
|
-
metrics_hash.sort_by {|k,v| v.time }.
|
45
|
+
metrics_hash.sort_by {|k,v| v.time }.reverse_each do |k,v|
|
46
46
|
@logger.call("#{prefix}#{k}: #{v.time} s (#{v.count} calls)")
|
47
47
|
print_metrics(metrics_hash[k], "#{prefix}#{k} -> ")
|
48
48
|
end
|
@@ -225,7 +225,7 @@ module Generators
|
|
225
225
|
'style_url' => style_url('', @options.css),
|
226
226
|
}
|
227
227
|
|
228
|
-
|
228
|
+
Puppet::FileSystem.open(filename, nil, "w:UTF-8") do |f|
|
229
229
|
template.write_html_on(f, values)
|
230
230
|
end
|
231
231
|
end
|
@@ -301,7 +301,7 @@ module Generators
|
|
301
301
|
values["plugins"] = res4 if res4.size>0
|
302
302
|
values["nodes"] = res5 if res5.size>0
|
303
303
|
|
304
|
-
|
304
|
+
Puppet::FileSystem.open(filename, nil, "w:UTF-8") do |f|
|
305
305
|
template.write_html_on(f, values)
|
306
306
|
end
|
307
307
|
end
|
@@ -104,7 +104,8 @@ module RDoc::PuppetParserCore
|
|
104
104
|
comment = ""
|
105
105
|
%w{README README.rdoc}.each do |rfile|
|
106
106
|
readme = File.join(File.dirname(File.dirname(@input_file_name)), rfile)
|
107
|
-
|
107
|
+
# module README should be UTF-8, not default system encoding
|
108
|
+
comment = File.open(readme,"r:UTF-8") { |f| f.read } if FileTest.readable?(readme)
|
108
109
|
end
|
109
110
|
look_for_directives_in(container, comment) unless comment.empty?
|
110
111
|
|
@@ -195,10 +195,9 @@ module Puppet::Util::Windows::ADSI
|
|
195
195
|
end
|
196
196
|
|
197
197
|
def [](attribute)
|
198
|
-
|
199
|
-
#
|
200
|
-
|
201
|
-
value
|
198
|
+
# Setting WIN32OLE.codepage in the microsoft_windows feature ensures
|
199
|
+
# values are returned as UTF-8
|
200
|
+
native_user.Get(attribute)
|
202
201
|
end
|
203
202
|
|
204
203
|
def []=(attribute, value)
|
@@ -248,8 +247,9 @@ module Puppet::Util::Windows::ADSI
|
|
248
247
|
# https://msdn.microsoft.com/en-us/library/aa746342.aspx
|
249
248
|
# WIN32OLE objects aren't enumerable, so no map
|
250
249
|
groups = []
|
251
|
-
#
|
252
|
-
|
250
|
+
# Setting WIN32OLE.codepage in the microsoft_windows feature ensures
|
251
|
+
# values are returned as UTF-8
|
252
|
+
native_user.Groups.each {|g| groups << g.Name} rescue nil
|
253
253
|
groups
|
254
254
|
end
|
255
255
|
|
@@ -372,8 +372,9 @@ module Puppet::Util::Windows::ADSI
|
|
372
372
|
|
373
373
|
users = []
|
374
374
|
wql.each do |u|
|
375
|
-
#
|
376
|
-
|
375
|
+
# Setting WIN32OLE.codepage in the microsoft_windows feature ensures
|
376
|
+
# values are returned as UTF-8
|
377
|
+
users << new(u.name)
|
377
378
|
end
|
378
379
|
|
379
380
|
users.each(&block)
|
@@ -465,8 +466,9 @@ module Puppet::Util::Windows::ADSI
|
|
465
466
|
def members
|
466
467
|
# WIN32OLE objects aren't enumerable, so no map
|
467
468
|
members = []
|
468
|
-
#
|
469
|
-
|
469
|
+
# Setting WIN32OLE.codepage in the microsoft_windows feature ensures
|
470
|
+
# values are returned as UTF-8
|
471
|
+
native_group.Members.each {|m| members << m.Name}
|
470
472
|
members
|
471
473
|
end
|
472
474
|
|
@@ -535,8 +537,9 @@ module Puppet::Util::Windows::ADSI
|
|
535
537
|
|
536
538
|
groups = []
|
537
539
|
wql.each do |g|
|
538
|
-
#
|
539
|
-
|
540
|
+
# Setting WIN32OLE.codepage in the microsoft_windows feature ensures
|
541
|
+
# values are returned as UTF-8
|
542
|
+
groups << new(g.name)
|
540
543
|
end
|
541
544
|
|
542
545
|
groups.each(&block)
|
@@ -0,0 +1 @@
|
|
1
|
+
$: << File.join([File.dirname(__FILE__), "semantic_puppet/lib"])
|
@@ -75,7 +75,8 @@ class PathSpec
|
|
75
75
|
|
76
76
|
# Generate specs from a filename, such as a .gitignore
|
77
77
|
def self.from_filename(filename, type=:git)
|
78
|
-
|
78
|
+
# .gitignore is a UTF-8 file
|
79
|
+
self.from_lines(File.open(filename, 'r', :encoding => Encoding::UTF_8), type)
|
79
80
|
end
|
80
81
|
|
81
82
|
def self.from_lines(lines, type=:git)
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# This adds upfront requirements on vendored code found under lib/vendor/x
|
2
2
|
# Add one requirement per vendored package (or a comment if it is loaded on demand).
|
3
3
|
|
4
|
-
# The vendored library 'semantic' is loaded on demand.
|
5
4
|
# The vendored library 'rgen' is loaded on demand.
|
6
5
|
# The vendored library 'pathspec' is loaded on demand.
|
7
6
|
# The vendored library 'deep_merge' is loaded on demand.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
begin
|
2
|
+
require 'gettext-setup'
|
3
|
+
rescue LoadError
|
4
|
+
def _(msg)
|
5
|
+
msg
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
module SemanticPuppet
|
10
|
+
if defined?(GettextSetup)
|
11
|
+
GettextSetup.initialize(File.absolute_path('semantic_puppet/locales', File.dirname(__FILE__)))
|
12
|
+
end
|
13
|
+
|
14
|
+
autoload :Version, 'semantic_puppet/version'
|
15
|
+
autoload :VersionRange, 'semantic_puppet/version_range'
|
16
|
+
autoload :Dependency, 'semantic_puppet/dependency'
|
17
|
+
end
|
data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency.rb
RENAMED
@@ -1,15 +1,15 @@
|
|
1
|
-
require '
|
1
|
+
require 'semantic_puppet'
|
2
2
|
|
3
|
-
module
|
3
|
+
module SemanticPuppet
|
4
4
|
module Dependency
|
5
5
|
extend self
|
6
6
|
|
7
|
-
autoload :Graph, '
|
8
|
-
autoload :GraphNode, '
|
9
|
-
autoload :ModuleRelease, '
|
10
|
-
autoload :Source, '
|
7
|
+
autoload :Graph, 'semantic_puppet/dependency/graph'
|
8
|
+
autoload :GraphNode, 'semantic_puppet/dependency/graph_node'
|
9
|
+
autoload :ModuleRelease, 'semantic_puppet/dependency/module_release'
|
10
|
+
autoload :Source, 'semantic_puppet/dependency/source'
|
11
11
|
|
12
|
-
autoload :UnsatisfiableGraph, '
|
12
|
+
autoload :UnsatisfiableGraph, 'semantic_puppet/dependency/unsatisfiable_graph'
|
13
13
|
|
14
14
|
# @!group Sources
|
15
15
|
|