puppet 8.5.1-x86-mingw32 → 8.6.0-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +23 -20
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
@@ -32,14 +32,14 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
32
32
|
# Required by Puppet::Provider::Package::Targetable::resource_or_provider_command
|
33
33
|
def self.provider_command
|
34
34
|
# Ensure pip can upgrade pip, which usually puts pip into a new path /usr/local/bin/pip (compared to /usr/bin/pip)
|
35
|
-
|
35
|
+
cmd.map { |c| which(c) }.find { |c| !c.nil? }
|
36
36
|
end
|
37
37
|
|
38
38
|
def self.cmd
|
39
39
|
if Puppet::Util::Platform.windows?
|
40
40
|
["pip.exe"]
|
41
41
|
else
|
42
|
-
[
|
42
|
+
%w[pip pip-python pip2 pip-2]
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -65,7 +65,7 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
65
65
|
def self.instances(target_command = nil)
|
66
66
|
if target_command
|
67
67
|
command = target_command
|
68
|
-
|
68
|
+
validate_command(command)
|
69
69
|
else
|
70
70
|
command = provider_command
|
71
71
|
end
|
@@ -74,7 +74,7 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
74
74
|
return packages unless command
|
75
75
|
|
76
76
|
command_options = ['freeze']
|
77
|
-
command_version =
|
77
|
+
command_version = pip_version(command)
|
78
78
|
if compare_pip_versions(command_version, '8.1.0') >= 0
|
79
79
|
command_options << '--all'
|
80
80
|
end
|
@@ -101,9 +101,12 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
101
101
|
|
102
102
|
# Parse lines of output from `pip freeze`, which are structured as:
|
103
103
|
# _package_==_version_ or _package_===_version_
|
104
|
+
# or _package_ @ someURL@_version_
|
104
105
|
def self.parse(line)
|
105
106
|
if line.chomp =~ /^([^=]+)===?([^=]+)$/
|
106
|
-
{ :ensure =>
|
107
|
+
{ :ensure => Regexp.last_match(2), :name => Regexp.last_match(1), :provider => name }
|
108
|
+
elsif line.chomp =~ /^([^@]+) @ [^@]+@(.+)$/
|
109
|
+
{ :ensure => Regexp.last_match(2), :name => Regexp.last_match(1), :provider => name }
|
107
110
|
end
|
108
111
|
end
|
109
112
|
|
@@ -116,7 +119,7 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
116
119
|
self.class.instances(command).each do |pkg|
|
117
120
|
return pkg.properties if @resource[:name].casecmp(pkg.name).zero?
|
118
121
|
end
|
119
|
-
|
122
|
+
nil
|
120
123
|
end
|
121
124
|
|
122
125
|
# Return latest version available for current package
|
@@ -133,12 +136,10 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
133
136
|
end
|
134
137
|
|
135
138
|
def self.compare_pip_versions(x, y)
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
Puppet::Util::Package.versioncmp(x, y)
|
141
|
-
end
|
139
|
+
Puppet::Util::Package::Version::Pip.compare(x, y)
|
140
|
+
rescue PIP_VERSION::ValidationFailure => ex
|
141
|
+
Puppet.debug("Cannot compare #{x} and #{y}. #{ex.message} Falling through default comparison mechanism.")
|
142
|
+
Puppet::Util::Package.versioncmp(x, y)
|
142
143
|
end
|
143
144
|
|
144
145
|
# Use pip CLI to look up versions from PyPI repositories,
|
@@ -166,12 +167,12 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
166
167
|
execpipe command_and_options do |process|
|
167
168
|
process.collect do |line|
|
168
169
|
# PIP OUTPUT: Could not find a version that satisfies the requirement example==versionplease (from versions: 1.2.3, 4.5.6)
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
return versionList
|
170
|
+
next unless line =~ /from versions: (.+)\)/
|
171
|
+
|
172
|
+
versionList = Regexp.last_match(1).split(', ').sort do |x, y|
|
173
|
+
self.class.compare_pip_versions(x, y)
|
174
174
|
end
|
175
|
+
return versionList
|
175
176
|
end
|
176
177
|
end
|
177
178
|
[]
|
@@ -182,17 +183,17 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
182
183
|
self.class.validate_command(command)
|
183
184
|
|
184
185
|
Dir.mktmpdir("puppet_pip") do |dir|
|
185
|
-
command_and_options = [self.class.quote(command), 'install',
|
186
|
+
command_and_options = [self.class.quote(command), 'install', (@resource[:name]).to_s, '-d', dir.to_s, '-v']
|
186
187
|
command_and_options << install_options if @resource[:install_options]
|
187
188
|
execpipe command_and_options do |process|
|
188
189
|
process.collect do |line|
|
189
190
|
# PIP OUTPUT: Using version 0.10.1 (newest of versions: 1.2.3, 4.5.6)
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
return versionList
|
191
|
+
next unless line =~ /Using version .+? \(newest of versions: (.+?)\)/
|
192
|
+
|
193
|
+
versionList = Regexp.last_match(1).split(', ').sort do |x, y|
|
194
|
+
self.class.compare_pip_versions(x, y)
|
195
195
|
end
|
196
|
+
return versionList
|
196
197
|
end
|
197
198
|
end
|
198
199
|
return []
|
@@ -216,7 +217,7 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
|
|
216
217
|
|
217
218
|
def get_install_command_options
|
218
219
|
should = @resource[:ensure]
|
219
|
-
command_options = %w
|
220
|
+
command_options = %w[install -q]
|
220
221
|
command_options += install_options if @resource[:install_options]
|
221
222
|
|
222
223
|
if @resource[:source]
|
@@ -53,7 +53,7 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
53
53
|
{ :status => 'known' }
|
54
54
|
else
|
55
55
|
raise ArgumentError, _('Unknown format %{resource_name}: %{full_flags}[%{bad_flag}]') %
|
56
|
-
{ resource_name:
|
56
|
+
{ resource_name: name, full_flags: flags, bad_flag: flags[0..0] }
|
57
57
|
end
|
58
58
|
).merge(
|
59
59
|
case flags[1..1]
|
@@ -63,7 +63,7 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
63
63
|
{}
|
64
64
|
else
|
65
65
|
raise ArgumentError, _('Unknown format %{resource_name}: %{full_flags}[%{bad_flag}]') %
|
66
|
-
{ resource_name:
|
66
|
+
{ resource_name: name, full_flags: flags, bad_flag: flags[1..1] }
|
67
67
|
end
|
68
68
|
)
|
69
69
|
end
|
@@ -93,7 +93,7 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
93
93
|
when /known/
|
94
94
|
{ :status => 'known' }
|
95
95
|
else
|
96
|
-
raise ArgumentError, _('Unknown format %{resource_name}: %{state}') % { resource_name:
|
96
|
+
raise ArgumentError, _('Unknown format %{resource_name}: %{state}') % { resource_name: name, state: state }
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
@@ -103,17 +103,17 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
103
103
|
(case line.chomp
|
104
104
|
# FMRI IFO
|
105
105
|
# pkg://omnios/SUNWcs@0.5.11,5.11-0.151008:20131204T022241Z ---
|
106
|
-
when %r
|
107
|
-
{ :publisher =>
|
106
|
+
when %r{^pkg://([^/]+)/([^@]+)@(\S+) +(...)$}
|
107
|
+
{ :publisher => Regexp.last_match(1), :name => Regexp.last_match(2), :ensure => Regexp.last_match(3) }.merge ifo_flag(Regexp.last_match(4))
|
108
108
|
|
109
109
|
# FMRI STATE UFOXI
|
110
110
|
# pkg://solaris/SUNWcs@0.5.11,5.11-0.151.0.1:20101105T001108Z installed u----
|
111
|
-
when %r
|
112
|
-
{ :publisher =>
|
111
|
+
when %r{^pkg://([^/]+)/([^@]+)@(\S+) +(\S+) +(.....)$}
|
112
|
+
{ :publisher => Regexp.last_match(1), :name => Regexp.last_match(2), :ensure => Regexp.last_match(3) }.merge pkg_state(Regexp.last_match(4)).merge(ufoxi_flag(Regexp.last_match(5)))
|
113
113
|
|
114
114
|
else
|
115
|
-
raise ArgumentError, _('Unknown line format %{resource_name}: %{parse_line}') % { resource_name:
|
116
|
-
end).merge({ :provider =>
|
115
|
+
raise ArgumentError, _('Unknown line format %{resource_name}: %{parse_line}') % { resource_name: name, parse_line: line }
|
116
|
+
end).merge({ :provider => name })
|
117
117
|
end
|
118
118
|
|
119
119
|
def hold
|
@@ -223,7 +223,7 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
223
223
|
def install(nofail = false)
|
224
224
|
name = @resource[:name]
|
225
225
|
should = @resource[:ensure]
|
226
|
-
is =
|
226
|
+
is = query
|
227
227
|
if is[:ensure].to_sym == :absent
|
228
228
|
command = 'install'
|
229
229
|
else
|
@@ -237,12 +237,12 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
237
237
|
unless should.is_a? Symbol
|
238
238
|
name += "@#{should}"
|
239
239
|
end
|
240
|
-
|
240
|
+
unhold if properties[:mark] == :hold
|
241
241
|
begin
|
242
242
|
tries = 1
|
243
243
|
# pkg install exits with code 7 when the image is currently in use by another process and cannot be modified
|
244
244
|
r = exec_cmd(command(:pkg), command, *args, name)
|
245
|
-
while r[:exit] == 7
|
245
|
+
while r[:exit] == 7
|
246
246
|
if tries > 4
|
247
247
|
raise Puppet::Error, _("Pkg could not install %{name} after %{tries} tries. Aborting run") % { name: name, tries: tries }
|
248
248
|
end
|
@@ -252,7 +252,7 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
252
252
|
r = exec_cmd(command(:pkg), command, *args, name)
|
253
253
|
end
|
254
254
|
ensure
|
255
|
-
|
255
|
+
hold if @resource[:mark] == :hold
|
256
256
|
end
|
257
257
|
return r if nofail
|
258
258
|
raise Puppet::Error, _("Unable to update %{package}") % { package: r[:out] } if r[:exit] != 0
|
@@ -267,11 +267,11 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
|
|
267
267
|
cmd << '-r'
|
268
268
|
end
|
269
269
|
cmd << @resource[:name]
|
270
|
-
|
270
|
+
unhold if properties[:mark] == :hold
|
271
271
|
begin
|
272
272
|
pkg cmd
|
273
273
|
rescue StandardError, LoadError => e
|
274
|
-
|
274
|
+
hold if properties[:mark] == :hold
|
275
275
|
raise e
|
276
276
|
end
|
277
277
|
end
|
@@ -77,7 +77,7 @@ Puppet::Type.type(:package).provide :pkgdmg, :parent => Puppet::Provider::Packag
|
|
77
77
|
end
|
78
78
|
|
79
79
|
unless source =~ /\.dmg$/i || source =~ /\.pkg$/i
|
80
|
-
raise Puppet::Error
|
80
|
+
raise Puppet::Error, _("Mac OS X PKG DMGs must specify a source string ending in .dmg or flat .pkg file")
|
81
81
|
end
|
82
82
|
|
83
83
|
require 'open-uri' # Dead code; this is never used. The File.open call 20-ish lines south of here used to be Kernel.open but changed in '09. -NF
|
@@ -85,19 +85,19 @@ Puppet::Type.type(:package).provide :pkgdmg, :parent => Puppet::Provider::Packag
|
|
85
85
|
tmpdir = Dir.mktmpdir
|
86
86
|
ext = /(\.dmg|\.pkg)$/i.match(source)[0]
|
87
87
|
begin
|
88
|
-
if %r{\A[A-Za-z][A-Za-z0-9
|
88
|
+
if %r{\A[A-Za-z][A-Za-z0-9+\-.]*://} =~ cached_source
|
89
89
|
cached_source = File.join(tmpdir, "#{name}#{ext}")
|
90
90
|
args = ["-o", cached_source, "-C", "-", "-L", "-s", "--fail", "--url", source]
|
91
91
|
if http_proxy_host and http_proxy_port
|
92
92
|
args << "--proxy" << "#{http_proxy_host}:#{http_proxy_port}"
|
93
|
-
elsif http_proxy_host and
|
93
|
+
elsif http_proxy_host and !http_proxy_port
|
94
94
|
args << "--proxy" << http_proxy_host
|
95
95
|
end
|
96
96
|
begin
|
97
97
|
curl(*args)
|
98
|
-
Puppet.debug "Success: curl transferred [#{name}] (via: curl #{args.join(
|
98
|
+
Puppet.debug "Success: curl transferred [#{name}] (via: curl #{args.join(' ')})"
|
99
99
|
rescue Puppet::ExecutionFailure
|
100
|
-
Puppet.debug "curl #{args.join(
|
100
|
+
Puppet.debug "curl #{args.join(' ')} did not transfer [#{name}]. Falling back to local file." # This used to fall back to open-uri. -NF
|
101
101
|
cached_source = source
|
102
102
|
end
|
103
103
|
end
|
@@ -107,7 +107,7 @@ Puppet::Type.type(:package).provide :pkgdmg, :parent => Puppet::Provider::Packag
|
|
107
107
|
File.open(cached_source) do |dmg|
|
108
108
|
xml_str = hdiutil "mount", "-plist", "-nobrowse", "-readonly", "-mountrandom", "/tmp", dmg.path
|
109
109
|
hdiutil_info = Puppet::Util::Plist.parse_plist(xml_str)
|
110
|
-
raise Puppet::Error
|
110
|
+
raise Puppet::Error, _("No disk entities returned by mount at %{path}") % { path: dmg.path } unless hdiutil_info.has_key?("system-entities")
|
111
111
|
|
112
112
|
mounts = hdiutil_info["system-entities"].filter_map { |entity|
|
113
113
|
entity["mount-point"]
|
@@ -137,21 +137,21 @@ Puppet::Type.type(:package).provide :pkgdmg, :parent => Puppet::Provider::Packag
|
|
137
137
|
def query
|
138
138
|
if Puppet::FileSystem.exist?("/var/db/.puppet_pkgdmg_installed_#{@resource[:name]}")
|
139
139
|
Puppet.debug "/var/db/.puppet_pkgdmg_installed_#{@resource[:name]} found"
|
140
|
-
|
140
|
+
{ :name => @resource[:name], :ensure => :present }
|
141
141
|
else
|
142
|
-
|
142
|
+
nil
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
146
146
|
def install
|
147
147
|
source = @resource[:source]
|
148
148
|
unless source
|
149
|
-
raise Puppet::Error
|
149
|
+
raise Puppet::Error, _("Mac OS X PKG DMGs must specify a package source.")
|
150
150
|
end
|
151
151
|
|
152
152
|
name = @resource[:name]
|
153
153
|
unless name
|
154
|
-
raise Puppet::Error
|
154
|
+
raise Puppet::Error, _("Mac OS X PKG DMGs must specify a package name.")
|
155
155
|
end
|
156
156
|
|
157
157
|
self.class.installpkgdmg(source, name)
|
@@ -77,9 +77,9 @@ Puppet::Type.type(:package).provide :pkgin, :parent => Puppet::Provider::Package
|
|
77
77
|
|
78
78
|
def latest
|
79
79
|
package = parse_pkgsearch_line.detect { |p| p[:status] == '<' }
|
80
|
-
return properties[:ensure]
|
80
|
+
return properties[:ensure] unless package
|
81
81
|
|
82
|
-
|
82
|
+
package[:ensure]
|
83
83
|
end
|
84
84
|
|
85
85
|
def update
|
@@ -64,7 +64,7 @@ Puppet::Type.type(:package).provide :pkgng, :parent => Puppet::Provider::Package
|
|
64
64
|
def self.instances
|
65
65
|
packages = []
|
66
66
|
begin
|
67
|
-
info =
|
67
|
+
info = get_query
|
68
68
|
get_version_list
|
69
69
|
|
70
70
|
unless info
|
@@ -76,9 +76,9 @@ Puppet::Type.type(:package).provide :pkgng, :parent => Puppet::Provider::Package
|
|
76
76
|
packages << new(hash)
|
77
77
|
end
|
78
78
|
|
79
|
-
|
79
|
+
packages
|
80
80
|
rescue Puppet::ExecutionFailure
|
81
|
-
|
81
|
+
[]
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
@@ -113,14 +113,14 @@ Puppet::Type.type(:package).provide :pkgng, :parent => Puppet::Provider::Package
|
|
113
113
|
# just 'curl'), drop the category prefix. pkgng doesn't support version
|
114
114
|
# pinning with the origin syntax (pkg install curl-1.2.3 is valid, but
|
115
115
|
# pkg install www/curl-1.2.3 is not).
|
116
|
-
if resource[:name] =~
|
116
|
+
if resource[:name] =~ %r{/}
|
117
117
|
installname = resource[:name].split('/')[1] + '-' + resource[:ensure]
|
118
118
|
else
|
119
119
|
installname = resource[:name] + '-' + resource[:ensure]
|
120
120
|
end
|
121
121
|
end
|
122
122
|
|
123
|
-
if
|
123
|
+
if !source # install using default repo logic
|
124
124
|
args = ['install', '-qy']
|
125
125
|
elsif source.scheme == 'urn' # install from repo named in URN
|
126
126
|
tag = repo_tag_from_urn(source.to_s)
|
@@ -27,7 +27,7 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d
|
|
27
27
|
conf.each_line { |line| correct_wgetopts = true if line =~ /^\s*wgetopts\s*=.*(-nv|-q|--no-verbose|--quiet)/ }
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
30
|
+
unless correct_wgetopts
|
31
31
|
Puppet.notice _("It is highly recommended that you set 'wgetopts=-nv' in your pkgutil.conf.")
|
32
32
|
end
|
33
33
|
end
|
@@ -50,11 +50,11 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d
|
|
50
50
|
|
51
51
|
# Create a second instance with the alias if it's different
|
52
52
|
pkgalias = aliases[pkg[:name]]
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
53
|
+
next unless pkgalias and pkg[:name] != pkgalias
|
54
|
+
|
55
|
+
apkg = pkg.dup
|
56
|
+
apkg[:name] = pkgalias
|
57
|
+
pkginsts << new(apkg)
|
58
58
|
end
|
59
59
|
|
60
60
|
pkginsts
|
@@ -70,7 +70,7 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d
|
|
70
70
|
next if noise?(line)
|
71
71
|
|
72
72
|
if line =~ /\s*(\S+)\s+(\S+)\s+(.*)/
|
73
|
-
{ :alias =>
|
73
|
+
{ :alias => Regexp.last_match(1), :name => Regexp.last_match(2), :avail => Regexp.last_match(3) }
|
74
74
|
else
|
75
75
|
Puppet.warning _("Cannot match %{line}") % { line: line }
|
76
76
|
end
|
@@ -105,11 +105,11 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d
|
|
105
105
|
# Single queries may have been for an alias so return the name requested
|
106
106
|
if list.any?
|
107
107
|
list[-1][:name] = hash[:justme]
|
108
|
-
|
108
|
+
list[-1]
|
109
109
|
end
|
110
110
|
else
|
111
111
|
list.reject! { |h| h[:ensure] == :absent }
|
112
|
-
|
112
|
+
list
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
@@ -127,25 +127,25 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d
|
|
127
127
|
def self.pkgsplit(line)
|
128
128
|
if line =~ /\s*(\S+)\s+(\S+)\s+(.*)/
|
129
129
|
hash = {}
|
130
|
-
hash[:name] =
|
131
|
-
hash[:ensure] = if
|
130
|
+
hash[:name] = Regexp.last_match(1)
|
131
|
+
hash[:ensure] = if Regexp.last_match(2) == "notinst"
|
132
132
|
:absent
|
133
133
|
else
|
134
|
-
|
134
|
+
Regexp.last_match(2)
|
135
135
|
end
|
136
|
-
hash[:avail] =
|
136
|
+
hash[:avail] = Regexp.last_match(3)
|
137
137
|
|
138
138
|
if hash[:avail] =~ /^SAME\s*$/
|
139
139
|
hash[:avail] = hash[:ensure]
|
140
140
|
end
|
141
141
|
|
142
142
|
# Use the name method, so it works with subclasses.
|
143
|
-
hash[:provider] =
|
143
|
+
hash[:provider] = name
|
144
144
|
|
145
|
-
|
145
|
+
hash
|
146
146
|
else
|
147
147
|
Puppet.warning _("Cannot match %{line}") % { line: line }
|
148
|
-
|
148
|
+
nil
|
149
149
|
end
|
150
150
|
end
|
151
151
|
|
@@ -172,11 +172,7 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d
|
|
172
172
|
|
173
173
|
def query
|
174
174
|
hash = pkgsingle(@resource)
|
175
|
-
|
176
|
-
hash
|
177
|
-
else
|
178
|
-
{ :ensure => :absent }
|
179
|
-
end
|
175
|
+
hash || { :ensure => :absent }
|
180
176
|
end
|
181
177
|
|
182
178
|
def update
|
@@ -27,46 +27,46 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
27
27
|
defaultfor 'os.family' => :gentoo
|
28
28
|
|
29
29
|
def self.instances
|
30
|
-
result_format =
|
31
|
-
result_fields =
|
32
|
-
|
33
|
-
limit =
|
34
|
-
version_format =
|
35
|
-
slot_versions_format =
|
36
|
-
installed_versions_format =
|
37
|
-
installable_versions_format =
|
30
|
+
result_format = eix_result_format
|
31
|
+
result_fields = eix_result_fields
|
32
|
+
|
33
|
+
limit = eix_limit
|
34
|
+
version_format = eix_version_format
|
35
|
+
slot_versions_format = eix_slot_versions_format
|
36
|
+
installed_versions_format = eix_installed_versions_format
|
37
|
+
installable_versions_format = eix_install_versions_format
|
38
38
|
begin
|
39
39
|
eix_file = File.directory?('/var/cache/eix') ? '/var/cache/eix/portage.eix' : '/var/cache/eix'
|
40
|
-
update_eix
|
40
|
+
update_eix unless FileUtils.uptodate?(eix_file, %w[/usr/bin/eix /usr/portage/metadata/timestamp])
|
41
41
|
|
42
42
|
search_output = nil
|
43
43
|
Puppet::Util.withenv :EIX_LIMIT => limit, :LASTVERSION => version_format, :LASTSLOTVERSIONS => slot_versions_format, :INSTALLEDVERSIONS => installed_versions_format, :STABLEVERSIONS => installable_versions_format do
|
44
|
-
search_output = eix(*(
|
44
|
+
search_output = eix(*(eix_search_arguments + ['--installed']))
|
45
45
|
end
|
46
46
|
|
47
47
|
packages = []
|
48
48
|
search_output.each_line do |search_result|
|
49
49
|
match = result_format.match(search_result)
|
50
50
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
package[:provider] = :portage
|
57
|
-
packages << new(package)
|
51
|
+
next unless match
|
52
|
+
|
53
|
+
package = {}
|
54
|
+
result_fields.zip(match.captures) do |field, value|
|
55
|
+
package[field] = value unless !value or value.empty?
|
58
56
|
end
|
57
|
+
package[:provider] = :portage
|
58
|
+
packages << new(package)
|
59
59
|
end
|
60
60
|
|
61
|
-
|
61
|
+
packages
|
62
62
|
rescue Puppet::ExecutionFailure => detail
|
63
|
-
raise Puppet::Error
|
63
|
+
raise Puppet::Error, detail
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
67
|
def install
|
68
68
|
should = @resource.should(:ensure)
|
69
|
-
cmd = %w
|
69
|
+
cmd = %w[]
|
70
70
|
name = qatom[:category] ? "#{qatom[:category]}/#{qatom[:pn]}" : qatom[:pn]
|
71
71
|
name = qatom[:pfx] + name if qatom[:pfx]
|
72
72
|
name = name + '-' + qatom[:pv] if qatom[:pv]
|
@@ -80,7 +80,7 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
80
80
|
|
81
81
|
def uninstall
|
82
82
|
should = @resource.should(:ensure)
|
83
|
-
cmd = %w
|
83
|
+
cmd = %w[--rage-clean]
|
84
84
|
name = qatom[:category] ? "#{qatom[:category]}/#{qatom[:pn]}" : qatom[:pn]
|
85
85
|
name = qatom[:pfx] + name if qatom[:pfx]
|
86
86
|
name = name + '-' + qatom[:pv] if qatom[:pv]
|
@@ -98,17 +98,17 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
98
98
|
end
|
99
99
|
|
100
100
|
def reinstall
|
101
|
-
|
101
|
+
install
|
102
102
|
end
|
103
103
|
|
104
104
|
def update
|
105
|
-
|
105
|
+
install
|
106
106
|
end
|
107
107
|
|
108
108
|
def qatom
|
109
|
-
output_format =
|
110
|
-
result_format =
|
111
|
-
result_fields =
|
109
|
+
output_format = qatom_output_format
|
110
|
+
result_format = qatom_result_format
|
111
|
+
result_fields = qatom_result_fields
|
112
112
|
@atom ||= begin
|
113
113
|
package_info = {}
|
114
114
|
# do the search
|
@@ -119,9 +119,9 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
119
119
|
when true, false, Symbol
|
120
120
|
search = @resource[:name]
|
121
121
|
else
|
122
|
-
search = '=' + @resource[:name] + '-' +
|
122
|
+
search = '=' + @resource[:name] + '-' + should.to_s
|
123
123
|
end
|
124
|
-
search_output = qatom_bin(*
|
124
|
+
search_output = qatom_bin(*[search, '--format', output_format])
|
125
125
|
# verify if the search found anything
|
126
126
|
match = result_format.match(search_output)
|
127
127
|
if match
|
@@ -138,7 +138,7 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
138
138
|
end
|
139
139
|
@atom = package_info
|
140
140
|
rescue Puppet::ExecutionFailure => detail
|
141
|
-
raise Puppet::Error
|
141
|
+
raise Puppet::Error, detail
|
142
142
|
end
|
143
143
|
end
|
144
144
|
|
@@ -147,7 +147,7 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
147
147
|
end
|
148
148
|
|
149
149
|
def qatom_result_format
|
150
|
-
|
150
|
+
/^"\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\](.*)"$/
|
151
151
|
end
|
152
152
|
|
153
153
|
def qatom_result_fields
|
@@ -155,9 +155,7 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
155
155
|
end
|
156
156
|
|
157
157
|
def self.get_sets
|
158
|
-
@sets ||=
|
159
|
-
@sets = emerge(*(['--list-sets']))
|
160
|
-
end
|
158
|
+
@sets ||= @sets = emerge(*['--list-sets'])
|
161
159
|
end
|
162
160
|
|
163
161
|
def query
|
@@ -181,12 +179,12 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
181
179
|
|
182
180
|
if @resource[:name] =~ /^@/
|
183
181
|
if package_sets.include?(@resource[:name][1..].to_s)
|
184
|
-
return({ :name =>
|
182
|
+
return({ :name => (@resource[:name]).to_s, :ensure => '9999', :version_available => nil, :installed_versions => nil, :installable_versions => "9999," })
|
185
183
|
end
|
186
184
|
end
|
187
185
|
|
188
186
|
eix_file = File.directory?('/var/cache/eix') ? '/var/cache/eix/portage.eix' : '/var/cache/eix'
|
189
|
-
update_eix
|
187
|
+
update_eix unless FileUtils.uptodate?(eix_file, %w[/usr/bin/eix /usr/portage/metadata/timestamp])
|
190
188
|
|
191
189
|
search_output = nil
|
192
190
|
Puppet::Util.withenv :EIX_LIMIT => limit, :LASTVERSION => version_format, :LASTSLOTVERSIONS => slot_versions_format, :INSTALLEDVERSIONS => installed_versions_format, :STABLEVERSIONS => installable_versions_format do
|
@@ -197,46 +195,46 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
197
195
|
search_output.each_line do |search_result|
|
198
196
|
match = result_format.match(search_result)
|
199
197
|
|
200
|
-
|
201
|
-
package = {}
|
202
|
-
result_fields.zip(match.captures) do |field, value|
|
203
|
-
package[field] = value unless !value or value.empty?
|
204
|
-
end
|
205
|
-
# dev-lang python [3.4.5] [3.5.2] [2.7.12:2.7,3.4.5:3.4] [2.7.12:2.7,3.4.5:3.4,3.5.2:3.5] https://www.python.org/ An interpreted, interactive, object-oriented programming language
|
206
|
-
# version_available is what we CAN install / update to
|
207
|
-
# ensure is what is currently installed
|
208
|
-
# This DOES NOT choose to install/upgrade or not, just provides current info
|
209
|
-
# prefer checking versions to slots as versions are finer grained
|
210
|
-
search = qatom[:pv]
|
211
|
-
search = search + '-' + qatom[:pr] if qatom[:pr]
|
212
|
-
if search
|
213
|
-
package[:version_available] = eix_get_version_for_versions(package[:installable_versions], search)
|
214
|
-
package[:ensure] = eix_get_version_for_versions(package[:installed_versions], search)
|
215
|
-
elsif qatom[:slot]
|
216
|
-
package[:version_available] = eix_get_version_for_slot(package[:slot_versions_available], qatom[:slot])
|
217
|
-
package[:ensure] = eix_get_version_for_slot(package[:installed_slots], qatom[:slot])
|
218
|
-
end
|
198
|
+
next unless match
|
219
199
|
|
220
|
-
|
221
|
-
|
200
|
+
package = {}
|
201
|
+
result_fields.zip(match.captures) do |field, value|
|
202
|
+
package[field] = value unless !value or value.empty?
|
222
203
|
end
|
204
|
+
# dev-lang python [3.4.5] [3.5.2] [2.7.12:2.7,3.4.5:3.4] [2.7.12:2.7,3.4.5:3.4,3.5.2:3.5] https://www.python.org/ An interpreted, interactive, object-oriented programming language
|
205
|
+
# version_available is what we CAN install / update to
|
206
|
+
# ensure is what is currently installed
|
207
|
+
# This DOES NOT choose to install/upgrade or not, just provides current info
|
208
|
+
# prefer checking versions to slots as versions are finer grained
|
209
|
+
search = qatom[:pv]
|
210
|
+
search = search + '-' + qatom[:pr] if qatom[:pr]
|
211
|
+
if search
|
212
|
+
package[:version_available] = eix_get_version_for_versions(package[:installable_versions], search)
|
213
|
+
package[:ensure] = eix_get_version_for_versions(package[:installed_versions], search)
|
214
|
+
elsif qatom[:slot]
|
215
|
+
package[:version_available] = eix_get_version_for_slot(package[:slot_versions_available], qatom[:slot])
|
216
|
+
package[:ensure] = eix_get_version_for_slot(package[:installed_slots], qatom[:slot])
|
217
|
+
end
|
218
|
+
|
219
|
+
package[:ensure] = package[:ensure] || :absent
|
220
|
+
packages << package
|
223
221
|
end
|
224
222
|
|
225
223
|
case packages.size
|
226
224
|
when 0
|
227
|
-
raise Puppet::Error
|
225
|
+
raise Puppet::Error, _("No package found with the specified name [%{name}]") % { name: @resource[:name] }
|
228
226
|
when 1
|
229
227
|
@eix_result = packages[0]
|
230
228
|
else
|
231
|
-
raise Puppet::Error
|
229
|
+
raise Puppet::Error, _("More than one package with the specified name [%{search_value}], please use the category parameter to disambiguate") % { search_value: search_value }
|
232
230
|
end
|
233
231
|
rescue Puppet::ExecutionFailure => detail
|
234
|
-
raise Puppet::Error
|
232
|
+
raise Puppet::Error, detail
|
235
233
|
end
|
236
234
|
end
|
237
235
|
|
238
236
|
def latest
|
239
|
-
|
237
|
+
query[:version_available]
|
240
238
|
end
|
241
239
|
|
242
240
|
private
|
@@ -303,7 +301,7 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
|
|
303
301
|
end
|
304
302
|
|
305
303
|
def self.eix_search_arguments
|
306
|
-
['--nocolor', '--pure-packages', '--format',
|
304
|
+
['--nocolor', '--pure-packages', '--format', eix_search_format]
|
307
305
|
end
|
308
306
|
|
309
307
|
def install_options
|