puppet 8.5.1-x64-mingw32 → 8.6.0-x64-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
@@ -45,10 +45,10 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
|
|
45
45
|
|
46
46
|
# Note: self:: is required here to keep these constants in the context of what will
|
47
47
|
# eventually become this Puppet::Type::Package::ProviderDpkg class.
|
48
|
-
self::DPKG_QUERY_FORMAT_STRING =
|
49
|
-
self::DPKG_QUERY_PROVIDES_FORMAT_STRING =
|
50
|
-
self::FIELDS_REGEX =
|
51
|
-
self::FIELDS_REGEX_WITH_PROVIDES =
|
48
|
+
self::DPKG_QUERY_FORMAT_STRING = "'${Status} ${Package} ${Version}\\n'"
|
49
|
+
self::DPKG_QUERY_PROVIDES_FORMAT_STRING = "'${Status} ${Package} ${Version} [${Provides}]\\n'"
|
50
|
+
self::FIELDS_REGEX = /^'?(\S+) +(\S+) +(\S+) (\S+) (\S*)$/
|
51
|
+
self::FIELDS_REGEX_WITH_PROVIDES = /^'?(\S+) +(\S+) +(\S+) (\S+) (\S*) \[.*\]$/
|
52
52
|
self::FIELDS = [:desired, :error, :status, :name, :ensure]
|
53
53
|
|
54
54
|
def self.defaultto_allow_virtual
|
@@ -69,11 +69,11 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
|
|
69
69
|
hash[field] = value
|
70
70
|
end
|
71
71
|
|
72
|
-
hash[:provider] =
|
72
|
+
hash[:provider] = name
|
73
73
|
|
74
74
|
if hash[:status] == 'not-installed'
|
75
75
|
hash[:ensure] = :purged
|
76
|
-
elsif [
|
76
|
+
elsif %w[config-files half-installed unpacked half-configured].include?(hash[:status])
|
77
77
|
hash[:ensure] = :absent
|
78
78
|
end
|
79
79
|
hash[:mark] = hash[:desired] == 'hold' ? :hold : :none
|
@@ -81,7 +81,7 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
|
|
81
81
|
Puppet.debug("Failed to match dpkg-query line #{line.inspect}")
|
82
82
|
end
|
83
83
|
|
84
|
-
|
84
|
+
hash
|
85
85
|
end
|
86
86
|
|
87
87
|
public
|
@@ -101,16 +101,16 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
|
|
101
101
|
end
|
102
102
|
args << '-i' << file
|
103
103
|
|
104
|
-
|
104
|
+
unhold if properties[:mark] == :hold
|
105
105
|
begin
|
106
106
|
dpkg(*args)
|
107
107
|
ensure
|
108
|
-
|
108
|
+
hold if @resource[:mark] == :hold
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
112
112
|
def update
|
113
|
-
|
113
|
+
install
|
114
114
|
end
|
115
115
|
|
116
116
|
# Return the version from the package.
|
@@ -159,9 +159,7 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
|
|
159
159
|
hash ||= { :ensure => :absent, :status => 'missing', :name => @resource[:name], :error => 'ok' }
|
160
160
|
|
161
161
|
if hash[:error] != "ok"
|
162
|
-
raise Puppet::Error
|
163
|
-
"Package #{hash[:name]}, version #{hash[:ensure]} is in error state: #{hash[:error]}"
|
164
|
-
)
|
162
|
+
raise Puppet::Error, "Package #{hash[:name]}, version #{hash[:ensure]} is in error state: #{hash[:error]}"
|
165
163
|
end
|
166
164
|
|
167
165
|
hash
|
@@ -24,7 +24,7 @@ Puppet::Type.type(:package).provide :fink, :parent => :dpkg, :source => :dpkg do
|
|
24
24
|
# Install a package using 'apt-get'. This function needs to support
|
25
25
|
# installing a specific version.
|
26
26
|
def install
|
27
|
-
|
27
|
+
run_preseed if @resource[:responsefile]
|
28
28
|
should = @resource.should(:ensure)
|
29
29
|
|
30
30
|
str = @resource[:name]
|
@@ -35,15 +35,15 @@ Puppet::Type.type(:package).provide :fink, :parent => :dpkg, :source => :dpkg do
|
|
35
35
|
# Add the package version
|
36
36
|
str += "=#{should}"
|
37
37
|
end
|
38
|
-
cmd = %w
|
38
|
+
cmd = %w[-b -q -y]
|
39
39
|
|
40
40
|
cmd << :install << str
|
41
41
|
|
42
|
-
|
42
|
+
unhold if properties[:mark] == :hold
|
43
43
|
begin
|
44
44
|
finkcmd(cmd)
|
45
45
|
ensure
|
46
|
-
|
46
|
+
hold if @resource[:mark] == :hold
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -52,10 +52,10 @@ Puppet::Type.type(:package).provide :fink, :parent => :dpkg, :source => :dpkg do
|
|
52
52
|
output = aptcache :policy, @resource[:name]
|
53
53
|
|
54
54
|
if output =~ /Candidate:\s+(\S+)\s/
|
55
|
-
|
55
|
+
Regexp.last_match(1)
|
56
56
|
else
|
57
|
-
|
58
|
-
|
57
|
+
err _("Could not find latest version")
|
58
|
+
nil
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -65,34 +65,34 @@ Puppet::Type.type(:package).provide :fink, :parent => :dpkg, :source => :dpkg do
|
|
65
65
|
def run_preseed
|
66
66
|
response = @resource[:responsefile]
|
67
67
|
if response && Puppet::FileSystem.exist?(response)
|
68
|
-
|
68
|
+
info(_("Preseeding %{response} to debconf-set-selections") % { response: response })
|
69
69
|
|
70
70
|
preseed response
|
71
71
|
else
|
72
|
-
|
72
|
+
info _("No responsefile specified or non existent, not preseeding anything")
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
76
|
def update
|
77
|
-
|
77
|
+
install
|
78
78
|
end
|
79
79
|
|
80
80
|
def uninstall
|
81
|
-
|
81
|
+
unhold if properties[:mark] == :hold
|
82
82
|
begin
|
83
83
|
finkcmd "-y", "-q", :remove, @model[:name]
|
84
84
|
rescue StandardError, LoadError => e
|
85
|
-
|
85
|
+
hold if properties[:mark] == :hold
|
86
86
|
raise e
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
90
|
def purge
|
91
|
-
|
91
|
+
unhold if properties[:mark] == :hold
|
92
92
|
begin
|
93
93
|
aptget '-y', '-q', 'remove', '--purge', @resource[:name]
|
94
94
|
rescue StandardError, LoadError => e
|
95
|
-
|
95
|
+
hold if properties[:mark] == :hold
|
96
96
|
raise e
|
97
97
|
end
|
98
98
|
end
|
@@ -18,7 +18,7 @@ Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def install
|
21
|
-
if @resource[:source] =~
|
21
|
+
if @resource[:source] =~ %r{/$}
|
22
22
|
if @resource[:source] =~ /^(ftp|https?):/
|
23
23
|
Puppet::Util.withenv :PACKAGESITE => @resource[:source] do
|
24
24
|
pkgadd "-r", @resource[:name]
|
@@ -126,9 +126,9 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
126
126
|
end
|
127
127
|
|
128
128
|
if options[:justme]
|
129
|
-
|
129
|
+
list.shift
|
130
130
|
else
|
131
|
-
|
131
|
+
list
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
@@ -140,8 +140,8 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
140
140
|
# so we don't need to check for them
|
141
141
|
|
142
142
|
if desc =~ /^(\S+)\s+\((.+)\)/
|
143
|
-
gem_name =
|
144
|
-
versions =
|
143
|
+
gem_name = Regexp.last_match(1)
|
144
|
+
versions = Regexp.last_match(2).sub('default: ', '').split(/,\s*/)
|
145
145
|
{
|
146
146
|
:name => gem_name,
|
147
147
|
:ensure => versions.map { |v| v.split[0] },
|
@@ -168,12 +168,10 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
168
168
|
end
|
169
169
|
|
170
170
|
return is.any? do |version|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
false
|
176
|
-
end
|
171
|
+
should_range.include?(GEM_VERSION.parse(version))
|
172
|
+
rescue GEM_VERSION::ValidationFailure
|
173
|
+
Puppet.debug("Cannot parse #{version} as a ruby gem version")
|
174
|
+
false
|
177
175
|
end
|
178
176
|
end
|
179
177
|
|
@@ -211,7 +209,7 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
211
209
|
end
|
212
210
|
|
213
211
|
if Puppet::Util::Platform.windows?
|
214
|
-
command_options << "-v" << %Q
|
212
|
+
command_options << "-v" << %Q("#{should}") if useversion && !should.is_a?(Symbol)
|
215
213
|
elsif useversion && !should.is_a?(Symbol)
|
216
214
|
command_options << "-v" << should
|
217
215
|
end
|
@@ -238,14 +236,14 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
238
236
|
command_options << uri.path
|
239
237
|
when 'puppet'
|
240
238
|
# we don't support puppet:// URLs (yet)
|
241
|
-
raise Puppet::Error
|
239
|
+
raise Puppet::Error, _("puppet:// URLs are not supported as gem sources")
|
242
240
|
else
|
243
241
|
# check whether it's an absolute file path to help Windows out
|
244
242
|
if Puppet::Util.absolute_path?(source)
|
245
243
|
command_options << source
|
246
244
|
else
|
247
245
|
# interpret it as a gem repository
|
248
|
-
command_options << "--source" <<
|
246
|
+
command_options << "--source" << source.to_s << resource[:name]
|
249
247
|
end
|
250
248
|
end
|
251
249
|
else
|
@@ -284,7 +282,7 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
284
282
|
end
|
285
283
|
|
286
284
|
def update
|
287
|
-
|
285
|
+
install(false)
|
288
286
|
end
|
289
287
|
|
290
288
|
def install_options
|
@@ -44,7 +44,7 @@ Puppet::Type.type(:package).provide :macports, :parent => Puppet::Provider::Pack
|
|
44
44
|
fields.zip(match.captures) { |field, value|
|
45
45
|
hash[field] = value
|
46
46
|
}
|
47
|
-
hash[:provider] =
|
47
|
+
hash[:provider] = name
|
48
48
|
return hash
|
49
49
|
end
|
50
50
|
nil
|
@@ -76,7 +76,7 @@ Puppet::Type.type(:package).provide :macports, :parent => Puppet::Provider::Pack
|
|
76
76
|
result = self.class.parse_installed_query_line(execute([command(:port), "-q", :installed, @resource[:name]], :failonfail => false, :combine => false))
|
77
77
|
return {} if result.nil?
|
78
78
|
|
79
|
-
|
79
|
+
result
|
80
80
|
end
|
81
81
|
|
82
82
|
def latest
|
@@ -81,7 +81,7 @@ Puppet::Type.type(:package).provide :nim, :parent => :aix, :source => :aix do
|
|
81
81
|
# switch back to the metaprogrammed stuff, and just parse all of the output
|
82
82
|
# in Ruby... but we'd be doing an awful lot of unnecessary work.
|
83
83
|
showres_command = "/usr/sbin/nimclient -o showres -a resource=#{source} |/usr/bin/grep -p -E "
|
84
|
-
if
|
84
|
+
if version_specified
|
85
85
|
version = @resource.should(:ensure)
|
86
86
|
showres_command << "'#{Regexp.escape(pkg)}( |-)#{Regexp.escape(version)}'"
|
87
87
|
else
|
@@ -90,13 +90,13 @@ Puppet::Type.type(:package).provide :nim, :parent => :aix, :source => :aix do
|
|
90
90
|
end
|
91
91
|
output = Puppet::Util::Execution.execute(showres_command)
|
92
92
|
|
93
|
-
if
|
93
|
+
if version_specified
|
94
94
|
package_type = determine_package_type(output, pkg, version)
|
95
95
|
else
|
96
96
|
package_type, version = determine_latest_version(output, pkg)
|
97
97
|
end
|
98
98
|
|
99
|
-
if
|
99
|
+
if package_type.nil?
|
100
100
|
|
101
101
|
errmsg = if version_specified
|
102
102
|
_("Unable to find package '%{package}' with version '%{version}' on lpp_source '%{source}'") %
|
@@ -112,10 +112,10 @@ Puppet::Type.type(:package).provide :nim, :parent => :aix, :source => :aix do
|
|
112
112
|
# to add that value to our installation command. However, if there is only
|
113
113
|
# one version of the package available, `version` will be set to `nil`, and
|
114
114
|
# we don't need to add the version string to the command.
|
115
|
-
if
|
115
|
+
if version
|
116
116
|
# Now we know if the package type is RPM or not, and we can adjust our
|
117
117
|
# `pkg` string for passing to the install command accordingly.
|
118
|
-
if
|
118
|
+
if package_type == :rpm
|
119
119
|
# RPMs expect a hyphen between the package name and the version number
|
120
120
|
version_separator = "-"
|
121
121
|
else
|
@@ -202,7 +202,7 @@ Puppet::Type.type(:package).provide :nim, :parent => :aix, :source => :aix do
|
|
202
202
|
# leading or trailing whitespace (including newlines) from the resulting
|
203
203
|
# strings and then returns them as an array.
|
204
204
|
def split_into_paragraphs(showres_output)
|
205
|
-
showres_output.split(/^\s*$/).map
|
205
|
+
showres_output.split(/^\s*$/).map(&:strip!)
|
206
206
|
end
|
207
207
|
|
208
208
|
def parse_showres_header_line(line)
|
@@ -269,19 +269,19 @@ Puppet::Type.type(:package).provide :nim, :parent => :aix, :source => :aix do
|
|
269
269
|
return nil
|
270
270
|
end
|
271
271
|
|
272
|
-
if
|
272
|
+
if packages[package_name].count == 1
|
273
273
|
version = packages[package_name].keys[0]
|
274
|
-
|
274
|
+
[packages[package_name][version], nil]
|
275
275
|
else
|
276
276
|
versions = packages[package_name].keys
|
277
277
|
latest_version = (versions.sort { |a, b| Puppet::Util::Package.versioncmp(b, a) })[0]
|
278
|
-
|
278
|
+
[packages[package_name][latest_version], latest_version]
|
279
279
|
end
|
280
280
|
end
|
281
281
|
|
282
282
|
def determine_package_type(showres_output, package_name, version)
|
283
283
|
packages = parse_showres_output(showres_output)
|
284
|
-
unless
|
284
|
+
unless packages.has_key?(package_name) and packages[package_name].has_key?(version)
|
285
285
|
return nil
|
286
286
|
end
|
287
287
|
|
@@ -30,7 +30,7 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
|
|
30
30
|
begin
|
31
31
|
execpipe(listcmd) do |process|
|
32
32
|
# our regex for matching pkg_info output
|
33
|
-
regex = /^(.*)-(\d[^-]*)
|
33
|
+
regex = /^(.*)-(\d[^-]*)-?([\w-]*)(.*)$/
|
34
34
|
fields = [:name, :ensure, :flavor]
|
35
35
|
hash = {}
|
36
36
|
|
@@ -42,7 +42,7 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
|
|
42
42
|
hash[field] = value
|
43
43
|
}
|
44
44
|
|
45
|
-
hash[:provider] =
|
45
|
+
hash[:provider] = name
|
46
46
|
|
47
47
|
packages << new(hash)
|
48
48
|
hash = {}
|
@@ -56,9 +56,9 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
|
|
56
56
|
}
|
57
57
|
end
|
58
58
|
|
59
|
-
|
59
|
+
packages
|
60
60
|
rescue Puppet::ExecutionFailure
|
61
|
-
|
61
|
+
nil
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -89,35 +89,35 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
|
|
89
89
|
return version
|
90
90
|
else
|
91
91
|
# Remove all fuzzy matches first.
|
92
|
-
output = output.split.select { |p| p =~ /^#{resource[:name]}-(\d[^-]*)
|
92
|
+
output = output.split.select { |p| p =~ /^#{resource[:name]}-(\d[^-]*)-?(\w*)/ }.join
|
93
93
|
debug "pkg_info -Q for #{resource[:name]}: #{output}"
|
94
94
|
end
|
95
95
|
|
96
|
-
if output =~ /^#{resource[:name]}-(\d[^-]*)
|
96
|
+
if output =~ /^#{resource[:name]}-(\d[^-]*)-?(\w*) \(installed\)$/
|
97
97
|
debug "Package is already the latest available"
|
98
|
-
|
98
|
+
version
|
99
99
|
else
|
100
|
-
match = /^(.*)-(\d[^-]*)
|
100
|
+
match = /^(.*)-(\d[^-]*)-?(\w*)$/.match(output)
|
101
101
|
debug "Latest available for #{resource[:name]}: #{match[2]}"
|
102
102
|
|
103
103
|
if version.to_sym == :absent || version.to_sym == :purged
|
104
104
|
return match[2]
|
105
105
|
end
|
106
106
|
|
107
|
-
vcmp = version.split('.').map
|
107
|
+
vcmp = version.split('.').map(&:to_i) <=> match[2].split('.').map(&:to_i)
|
108
108
|
if vcmp > 0
|
109
109
|
# The locally installed package may actually be newer than what a mirror
|
110
110
|
# has. Log it at debug, but ignore it otherwise.
|
111
111
|
debug "Package #{resource[:name]} #{version} newer then available #{match[2]}"
|
112
|
-
|
112
|
+
version
|
113
113
|
else
|
114
|
-
|
114
|
+
match[2]
|
115
115
|
end
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
119
|
def update
|
120
|
-
|
120
|
+
install(true)
|
121
121
|
end
|
122
122
|
|
123
123
|
def parse_pkgconf
|
@@ -201,19 +201,19 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
|
|
201
201
|
def get_version
|
202
202
|
execpipe([command(:pkginfo), "-I", @resource[:name]]) do |process|
|
203
203
|
# our regex for matching pkg_info output
|
204
|
-
regex = /^(.*)-(\d[^-]*)
|
204
|
+
regex = /^(.*)-(\d[^-]*)-?(\w*)(.*)$/
|
205
205
|
master_version = 0
|
206
206
|
version = -1
|
207
207
|
|
208
208
|
process.each_line do |line|
|
209
209
|
match = regex.match(line.split[0])
|
210
|
-
|
211
|
-
# now we return the first version, unless ensure is latest
|
212
|
-
version = match.captures[1]
|
213
|
-
return version unless @resource[:ensure] == "latest"
|
210
|
+
next unless match
|
214
211
|
|
215
|
-
|
216
|
-
|
212
|
+
# now we return the first version, unless ensure is latest
|
213
|
+
version = match.captures[1]
|
214
|
+
return version unless @resource[:ensure] == "latest"
|
215
|
+
|
216
|
+
master_version = version unless master_version > version
|
217
217
|
end
|
218
218
|
|
219
219
|
return master_version unless master_version == 0
|
@@ -222,15 +222,15 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
|
|
222
222
|
raise Puppet::Error, _("%{version} is not available for this package") % { version: version }
|
223
223
|
end
|
224
224
|
rescue Puppet::ExecutionFailure
|
225
|
-
|
225
|
+
nil
|
226
226
|
end
|
227
227
|
|
228
228
|
def query
|
229
229
|
# Search for the version info
|
230
230
|
if pkginfo(@resource[:name]) =~ /Information for (inst:)?#{@resource[:name]}-(\S+)/
|
231
|
-
|
231
|
+
{ :ensure => Regexp.last_match(2) }
|
232
232
|
else
|
233
|
-
|
233
|
+
nil
|
234
234
|
end
|
235
235
|
end
|
236
236
|
|
@@ -13,7 +13,7 @@ Puppet::Type.type(:package).provide :opkg, :source => :opkg, :parent => Puppet::
|
|
13
13
|
def self.instances
|
14
14
|
packages = []
|
15
15
|
execpipe("#{command(:opkg)} list-installed") do |process|
|
16
|
-
regex =
|
16
|
+
regex = /^(\S+) - (\S+)/
|
17
17
|
fields = [:name, :ensure]
|
18
18
|
hash = {}
|
19
19
|
|
@@ -21,7 +21,7 @@ Puppet::Type.type(:package).provide :opkg, :source => :opkg, :parent => Puppet::
|
|
21
21
|
match = regex.match(line)
|
22
22
|
if match
|
23
23
|
fields.zip(match.captures) { |field, value| hash[field] = value }
|
24
|
-
hash[:provider] =
|
24
|
+
hash[:provider] = name
|
25
25
|
packages << new(hash)
|
26
26
|
hash = {}
|
27
27
|
else
|
@@ -31,7 +31,7 @@ Puppet::Type.type(:package).provide :opkg, :source => :opkg, :parent => Puppet::
|
|
31
31
|
end
|
32
32
|
packages
|
33
33
|
rescue Puppet::ExecutionFailure
|
34
|
-
|
34
|
+
nil
|
35
35
|
end
|
36
36
|
|
37
37
|
def latest
|
@@ -57,19 +57,19 @@ Puppet::Type.type(:package).provide :opkg, :source => :opkg, :parent => Puppet::
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def update
|
60
|
-
|
60
|
+
install
|
61
61
|
end
|
62
62
|
|
63
63
|
def query
|
64
64
|
# list out our specific package
|
65
65
|
output = opkg('list-installed', @resource[:name])
|
66
66
|
if output =~ /^(\S+) - (\S+)/
|
67
|
-
return { :ensure =>
|
67
|
+
return { :ensure => Regexp.last_match(2) }
|
68
68
|
end
|
69
69
|
|
70
70
|
nil
|
71
71
|
rescue Puppet::ExecutionFailure
|
72
|
-
|
72
|
+
{
|
73
73
|
:ensure => :purged,
|
74
74
|
:status => 'missing',
|
75
75
|
:name => @resource[:name],
|
@@ -25,15 +25,14 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
25
25
|
has_feature :uninstall_options
|
26
26
|
has_feature :upgradeable
|
27
27
|
has_feature :virtual_packages
|
28
|
+
has_feature :purgeable
|
28
29
|
|
29
30
|
# Checks if a given name is a group
|
30
31
|
def self.group?(name)
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
false
|
36
|
-
end
|
32
|
+
!pacman("-Sg", name).empty?
|
33
|
+
rescue Puppet::ExecutionFailure
|
34
|
+
# pacman returns an expected non-zero exit code when the name is not a group
|
35
|
+
false
|
37
36
|
end
|
38
37
|
|
39
38
|
# Install a package using 'pacman', or 'yaourt' if available.
|
@@ -46,7 +45,7 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
46
45
|
install_from_repo
|
47
46
|
end
|
48
47
|
|
49
|
-
unless
|
48
|
+
unless query
|
50
49
|
fail(_("Could not find package '%{name}'") % { name: @resource[:name] })
|
51
50
|
end
|
52
51
|
end
|
@@ -74,24 +73,22 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
74
73
|
|
75
74
|
# returns a hash package => version of installed packages
|
76
75
|
def self.get_installed_packages
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
warning(_("Failed to match line '%{line}'") % { line: line })
|
88
|
-
end
|
76
|
+
packages = {}
|
77
|
+
execpipe([command(:pacman), "-Q"]) do |pipe|
|
78
|
+
# pacman -Q output is 'packagename version-rel'
|
79
|
+
regex = /^(\S+)\s(\S+)/
|
80
|
+
pipe.each_line do |line|
|
81
|
+
match = regex.match(line)
|
82
|
+
if match
|
83
|
+
packages[match.captures[0]] = match.captures[1]
|
84
|
+
else
|
85
|
+
warning(_("Failed to match line '%{line}'") % { line: line })
|
89
86
|
end
|
90
87
|
end
|
91
|
-
packages
|
92
|
-
rescue Puppet::ExecutionFailure
|
93
|
-
fail(_("Error getting installed packages"))
|
94
88
|
end
|
89
|
+
packages
|
90
|
+
rescue Puppet::ExecutionFailure
|
91
|
+
fail(_("Error getting installed packages"))
|
95
92
|
end
|
96
93
|
|
97
94
|
# returns a hash of group => version of installed groups
|
@@ -129,7 +126,7 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
129
126
|
# should always result in the newest release.
|
130
127
|
def update
|
131
128
|
# Install in pacman can be used for update, too
|
132
|
-
|
129
|
+
install
|
133
130
|
end
|
134
131
|
|
135
132
|
# We rescue the main check from Pacman with a check on the AUR using yaourt, if installed
|
@@ -137,7 +134,7 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
137
134
|
resource_name = @resource[:name]
|
138
135
|
|
139
136
|
# If target is a group, construct the group version
|
140
|
-
return pacman("-Sp", "--print-format", "%n %v", resource_name).lines.map
|
137
|
+
return pacman("-Sp", "--print-format", "%n %v", resource_name).lines.map(&:chomp).sort.join(', ') if self.class.group?(resource_name)
|
141
138
|
|
142
139
|
# Start by querying with pacman first
|
143
140
|
# If that fails, retry using yaourt against the AUR
|
@@ -145,7 +142,7 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
145
142
|
begin
|
146
143
|
if pacman_check
|
147
144
|
output = pacman "-Sp", "--print-format", "%v", resource_name
|
148
|
-
|
145
|
+
output.chomp
|
149
146
|
else
|
150
147
|
output = yaourt "-Qma", resource_name
|
151
148
|
output.split("\n").each do |line|
|
@@ -195,16 +192,27 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
195
192
|
|
196
193
|
# Removes a package from the system.
|
197
194
|
def uninstall
|
195
|
+
remove_package(false)
|
196
|
+
end
|
197
|
+
|
198
|
+
def purge
|
199
|
+
remove_package(true)
|
200
|
+
end
|
201
|
+
|
202
|
+
private
|
203
|
+
|
204
|
+
def remove_package(purge_configs = false)
|
198
205
|
resource_name = @resource[:name]
|
199
206
|
|
200
207
|
is_group = self.class.group?(resource_name)
|
201
208
|
|
202
209
|
fail(_("Refusing to uninstall package group %{resource_name}, because allow_virtual is false.") % { resource_name: resource_name }) if is_group && !@resource.allow_virtual?
|
203
210
|
|
204
|
-
cmd = %w
|
211
|
+
cmd = %w[--noconfirm --noprogressbar]
|
205
212
|
cmd += uninstall_options if @resource[:uninstall_options]
|
206
213
|
cmd << "-R"
|
207
214
|
cmd << '-s' if is_group
|
215
|
+
cmd << '--nosave' if purge_configs
|
208
216
|
cmd << resource_name
|
209
217
|
|
210
218
|
if self.class.yaourt?
|
@@ -214,8 +222,6 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
214
222
|
end
|
215
223
|
end
|
216
224
|
|
217
|
-
private
|
218
|
-
|
219
225
|
def install_options
|
220
226
|
join_options(@resource[:install_options])
|
221
227
|
end
|
@@ -252,7 +258,7 @@ Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Packag
|
|
252
258
|
# Refuse to install if not allowing virtual packages and the resource is a group
|
253
259
|
fail(_("Refusing to install package group %{resource_name}, because allow_virtual is false.") % { resource_name: resource_name }) if self.class.group?(resource_name) && !@resource.allow_virtual?
|
254
260
|
|
255
|
-
cmd = %w
|
261
|
+
cmd = %w[--noconfirm --needed --noprogressbar]
|
256
262
|
cmd += install_options if @resource[:install_options]
|
257
263
|
cmd << "-S" << resource_name
|
258
264
|
|