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.
Files changed (542) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -20
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  216. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  217. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  218. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  219. data/lib/puppet/pops/functions/function.rb +14 -16
  220. data/lib/puppet/pops/issue_reporter.rb +2 -2
  221. data/lib/puppet/pops/label_provider.rb +2 -2
  222. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  223. data/lib/puppet/pops/loader/loader.rb +4 -4
  224. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  225. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  226. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  227. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  229. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  230. data/lib/puppet/pops/loaders.rb +3 -3
  231. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  232. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  233. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  234. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  235. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  236. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  237. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  239. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  240. data/lib/puppet/pops/merge_strategy.rb +6 -6
  241. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  242. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  243. data/lib/puppet/pops/model/factory.rb +4 -5
  244. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  245. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  246. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  247. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  248. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  249. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  250. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  251. data/lib/puppet/pops/parser/locator.rb +4 -4
  252. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  253. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  254. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  255. data/lib/puppet/pops/patterns.rb +12 -12
  256. data/lib/puppet/pops/pcore.rb +1 -1
  257. data/lib/puppet/pops/pn.rb +2 -2
  258. data/lib/puppet/pops/puppet_stack.rb +1 -1
  259. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  260. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  261. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  262. data/lib/puppet/pops/time/timestamp.rb +1 -1
  263. data/lib/puppet/pops/types/class_loader.rb +4 -6
  264. data/lib/puppet/pops/types/iterable.rb +1 -1
  265. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  266. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  268. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  269. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  270. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  272. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  273. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  274. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  275. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  276. data/lib/puppet/pops/types/string_converter.rb +12 -8
  277. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  278. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  279. data/lib/puppet/pops/types/type_factory.rb +7 -3
  280. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  281. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  282. data/lib/puppet/pops/types/types.rb +28 -24
  283. data/lib/puppet/pops/utils.rb +38 -42
  284. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  285. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  286. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  287. data/lib/puppet/pops/validation.rb +4 -4
  288. data/lib/puppet/pops/visitor.rb +2 -2
  289. data/lib/puppet/property/ensure.rb +12 -14
  290. data/lib/puppet/property/keyvalue.rb +4 -4
  291. data/lib/puppet/property/list.rb +4 -4
  292. data/lib/puppet/property/ordered_list.rb +1 -1
  293. data/lib/puppet/property.rb +31 -33
  294. data/lib/puppet/provider/exec.rb +2 -2
  295. data/lib/puppet/provider/file/posix.rb +19 -17
  296. data/lib/puppet/provider/file/windows.rb +13 -19
  297. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  298. data/lib/puppet/provider/group/groupadd.rb +4 -4
  299. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  300. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  301. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  302. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  303. data/lib/puppet/provider/nameservice.rb +8 -8
  304. data/lib/puppet/provider/package/aix.rb +19 -19
  305. data/lib/puppet/provider/package/appdmg.rb +2 -2
  306. data/lib/puppet/provider/package/apple.rb +1 -1
  307. data/lib/puppet/provider/package/apt.rb +18 -18
  308. data/lib/puppet/provider/package/aptitude.rb +1 -3
  309. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  310. data/lib/puppet/provider/package/blastwave.rb +10 -14
  311. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  312. data/lib/puppet/provider/package/dpkg.rb +11 -13
  313. data/lib/puppet/provider/package/fink.rb +14 -14
  314. data/lib/puppet/provider/package/freebsd.rb +1 -1
  315. data/lib/puppet/provider/package/gem.rb +12 -14
  316. data/lib/puppet/provider/package/macports.rb +2 -2
  317. data/lib/puppet/provider/package/nim.rb +10 -10
  318. data/lib/puppet/provider/package/openbsd.rb +22 -22
  319. data/lib/puppet/provider/package/opkg.rb +6 -6
  320. data/lib/puppet/provider/package/pacman.rb +35 -29
  321. data/lib/puppet/provider/package/pip.rb +25 -24
  322. data/lib/puppet/provider/package/pkg.rb +15 -15
  323. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  324. data/lib/puppet/provider/package/pkgin.rb +2 -2
  325. data/lib/puppet/provider/package/pkgng.rb +5 -5
  326. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  327. data/lib/puppet/provider/package/portage.rb +59 -61
  328. data/lib/puppet/provider/package/ports.rb +12 -11
  329. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  330. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  331. data/lib/puppet/provider/package/rpm.rb +26 -26
  332. data/lib/puppet/provider/package/rug.rb +7 -9
  333. data/lib/puppet/provider/package/sun.rb +4 -4
  334. data/lib/puppet/provider/package/up2date.rb +5 -7
  335. data/lib/puppet/provider/package/urpmi.rb +6 -6
  336. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  337. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  338. data/lib/puppet/provider/package/windows/package.rb +2 -2
  339. data/lib/puppet/provider/package/windows.rb +3 -5
  340. data/lib/puppet/provider/package/yum.rb +33 -37
  341. data/lib/puppet/provider/package/zypper.rb +12 -14
  342. data/lib/puppet/provider/package.rb +1 -1
  343. data/lib/puppet/provider/package_targetable.rb +1 -1
  344. data/lib/puppet/provider/parsedfile.rb +9 -9
  345. data/lib/puppet/provider/service/base.rb +16 -21
  346. data/lib/puppet/provider/service/bsd.rb +4 -4
  347. data/lib/puppet/provider/service/daemontools.rb +31 -31
  348. data/lib/puppet/provider/service/debian.rb +6 -6
  349. data/lib/puppet/provider/service/freebsd.rb +36 -36
  350. data/lib/puppet/provider/service/gentoo.rb +6 -6
  351. data/lib/puppet/provider/service/init.rb +19 -19
  352. data/lib/puppet/provider/service/launchd.rb +22 -22
  353. data/lib/puppet/provider/service/openbsd.rb +10 -10
  354. data/lib/puppet/provider/service/openrc.rb +1 -1
  355. data/lib/puppet/provider/service/openwrt.rb +3 -3
  356. data/lib/puppet/provider/service/rcng.rb +3 -3
  357. data/lib/puppet/provider/service/redhat.rb +4 -4
  358. data/lib/puppet/provider/service/runit.rb +6 -6
  359. data/lib/puppet/provider/service/service.rb +5 -7
  360. data/lib/puppet/provider/service/smf.rb +28 -27
  361. data/lib/puppet/provider/service/src.rb +7 -7
  362. data/lib/puppet/provider/service/systemd.rb +31 -37
  363. data/lib/puppet/provider/service/upstart.rb +17 -17
  364. data/lib/puppet/provider/service/windows.rb +7 -7
  365. data/lib/puppet/provider/user/aix.rb +4 -2
  366. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  367. data/lib/puppet/provider/user/hpux.rb +10 -14
  368. data/lib/puppet/provider/user/pw.rb +1 -1
  369. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  370. data/lib/puppet/provider/user/useradd.rb +7 -7
  371. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  372. data/lib/puppet/provider.rb +8 -8
  373. data/lib/puppet/reference/indirection.rb +3 -0
  374. data/lib/puppet/reference/metaparameter.rb +1 -1
  375. data/lib/puppet/reference/providers.rb +3 -3
  376. data/lib/puppet/reference/type.rb +1 -1
  377. data/lib/puppet/relationship.rb +4 -5
  378. data/lib/puppet/reports/http.rb +1 -1
  379. data/lib/puppet/reports/log.rb +2 -2
  380. data/lib/puppet/reports/store.rb +4 -4
  381. data/lib/puppet/reports.rb +2 -2
  382. data/lib/puppet/resource/catalog.rb +16 -16
  383. data/lib/puppet/resource/status.rb +3 -3
  384. data/lib/puppet/resource/type.rb +8 -8
  385. data/lib/puppet/resource/type_collection.rb +1 -1
  386. data/lib/puppet/resource.rb +41 -41
  387. data/lib/puppet/scheduler/scheduler.rb +1 -1
  388. data/lib/puppet/settings/alias_setting.rb +3 -5
  389. data/lib/puppet/settings/base_setting.rb +11 -11
  390. data/lib/puppet/settings/boolean_setting.rb +2 -2
  391. data/lib/puppet/settings/config_file.rb +5 -4
  392. data/lib/puppet/settings/duration_setting.rb +2 -2
  393. data/lib/puppet/settings/environment_conf.rb +3 -3
  394. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  395. data/lib/puppet/settings/file_setting.rb +11 -11
  396. data/lib/puppet/settings/ini_file.rb +3 -3
  397. data/lib/puppet/settings/port_setting.rb +1 -1
  398. data/lib/puppet/settings/priority_setting.rb +2 -2
  399. data/lib/puppet/settings/ttl_setting.rb +2 -2
  400. data/lib/puppet/settings/value_translator.rb +8 -8
  401. data/lib/puppet/settings.rb +65 -70
  402. data/lib/puppet/ssl/base.rb +2 -4
  403. data/lib/puppet/ssl/certificate_request.rb +18 -22
  404. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  405. data/lib/puppet/ssl/oids.rb +2 -2
  406. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  407. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  408. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  409. data/lib/puppet/syntax_checkers/json.rb +3 -3
  410. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  411. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  412. data/lib/puppet/transaction/event.rb +2 -2
  413. data/lib/puppet/transaction/event_manager.rb +5 -5
  414. data/lib/puppet/transaction/persistence.rb +12 -14
  415. data/lib/puppet/transaction/report.rb +4 -4
  416. data/lib/puppet/transaction/resource_harness.rb +2 -2
  417. data/lib/puppet/transaction.rb +14 -18
  418. data/lib/puppet/type/component.rb +3 -3
  419. data/lib/puppet/type/exec.rb +43 -45
  420. data/lib/puppet/type/file/checksum_value.rb +1 -1
  421. data/lib/puppet/type/file/content.rb +6 -6
  422. data/lib/puppet/type/file/ctime.rb +2 -2
  423. data/lib/puppet/type/file/data_sync.rb +3 -3
  424. data/lib/puppet/type/file/ensure.rb +16 -15
  425. data/lib/puppet/type/file/mode.rb +9 -9
  426. data/lib/puppet/type/file/mtime.rb +2 -2
  427. data/lib/puppet/type/file/selcontext.rb +14 -14
  428. data/lib/puppet/type/file/source.rb +19 -21
  429. data/lib/puppet/type/file/target.rb +11 -11
  430. data/lib/puppet/type/file.rb +21 -21
  431. data/lib/puppet/type/filebucket.rb +3 -3
  432. data/lib/puppet/type/group.rb +3 -3
  433. data/lib/puppet/type/notify.rb +2 -2
  434. data/lib/puppet/type/package.rb +4 -4
  435. data/lib/puppet/type/resources.rb +6 -6
  436. data/lib/puppet/type/schedule.rb +9 -9
  437. data/lib/puppet/type/service.rb +6 -8
  438. data/lib/puppet/type/tidy.rb +22 -24
  439. data/lib/puppet/type/user.rb +13 -13
  440. data/lib/puppet/type.rb +76 -88
  441. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  442. data/lib/puppet/util/autoload.rb +2 -2
  443. data/lib/puppet/util/backups.rb +9 -9
  444. data/lib/puppet/util/character_encoding.rb +7 -6
  445. data/lib/puppet/util/checksums.rb +2 -2
  446. data/lib/puppet/util/classgen.rb +8 -8
  447. data/lib/puppet/util/colors.rb +1 -1
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  449. data/lib/puppet/util/command_line/trollop.rb +42 -46
  450. data/lib/puppet/util/command_line.rb +2 -2
  451. data/lib/puppet/util/constant_inflector.rb +2 -2
  452. data/lib/puppet/util/diff.rb +19 -21
  453. data/lib/puppet/util/docs.rb +2 -2
  454. data/lib/puppet/util/errors.rb +9 -9
  455. data/lib/puppet/util/execution.rb +32 -9
  456. data/lib/puppet/util/feature.rb +1 -1
  457. data/lib/puppet/util/fileparsing.rb +12 -16
  458. data/lib/puppet/util/filetype.rb +36 -40
  459. data/lib/puppet/util/inifile.rb +6 -12
  460. data/lib/puppet/util/ldap/connection.rb +1 -1
  461. data/lib/puppet/util/ldap/manager.rb +10 -12
  462. data/lib/puppet/util/lockfile.rb +6 -8
  463. data/lib/puppet/util/log/destination.rb +2 -2
  464. data/lib/puppet/util/log/destinations.rb +4 -4
  465. data/lib/puppet/util/log.rb +12 -9
  466. data/lib/puppet/util/logging.rb +11 -11
  467. data/lib/puppet/util/metric.rb +3 -3
  468. data/lib/puppet/util/monkey_patches.rb +5 -7
  469. data/lib/puppet/util/network_device/config.rb +3 -3
  470. data/lib/puppet/util/package/version/debian.rb +27 -28
  471. data/lib/puppet/util/package/version/pip.rb +5 -5
  472. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  473. data/lib/puppet/util/package/version/rpm.rb +1 -1
  474. data/lib/puppet/util/package.rb +2 -2
  475. data/lib/puppet/util/pidlock.rb +2 -2
  476. data/lib/puppet/util/platform.rb +1 -1
  477. data/lib/puppet/util/plist.rb +8 -10
  478. data/lib/puppet/util/posix.rb +17 -17
  479. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  480. data/lib/puppet/util/provider_features.rb +3 -3
  481. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  482. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  483. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  484. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  486. data/lib/puppet/util/rdoc/parser.rb +1 -1
  487. data/lib/puppet/util/reference.rb +13 -9
  488. data/lib/puppet/util/retry_action.rb +1 -1
  489. data/lib/puppet/util/rpm_compare.rb +17 -18
  490. data/lib/puppet/util/rubygems.rb +1 -1
  491. data/lib/puppet/util/selinux.rb +7 -7
  492. data/lib/puppet/util/storage.rb +10 -12
  493. data/lib/puppet/util/suidmanager.rb +18 -19
  494. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  495. data/lib/puppet/util/tag_set.rb +2 -2
  496. data/lib/puppet/util/tagging.rb +8 -10
  497. data/lib/puppet/util/terminal.rb +4 -4
  498. data/lib/puppet/util/user_attr.rb +7 -7
  499. data/lib/puppet/util/watcher.rb +3 -5
  500. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  501. data/lib/puppet/util/windows/adsi.rb +42 -42
  502. data/lib/puppet/util/windows/daemon.rb +64 -68
  503. data/lib/puppet/util/windows/error.rb +2 -2
  504. data/lib/puppet/util/windows/file.rb +18 -25
  505. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  506. data/lib/puppet/util/windows/principal.rb +8 -8
  507. data/lib/puppet/util/windows/process.rb +16 -28
  508. data/lib/puppet/util/windows/registry.rb +16 -15
  509. data/lib/puppet/util/windows/root_certs.rb +2 -2
  510. data/lib/puppet/util/windows/security.rb +31 -31
  511. data/lib/puppet/util/windows/service.rb +11 -11
  512. data/lib/puppet/util/windows/sid.rb +8 -8
  513. data/lib/puppet/util/windows/user.rb +18 -20
  514. data/lib/puppet/util/yaml.rb +1 -1
  515. data/lib/puppet/util.rb +55 -46
  516. data/lib/puppet/version.rb +2 -2
  517. data/lib/puppet/x509/pem_store.rb +1 -1
  518. data/lib/puppet.rb +3 -3
  519. data/man/man5/puppet.conf.5 +10 -2
  520. data/man/man8/puppet-agent.8 +1 -1
  521. data/man/man8/puppet-apply.8 +1 -1
  522. data/man/man8/puppet-catalog.8 +1 -1
  523. data/man/man8/puppet-config.8 +1 -1
  524. data/man/man8/puppet-describe.8 +1 -1
  525. data/man/man8/puppet-device.8 +1 -1
  526. data/man/man8/puppet-doc.8 +1 -1
  527. data/man/man8/puppet-epp.8 +1 -1
  528. data/man/man8/puppet-facts.8 +1 -1
  529. data/man/man8/puppet-filebucket.8 +1 -1
  530. data/man/man8/puppet-generate.8 +1 -1
  531. data/man/man8/puppet-help.8 +1 -1
  532. data/man/man8/puppet-lookup.8 +1 -1
  533. data/man/man8/puppet-module.8 +1 -1
  534. data/man/man8/puppet-node.8 +1 -1
  535. data/man/man8/puppet-parser.8 +1 -1
  536. data/man/man8/puppet-plugin.8 +1 -1
  537. data/man/man8/puppet-report.8 +1 -1
  538. data/man/man8/puppet-resource.8 +5 -1
  539. data/man/man8/puppet-script.8 +1 -1
  540. data/man/man8/puppet-ssl.8 +1 -1
  541. data/man/man8/puppet.8 +2 -2
  542. 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
- self.cmd.map { |c| which(c) }.find { |c| c != nil }
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
- ["pip", "pip-python", "pip2", "pip-2"]
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
- self.validate_command(command)
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 = self.pip_version(command)
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 => $2, :name => $1, :provider => name }
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
- return nil
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
- begin
137
- Puppet::Util::Package::Version::Pip.compare(x, y)
138
- rescue PIP_VERSION::ValidationFailure => ex
139
- Puppet.debug("Cannot compare #{x} and #{y}. #{ex.message} Falling through default comparison mechanism.")
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
- if line =~ /from versions: (.+)\)/
170
- versionList = $1.split(', ').sort do |x, y|
171
- self.class.compare_pip_versions(x, y)
172
- end
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', "#{@resource[:name]}", '-d', "#{dir}", '-v']
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
- if line =~ /Using version .+? \(newest of versions: (.+?)\)/
191
- versionList = $1.split(', ').sort do |x, y|
192
- self.class.compare_pip_versions(x, y)
193
- end
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{install -q}
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: self.name, full_flags: flags, bad_flag: flags[0..0] }
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: self.name, full_flags: flags, bad_flag: flags[1..1] }
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: self.name, state: state }
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'^pkg://([^/]+)/([^@]+)@(\S+) +(...)$'
107
- { :publisher => $1, :name => $2, :ensure => $3 }.merge ifo_flag($4)
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'^pkg://([^/]+)/([^@]+)@(\S+) +(\S+) +(.....)$'
112
- { :publisher => $1, :name => $2, :ensure => $3 }.merge pkg_state($4).merge(ufoxi_flag($5))
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: self.name, parse_line: line }
116
- end).merge({ :provider => self.name })
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 = self.query
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
- self.unhold if self.properties[:mark] == :hold
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 do
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
- self.hold if @resource[:mark] == :hold
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
- self.unhold if self.properties[:mark] == :hold
270
+ unhold if properties[:mark] == :hold
271
271
  begin
272
272
  pkg cmd
273
273
  rescue StandardError, LoadError => e
274
- self.hold if self.properties[:mark] == :hold
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.new(_("Mac OS X PKG DMGs must specify a source string ending in .dmg or flat .pkg file"))
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+\-\.]*://} =~ cached_source
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 not http_proxy_port
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(" ")} did not transfer [#{name}]. Falling back to local file." # This used to fall back to open-uri. -NF
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.new(_("No disk entities returned by mount at %{path}") % { path: dmg.path }) unless hdiutil_info.has_key?("system-entities")
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
- return { :name => @resource[:name], :ensure => :present }
140
+ { :name => @resource[:name], :ensure => :present }
141
141
  else
142
- return nil
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.new(_("Mac OS X PKG DMGs must specify a package source."))
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.new(_("Mac OS X PKG DMGs must specify a package name."))
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] if not package
80
+ return properties[:ensure] unless package
81
81
 
82
- return package[:ensure]
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 = self.get_query
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
- return packages
79
+ packages
80
80
  rescue Puppet::ExecutionFailure
81
- return []
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 not source # install using default repo logic
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
- if !correct_wgetopts
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
- if pkgalias and pkg[:name] != pkgalias
54
- apkg = pkg.dup
55
- apkg[:name] = pkgalias
56
- pkginsts << new(apkg)
57
- end
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 => $1, :name => $2, :avail => $3 }
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
- return list[-1]
108
+ list[-1]
109
109
  end
110
110
  else
111
111
  list.reject! { |h| h[:ensure] == :absent }
112
- return list
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] = $1
131
- hash[:ensure] = if $2 == "notinst"
130
+ hash[:name] = Regexp.last_match(1)
131
+ hash[:ensure] = if Regexp.last_match(2) == "notinst"
132
132
  :absent
133
133
  else
134
- $2
134
+ Regexp.last_match(2)
135
135
  end
136
- hash[:avail] = $3
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] = self.name
143
+ hash[:provider] = name
144
144
 
145
- return hash
145
+ hash
146
146
  else
147
147
  Puppet.warning _("Cannot match %{line}") % { line: line }
148
- return nil
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
- if hash
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 = self.eix_result_format
31
- result_fields = self.eix_result_fields
32
-
33
- limit = self.eix_limit
34
- version_format = self.eix_version_format
35
- slot_versions_format = self.eix_slot_versions_format
36
- installed_versions_format = self.eix_installed_versions_format
37
- installable_versions_format = self.eix_install_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 if !FileUtils.uptodate?(eix_file, %w{/usr/bin/eix /usr/portage/metadata/timestamp})
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(*(self.eix_search_arguments + ['--installed']))
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
- if match
52
- package = {}
53
- result_fields.zip(match.captures) do |field, value|
54
- package[field] = value unless !value or value.empty?
55
- end
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
- return packages
61
+ packages
62
62
  rescue Puppet::ExecutionFailure => detail
63
- raise Puppet::Error.new(detail)
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{--rage-clean}
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
- self.install
101
+ install
102
102
  end
103
103
 
104
104
  def update
105
- self.install
105
+ install
106
106
  end
107
107
 
108
108
  def qatom
109
- output_format = self.qatom_output_format
110
- result_format = self.qatom_result_format
111
- result_fields = self.qatom_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] + '-' + "#{should}"
122
+ search = '=' + @resource[:name] + '-' + should.to_s
123
123
  end
124
- search_output = qatom_bin(*([search, '--format', output_format]))
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.new(detail)
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
- /^\"\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\]\s+\[(\S*)\](.*)\"$/
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 ||= begin
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 => "#{@resource[:name]}", :ensure => '9999', :version_available => nil, :installed_versions => nil, :installable_versions => "9999," })
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 if !FileUtils.uptodate?(eix_file, %w{/usr/bin/eix /usr/portage/metadata/timestamp})
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
- if match
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
- package[:ensure] = package[:ensure] ? package[:ensure] : :absent
221
- packages << package
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.new(_("No package found with the specified name [%{name}]") % { name: @resource[:name] })
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.new(_("More than one package with the specified name [%{search_value}], please use the category parameter to disambiguate") % { search_value: search_value })
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.new(detail)
232
+ raise Puppet::Error, detail
235
233
  end
236
234
  end
237
235
 
238
236
  def latest
239
- self.query[:version_available]
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', self.eix_search_format]
304
+ ['--nocolor', '--pure-packages', '--format', eix_search_format]
307
305
  end
308
306
 
309
307
  def install_options