puppet 8.5.0-universal-darwin → 8.6.0-universal-darwin

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 (543) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -26
  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/literal_evaluator.rb +4 -0
  216. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  217. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  218. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  219. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  220. data/lib/puppet/pops/functions/function.rb +14 -16
  221. data/lib/puppet/pops/issue_reporter.rb +2 -2
  222. data/lib/puppet/pops/label_provider.rb +2 -2
  223. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  224. data/lib/puppet/pops/loader/loader.rb +4 -4
  225. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  226. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  227. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  229. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  230. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  231. data/lib/puppet/pops/loaders.rb +3 -3
  232. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  233. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  234. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  235. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  236. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  237. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  238. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  240. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  241. data/lib/puppet/pops/merge_strategy.rb +6 -6
  242. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  243. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  244. data/lib/puppet/pops/model/factory.rb +4 -5
  245. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  246. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  247. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  248. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  249. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  250. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  251. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  252. data/lib/puppet/pops/parser/locator.rb +4 -4
  253. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  254. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  255. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  256. data/lib/puppet/pops/patterns.rb +12 -12
  257. data/lib/puppet/pops/pcore.rb +1 -1
  258. data/lib/puppet/pops/pn.rb +2 -2
  259. data/lib/puppet/pops/puppet_stack.rb +1 -1
  260. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  261. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  262. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  263. data/lib/puppet/pops/time/timestamp.rb +1 -1
  264. data/lib/puppet/pops/types/class_loader.rb +4 -6
  265. data/lib/puppet/pops/types/iterable.rb +1 -1
  266. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  268. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  269. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  270. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  272. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  273. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  274. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  275. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  276. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  277. data/lib/puppet/pops/types/string_converter.rb +12 -8
  278. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  279. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  280. data/lib/puppet/pops/types/type_factory.rb +7 -3
  281. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  282. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  283. data/lib/puppet/pops/types/types.rb +28 -24
  284. data/lib/puppet/pops/utils.rb +38 -42
  285. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  286. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  287. data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
  288. data/lib/puppet/pops/validation.rb +4 -4
  289. data/lib/puppet/pops/visitor.rb +2 -2
  290. data/lib/puppet/property/ensure.rb +12 -14
  291. data/lib/puppet/property/keyvalue.rb +4 -4
  292. data/lib/puppet/property/list.rb +4 -4
  293. data/lib/puppet/property/ordered_list.rb +1 -1
  294. data/lib/puppet/property.rb +31 -33
  295. data/lib/puppet/provider/exec.rb +2 -2
  296. data/lib/puppet/provider/file/posix.rb +19 -17
  297. data/lib/puppet/provider/file/windows.rb +13 -19
  298. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  299. data/lib/puppet/provider/group/groupadd.rb +4 -4
  300. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  301. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  302. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  303. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  304. data/lib/puppet/provider/nameservice.rb +8 -8
  305. data/lib/puppet/provider/package/aix.rb +19 -19
  306. data/lib/puppet/provider/package/appdmg.rb +2 -2
  307. data/lib/puppet/provider/package/apple.rb +1 -1
  308. data/lib/puppet/provider/package/apt.rb +18 -18
  309. data/lib/puppet/provider/package/aptitude.rb +1 -3
  310. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  311. data/lib/puppet/provider/package/blastwave.rb +10 -14
  312. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  313. data/lib/puppet/provider/package/dpkg.rb +11 -13
  314. data/lib/puppet/provider/package/fink.rb +14 -14
  315. data/lib/puppet/provider/package/freebsd.rb +1 -1
  316. data/lib/puppet/provider/package/gem.rb +12 -14
  317. data/lib/puppet/provider/package/macports.rb +2 -2
  318. data/lib/puppet/provider/package/nim.rb +10 -10
  319. data/lib/puppet/provider/package/openbsd.rb +22 -22
  320. data/lib/puppet/provider/package/opkg.rb +6 -6
  321. data/lib/puppet/provider/package/pacman.rb +35 -29
  322. data/lib/puppet/provider/package/pip.rb +25 -24
  323. data/lib/puppet/provider/package/pkg.rb +15 -15
  324. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  325. data/lib/puppet/provider/package/pkgin.rb +2 -2
  326. data/lib/puppet/provider/package/pkgng.rb +5 -5
  327. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  328. data/lib/puppet/provider/package/portage.rb +59 -61
  329. data/lib/puppet/provider/package/ports.rb +12 -11
  330. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  331. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  332. data/lib/puppet/provider/package/rpm.rb +26 -26
  333. data/lib/puppet/provider/package/rug.rb +7 -9
  334. data/lib/puppet/provider/package/sun.rb +4 -4
  335. data/lib/puppet/provider/package/up2date.rb +5 -7
  336. data/lib/puppet/provider/package/urpmi.rb +6 -6
  337. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  338. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  339. data/lib/puppet/provider/package/windows/package.rb +2 -2
  340. data/lib/puppet/provider/package/windows.rb +3 -5
  341. data/lib/puppet/provider/package/yum.rb +33 -37
  342. data/lib/puppet/provider/package/zypper.rb +12 -14
  343. data/lib/puppet/provider/package.rb +1 -1
  344. data/lib/puppet/provider/package_targetable.rb +1 -1
  345. data/lib/puppet/provider/parsedfile.rb +9 -9
  346. data/lib/puppet/provider/service/base.rb +16 -21
  347. data/lib/puppet/provider/service/bsd.rb +4 -4
  348. data/lib/puppet/provider/service/daemontools.rb +31 -31
  349. data/lib/puppet/provider/service/debian.rb +6 -6
  350. data/lib/puppet/provider/service/freebsd.rb +36 -36
  351. data/lib/puppet/provider/service/gentoo.rb +6 -6
  352. data/lib/puppet/provider/service/init.rb +19 -19
  353. data/lib/puppet/provider/service/launchd.rb +22 -22
  354. data/lib/puppet/provider/service/openbsd.rb +10 -10
  355. data/lib/puppet/provider/service/openrc.rb +1 -1
  356. data/lib/puppet/provider/service/openwrt.rb +3 -3
  357. data/lib/puppet/provider/service/rcng.rb +3 -3
  358. data/lib/puppet/provider/service/redhat.rb +4 -4
  359. data/lib/puppet/provider/service/runit.rb +6 -6
  360. data/lib/puppet/provider/service/service.rb +5 -7
  361. data/lib/puppet/provider/service/smf.rb +28 -27
  362. data/lib/puppet/provider/service/src.rb +7 -7
  363. data/lib/puppet/provider/service/systemd.rb +31 -37
  364. data/lib/puppet/provider/service/upstart.rb +17 -17
  365. data/lib/puppet/provider/service/windows.rb +7 -7
  366. data/lib/puppet/provider/user/aix.rb +4 -2
  367. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  368. data/lib/puppet/provider/user/hpux.rb +10 -14
  369. data/lib/puppet/provider/user/pw.rb +1 -1
  370. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  371. data/lib/puppet/provider/user/useradd.rb +7 -7
  372. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  373. data/lib/puppet/provider.rb +8 -8
  374. data/lib/puppet/reference/indirection.rb +3 -0
  375. data/lib/puppet/reference/metaparameter.rb +1 -1
  376. data/lib/puppet/reference/providers.rb +3 -3
  377. data/lib/puppet/reference/type.rb +1 -1
  378. data/lib/puppet/relationship.rb +4 -5
  379. data/lib/puppet/reports/http.rb +1 -1
  380. data/lib/puppet/reports/log.rb +2 -2
  381. data/lib/puppet/reports/store.rb +4 -4
  382. data/lib/puppet/reports.rb +2 -2
  383. data/lib/puppet/resource/catalog.rb +16 -16
  384. data/lib/puppet/resource/status.rb +3 -3
  385. data/lib/puppet/resource/type.rb +8 -8
  386. data/lib/puppet/resource/type_collection.rb +1 -1
  387. data/lib/puppet/resource.rb +41 -41
  388. data/lib/puppet/scheduler/scheduler.rb +1 -1
  389. data/lib/puppet/settings/alias_setting.rb +3 -5
  390. data/lib/puppet/settings/base_setting.rb +11 -11
  391. data/lib/puppet/settings/boolean_setting.rb +2 -2
  392. data/lib/puppet/settings/config_file.rb +5 -4
  393. data/lib/puppet/settings/duration_setting.rb +2 -2
  394. data/lib/puppet/settings/environment_conf.rb +3 -3
  395. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  396. data/lib/puppet/settings/file_setting.rb +11 -11
  397. data/lib/puppet/settings/ini_file.rb +3 -3
  398. data/lib/puppet/settings/port_setting.rb +1 -1
  399. data/lib/puppet/settings/priority_setting.rb +2 -2
  400. data/lib/puppet/settings/ttl_setting.rb +2 -2
  401. data/lib/puppet/settings/value_translator.rb +8 -8
  402. data/lib/puppet/settings.rb +65 -70
  403. data/lib/puppet/ssl/base.rb +2 -4
  404. data/lib/puppet/ssl/certificate_request.rb +18 -22
  405. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  406. data/lib/puppet/ssl/oids.rb +2 -2
  407. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  408. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  409. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  410. data/lib/puppet/syntax_checkers/json.rb +3 -3
  411. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  412. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  413. data/lib/puppet/transaction/event.rb +2 -2
  414. data/lib/puppet/transaction/event_manager.rb +5 -5
  415. data/lib/puppet/transaction/persistence.rb +12 -14
  416. data/lib/puppet/transaction/report.rb +4 -4
  417. data/lib/puppet/transaction/resource_harness.rb +2 -2
  418. data/lib/puppet/transaction.rb +14 -18
  419. data/lib/puppet/type/component.rb +3 -3
  420. data/lib/puppet/type/exec.rb +43 -45
  421. data/lib/puppet/type/file/checksum_value.rb +1 -1
  422. data/lib/puppet/type/file/content.rb +6 -6
  423. data/lib/puppet/type/file/ctime.rb +2 -2
  424. data/lib/puppet/type/file/data_sync.rb +3 -3
  425. data/lib/puppet/type/file/ensure.rb +16 -15
  426. data/lib/puppet/type/file/mode.rb +9 -9
  427. data/lib/puppet/type/file/mtime.rb +2 -2
  428. data/lib/puppet/type/file/selcontext.rb +14 -14
  429. data/lib/puppet/type/file/source.rb +19 -21
  430. data/lib/puppet/type/file/target.rb +11 -11
  431. data/lib/puppet/type/file.rb +21 -21
  432. data/lib/puppet/type/filebucket.rb +3 -3
  433. data/lib/puppet/type/group.rb +3 -3
  434. data/lib/puppet/type/notify.rb +2 -2
  435. data/lib/puppet/type/package.rb +4 -4
  436. data/lib/puppet/type/resources.rb +6 -6
  437. data/lib/puppet/type/schedule.rb +9 -9
  438. data/lib/puppet/type/service.rb +6 -8
  439. data/lib/puppet/type/tidy.rb +22 -24
  440. data/lib/puppet/type/user.rb +13 -13
  441. data/lib/puppet/type.rb +76 -88
  442. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  443. data/lib/puppet/util/autoload.rb +2 -2
  444. data/lib/puppet/util/backups.rb +9 -9
  445. data/lib/puppet/util/character_encoding.rb +7 -6
  446. data/lib/puppet/util/checksums.rb +2 -2
  447. data/lib/puppet/util/classgen.rb +8 -8
  448. data/lib/puppet/util/colors.rb +1 -1
  449. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  450. data/lib/puppet/util/command_line/trollop.rb +42 -46
  451. data/lib/puppet/util/command_line.rb +2 -2
  452. data/lib/puppet/util/constant_inflector.rb +2 -2
  453. data/lib/puppet/util/diff.rb +19 -21
  454. data/lib/puppet/util/docs.rb +2 -2
  455. data/lib/puppet/util/errors.rb +9 -9
  456. data/lib/puppet/util/execution.rb +32 -9
  457. data/lib/puppet/util/feature.rb +1 -1
  458. data/lib/puppet/util/fileparsing.rb +12 -16
  459. data/lib/puppet/util/filetype.rb +36 -40
  460. data/lib/puppet/util/inifile.rb +6 -12
  461. data/lib/puppet/util/ldap/connection.rb +1 -1
  462. data/lib/puppet/util/ldap/manager.rb +10 -12
  463. data/lib/puppet/util/lockfile.rb +6 -8
  464. data/lib/puppet/util/log/destination.rb +2 -2
  465. data/lib/puppet/util/log/destinations.rb +4 -4
  466. data/lib/puppet/util/log.rb +12 -9
  467. data/lib/puppet/util/logging.rb +11 -11
  468. data/lib/puppet/util/metric.rb +3 -3
  469. data/lib/puppet/util/monkey_patches.rb +5 -7
  470. data/lib/puppet/util/network_device/config.rb +3 -3
  471. data/lib/puppet/util/package/version/debian.rb +27 -28
  472. data/lib/puppet/util/package/version/pip.rb +5 -5
  473. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  474. data/lib/puppet/util/package/version/rpm.rb +1 -1
  475. data/lib/puppet/util/package.rb +2 -2
  476. data/lib/puppet/util/pidlock.rb +2 -2
  477. data/lib/puppet/util/platform.rb +1 -1
  478. data/lib/puppet/util/plist.rb +8 -10
  479. data/lib/puppet/util/posix.rb +17 -17
  480. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  481. data/lib/puppet/util/provider_features.rb +3 -3
  482. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  483. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  484. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  486. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  487. data/lib/puppet/util/rdoc/parser.rb +1 -1
  488. data/lib/puppet/util/reference.rb +13 -9
  489. data/lib/puppet/util/retry_action.rb +1 -1
  490. data/lib/puppet/util/rpm_compare.rb +17 -18
  491. data/lib/puppet/util/rubygems.rb +1 -1
  492. data/lib/puppet/util/selinux.rb +7 -7
  493. data/lib/puppet/util/storage.rb +10 -12
  494. data/lib/puppet/util/suidmanager.rb +18 -19
  495. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  496. data/lib/puppet/util/tag_set.rb +2 -2
  497. data/lib/puppet/util/tagging.rb +8 -10
  498. data/lib/puppet/util/terminal.rb +4 -4
  499. data/lib/puppet/util/user_attr.rb +7 -7
  500. data/lib/puppet/util/watcher.rb +3 -5
  501. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  502. data/lib/puppet/util/windows/adsi.rb +42 -42
  503. data/lib/puppet/util/windows/daemon.rb +64 -68
  504. data/lib/puppet/util/windows/error.rb +2 -2
  505. data/lib/puppet/util/windows/file.rb +18 -25
  506. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  507. data/lib/puppet/util/windows/principal.rb +8 -8
  508. data/lib/puppet/util/windows/process.rb +16 -28
  509. data/lib/puppet/util/windows/registry.rb +16 -15
  510. data/lib/puppet/util/windows/root_certs.rb +2 -2
  511. data/lib/puppet/util/windows/security.rb +31 -31
  512. data/lib/puppet/util/windows/service.rb +11 -11
  513. data/lib/puppet/util/windows/sid.rb +8 -8
  514. data/lib/puppet/util/windows/user.rb +18 -20
  515. data/lib/puppet/util/yaml.rb +1 -1
  516. data/lib/puppet/util.rb +55 -46
  517. data/lib/puppet/version.rb +2 -2
  518. data/lib/puppet/x509/pem_store.rb +1 -1
  519. data/lib/puppet.rb +3 -3
  520. data/man/man5/puppet.conf.5 +10 -2
  521. data/man/man8/puppet-agent.8 +1 -1
  522. data/man/man8/puppet-apply.8 +1 -1
  523. data/man/man8/puppet-catalog.8 +1 -1
  524. data/man/man8/puppet-config.8 +1 -1
  525. data/man/man8/puppet-describe.8 +1 -1
  526. data/man/man8/puppet-device.8 +1 -1
  527. data/man/man8/puppet-doc.8 +1 -1
  528. data/man/man8/puppet-epp.8 +1 -1
  529. data/man/man8/puppet-facts.8 +1 -1
  530. data/man/man8/puppet-filebucket.8 +1 -1
  531. data/man/man8/puppet-generate.8 +1 -1
  532. data/man/man8/puppet-help.8 +1 -1
  533. data/man/man8/puppet-lookup.8 +1 -1
  534. data/man/man8/puppet-module.8 +1 -1
  535. data/man/man8/puppet-node.8 +1 -1
  536. data/man/man8/puppet-parser.8 +1 -1
  537. data/man/man8/puppet-plugin.8 +1 -1
  538. data/man/man8/puppet-report.8 +1 -1
  539. data/man/man8/puppet-resource.8 +5 -1
  540. data/man/man8/puppet-script.8 +1 -1
  541. data/man/man8/puppet-ssl.8 +1 -1
  542. data/man/man8/puppet.8 +2 -2
  543. metadata +2 -2
@@ -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
@@ -8,14 +8,14 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
8
8
  :portuninstall => "/usr/local/sbin/pkg_deinstall",
9
9
  :portinfo => "/usr/sbin/pkg_info"
10
10
 
11
- %w{INTERACTIVE UNAME}.each do |var|
11
+ %w[INTERACTIVE UNAME].each do |var|
12
12
  ENV.delete(var) if ENV.include?(var)
13
13
  end
14
14
 
15
15
  def install
16
16
  # -N: install if the package is missing, otherwise upgrade
17
17
  # -M: yes, we're a batch, so don't ask any questions
18
- cmd = %w{-N -M BATCH=yes} << @resource[:name]
18
+ cmd = %w[-N -M BATCH=yes] << @resource[:name]
19
19
 
20
20
  output = portupgrade(*cmd)
21
21
  if output =~ /\*\* No such /
@@ -29,8 +29,8 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
29
29
 
30
30
  begin
31
31
  output = portversion(*cmd)
32
- rescue Puppet::ExecutionFailure
33
- raise Puppet::Error.new(output, $!)
32
+ rescue Puppet::ExecutionFailure => e
33
+ raise Puppet::Error.new(output, e)
34
34
  end
35
35
  line = output.split("\n").pop
36
36
 
@@ -39,16 +39,16 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
39
39
  return :latest
40
40
  end
41
41
 
42
- pkgstuff = $1
43
- match = $2
44
- info = $3
42
+ pkgstuff = Regexp.last_match(1)
43
+ match = Regexp.last_match(2)
44
+ info = Regexp.last_match(3)
45
45
 
46
46
  unless pkgstuff =~ /^\S+-([^-\s]+)$/
47
47
  raise Puppet::Error,
48
48
  _("Could not match package info '%{pkgstuff}'") % { pkgstuff: pkgstuff }
49
49
  end
50
50
 
51
- version = $1
51
+ version = Regexp.last_match(1)
52
52
 
53
53
  if match == "=" or match == ">"
54
54
  # we're up to date or more recent
@@ -62,7 +62,8 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
62
62
  _("Could not match version info '%{info}'") % { info: info }
63
63
  end
64
64
 
65
- source, newversion = $1, $2
65
+ source = Regexp.last_match(1)
66
+ newversion = Regexp.last_match(2)
66
67
 
67
68
  debug "Newer version in #{source}"
68
69
  newversion
@@ -71,8 +72,8 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
71
72
  def query
72
73
  # support portorigin_glob such as "mail/postfix"
73
74
  name = self.name
74
- if name =~ /\//
75
- name = self.name.split(/\//).slice(1)
75
+ if name =~ %r{/}
76
+ name = self.name.split(%r{/}).slice(1)
76
77
  end
77
78
  self.class.instances.each do |instance|
78
79
  if instance.name == name
@@ -23,7 +23,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
23
23
  # defaultfor 'os.name' => :freebsd
24
24
 
25
25
  # Remove unwanted environment variables.
26
- %w{INTERACTIVE UNAME}.each do |var|
26
+ %w[INTERACTIVE UNAME].each do |var|
27
27
  if ENV.include?(var)
28
28
  ENV.delete(var)
29
29
  end
@@ -35,7 +35,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
35
35
  Puppet.debug "portupgrade.rb Building packages list from installed ports"
36
36
 
37
37
  # regex to match output from pkg_info
38
- regex = %r{^(\S+)-([^-\s]+):(\S+)$}
38
+ regex = /^(\S+)-([^-\s]+):(\S+)$/
39
39
  # Corresponding field names
40
40
  fields = [:portname, :ensure, :portorigin]
41
41
  # define Temporary hash used, packages array of hashes
@@ -46,8 +46,8 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
46
46
  cmdline = ["-aoQ"]
47
47
  begin
48
48
  output = portinfo(*cmdline)
49
- rescue Puppet::ExecutionFailure
50
- raise Puppet::Error.new(output, $!)
49
+ rescue Puppet::ExecutionFailure => e
50
+ raise Puppet::Error.new(output, e)
51
51
  end
52
52
 
53
53
  # split output and match it and populate temp hash
@@ -64,7 +64,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
64
64
  # populate the actual :name field from the :portorigin
65
65
  # Set :provider to this object name
66
66
  hash[:name] = hash[:portorigin]
67
- hash[:provider] = self.name
67
+ hash[:provider] = name
68
68
 
69
69
  # Add to the full packages listing
70
70
  packages << new(hash)
@@ -75,7 +75,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
75
75
  }
76
76
 
77
77
  # return the packages array of hashes
78
- return packages
78
+ packages
79
79
  end
80
80
 
81
81
  ######## Installation sub command
@@ -88,8 +88,8 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
88
88
  # FIXME: it's possible that portinstall prompts for data so locks up.
89
89
  begin
90
90
  output = portinstall(*cmdline)
91
- rescue Puppet::ExecutionFailure
92
- raise Puppet::Error.new(output, $!)
91
+ rescue Puppet::ExecutionFailure => e
92
+ raise Puppet::Error.new(output, e)
93
93
  end
94
94
 
95
95
  if output =~ /\*\* No such /
@@ -97,7 +97,7 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
97
97
  end
98
98
 
99
99
  # No return code required, so do nil to be clean
100
- return nil
100
+ nil
101
101
  end
102
102
 
103
103
  ######## Latest subcommand (returns the latest version available, or current version if installed is latest)
@@ -111,39 +111,39 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
111
111
 
112
112
  begin
113
113
  output = portversion(*cmdline)
114
- rescue Puppet::ExecutionFailure
115
- raise Puppet::Error.new(output, $!)
114
+ rescue Puppet::ExecutionFailure => e
115
+ raise Puppet::Error.new(output, e)
116
116
  end
117
117
 
118
118
  # Check: output format.
119
119
  if output =~ /^\S+-([^-\s]+)\s+(\S)\s+(.*)/
120
- installedversion = $1
121
- comparison = $2
122
- otherdata = $3
120
+ installedversion = Regexp.last_match(1)
121
+ comparison = Regexp.last_match(2)
122
+ otherdata = Regexp.last_match(3)
123
123
 
124
124
  # Only return a new version number when it's clear that there is a new version
125
125
  # all others return the current version so no unexpected 'upgrades' occur.
126
126
  case comparison
127
127
  when "=", ">"
128
128
  Puppet.debug "portupgrade.latest() - Installed package is latest (#{installedversion})"
129
- return installedversion
129
+ installedversion
130
130
  when "<"
131
131
  # "portpkg-1.7_5 < needs updating (port has 1.14)"
132
132
  # "portpkg-1.7_5 < needs updating (port has 1.14) (=> 'newport/pkg')
133
133
  if otherdata =~ /\(port has (\S+)\)/
134
- newversion = $1
134
+ newversion = Regexp.last_match(1)
135
135
  Puppet.debug "portupgrade.latest() - Installed version needs updating to (#{newversion})"
136
- return newversion
136
+ newversion
137
137
  else
138
138
  Puppet.debug "portupgrade.latest() - Unable to determine new version from (#{otherdata})"
139
- return installedversion
139
+ installedversion
140
140
  end
141
141
  when "?", "!", "#"
142
142
  Puppet.debug "portupgrade.latest() - Comparison Error reported from portversion (#{output})"
143
- return installedversion
143
+ installedversion
144
144
  else
145
145
  Puppet.debug "portupgrade.latest() - Unknown code from portversion output (#{output})"
146
- return installedversion
146
+ installedversion
147
147
  end
148
148
 
149
149
  elsif output =~ /^\*\* No matching package /
@@ -166,25 +166,25 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
166
166
  cmdline = ["-qO", @resource[:name]]
167
167
  begin
168
168
  output = portinfo(*cmdline)
169
- rescue Puppet::ExecutionFailure
170
- raise Puppet::Error.new(output, $!)
169
+ rescue Puppet::ExecutionFailure => e
170
+ raise Puppet::Error.new(output, e)
171
171
  end
172
172
 
173
173
  # Check: if output isn't in the right format, return nil
174
174
  if output =~ /^(\S+)-([^-\s]+)/
175
175
  # Fill in the details
176
176
  hash = Hash.new
177
- hash[:portorigin] = self.name
178
- hash[:portname] = $1
179
- hash[:ensure] = $2
177
+ hash[:portorigin] = name
178
+ hash[:portname] = Regexp.last_match(1)
179
+ hash[:ensure] = Regexp.last_match(2)
180
180
 
181
181
  # If more details are required, then we can do another pkg_info
182
182
  # query here and parse out that output and add to the hash
183
183
  # return the hash to the caller
184
- return hash
184
+ hash
185
185
  else
186
186
  Puppet.debug "portupgrade.query() - package (#{@resource[:name]}) not installed"
187
- return nil
187
+ nil
188
188
  end
189
189
  end
190
190
 
@@ -196,13 +196,13 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
196
196
  cmdline = ["-qO", @resource[:name]]
197
197
  begin
198
198
  output = portinfo(*cmdline)
199
- rescue Puppet::ExecutionFailure
200
- raise Puppet::Error.new(output, $!)
199
+ rescue Puppet::ExecutionFailure => e
200
+ raise Puppet::Error.new(output, e)
201
201
  end
202
202
 
203
203
  if output =~ /^(\S+)/
204
204
  # output matches, so uninstall it
205
- portuninstall $1
205
+ portuninstall Regexp.last_match(1)
206
206
  end
207
207
  end
208
208
 
@@ -214,17 +214,17 @@ Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::P
214
214
  cmdline = ["-qO", @resource[:name]]
215
215
  begin
216
216
  output = portinfo(*cmdline)
217
- rescue Puppet::ExecutionFailure
218
- raise Puppet::Error.new(output, $!)
217
+ rescue Puppet::ExecutionFailure => e
218
+ raise Puppet::Error.new(output, e)
219
219
  end
220
220
 
221
221
  if output =~ /^(\S+)/
222
222
  # output matches, so upgrade the software
223
- cmdline = ["-M BATCH=yes", $1]
223
+ cmdline = ["-M BATCH=yes", Regexp.last_match(1)]
224
224
  begin
225
225
  output = portupgrade(*cmdline)
226
- rescue Puppet::ExecutionFailure
227
- raise Puppet::Error.new(output, $!)
226
+ rescue Puppet::ExecutionFailure => e
227
+ raise Puppet::Error.new(output, e)
228
228
  end
229
229
  end
230
230
  end