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
@@ -14,9 +14,9 @@ Puppet.features.selinux? # check, but continue even if it's not
14
14
  require 'pathname'
15
15
 
16
16
  module Puppet::Util::SELinux
17
- S_IFREG = 0100000
18
- S_IFDIR = 0040000
19
- S_IFLNK = 0120000
17
+ S_IFREG = 0o100000
18
+ S_IFDIR = 0o040000
19
+ S_IFLNK = 0o120000
20
20
 
21
21
  def self.selinux_support?
22
22
  return false unless defined?(Selinux)
@@ -142,10 +142,10 @@ module Puppet::Util::SELinux
142
142
 
143
143
  retval = Selinux.lsetfilecon(file, context)
144
144
  if retval == 0
145
- return true
145
+ true
146
146
  else
147
147
  Puppet.warning _("Failed to set SELinux context %{context} on %{file}") % { context: context, file: file }
148
- return false
148
+ false
149
149
  end
150
150
  end
151
151
 
@@ -215,7 +215,7 @@ module Puppet::Util::SELinux
215
215
  fstype = find_fs(file)
216
216
  return false if fstype.nil?
217
217
 
218
- filesystems = ['ext2', 'ext3', 'ext4', 'gfs', 'gfs2', 'xfs', 'jfs', 'btrfs', 'tmpfs', 'zfs']
218
+ filesystems = %w[ext2 ext3 ext4 gfs gfs2 xfs jfs btrfs tmpfs zfs]
219
219
  filesystems.include?(fstype)
220
220
  end
221
221
 
@@ -294,7 +294,7 @@ module Puppet::Util::SELinux
294
294
  end
295
295
 
296
296
  # Should never be reached...
297
- return mounts['/']
297
+ mounts['/']
298
298
  end
299
299
 
300
300
  ##
@@ -40,14 +40,14 @@ class Puppet::Util::Storage
40
40
  @@state = {}
41
41
  end
42
42
 
43
- self.init
43
+ init
44
44
 
45
45
  def self.load
46
46
  Puppet.settings.use(:main) unless FileTest.directory?(Puppet[:statedir])
47
47
  filename = Puppet[:statefile]
48
48
 
49
49
  unless Puppet::FileSystem.exist?(filename)
50
- self.init if @@state.nil?
50
+ init if @@state.nil?
51
51
  return
52
52
  end
53
53
  unless File.file?(filename)
@@ -55,22 +55,20 @@ class Puppet::Util::Storage
55
55
  return
56
56
  end
57
57
  Puppet::Util.benchmark(:debug, "Loaded state in %{seconds} seconds") do
58
+ @@state = Puppet::Util::Yaml.safe_load_file(filename, [Symbol, Time])
59
+ rescue Puppet::Util::Yaml::YamlLoadError => detail
60
+ Puppet.err _("Checksumfile %{filename} is corrupt (%{detail}); replacing") % { filename: filename, detail: detail }
61
+
58
62
  begin
59
- @@state = Puppet::Util::Yaml.safe_load_file(filename, [Symbol, Time])
60
- rescue Puppet::Util::Yaml::YamlLoadError => detail
61
- Puppet.err _("Checksumfile %{filename} is corrupt (%{detail}); replacing") % { filename: filename, detail: detail }
62
-
63
- begin
64
- File.rename(filename, filename + ".bad")
65
- rescue
66
- raise Puppet::Error, _("Could not rename corrupt %{filename}; remove manually") % { filename: filename }, detail.backtrace
67
- end
63
+ File.rename(filename, filename + ".bad")
64
+ rescue
65
+ raise Puppet::Error, _("Could not rename corrupt %{filename}; remove manually") % { filename: filename }, detail.backtrace
68
66
  end
69
67
  end
70
68
 
71
69
  unless @@state.is_a?(Hash)
72
70
  Puppet.err _("State got corrupted")
73
- self.init
71
+ init
74
72
  end
75
73
  end
76
74
 
@@ -25,23 +25,21 @@ module Puppet::Util::SUIDManager
25
25
  module_function :osx_maj_ver
26
26
 
27
27
  def groups=(grouplist)
28
- begin
29
- Process.groups = grouplist
30
- rescue Errno::EINVAL => e
31
- # We catch Errno::EINVAL as some operating systems (OS X in particular) can
32
- # cause troubles when using Process#groups= to change *this* user / process
33
- # list of supplementary groups membership. This is done via Ruby's function
34
- # "static VALUE proc_setgroups(VALUE obj, VALUE ary)" which is effectively
35
- # a wrapper for "int setgroups(size_t size, const gid_t *list)" (part of SVr4
36
- # and 4.3BSD but not in POSIX.1-2001) that fails and sets errno to EINVAL.
37
- #
38
- # This does not appear to be a problem with Ruby but rather an issue on the
39
- # operating system side. Therefore we catch the exception and look whether
40
- # we run under OS X or not -- if so, then we acknowledge the problem and
41
- # re-throw the exception otherwise.
42
- if !osx_maj_ver || osx_maj_ver.empty?
43
- raise e
44
- end
28
+ Process.groups = grouplist
29
+ rescue Errno::EINVAL => e
30
+ # We catch Errno::EINVAL as some operating systems (OS X in particular) can
31
+ # cause troubles when using Process#groups= to change *this* user / process
32
+ # list of supplementary groups membership. This is done via Ruby's function
33
+ # "static VALUE proc_setgroups(VALUE obj, VALUE ary)" which is effectively
34
+ # a wrapper for "int setgroups(size_t size, const gid_t *list)" (part of SVr4
35
+ # and 4.3BSD but not in POSIX.1-2001) that fails and sets errno to EINVAL.
36
+ #
37
+ # This does not appear to be a problem with Ruby but rather an issue on the
38
+ # operating system side. Therefore we catch the exception and look whether
39
+ # we run under OS X or not -- if so, then we acknowledge the problem and
40
+ # re-throw the exception otherwise.
41
+ if !osx_maj_ver || osx_maj_ver.empty?
42
+ raise e
45
43
  end
46
44
  end
47
45
  module_function :groups=
@@ -67,7 +65,8 @@ module Puppet::Util::SUIDManager
67
65
  return yield unless root?
68
66
  return yield unless new_uid or new_gid
69
67
 
70
- old_euid, old_egid = self.euid, self.egid
68
+ old_euid = euid
69
+ old_egid = egid
71
70
  begin
72
71
  change_privileges(new_uid, new_gid, false)
73
72
 
@@ -147,7 +146,7 @@ module Puppet::Util::SUIDManager
147
146
  raise ArgumentError, _("Invalid id type %{type}") % { type: type } unless map.include?(type)
148
147
 
149
148
  ret = Puppet::Util.send(type, id)
150
- if ret == nil
149
+ if ret.nil?
151
150
  raise Puppet::Error, _("Invalid %{klass}: %{id}") % { klass: map[type], id: id }
152
151
  end
153
152
 
@@ -19,7 +19,7 @@ module SymbolicFileMode
19
19
  return true if value =~ /^0?[0-7]{1,4}$/
20
20
  return true if value =~ /^([ugoa]*[-=+][-=+rstwxXugo]*)(,[ugoa]*[-=+][-=+rstwxXugo]*)*$/
21
21
 
22
- return false
22
+ false
23
23
  end
24
24
 
25
25
  def display_mode(value)
@@ -60,12 +60,12 @@ module SymbolicFileMode
60
60
  fail _("non-numeric current mode (%{mode})") % { mode: to_mode.inspect } unless to_mode.is_a?(Numeric)
61
61
 
62
62
  original_mode = {
63
- 's' => (to_mode & 07000) >> 9,
64
- 'u' => (to_mode & 00700) >> 6,
65
- 'g' => (to_mode & 00070) >> 3,
66
- 'o' => (to_mode & 00007) >> 0,
63
+ 's' => (to_mode & 0o7000) >> 9,
64
+ 'u' => (to_mode & 0o0700) >> 6,
65
+ 'g' => (to_mode & 0o0070) >> 3,
66
+ 'o' => (to_mode & 0o0007) >> 0,
67
67
  # Are there any execute bits set in the original mode?
68
- 'any x?' => (to_mode & 00111) != 0
68
+ 'any x?' => (to_mode & 0o0111) != 0
69
69
  }
70
70
  final_mode = {
71
71
  's' => original_mode['s'],
@@ -75,85 +75,81 @@ module SymbolicFileMode
75
75
  }
76
76
 
77
77
  modification.split(/\s*,\s*/).each do |part|
78
- begin
79
- _, to, dsl = /^([ugoa]*)([-+=].*)$/.match(part).to_a
80
- if dsl.nil? then raise Puppet::Error, _('Missing action') end
81
-
82
- to = "a" unless to and to.length > 0
83
-
84
- # We want a snapshot of the mode before we start messing with it to
85
- # make actions like 'a-g' atomic. Various parts of the DSL refer to
86
- # the original mode, the final mode, or the current snapshot of the
87
- # mode, for added fun.
88
- snapshot_mode = {}
89
- final_mode.each { |k, v| snapshot_mode[k] = v }
90
-
91
- to.gsub('a', 'ugo').split('').uniq.each do |who|
92
- value = snapshot_mode[who]
93
-
94
- action = '!'
95
- actions = {
96
- '!' => ->(_, _) { raise Puppet::Error, _('Missing operation (-, =, or +)') },
97
- '=' => ->(m, v) { m | v },
98
- '+' => ->(m, v) { m | v },
99
- '-' => ->(m, v) { m & ~v },
100
- }
101
-
102
- dsl.split('').each do |op|
103
- case op
104
- when /[-+=]/
105
- action = op
106
- # Clear all bits, if this is assignment
107
- value = 0 if op == '='
108
-
109
- when /[ugo]/
110
- value = actions[action].call(value, snapshot_mode[op])
111
-
112
- when /[rwx]/
113
- value = actions[action].call(value, SymbolicMode[op])
114
-
115
- when 'X'
116
- # Only meaningful in combination with "set" actions.
117
- if action != '+'
118
- raise Puppet::Error, _("X only works with the '+' operator")
119
- end
120
-
121
- # As per the BSD manual page, set if this is a directory, or if
122
- # any execute bit is set on the original (unmodified) mode.
123
- # Ignored otherwise; it is "add if", not "add or clear".
124
- if is_a_directory or original_mode['any x?']
125
- value = actions[action].call(value, ExecBit)
126
- end
127
-
128
- when /[st]/
129
- bit = SymbolicSpecialToBit[op][who] or fail _("internal error")
130
- final_mode['s'] = actions[action].call(final_mode['s'], bit)
131
-
132
- else
133
- raise Puppet::Error, _('Unknown operation')
78
+ _, to, dsl = /^([ugoa]*)([-+=].*)$/.match(part).to_a
79
+ if dsl.nil? then raise Puppet::Error, _('Missing action') end
80
+
81
+ to = "a" unless to and to.length > 0
82
+
83
+ # We want a snapshot of the mode before we start messing with it to
84
+ # make actions like 'a-g' atomic. Various parts of the DSL refer to
85
+ # the original mode, the final mode, or the current snapshot of the
86
+ # mode, for added fun.
87
+ snapshot_mode = {}
88
+ final_mode.each { |k, v| snapshot_mode[k] = v }
89
+
90
+ to.gsub('a', 'ugo').split('').uniq.each do |who|
91
+ value = snapshot_mode[who]
92
+
93
+ action = '!'
94
+ actions = {
95
+ '!' => ->(_, _) { raise Puppet::Error, _('Missing operation (-, =, or +)') },
96
+ '=' => ->(m, v) { m | v },
97
+ '+' => ->(m, v) { m | v },
98
+ '-' => ->(m, v) { m & ~v },
99
+ }
100
+
101
+ dsl.split('').each do |op|
102
+ case op
103
+ when /[-+=]/
104
+ action = op
105
+ # Clear all bits, if this is assignment
106
+ value = 0 if op == '='
107
+
108
+ when /[ugo]/
109
+ value = actions[action].call(value, snapshot_mode[op])
110
+
111
+ when /[rwx]/
112
+ value = actions[action].call(value, SymbolicMode[op])
113
+
114
+ when 'X'
115
+ # Only meaningful in combination with "set" actions.
116
+ if action != '+'
117
+ raise Puppet::Error, _("X only works with the '+' operator")
134
118
  end
135
- end
136
119
 
137
- # Now, assign back the value.
138
- final_mode[who] = value
139
- end
140
- rescue Puppet::Error => e
141
- if part.inspect != modification.inspect
142
- rest = " at #{part.inspect}"
143
- else
144
- rest = ''
120
+ # As per the BSD manual page, set if this is a directory, or if
121
+ # any execute bit is set on the original (unmodified) mode.
122
+ # Ignored otherwise; it is "add if", not "add or clear".
123
+ if is_a_directory or original_mode['any x?']
124
+ value = actions[action].call(value, ExecBit)
125
+ end
126
+
127
+ when /[st]/
128
+ bit = SymbolicSpecialToBit[op][who] or fail _("internal error")
129
+ final_mode['s'] = actions[action].call(final_mode['s'], bit)
130
+
131
+ else
132
+ raise Puppet::Error, _('Unknown operation')
133
+ end
145
134
  end
146
135
 
147
- raise Puppet::Error, _("%{error}%{rest} in symbolic mode %{modification}") % { error: e, rest: rest, modification: modification.inspect }, e.backtrace
136
+ # Now, assign back the value.
137
+ final_mode[who] = value
148
138
  end
139
+ rescue Puppet::Error => e
140
+ if part.inspect != modification.inspect
141
+ rest = " at #{part.inspect}"
142
+ else
143
+ rest = ''
144
+ end
145
+
146
+ raise Puppet::Error, _("%{error}%{rest} in symbolic mode %{modification}") % { error: e, rest: rest, modification: modification.inspect }, e.backtrace
149
147
  end
150
148
 
151
- result =
152
- final_mode['s'] << 9 |
149
+ final_mode['s'] << 9 |
153
150
  final_mode['u'] << 6 |
154
151
  final_mode['g'] << 3 |
155
152
  final_mode['o'] << 0
156
- return result
157
153
  end
158
154
  end
159
155
  end
@@ -7,7 +7,7 @@ class Puppet::Util::TagSet < Set
7
7
  include Puppet::Network::FormatSupport
8
8
 
9
9
  def self.from_yaml(yaml)
10
- self.new(Puppet::Util::Yaml.safe_load(yaml, [Symbol]))
10
+ new(Puppet::Util::Yaml.safe_load(yaml, [Symbol]))
11
11
  end
12
12
 
13
13
  def to_yaml
@@ -15,7 +15,7 @@ class Puppet::Util::TagSet < Set
15
15
  end
16
16
 
17
17
  def self.from_data_hash(data)
18
- self.new(data)
18
+ new(data)
19
19
  end
20
20
 
21
21
  # TODO: A method named #to_data_hash should not return an array
@@ -71,7 +71,7 @@ module Puppet::Util::Tagging
71
71
  # @return [Boolean] true if this instance is tagged with at least one of the provided tags
72
72
  #
73
73
  def raw_tagged?(tag_array)
74
- my_tags = self.tags
74
+ my_tags = tags
75
75
  !tag_array.index { |t| my_tags.include?(t) }.nil?
76
76
  end
77
77
 
@@ -109,16 +109,14 @@ module Puppet::Util::Tagging
109
109
  end
110
110
 
111
111
  def valid_tag?(maybe_tag)
112
- begin
113
- tag_enc = maybe_tag.encoding
114
- if tag_enc == Encoding::UTF_8 || tag_enc == Encoding::ASCII
115
- maybe_tag =~ ValidTagRegex
116
- else
117
- maybe_tag.encode(Encoding::UTF_8) =~ ValidTagRegex
118
- end
119
- rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
120
- false
112
+ tag_enc = maybe_tag.encoding
113
+ if tag_enc == Encoding::UTF_8 || tag_enc == Encoding::ASCII
114
+ maybe_tag =~ ValidTagRegex
115
+ else
116
+ maybe_tag.encode(Encoding::UTF_8) =~ ValidTagRegex
121
117
  end
118
+ rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
119
+ false
122
120
  end
123
121
 
124
122
  private
@@ -8,11 +8,11 @@ module Puppet::Util::Terminal
8
8
  # @return [Number] The column width of the terminal. Defaults to 80 columns.
9
9
  def self.width
10
10
  if Puppet.features.posix?
11
- result = %x{stty size 2>/dev/null}.split[1] ||
12
- %x{tput cols 2>/dev/null}.split[0]
11
+ result = %x(stty size 2>/dev/null).split[1] ||
12
+ %x(tput cols 2>/dev/null).split[0]
13
13
  end
14
- return (result || '80').to_i
14
+ (result || '80').to_i
15
15
  rescue
16
- return 80
16
+ 80
17
17
  end
18
18
  end
@@ -9,14 +9,14 @@ class UserAttr
9
9
 
10
10
  token = line.split(':')
11
11
 
12
- if token[0] == name
13
- attributes = { :name => name }
14
- token[4].split(';').each do |attr|
15
- key_value = attr.split('=')
16
- attributes[key_value[0].intern] = key_value[1].strip
17
- end
18
- break
12
+ next unless token[0] == name
13
+
14
+ attributes = { :name => name }
15
+ token[4].split(';').each do |attr|
16
+ key_value = attr.split('=')
17
+ attributes[key_value[0].intern] = key_value[1].strip
19
18
  end
19
+ break
20
20
  end
21
21
  attributes
22
22
  end
@@ -8,11 +8,9 @@ module Puppet::Util::Watcher
8
8
  module Common
9
9
  def self.file_ctime_change_watcher(filename)
10
10
  Puppet::Util::Watcher::ChangeWatcher.watch(lambda do
11
- begin
12
- Puppet::FileSystem.stat(filename).ctime
13
- rescue Errno::ENOENT, Errno::ENOTDIR
14
- :absent
15
- end
11
+ Puppet::FileSystem.stat(filename).ctime
12
+ rescue Errno::ENOENT, Errno::ENOTDIR
13
+ :absent
16
14
  end)
17
15
  end
18
16
  end
@@ -109,7 +109,7 @@ class Puppet::Util::Windows::AccessControlList
109
109
 
110
110
  def ==(other)
111
111
  self.class == other.class &&
112
- self.to_a == other.to_a
112
+ to_a == other.to_a
113
113
  end
114
114
 
115
115
  alias eql? ==