puppet 8.5.1-universal-darwin → 8.7.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 (581) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +55 -48
  4. data/Rakefile +45 -22
  5. data/examples/hiera/README.md +68 -57
  6. data/examples/hiera/data/common.yaml +12 -0
  7. data/examples/hiera/data/dc1.yaml +6 -0
  8. data/examples/hiera/hiera.yaml +15 -0
  9. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  10. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  11. data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
  12. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  13. data/examples/hiera/modules/users/manifests/common.pp +7 -2
  14. data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
  15. data/examples/hiera/site.pp +1 -1
  16. data/ext/project_data.yaml +0 -45
  17. data/ext/windows/service/daemon.rb +49 -55
  18. data/lib/hiera/scope.rb +3 -3
  19. data/lib/hiera_puppet.rb +1 -1
  20. data/lib/puppet/agent/disabler.rb +1 -1
  21. data/lib/puppet/application/agent.rb +2 -2
  22. data/lib/puppet/application/apply.rb +2 -2
  23. data/lib/puppet/application/describe.rb +6 -6
  24. data/lib/puppet/application/device.rb +99 -100
  25. data/lib/puppet/application/doc.rb +1 -1
  26. data/lib/puppet/application/face_base.rb +7 -7
  27. data/lib/puppet/application/filebucket.rb +1 -1
  28. data/lib/puppet/application/lookup.rb +5 -5
  29. data/lib/puppet/application/resource.rb +10 -3
  30. data/lib/puppet/application/ssl.rb +3 -3
  31. data/lib/puppet/application.rb +16 -18
  32. data/lib/puppet/coercion.rb +1 -1
  33. data/lib/puppet/configurer/downloader.rb +9 -4
  34. data/lib/puppet/configurer/fact_handler.rb +12 -13
  35. data/lib/puppet/configurer.rb +16 -18
  36. data/lib/puppet/confine/feature.rb +1 -1
  37. data/lib/puppet/confine/variable.rb +1 -1
  38. data/lib/puppet/confine.rb +2 -2
  39. data/lib/puppet/confine_collection.rb +1 -1
  40. data/lib/puppet/confiner.rb +2 -2
  41. data/lib/puppet/daemon.rb +4 -3
  42. data/lib/puppet/datatypes.rb +5 -6
  43. data/lib/puppet/defaults.rb +14 -8
  44. data/lib/puppet/environments.rb +3 -7
  45. data/lib/puppet/error.rb +3 -3
  46. data/lib/puppet/external/dot.rb +42 -34
  47. data/lib/puppet/face/catalog/select.rb +1 -1
  48. data/lib/puppet/face/epp.rb +7 -9
  49. data/lib/puppet/face/help.rb +12 -12
  50. data/lib/puppet/face/module/changes.rb +1 -3
  51. data/lib/puppet/face/module/list.rb +37 -37
  52. data/lib/puppet/face/node/clean.rb +1 -1
  53. data/lib/puppet/face/parser.rb +6 -8
  54. data/lib/puppet/face/report.rb +5 -7
  55. data/lib/puppet/facter_impl.rb +1 -1
  56. data/lib/puppet/feature/base.rb +9 -11
  57. data/lib/puppet/feature/pe_license.rb +1 -1
  58. data/lib/puppet/feature/ssh.rb +1 -1
  59. data/lib/puppet/feature/telnet.rb +3 -5
  60. data/lib/puppet/feature/zlib.rb +1 -1
  61. data/lib/puppet/ffi/windows/constants.rb +1 -1
  62. data/lib/puppet/ffi/windows/functions.rb +2 -2
  63. data/lib/puppet/ffi/windows/structs.rb +3 -3
  64. data/lib/puppet/file_bucket/dipper.rb +4 -4
  65. data/lib/puppet/file_bucket/file.rb +4 -4
  66. data/lib/puppet/file_serving/base.rb +5 -5
  67. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  68. data/lib/puppet/file_serving/configuration.rb +3 -3
  69. data/lib/puppet/file_serving/fileset.rb +13 -13
  70. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  71. data/lib/puppet/file_serving/metadata.rb +13 -9
  72. data/lib/puppet/file_serving/mount/file.rb +6 -6
  73. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  74. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  75. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  76. data/lib/puppet/file_serving/mount.rb +1 -1
  77. data/lib/puppet/file_system/file_impl.rb +3 -3
  78. data/lib/puppet/file_system/memory_impl.rb +1 -1
  79. data/lib/puppet/file_system/path_pattern.rb +1 -1
  80. data/lib/puppet/file_system/uniquefile.rb +17 -16
  81. data/lib/puppet/file_system/windows.rb +26 -18
  82. data/lib/puppet/forge/cache.rb +2 -2
  83. data/lib/puppet/forge/errors.rb +1 -1
  84. data/lib/puppet/forge/repository.rb +2 -2
  85. data/lib/puppet/forge.rb +13 -19
  86. data/lib/puppet/functions/abs.rb +2 -2
  87. data/lib/puppet/functions/camelcase.rb +1 -1
  88. data/lib/puppet/functions/compare.rb +2 -2
  89. data/lib/puppet/functions/contain.rb +1 -1
  90. data/lib/puppet/functions/defined.rb +2 -2
  91. data/lib/puppet/functions/dig.rb +1 -1
  92. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  93. data/lib/puppet/functions/get.rb +1 -1
  94. data/lib/puppet/functions/hocon_data.rb +3 -5
  95. data/lib/puppet/functions/import.rb +1 -1
  96. data/lib/puppet/functions/json_data.rb +4 -6
  97. data/lib/puppet/functions/max.rb +2 -2
  98. data/lib/puppet/functions/min.rb +2 -2
  99. data/lib/puppet/functions/new.rb +1 -1
  100. data/lib/puppet/functions/reduce.rb +6 -10
  101. data/lib/puppet/functions/regsubst.rb +2 -2
  102. data/lib/puppet/functions/require.rb +1 -1
  103. data/lib/puppet/functions/yaml_data.rb +11 -13
  104. data/lib/puppet/functions.rb +32 -37
  105. data/lib/puppet/generate/type.rb +2 -2
  106. data/lib/puppet/gettext/config.rb +9 -9
  107. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  108. data/lib/puppet/graph/relationship_graph.rb +12 -12
  109. data/lib/puppet/graph/simple_graph.rb +8 -10
  110. data/lib/puppet/http/client.rb +1 -1
  111. data/lib/puppet/http/dns.rb +4 -4
  112. data/lib/puppet/http/external_client.rb +1 -1
  113. data/lib/puppet/http/factory.rb +1 -1
  114. data/lib/puppet/http/proxy.rb +15 -15
  115. data/lib/puppet/http/redirector.rb +6 -2
  116. data/lib/puppet/http/resolver.rb +2 -2
  117. data/lib/puppet/http/retry_after_handler.rb +2 -2
  118. data/lib/puppet/http/service/ca.rb +1 -1
  119. data/lib/puppet/http/service/compiler.rb +4 -4
  120. data/lib/puppet/http/service/file_server.rb +1 -1
  121. data/lib/puppet/http/service/report.rb +2 -2
  122. data/lib/puppet/http/service.rb +9 -13
  123. data/lib/puppet/http/session.rb +1 -1
  124. data/lib/puppet/http/site.rb +1 -1
  125. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  126. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  127. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  128. data/lib/puppet/indirector/exec.rb +2 -2
  129. data/lib/puppet/indirector/face.rb +7 -9
  130. data/lib/puppet/indirector/fact_search.rb +1 -1
  131. data/lib/puppet/indirector/facts/facter.rb +6 -6
  132. data/lib/puppet/indirector/facts/json.rb +1 -1
  133. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  134. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  135. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  136. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  137. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  138. data/lib/puppet/indirector/hiera.rb +1 -1
  139. data/lib/puppet/indirector/indirection.rb +27 -29
  140. data/lib/puppet/indirector/json.rb +4 -4
  141. data/lib/puppet/indirector/memory.rb +2 -2
  142. data/lib/puppet/indirector/msgpack.rb +5 -5
  143. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  144. data/lib/puppet/indirector/none.rb +1 -1
  145. data/lib/puppet/indirector/report/json.rb +1 -1
  146. data/lib/puppet/indirector/report/yaml.rb +1 -1
  147. data/lib/puppet/indirector/request.rb +4 -4
  148. data/lib/puppet/indirector/resource/ral.rb +2 -4
  149. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  150. data/lib/puppet/indirector/terminus.rb +4 -4
  151. data/lib/puppet/indirector/yaml.rb +3 -3
  152. data/lib/puppet/info_service/class_information_service.rb +5 -8
  153. data/lib/puppet/info_service/task_information_service.rb +6 -7
  154. data/lib/puppet/interface/action.rb +5 -5
  155. data/lib/puppet/interface/action_manager.rb +5 -5
  156. data/lib/puppet/interface/documentation.rb +5 -5
  157. data/lib/puppet/interface/face_collection.rb +7 -7
  158. data/lib/puppet/interface/option.rb +2 -2
  159. data/lib/puppet/interface/option_manager.rb +6 -6
  160. data/lib/puppet/interface.rb +4 -4
  161. data/lib/puppet/metatype/manager.rb +2 -2
  162. data/lib/puppet/module/plan.rb +10 -10
  163. data/lib/puppet/module/task.rb +8 -8
  164. data/lib/puppet/module.rb +39 -41
  165. data/lib/puppet/module_tool/applications/application.rb +10 -8
  166. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  167. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  168. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  169. data/lib/puppet/module_tool/checksums.rb +2 -2
  170. data/lib/puppet/module_tool/dependency.rb +1 -1
  171. data/lib/puppet/module_tool/errors/base.rb +1 -1
  172. data/lib/puppet/module_tool/install_directory.rb +1 -1
  173. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  174. data/lib/puppet/module_tool/metadata.rb +12 -8
  175. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  176. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  177. data/lib/puppet/module_tool.rb +4 -4
  178. data/lib/puppet/network/client_request.rb +5 -3
  179. data/lib/puppet/network/format.rb +2 -2
  180. data/lib/puppet/network/format_support.rb +1 -1
  181. data/lib/puppet/network/formats.rb +1 -1
  182. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  183. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  184. data/lib/puppet/network/http/connection.rb +1 -1
  185. data/lib/puppet/network/http/handler.rb +8 -12
  186. data/lib/puppet/network/http/request.rb +1 -1
  187. data/lib/puppet/network/http/route.rb +9 -9
  188. data/lib/puppet/node/environment.rb +21 -23
  189. data/lib/puppet/node/facts.rb +1 -1
  190. data/lib/puppet/node.rb +5 -5
  191. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  192. data/lib/puppet/pal/pal_impl.rb +48 -50
  193. data/lib/puppet/pal/plan_signature.rb +1 -1
  194. data/lib/puppet/pal/task_signature.rb +1 -1
  195. data/lib/puppet/parameter/package_options.rb +1 -1
  196. data/lib/puppet/parameter/value.rb +2 -2
  197. data/lib/puppet/parameter/value_collection.rb +7 -7
  198. data/lib/puppet/parameter.rb +8 -9
  199. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  200. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  201. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  202. data/lib/puppet/parser/ast/resource.rb +4 -4
  203. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  204. data/lib/puppet/parser/ast.rb +14 -15
  205. data/lib/puppet/parser/compiler.rb +26 -28
  206. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  207. data/lib/puppet/parser/functions/fail.rb +1 -1
  208. data/lib/puppet/parser/functions/generate.rb +2 -2
  209. data/lib/puppet/parser/functions/tag.rb +1 -1
  210. data/lib/puppet/parser/functions.rb +2 -2
  211. data/lib/puppet/parser/relationship.rb +3 -1
  212. data/lib/puppet/parser/resource/param.rb +2 -2
  213. data/lib/puppet/parser/resource.rb +23 -23
  214. data/lib/puppet/parser/scope.rb +10 -10
  215. data/lib/puppet/parser/script_compiler.rb +1 -1
  216. data/lib/puppet/parser/templatewrapper.rb +1 -1
  217. data/lib/puppet/parser/type_loader.rb +10 -12
  218. data/lib/puppet/parser.rb +1 -1
  219. data/lib/puppet/pops/adaptable.rb +1 -1
  220. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  221. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  222. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  223. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  224. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  225. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  226. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  227. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  228. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  229. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  230. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  231. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  232. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  233. data/lib/puppet/pops/functions/function.rb +14 -16
  234. data/lib/puppet/pops/issue_reporter.rb +2 -2
  235. data/lib/puppet/pops/label_provider.rb +2 -2
  236. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  237. data/lib/puppet/pops/loader/loader.rb +4 -4
  238. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  239. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  240. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  241. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  242. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  243. data/lib/puppet/pops/loader/static_loader.rb +5 -5
  244. data/lib/puppet/pops/loaders.rb +3 -3
  245. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  246. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  247. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  248. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  249. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  250. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  251. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  252. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  253. data/lib/puppet/pops/lookup/module_data_provider.rb +9 -9
  254. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  255. data/lib/puppet/pops/merge_strategy.rb +6 -6
  256. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  257. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  258. data/lib/puppet/pops/model/factory.rb +4 -5
  259. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  260. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  261. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  262. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  263. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  264. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  265. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  266. data/lib/puppet/pops/parser/locator.rb +4 -4
  267. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  268. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  269. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  270. data/lib/puppet/pops/patterns.rb +12 -12
  271. data/lib/puppet/pops/pcore.rb +1 -1
  272. data/lib/puppet/pops/pn.rb +2 -2
  273. data/lib/puppet/pops/puppet_stack.rb +1 -1
  274. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  275. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  276. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  277. data/lib/puppet/pops/time/timestamp.rb +1 -1
  278. data/lib/puppet/pops/types/class_loader.rb +4 -6
  279. data/lib/puppet/pops/types/iterable.rb +1 -1
  280. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  281. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  282. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  283. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  284. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  285. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  286. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  287. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  288. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  289. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  290. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  291. data/lib/puppet/pops/types/string_converter.rb +12 -8
  292. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  293. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  294. data/lib/puppet/pops/types/type_factory.rb +7 -3
  295. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  296. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  297. data/lib/puppet/pops/types/types.rb +28 -24
  298. data/lib/puppet/pops/utils.rb +38 -42
  299. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  300. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  301. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  302. data/lib/puppet/pops/validation.rb +4 -4
  303. data/lib/puppet/pops/visitor.rb +2 -2
  304. data/lib/puppet/property/ensure.rb +12 -14
  305. data/lib/puppet/property/keyvalue.rb +4 -4
  306. data/lib/puppet/property/list.rb +4 -4
  307. data/lib/puppet/property/ordered_list.rb +1 -1
  308. data/lib/puppet/property.rb +31 -33
  309. data/lib/puppet/provider/aix_object.rb +1 -1
  310. data/lib/puppet/provider/exec.rb +2 -2
  311. data/lib/puppet/provider/file/posix.rb +19 -17
  312. data/lib/puppet/provider/file/windows.rb +13 -19
  313. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  314. data/lib/puppet/provider/group/groupadd.rb +32 -11
  315. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  316. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  317. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  318. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  319. data/lib/puppet/provider/nameservice.rb +8 -8
  320. data/lib/puppet/provider/package/aix.rb +19 -19
  321. data/lib/puppet/provider/package/appdmg.rb +2 -2
  322. data/lib/puppet/provider/package/apple.rb +1 -1
  323. data/lib/puppet/provider/package/apt.rb +18 -18
  324. data/lib/puppet/provider/package/aptitude.rb +1 -3
  325. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  326. data/lib/puppet/provider/package/blastwave.rb +10 -14
  327. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  328. data/lib/puppet/provider/package/dpkg.rb +11 -13
  329. data/lib/puppet/provider/package/fink.rb +14 -14
  330. data/lib/puppet/provider/package/freebsd.rb +1 -1
  331. data/lib/puppet/provider/package/gem.rb +12 -14
  332. data/lib/puppet/provider/package/macports.rb +2 -2
  333. data/lib/puppet/provider/package/nim.rb +10 -10
  334. data/lib/puppet/provider/package/openbsd.rb +22 -22
  335. data/lib/puppet/provider/package/opkg.rb +6 -6
  336. data/lib/puppet/provider/package/pacman.rb +35 -29
  337. data/lib/puppet/provider/package/pip.rb +25 -24
  338. data/lib/puppet/provider/package/pkg.rb +15 -15
  339. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  340. data/lib/puppet/provider/package/pkgin.rb +2 -2
  341. data/lib/puppet/provider/package/pkgng.rb +5 -5
  342. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  343. data/lib/puppet/provider/package/portage.rb +59 -61
  344. data/lib/puppet/provider/package/ports.rb +12 -11
  345. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  346. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  347. data/lib/puppet/provider/package/rpm.rb +26 -26
  348. data/lib/puppet/provider/package/rug.rb +7 -9
  349. data/lib/puppet/provider/package/sun.rb +4 -4
  350. data/lib/puppet/provider/package/up2date.rb +5 -7
  351. data/lib/puppet/provider/package/urpmi.rb +6 -6
  352. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  353. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  354. data/lib/puppet/provider/package/windows/package.rb +2 -2
  355. data/lib/puppet/provider/package/windows.rb +3 -5
  356. data/lib/puppet/provider/package/xbps.rb +127 -0
  357. data/lib/puppet/provider/package/yum.rb +33 -37
  358. data/lib/puppet/provider/package/zypper.rb +12 -14
  359. data/lib/puppet/provider/package.rb +1 -1
  360. data/lib/puppet/provider/package_targetable.rb +1 -1
  361. data/lib/puppet/provider/parsedfile.rb +9 -9
  362. data/lib/puppet/provider/service/base.rb +16 -21
  363. data/lib/puppet/provider/service/bsd.rb +4 -4
  364. data/lib/puppet/provider/service/daemontools.rb +31 -31
  365. data/lib/puppet/provider/service/debian.rb +6 -6
  366. data/lib/puppet/provider/service/freebsd.rb +36 -36
  367. data/lib/puppet/provider/service/gentoo.rb +6 -6
  368. data/lib/puppet/provider/service/init.rb +19 -19
  369. data/lib/puppet/provider/service/launchd.rb +22 -22
  370. data/lib/puppet/provider/service/openbsd.rb +10 -10
  371. data/lib/puppet/provider/service/openrc.rb +1 -1
  372. data/lib/puppet/provider/service/openwrt.rb +3 -3
  373. data/lib/puppet/provider/service/rcng.rb +3 -3
  374. data/lib/puppet/provider/service/redhat.rb +4 -4
  375. data/lib/puppet/provider/service/runit.rb +6 -6
  376. data/lib/puppet/provider/service/service.rb +5 -7
  377. data/lib/puppet/provider/service/smf.rb +28 -27
  378. data/lib/puppet/provider/service/src.rb +7 -7
  379. data/lib/puppet/provider/service/systemd.rb +31 -37
  380. data/lib/puppet/provider/service/upstart.rb +17 -17
  381. data/lib/puppet/provider/service/windows.rb +7 -7
  382. data/lib/puppet/provider/user/aix.rb +4 -2
  383. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  384. data/lib/puppet/provider/user/hpux.rb +10 -14
  385. data/lib/puppet/provider/user/pw.rb +1 -1
  386. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  387. data/lib/puppet/provider/user/useradd.rb +7 -7
  388. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  389. data/lib/puppet/provider.rb +8 -8
  390. data/lib/puppet/reference/indirection.rb +3 -0
  391. data/lib/puppet/reference/metaparameter.rb +1 -1
  392. data/lib/puppet/reference/providers.rb +3 -3
  393. data/lib/puppet/reference/type.rb +1 -1
  394. data/lib/puppet/relationship.rb +4 -5
  395. data/lib/puppet/reports/http.rb +1 -1
  396. data/lib/puppet/reports/log.rb +2 -2
  397. data/lib/puppet/reports/store.rb +4 -4
  398. data/lib/puppet/reports.rb +2 -2
  399. data/lib/puppet/resource/catalog.rb +16 -16
  400. data/lib/puppet/resource/status.rb +3 -3
  401. data/lib/puppet/resource/type.rb +8 -8
  402. data/lib/puppet/resource/type_collection.rb +1 -1
  403. data/lib/puppet/resource.rb +41 -41
  404. data/lib/puppet/scheduler/scheduler.rb +1 -1
  405. data/lib/puppet/scheduler/splay_job.rb +9 -0
  406. data/lib/puppet/settings/alias_setting.rb +3 -5
  407. data/lib/puppet/settings/base_setting.rb +11 -11
  408. data/lib/puppet/settings/boolean_setting.rb +2 -2
  409. data/lib/puppet/settings/config_file.rb +5 -4
  410. data/lib/puppet/settings/duration_setting.rb +2 -2
  411. data/lib/puppet/settings/environment_conf.rb +3 -3
  412. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  413. data/lib/puppet/settings/file_setting.rb +11 -11
  414. data/lib/puppet/settings/ini_file.rb +3 -3
  415. data/lib/puppet/settings/port_setting.rb +1 -1
  416. data/lib/puppet/settings/priority_setting.rb +2 -2
  417. data/lib/puppet/settings/ttl_setting.rb +2 -2
  418. data/lib/puppet/settings/value_translator.rb +8 -8
  419. data/lib/puppet/settings.rb +65 -70
  420. data/lib/puppet/ssl/base.rb +2 -4
  421. data/lib/puppet/ssl/certificate_request.rb +18 -22
  422. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  423. data/lib/puppet/ssl/oids.rb +2 -2
  424. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  425. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  426. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  427. data/lib/puppet/syntax_checkers/json.rb +3 -3
  428. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  429. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  430. data/lib/puppet/transaction/event.rb +2 -2
  431. data/lib/puppet/transaction/event_manager.rb +5 -5
  432. data/lib/puppet/transaction/persistence.rb +12 -14
  433. data/lib/puppet/transaction/report.rb +4 -4
  434. data/lib/puppet/transaction/resource_harness.rb +2 -2
  435. data/lib/puppet/transaction.rb +14 -18
  436. data/lib/puppet/type/component.rb +3 -3
  437. data/lib/puppet/type/exec.rb +51 -45
  438. data/lib/puppet/type/file/checksum_value.rb +1 -1
  439. data/lib/puppet/type/file/content.rb +6 -6
  440. data/lib/puppet/type/file/ctime.rb +2 -2
  441. data/lib/puppet/type/file/data_sync.rb +3 -3
  442. data/lib/puppet/type/file/ensure.rb +16 -15
  443. data/lib/puppet/type/file/mode.rb +9 -9
  444. data/lib/puppet/type/file/mtime.rb +2 -2
  445. data/lib/puppet/type/file/selcontext.rb +14 -14
  446. data/lib/puppet/type/file/source.rb +19 -21
  447. data/lib/puppet/type/file/target.rb +11 -11
  448. data/lib/puppet/type/file.rb +21 -21
  449. data/lib/puppet/type/filebucket.rb +3 -3
  450. data/lib/puppet/type/group.rb +3 -3
  451. data/lib/puppet/type/notify.rb +2 -2
  452. data/lib/puppet/type/package.rb +4 -4
  453. data/lib/puppet/type/resources.rb +6 -6
  454. data/lib/puppet/type/schedule.rb +9 -9
  455. data/lib/puppet/type/service.rb +6 -8
  456. data/lib/puppet/type/tidy.rb +22 -24
  457. data/lib/puppet/type/user.rb +13 -13
  458. data/lib/puppet/type.rb +76 -88
  459. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  460. data/lib/puppet/util/autoload.rb +2 -2
  461. data/lib/puppet/util/backups.rb +9 -9
  462. data/lib/puppet/util/character_encoding.rb +7 -6
  463. data/lib/puppet/util/checksums.rb +2 -2
  464. data/lib/puppet/util/classgen.rb +8 -8
  465. data/lib/puppet/util/colors.rb +1 -1
  466. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  467. data/lib/puppet/util/command_line/trollop.rb +60 -46
  468. data/lib/puppet/util/command_line.rb +2 -2
  469. data/lib/puppet/util/constant_inflector.rb +2 -2
  470. data/lib/puppet/util/diff.rb +19 -21
  471. data/lib/puppet/util/docs.rb +2 -2
  472. data/lib/puppet/util/errors.rb +9 -9
  473. data/lib/puppet/util/execution.rb +32 -9
  474. data/lib/puppet/util/feature.rb +1 -1
  475. data/lib/puppet/util/fileparsing.rb +12 -16
  476. data/lib/puppet/util/filetype.rb +36 -40
  477. data/lib/puppet/util/inifile.rb +6 -12
  478. data/lib/puppet/util/ldap/connection.rb +1 -1
  479. data/lib/puppet/util/ldap/manager.rb +10 -12
  480. data/lib/puppet/util/lockfile.rb +6 -8
  481. data/lib/puppet/util/log/destination.rb +2 -2
  482. data/lib/puppet/util/log/destinations.rb +4 -4
  483. data/lib/puppet/util/log.rb +12 -9
  484. data/lib/puppet/util/logging.rb +11 -11
  485. data/lib/puppet/util/metric.rb +3 -3
  486. data/lib/puppet/util/monkey_patches.rb +5 -7
  487. data/lib/puppet/util/network_device/config.rb +3 -3
  488. data/lib/puppet/util/package/version/debian.rb +27 -28
  489. data/lib/puppet/util/package/version/pip.rb +5 -5
  490. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  491. data/lib/puppet/util/package/version/rpm.rb +1 -1
  492. data/lib/puppet/util/package.rb +2 -2
  493. data/lib/puppet/util/pidlock.rb +2 -2
  494. data/lib/puppet/util/platform.rb +1 -1
  495. data/lib/puppet/util/plist.rb +8 -10
  496. data/lib/puppet/util/posix.rb +17 -17
  497. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  498. data/lib/puppet/util/provider_features.rb +3 -3
  499. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  500. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  501. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  502. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  503. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  504. data/lib/puppet/util/rdoc/parser.rb +1 -1
  505. data/lib/puppet/util/reference.rb +13 -9
  506. data/lib/puppet/util/retry_action.rb +1 -1
  507. data/lib/puppet/util/rpm_compare.rb +18 -19
  508. data/lib/puppet/util/rubygems.rb +1 -1
  509. data/lib/puppet/util/selinux.rb +7 -7
  510. data/lib/puppet/util/storage.rb +10 -12
  511. data/lib/puppet/util/suidmanager.rb +18 -19
  512. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  513. data/lib/puppet/util/tag_set.rb +2 -2
  514. data/lib/puppet/util/tagging.rb +8 -10
  515. data/lib/puppet/util/terminal.rb +4 -4
  516. data/lib/puppet/util/user_attr.rb +7 -7
  517. data/lib/puppet/util/watcher.rb +3 -5
  518. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  519. data/lib/puppet/util/windows/adsi.rb +42 -42
  520. data/lib/puppet/util/windows/com.rb +2 -2
  521. data/lib/puppet/util/windows/daemon.rb +64 -68
  522. data/lib/puppet/util/windows/error.rb +2 -2
  523. data/lib/puppet/util/windows/file.rb +18 -25
  524. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  525. data/lib/puppet/util/windows/principal.rb +8 -8
  526. data/lib/puppet/util/windows/process.rb +16 -28
  527. data/lib/puppet/util/windows/registry.rb +16 -15
  528. data/lib/puppet/util/windows/root_certs.rb +2 -2
  529. data/lib/puppet/util/windows/security.rb +31 -31
  530. data/lib/puppet/util/windows/service.rb +11 -11
  531. data/lib/puppet/util/windows/sid.rb +8 -8
  532. data/lib/puppet/util/windows/user.rb +18 -20
  533. data/lib/puppet/util/yaml.rb +1 -1
  534. data/lib/puppet/util.rb +55 -46
  535. data/lib/puppet/version.rb +2 -2
  536. data/lib/puppet/x509/pem_store.rb +1 -1
  537. data/lib/puppet.rb +3 -3
  538. data/locales/puppet.pot +604 -600
  539. data/man/man5/puppet.conf.5 +10 -2
  540. data/man/man8/puppet-agent.8 +1 -1
  541. data/man/man8/puppet-apply.8 +1 -1
  542. data/man/man8/puppet-catalog.8 +1 -1
  543. data/man/man8/puppet-config.8 +1 -1
  544. data/man/man8/puppet-describe.8 +1 -1
  545. data/man/man8/puppet-device.8 +1 -1
  546. data/man/man8/puppet-doc.8 +1 -1
  547. data/man/man8/puppet-epp.8 +1 -1
  548. data/man/man8/puppet-facts.8 +1 -1
  549. data/man/man8/puppet-filebucket.8 +1 -1
  550. data/man/man8/puppet-generate.8 +1 -1
  551. data/man/man8/puppet-help.8 +1 -1
  552. data/man/man8/puppet-lookup.8 +1 -1
  553. data/man/man8/puppet-module.8 +1 -1
  554. data/man/man8/puppet-node.8 +1 -1
  555. data/man/man8/puppet-parser.8 +1 -1
  556. data/man/man8/puppet-plugin.8 +1 -1
  557. data/man/man8/puppet-report.8 +1 -1
  558. data/man/man8/puppet-resource.8 +5 -1
  559. data/man/man8/puppet-script.8 +1 -1
  560. data/man/man8/puppet-ssl.8 +1 -1
  561. data/man/man8/puppet.8 +2 -2
  562. metadata +23 -27
  563. data/examples/hiera/etc/hiera.yaml +0 -15
  564. data/examples/hiera/etc/hieradb/common.yaml +0 -3
  565. data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
  566. data/examples/hiera/etc/hieradb/development.yaml +0 -2
  567. data/examples/hiera/etc/puppet.conf +0 -3
  568. data/examples/hiera/modules/data/manifests/common.pp +0 -4
  569. data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
  570. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
  571. data/examples/hiera/modules/users/manifests/development.pp +0 -4
  572. data/tasks/benchmark.rake +0 -180
  573. data/tasks/cfpropertylist.rake +0 -15
  574. data/tasks/ci.rake +0 -24
  575. data/tasks/generate_ast_model.rake +0 -90
  576. data/tasks/generate_cert_fixtures.rake +0 -199
  577. data/tasks/manpages.rake +0 -67
  578. data/tasks/memwalk.rake +0 -195
  579. data/tasks/parallel.rake +0 -410
  580. data/tasks/parser.rake +0 -22
  581. data/tasks/yard.rake +0 -59
@@ -49,13 +49,13 @@ class Puppet::Module
49
49
  end
50
50
  end
51
51
 
52
- FORBIDDEN_EXTENSIONS = %w{.conf .md}
52
+ FORBIDDEN_EXTENSIONS = %w[.conf .md]
53
53
  MOUNTS = %w[files lib scripts tasks]
54
54
 
55
55
  def self.is_task_name?(name)
56
56
  return true if name =~ /^[a-z][a-z0-9_]*$/
57
57
 
58
- return false
58
+ false
59
59
  end
60
60
 
61
61
  def self.is_tasks_file?(path)
@@ -65,12 +65,12 @@ class Puppet::Module
65
65
  # Determine whether a file has a legal name for either a task's executable or metadata file.
66
66
  def self.is_tasks_filename?(path)
67
67
  name_less_extension = File.basename(path, '.*')
68
- return false if not is_task_name?(name_less_extension)
68
+ return false unless is_task_name?(name_less_extension)
69
69
 
70
70
  FORBIDDEN_EXTENSIONS.each do |ext|
71
71
  return false if path.end_with?(ext)
72
72
  end
73
- return true
73
+ true
74
74
  end
75
75
 
76
76
  def self.get_file_details(path, mod)
@@ -130,7 +130,7 @@ class Puppet::Module
130
130
 
131
131
  unless File.exist?(path)
132
132
  msg = _("Could not find %{path} on disk" % { path: path })
133
- raise InvalidFile.new(msg)
133
+ raise InvalidFile, msg
134
134
  end
135
135
 
136
136
  last_char = file[-1] == '/'
@@ -226,7 +226,7 @@ class Puppet::Module
226
226
 
227
227
  # file paths must be relative to the modules task directory
228
228
  def initialize(pup_module, task_name, module_executables, metadata_file = nil)
229
- if !Puppet::Module::Task.is_task_name?(task_name)
229
+ unless Puppet::Module::Task.is_task_name?(task_name)
230
230
  raise InvalidName, _("Task names must start with a lowercase letter and be composed of only lowercase letters, numbers, and underscores")
231
231
  end
232
232
 
@@ -264,7 +264,7 @@ class Puppet::Module
264
264
  end
265
265
 
266
266
  def ==(other)
267
- self.name == other.name &&
267
+ name == other.name &&
268
268
  self.module == other.module
269
269
  end
270
270
 
@@ -281,7 +281,7 @@ class Puppet::Module
281
281
 
282
282
  # Abstracted here so we can add support for subdirectories later
283
283
  def self.task_name_from_path(path)
284
- return File.basename(path, '.*')
284
+ File.basename(path, '.*')
285
285
  end
286
286
  private_class_method :task_name_from_path
287
287
  end
data/lib/puppet/module.rb CHANGED
@@ -46,21 +46,21 @@ class Puppet::Module
46
46
  fullpath = File.join(path, name)
47
47
  return false unless Puppet::FileSystem.directory?(fullpath)
48
48
 
49
- return is_module_directory_name?(name)
49
+ is_module_directory_name?(name)
50
50
  end
51
51
 
52
52
  def self.is_module_directory_name?(name)
53
53
  # it must match an installed module name according to forge validator
54
54
  return true if name =~ /^[a-z][a-z0-9_]*$/
55
55
 
56
- return false
56
+ false
57
57
  end
58
58
 
59
59
  def self.is_module_namespaced_name?(name)
60
60
  # it must match the full module name according to forge validator
61
- return true if name =~ /^[a-zA-Z0-9]+[-][a-z][a-z0-9_]*$/
61
+ return true if name =~ /^[a-zA-Z0-9]+-[a-z][a-z0-9_]*$/
62
62
 
63
- return false
63
+ false
64
64
  end
65
65
 
66
66
  # @api private
@@ -96,16 +96,14 @@ class Puppet::Module
96
96
 
97
97
  # @deprecated The puppetversion module metadata field is no longer used.
98
98
  def validate_puppet_version
99
- return
99
+ nil
100
100
  end
101
101
 
102
102
  def has_metadata?
103
- begin
104
- load_metadata
105
- @metadata.is_a?(Hash) && !@metadata.empty?
106
- rescue Puppet::Module::MissingMetadata
107
- false
108
- end
103
+ load_metadata
104
+ @metadata.is_a?(Hash) && !@metadata.empty?
105
+ rescue Puppet::Module::MissingMetadata
106
+ false
109
107
  end
110
108
 
111
109
  FILETYPES.each do |type, location|
@@ -118,7 +116,7 @@ class Puppet::Module
118
116
  return false
119
117
  end
120
118
 
121
- return true
119
+ true
122
120
  end
123
121
 
124
122
  # A method for returning a given file of a given type.
@@ -137,7 +135,7 @@ class Puppet::Module
137
135
 
138
136
  return nil unless Puppet::FileSystem.exist?(full_path)
139
137
 
140
- return full_path
138
+ full_path
141
139
  end
142
140
 
143
141
  # Return the base directory for the given type
@@ -173,9 +171,9 @@ class Puppet::Module
173
171
  end
174
172
 
175
173
  if Puppet::FileSystem.exist?(full_path)
176
- return full_path
174
+ full_path
177
175
  else
178
- return nil
176
+ nil
179
177
  end
180
178
  end
181
179
 
@@ -206,9 +204,9 @@ class Puppet::Module
206
204
  end
207
205
 
208
206
  if Puppet::FileSystem.exist?(full_path)
209
- return full_path
207
+ full_path
210
208
  else
211
- return nil
209
+ nil
212
210
  end
213
211
  end
214
212
 
@@ -252,11 +250,11 @@ class Puppet::Module
252
250
 
253
251
  [:source, :author, :version, :license, :dependencies].each do |attr|
254
252
  value = data[attr.to_s]
255
- raise MissingMetadata, "No #{attr} module metadata provided for #{self.name}" if value.nil?
253
+ raise MissingMetadata, "No #{attr} module metadata provided for #{name}" if value.nil?
256
254
 
257
255
  if attr == :dependencies
258
256
  unless value.is_a?(Array)
259
- raise MissingMetadata, "The value for the key dependencies in the file metadata.json of the module #{self.name} must be an array, not: '#{value}'"
257
+ raise MissingMetadata, "The value for the key dependencies in the file metadata.json of the module #{name} must be an array, not: '#{value}'"
260
258
  end
261
259
 
262
260
  value.each do |dep|
@@ -338,7 +336,7 @@ class Puppet::Module
338
336
  # @return true if the module has a directory for the locale, false
339
337
  # false otherwise
340
338
  def has_translations?(locale)
341
- return Puppet::FileSystem.exist?(File.join(locale_directory, locale))
339
+ Puppet::FileSystem.exist?(File.join(locale_directory, locale))
342
340
  end
343
341
 
344
342
  def has_external_facts?
@@ -368,7 +366,7 @@ class Puppet::Module
368
366
  end
369
367
 
370
368
  def required_by
371
- environment.module_requirements[self.forge_name] || {}
369
+ environment.module_requirements[forge_name] || {}
372
370
  end
373
371
 
374
372
  # Identify and mark unmet dependencies. A dependency will be marked unmet
@@ -415,8 +413,8 @@ class Puppet::Module
415
413
  :name => name,
416
414
  :version_constraint => version_string.gsub(/^(?=\d)/, "v"),
417
415
  :parent => {
418
- :name => self.forge_name,
419
- :version => self.version.gsub(/^(?=\d)/, "v")
416
+ :name => forge_name,
417
+ :version => version.gsub(/^(?=\d)/, "v")
420
418
  },
421
419
  :mod_details => {
422
420
  :installed_version => dep_mod.nil? ? nil : dep_mod.version
@@ -429,32 +427,32 @@ class Puppet::Module
429
427
  next
430
428
  end
431
429
 
432
- if version_string
433
- begin
434
- required_version_semver_range = self.class.parse_range(version_string)
435
- actual_version_semver = SemanticPuppet::Version.parse(dep_mod.version)
436
- rescue ArgumentError
437
- error_details[:reason] = :non_semantic_version
438
- unmet_dependencies << error_details
439
- next
440
- end
430
+ next unless version_string
441
431
 
442
- unless required_version_semver_range.include? actual_version_semver
443
- error_details[:reason] = :version_mismatch
444
- unmet_dependencies << error_details
445
- next
446
- end
432
+ begin
433
+ required_version_semver_range = self.class.parse_range(version_string)
434
+ actual_version_semver = SemanticPuppet::Version.parse(dep_mod.version)
435
+ rescue ArgumentError
436
+ error_details[:reason] = :non_semantic_version
437
+ unmet_dependencies << error_details
438
+ next
447
439
  end
440
+
441
+ next if required_version_semver_range.include? actual_version_semver
442
+
443
+ error_details[:reason] = :version_mismatch
444
+ unmet_dependencies << error_details
445
+ next
448
446
  end
449
447
 
450
448
  unmet_dependencies
451
449
  end
452
450
 
453
451
  def ==(other)
454
- self.name == other.name &&
455
- self.version == other.version &&
456
- self.path == other.path &&
457
- self.environment == other.environment
452
+ name == other.name &&
453
+ version == other.version &&
454
+ path == other.path &&
455
+ environment == other.environment
458
456
  end
459
457
 
460
458
  private
@@ -28,7 +28,11 @@ module Puppet::ModuleTool
28
28
  when Net::HTTPOK, Net::HTTPCreated
29
29
  Puppet.notice success
30
30
  else
31
- errors = Puppet::Util::Json.load(response.body)['error'] rescue "HTTP #{response.code}, #{response.body}"
31
+ errors = begin
32
+ Puppet::Util::Json.load(response.body)['error']
33
+ rescue
34
+ "HTTP #{response.code}, #{response.body}"
35
+ end
32
36
  Puppet.warning "#{failure} (#{errors})"
33
37
  end
34
38
  end
@@ -50,11 +54,9 @@ module Puppet::ModuleTool
50
54
 
51
55
  if File.file?(metadata_path)
52
56
  File.open(metadata_path) do |f|
53
- begin
54
- @metadata.update(Puppet::Util::Json.load(f))
55
- rescue Puppet::Util::Json::ParseError => ex
56
- raise ArgumentError, _("Could not parse JSON %{metadata_path}") % { metadata_path: metadata_path }, ex.backtrace
57
- end
57
+ @metadata.update(Puppet::Util::Json.load(f))
58
+ rescue Puppet::Util::Json::ParseError => ex
59
+ raise ArgumentError, _("Could not parse JSON %{metadata_path}") % { metadata_path: metadata_path }, ex.backtrace
58
60
  end
59
61
  end
60
62
 
@@ -62,7 +64,7 @@ module Puppet::ModuleTool
62
64
  Puppet.warning _("A Modulefile was found in the root directory of the module. This file will be ignored and can safely be removed.")
63
65
  end
64
66
 
65
- return @metadata
67
+ @metadata
66
68
  end
67
69
 
68
70
  def load_metadata!
@@ -82,7 +84,7 @@ module Puppet::ModuleTool
82
84
  raise ArgumentError, _("Invalid version format: %{version} (Semantic Versions are acceptable: http://semver.org)") % { version: version }
83
85
  end
84
86
 
85
- return {
87
+ {
86
88
  :module_name => module_name,
87
89
  :author => author,
88
90
  :dir_name => shortname,
@@ -72,7 +72,11 @@ module Puppet::ModuleTool
72
72
  results[:version] = installed_module.version
73
73
  return results
74
74
  else
75
- changes = Checksummer.run(installed_modules[name].mod.path) rescue []
75
+ changes = begin
76
+ Checksummer.run(installed_modules[name].mod.path)
77
+ rescue
78
+ []
79
+ end
76
80
  raise AlreadyInstalledError,
77
81
  :module_name => name,
78
82
  :installed_version => installed_modules[name].version,
@@ -107,22 +111,22 @@ module Puppet::ModuleTool
107
111
 
108
112
  version = release.version
109
113
 
110
- unless forced?
111
- # Since upgrading already installed modules can be troublesome,
112
- # we'll place constraints on the graph for each installed module,
113
- # locking it to upgrades within the same major version.
114
- installed_range = ">=#{version} #{version.major}.x"
115
- graph.add_constraint('installed', mod, installed_range) do |node|
116
- Puppet::Module.parse_range(installed_range).include? node.version
117
- end
114
+ next if forced?
115
+
116
+ # Since upgrading already installed modules can be troublesome,
117
+ # we'll place constraints on the graph for each installed module,
118
+ # locking it to upgrades within the same major version.
119
+ installed_range = ">=#{version} #{version.major}.x"
120
+ graph.add_constraint('installed', mod, installed_range) do |node|
121
+ Puppet::Module.parse_range(installed_range).include? node.version
122
+ end
118
123
 
119
- release.mod.dependencies.each do |dep|
120
- dep_name = dep['name'].tr('/', '-')
124
+ release.mod.dependencies.each do |dep|
125
+ dep_name = dep['name'].tr('/', '-')
121
126
 
122
- range = dep['version_requirement']
123
- graph.add_constraint("#{mod} constraint", dep_name, range) do |node|
124
- Puppet::Module.parse_range(range).include? node.version
125
- end
127
+ range = dep['version_requirement']
128
+ graph.add_constraint("#{mod} constraint", dep_name, range) do |node|
129
+ Puppet::Module.parse_range(range).include? node.version
126
130
  end
127
131
  end
128
132
  end
@@ -194,28 +198,27 @@ module Puppet::ModuleTool
194
198
  # Check for module name conflicts.
195
199
  releases.each do |rel|
196
200
  installed_module = installed_modules_source.by_name[rel.name.split('-').last]
197
- if installed_module
198
- next if installed_module.has_metadata? && installed_module.forge_name.tr('/', '-') == rel.name
199
-
200
- if rel.name != name
201
- dependency = {
202
- :name => rel.name,
203
- :version => rel.version
204
- }
205
- end
206
-
207
- raise InstallConflictError,
208
- :requested_module => name,
209
- :requested_version => options[:version] || 'latest',
210
- :dependency => dependency,
211
- :directory => installed_module.path,
212
- :metadata => installed_module.metadata
201
+ next unless installed_module
202
+ next if installed_module.has_metadata? && installed_module.forge_name.tr('/', '-') == rel.name
203
+
204
+ if rel.name != name
205
+ dependency = {
206
+ :name => rel.name,
207
+ :version => rel.version
208
+ }
213
209
  end
210
+
211
+ raise InstallConflictError,
212
+ :requested_module => name,
213
+ :requested_version => options[:version] || 'latest',
214
+ :dependency => dependency,
215
+ :directory => installed_module.path,
216
+ :metadata => installed_module.metadata
214
217
  end
215
218
  end
216
219
 
217
220
  Puppet.info _("Preparing to install ...")
218
- releases.each { |release| release.prepare }
221
+ releases.each(&:prepare)
219
222
 
220
223
  Puppet.notice _('Installing -- do not interrupt ...')
221
224
  releases.each do |release|
@@ -287,7 +290,7 @@ module Puppet::ModuleTool
287
290
 
288
291
  previous = installed_modules[release.name]
289
292
  previous = previous.version if previous
290
- return {
293
+ {
291
294
  :release => release,
292
295
  :name => release.name,
293
296
  :path => release.install_dir.to_s,
@@ -368,24 +371,24 @@ module Puppet::ModuleTool
368
371
  metadata = nil
369
372
  end
370
373
 
371
- if release[:module] =~ /-#{mod.name}$/
372
- dependency_info = {
373
- :name => release[:module],
374
- :version => release[:version][:vstring]
375
- }
376
- dependency = is_dependency ? dependency_info : nil
377
- all_versions = @versions["#{@module_name}"].sort_by { |h| h[:semver] }
378
- versions = all_versions.select { |x| x[:semver].special == '' }
379
- versions = all_versions if versions.empty?
380
- latest_version = versions.last[:vstring]
374
+ next unless release[:module] =~ /-#{mod.name}$/
381
375
 
382
- raise InstallConflictError,
383
- :requested_module => @module_name,
384
- :requested_version => @version || "latest: v#{latest_version}",
385
- :dependency => dependency,
386
- :directory => mod.path,
387
- :metadata => metadata
388
- end
376
+ dependency_info = {
377
+ :name => release[:module],
378
+ :version => release[:version][:vstring]
379
+ }
380
+ dependency = is_dependency ? dependency_info : nil
381
+ all_versions = @versions[@module_name.to_s].sort_by { |h| h[:semver] }
382
+ versions = all_versions.select { |x| x[:semver].special == '' }
383
+ versions = all_versions if versions.empty?
384
+ latest_version = versions.last[:vstring]
385
+
386
+ raise InstallConflictError,
387
+ :requested_module => @module_name,
388
+ :requested_version => @version || "latest: v#{latest_version}",
389
+ :dependency => dependency,
390
+ :directory => mod.path,
391
+ :metadata => metadata
389
392
  end
390
393
 
391
394
  deps = release[:dependencies]
@@ -9,7 +9,7 @@ module Puppet::ModuleTool
9
9
  module Applications
10
10
  class Unpacker < Application
11
11
  def self.unpack(filename, target)
12
- app = self.new(filename, :target_dir => target)
12
+ app = new(filename, :target_dir => target)
13
13
  app.unpack
14
14
  app.sanity_check
15
15
  app.move_into(target)
@@ -38,7 +38,7 @@ module Puppet::ModuleTool
38
38
 
39
39
  # Return the Pathname object representing the directory where the
40
40
  # module release archive was unpacked the to.
41
- return module_dir
41
+ module_dir
42
42
  end
43
43
 
44
44
  # @api private
@@ -54,11 +54,9 @@ module Puppet::ModuleTool
54
54
 
55
55
  # @api private
56
56
  def unpack
57
- begin
58
- Puppet::ModuleTool::Tar.instance.unpack(@filename.to_s, tmpdir, [@module_path.stat.uid, @module_path.stat.gid].join(':'))
59
- rescue Puppet::ExecutionFailure => e
60
- raise RuntimeError, _("Could not extract contents of module archive: %{message}") % { message: e.message }
61
- end
57
+ Puppet::ModuleTool::Tar.instance.unpack(@filename.to_s, tmpdir, [@module_path.stat.uid, @module_path.stat.gid].join(':'))
58
+ rescue Puppet::ExecutionFailure => e
59
+ raise RuntimeError, _("Could not extract contents of module archive: %{message}") % { message: e.message }
62
60
  end
63
61
 
64
62
  # @api private
@@ -66,7 +64,7 @@ module Puppet::ModuleTool
66
64
  return @root_dir if @root_dir
67
65
 
68
66
  # Grab the first directory containing a metadata.json file
69
- metadata_file = Dir["#{tmpdir}/**/metadata.json"].sort_by(&:length)[0]
67
+ metadata_file = Dir["#{tmpdir}/**/metadata.json"].min_by(&:length)
70
68
 
71
69
  if metadata_file
72
70
  @root_dir = Pathname.new(metadata_file).dirname
@@ -76,7 +76,11 @@ module Puppet::ModuleTool
76
76
  vstring = mod.version ? "v#{mod.version}" : '???'
77
77
  Puppet.notice _("Found '%{name}' (%{version}) in %{dir} ...") % { name: name, version: colorize(:cyan, vstring), dir: dir }
78
78
  unless @ignore_changes
79
- changes = Checksummer.run(mod.path) rescue []
79
+ changes = begin
80
+ Checksummer.run(mod.path)
81
+ rescue
82
+ []
83
+ end
80
84
  if mod.has_metadata? && !changes.empty?
81
85
  raise LocalChangesError,
82
86
  :action => :upgrade,
@@ -117,22 +121,22 @@ module Puppet::ModuleTool
117
121
 
118
122
  version = release.version
119
123
 
120
- unless forced?
121
- # Since upgrading already installed modules can be troublesome,
122
- # we'll place constraints on the graph for each installed
123
- # module, locking it to upgrades within the same major version.
124
- installed_range = ">=#{version} #{version.major}.x"
125
- graph.add_constraint('installed', installed_module, installed_range) do |node|
126
- Puppet::Module.parse_range(installed_range).include? node.version
127
- end
124
+ next if forced?
125
+
126
+ # Since upgrading already installed modules can be troublesome,
127
+ # we'll place constraints on the graph for each installed
128
+ # module, locking it to upgrades within the same major version.
129
+ installed_range = ">=#{version} #{version.major}.x"
130
+ graph.add_constraint('installed', installed_module, installed_range) do |node|
131
+ Puppet::Module.parse_range(installed_range).include? node.version
132
+ end
128
133
 
129
- release.mod.dependencies.each do |dep|
130
- dep_name = dep['name'].tr('/', '-')
134
+ release.mod.dependencies.each do |dep|
135
+ dep_name = dep['name'].tr('/', '-')
131
136
 
132
- range = dep['version_requirement']
133
- graph.add_constraint("#{installed_module} constraint", dep_name, range) do |node|
134
- Puppet::Module.parse_range(range).include? node.version
135
- end
137
+ range = dep['version_requirement']
138
+ graph.add_constraint("#{installed_module} constraint", dep_name, range) do |node|
139
+ Puppet::Module.parse_range(range).include? node.version
136
140
  end
137
141
  end
138
142
  end
@@ -146,30 +150,29 @@ module Puppet::ModuleTool
146
150
 
147
151
  releases.each do |rel|
148
152
  mod = installed_modules_source.by_name[rel.name.split('-').last]
149
- if mod
150
- next if mod.has_metadata? && mod.forge_name.tr('/', '-') == rel.name
151
-
152
- if rel.name != name
153
- dependency = {
154
- :name => rel.name,
155
- :version => rel.version
156
- }
157
- end
158
-
159
- raise InstallConflictError,
160
- :requested_module => name,
161
- :requested_version => options[:version] || 'latest',
162
- :dependency => dependency,
163
- :directory => mod.path,
164
- :metadata => mod.metadata
153
+ next unless mod
154
+ next if mod.has_metadata? && mod.forge_name.tr('/', '-') == rel.name
155
+
156
+ if rel.name != name
157
+ dependency = {
158
+ :name => rel.name,
159
+ :version => rel.version
160
+ }
165
161
  end
162
+
163
+ raise InstallConflictError,
164
+ :requested_module => name,
165
+ :requested_version => options[:version] || 'latest',
166
+ :dependency => dependency,
167
+ :directory => mod.path,
168
+ :metadata => mod.metadata
166
169
  end
167
170
 
168
171
  child = releases.find { |x| x.name == name }
169
172
 
170
173
  unless forced?
171
174
  if child.version == results[:installed_version]
172
- versions = graph.dependencies[name].map { |r| r.version }
175
+ versions = graph.dependencies[name].map(&:version)
173
176
  newer_versions = versions.select { |v| v > results[:installed_version] }
174
177
 
175
178
  raise VersionAlreadyInstalledError,
@@ -187,7 +190,7 @@ module Puppet::ModuleTool
187
190
  end
188
191
 
189
192
  Puppet.info _("Preparing to upgrade ...")
190
- releases.each { |release| release.prepare }
193
+ releases.each(&:prepare)
191
194
 
192
195
  Puppet.notice _('Upgrading -- do not interrupt ...')
193
196
  releases.each do |release|
@@ -268,7 +271,7 @@ module Puppet::ModuleTool
268
271
  end
269
272
  end
270
273
 
271
- return {
274
+ {
272
275
  :release => release,
273
276
  :name => release.name,
274
277
  :path => release.install_dir,
@@ -19,7 +19,7 @@ module Puppet::ModuleTool
19
19
 
20
20
  # Return checksum for the +Pathname+.
21
21
  def checksum(pathname)
22
- return Digest::MD5.hexdigest(Puppet::FileSystem.binread(pathname))
22
+ Digest::MD5.hexdigest(Puppet::FileSystem.binread(pathname))
23
23
  end
24
24
 
25
25
  # Return checksums for object's +Pathname+, generate if it's needed.
@@ -36,7 +36,7 @@ module Puppet::ModuleTool
36
36
  end
37
37
  end
38
38
  end
39
- return @data
39
+ @data
40
40
  end
41
41
 
42
42
  alias :to_data_hash :data
@@ -23,7 +23,7 @@ module Puppet::ModuleTool
23
23
  # We override Object's ==, eql, and hash so we can more easily find identical
24
24
  # dependencies.
25
25
  def ==(o)
26
- self.hash == o.hash
26
+ hash == o.hash
27
27
  end
28
28
 
29
29
  alias :eql? :==
@@ -10,7 +10,7 @@ module Puppet::ModuleTool::Errors
10
10
  if @action == :upgrade
11
11
  "#{v(@installed_version)} -> #{v(@requested_version)}"
12
12
  else
13
- "#{v(@installed_version || @requested_version)}"
13
+ v(@installed_version || @requested_version).to_s
14
14
  end
15
15
  end
16
16
  end
@@ -36,7 +36,7 @@ module Puppet
36
36
  }
37
37
 
38
38
  def converted_to_friendly_error(module_name, version, orig_error)
39
- return orig_error if not ERROR_MAPPINGS.include?(orig_error.class)
39
+ return orig_error unless ERROR_MAPPINGS.include?(orig_error.class)
40
40
 
41
41
  ERROR_MAPPINGS[orig_error.class].new(orig_error,
42
42
  :requested_module => module_name,
@@ -84,11 +84,9 @@ module Puppet::ModuleTool
84
84
  # rubocop:enable Naming/MemoizedInstanceVariableName
85
85
 
86
86
  def unpack(file, destination)
87
- begin
88
- Puppet::ModuleTool::Applications::Unpacker.unpack(file, destination)
89
- rescue Puppet::ExecutionFailure => e
90
- raise RuntimeError, _("Could not extract contents of module archive: %{message}") % { message: e.message }
91
- end
87
+ Puppet::ModuleTool::Applications::Unpacker.unpack(file, destination)
88
+ rescue Puppet::ExecutionFailure => e
89
+ raise RuntimeError, _("Could not extract contents of module archive: %{message}") % { message: e.message }
92
90
  end
93
91
  end
94
92
  end