puppet 0.24.7 → 0.24.8

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (489) hide show
  1. data/CHANGELOG +72 -0
  2. data/README.rst +38 -0
  3. data/Rakefile +3 -1
  4. data/bin/filebucket +0 -0
  5. data/bin/puppet +0 -0
  6. data/bin/puppetca +0 -0
  7. data/bin/puppetd +0 -0
  8. data/bin/puppetdoc +0 -0
  9. data/bin/puppetmasterd +0 -0
  10. data/bin/puppetrun +0 -0
  11. data/bin/ralsh +4 -0
  12. data/conf/gentoo/init.d/puppetmaster +0 -0
  13. data/conf/osx/createpackage.sh +0 -0
  14. data/conf/osx/preflight +0 -0
  15. data/conf/redhat/puppet.spec +20 -3
  16. data/conf/solaris/smf/svc-puppetd +0 -0
  17. data/conf/solaris/smf/svc-puppetmasterd +0 -0
  18. data/examples/etc/init.d/sleeper +0 -0
  19. data/examples/mac_dscl.pp +0 -0
  20. data/examples/mac_dscl_revert.pp +0 -0
  21. data/examples/mac_netinfo.pp +0 -0
  22. data/examples/mac_pkgdmg.pp +0 -0
  23. data/ext/bin/sleeper +0 -0
  24. data/ext/dbfix.sql +132 -0
  25. data/ext/logcheck/puppet +2 -1
  26. data/ext/module_puppet +0 -0
  27. data/ext/nagios/check_puppet.rb +0 -0
  28. data/ext/puppet-test +0 -0
  29. data/ext/puppetlast +0 -0
  30. data/ext/vim/syntax/puppet.vim +2 -1
  31. data/install.rb +2 -2
  32. data/lib/puppet.rb +1 -1
  33. data/lib/puppet/daemon.rb +0 -0
  34. data/lib/puppet/defaults.rb +9 -0
  35. data/lib/puppet/executables/client/certhandler.rb +6 -1
  36. data/lib/puppet/external/base64.rb +0 -0
  37. data/lib/puppet/external/nagios.rb +0 -0
  38. data/lib/puppet/external/nagios/base.rb +0 -0
  39. data/lib/puppet/external/nagios/parser.rb +39 -57
  40. data/lib/puppet/file_collection.rb +30 -0
  41. data/lib/puppet/file_collection/lookup.rb +20 -0
  42. data/lib/puppet/indirector/facts/facter.rb +6 -2
  43. data/lib/puppet/indirector/node/ldap.rb +75 -39
  44. data/lib/puppet/network/authstore.rb +0 -0
  45. data/lib/puppet/network/handler/filebucket.rb +0 -0
  46. data/lib/puppet/network/handler/fileserver.rb +0 -0
  47. data/lib/puppet/network/handler/report.rb +0 -0
  48. data/lib/puppet/network/handler/resource.rb +0 -0
  49. data/lib/puppet/network/handler/runner.rb +0 -0
  50. data/lib/puppet/network/rights.rb +0 -0
  51. data/lib/puppet/network/xmlrpc/client.rb +113 -53
  52. data/lib/puppet/node/facts.rb +0 -0
  53. data/lib/puppet/parser/ast.rb +4 -3
  54. data/lib/puppet/parser/ast/astarray.rb +2 -1
  55. data/lib/puppet/parser/ast/leaf.rb +1 -1
  56. data/lib/puppet/parser/ast/resource.rb +20 -20
  57. data/lib/puppet/parser/ast/resource_override.rb +2 -2
  58. data/lib/puppet/parser/collector.rb +1 -2
  59. data/lib/puppet/parser/functions/realize.rb +1 -1
  60. data/lib/puppet/parser/functions/regsubst.rb +93 -0
  61. data/lib/puppet/parser/functions/sprintf.rb +17 -0
  62. data/lib/puppet/parser/functions/versioncmp.rb +10 -0
  63. data/lib/puppet/parser/resource.rb +10 -6
  64. data/lib/puppet/parser/resource/param.rb +17 -14
  65. data/lib/puppet/parser/resource/reference.rb +2 -0
  66. data/lib/puppet/parser/scope.rb +3 -3
  67. data/lib/puppet/property/list.rb +5 -1
  68. data/lib/puppet/provider/augeas/augeas.rb +146 -44
  69. data/lib/puppet/provider/cron/crontab.rb +0 -0
  70. data/lib/puppet/provider/mailalias/aliases.rb +0 -0
  71. data/lib/puppet/provider/maillist/mailman.rb +0 -0
  72. data/lib/puppet/provider/mount/parsed.rb +0 -0
  73. data/lib/puppet/provider/naginator.rb +7 -2
  74. data/lib/puppet/provider/nameservice/directoryservice.rb +128 -44
  75. data/lib/puppet/provider/package/apple.rb +0 -0
  76. data/lib/puppet/provider/package/apt.rb +0 -0
  77. data/lib/puppet/provider/package/aptitude.rb +0 -0
  78. data/lib/puppet/provider/package/blastwave.rb +0 -0
  79. data/lib/puppet/provider/package/darwinport.rb +0 -0
  80. data/lib/puppet/provider/package/dpkg.rb +0 -0
  81. data/lib/puppet/provider/package/fink.rb +0 -0
  82. data/lib/puppet/provider/package/freebsd.rb +0 -0
  83. data/lib/puppet/provider/package/gem.rb +0 -0
  84. data/lib/puppet/provider/package/openbsd.rb +0 -0
  85. data/lib/puppet/provider/package/ports.rb +0 -0
  86. data/lib/puppet/provider/package/rpm.rb +0 -0
  87. data/lib/puppet/provider/package/sun.rb +0 -0
  88. data/lib/puppet/provider/package/sunfreeware.rb +0 -0
  89. data/lib/puppet/provider/package/up2date.rb +4 -2
  90. data/lib/puppet/provider/package/yum.rb +0 -0
  91. data/lib/puppet/provider/parsedfile.rb +47 -22
  92. data/lib/puppet/provider/port/parsed.rb +0 -0
  93. data/lib/puppet/provider/service/base.rb +0 -0
  94. data/lib/puppet/provider/service/debian.rb +0 -0
  95. data/lib/puppet/provider/service/gentoo.rb +1 -1
  96. data/lib/puppet/provider/service/init.rb +0 -0
  97. data/lib/puppet/provider/service/launchd.rb +13 -4
  98. data/lib/puppet/provider/service/redhat.rb +5 -5
  99. data/lib/puppet/provider/service/smf.rb +0 -0
  100. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +43 -16
  101. data/lib/puppet/provider/sshkey/parsed.rb +0 -0
  102. data/lib/puppet/provider/user/useradd.rb +1 -1
  103. data/lib/puppet/rails/database/003_add_environment_to_host.rb +6 -2
  104. data/lib/puppet/rails/host.rb +70 -19
  105. data/lib/puppet/rails/param_value.rb +31 -12
  106. data/lib/puppet/rails/resource.rb +36 -9
  107. data/lib/puppet/rails/resource_tag.rb +18 -0
  108. data/lib/puppet/reference/report.rb +1 -0
  109. data/lib/puppet/reports.rb +0 -0
  110. data/lib/puppet/sslcertificates.rb +0 -0
  111. data/lib/puppet/transaction.rb +1 -1
  112. data/lib/puppet/type.rb +2 -6
  113. data/lib/puppet/type/augeas.rb +23 -15
  114. data/lib/puppet/type/cron.rb +0 -0
  115. data/lib/puppet/type/exec.rb +0 -0
  116. data/lib/puppet/type/file/checksum.rb +7 -35
  117. data/lib/puppet/type/file/content.rb +11 -8
  118. data/lib/puppet/type/file/ensure.rb +0 -0
  119. data/lib/puppet/type/file/group.rb +0 -0
  120. data/lib/puppet/type/file/mode.rb +0 -0
  121. data/lib/puppet/type/file/owner.rb +0 -0
  122. data/lib/puppet/type/file/selcontext.rb +8 -0
  123. data/lib/puppet/type/file/source.rb +0 -0
  124. data/lib/puppet/type/file/type.rb +0 -0
  125. data/lib/puppet/type/filebucket.rb +0 -0
  126. data/lib/puppet/type/group.rb +0 -0
  127. data/lib/puppet/type/host.rb +0 -0
  128. data/lib/puppet/type/mailalias.rb +0 -0
  129. data/lib/puppet/type/maillist.rb +0 -0
  130. data/lib/puppet/type/mount.rb +0 -0
  131. data/lib/puppet/type/port.rb +0 -0
  132. data/lib/puppet/type/schedule.rb +0 -0
  133. data/lib/puppet/type/ssh_authorized_key.rb +14 -0
  134. data/lib/puppet/type/sshkey.rb +0 -0
  135. data/lib/puppet/type/tidy.rb +0 -0
  136. data/lib/puppet/type/user.rb +6 -0
  137. data/lib/puppet/type/yumrepo.rb +4 -1
  138. data/lib/puppet/type/zfs.rb +0 -0
  139. data/lib/puppet/type/zpool.rb +0 -0
  140. data/lib/puppet/util/autoload.rb +2 -2
  141. data/lib/puppet/util/filetype.rb +7 -96
  142. data/lib/puppet/util/inifile.rb +1 -0
  143. data/lib/puppet/util/instance_loader.rb +0 -0
  144. data/lib/puppet/util/loadedfile.rb +0 -0
  145. data/lib/puppet/util/nagios_maker.rb +4 -0
  146. data/lib/puppet/util/package.rb +2 -0
  147. data/lib/puppet/util/posix.rb +0 -0
  148. data/lib/puppet/util/rails/reference_serializer.rb +18 -0
  149. data/lib/puppet/util/selinux.rb +3 -1
  150. data/spec/integration/checksum.rb +1 -0
  151. data/spec/integration/defaults.rb +9 -0
  152. data/spec/integration/file_serving/configuration.rb +0 -0
  153. data/spec/integration/file_serving/content.rb +0 -0
  154. data/spec/integration/file_serving/metadata.rb +0 -0
  155. data/spec/integration/indirector/direct_file_server.rb +0 -0
  156. data/spec/integration/indirector/file_content/file_server.rb +0 -0
  157. data/spec/integration/indirector/file_metadata/file_server.rb +0 -0
  158. data/spec/integration/indirector/module_files.rb +0 -0
  159. data/spec/integration/indirector/node/ldap.rb +0 -0
  160. data/spec/integration/indirector/rest.rb +0 -0
  161. data/spec/integration/network/server/mongrel.rb +0 -0
  162. data/spec/integration/network/server/webrick.rb +0 -0
  163. data/spec/integration/node.rb +0 -0
  164. data/spec/integration/node/catalog.rb +0 -0
  165. data/spec/integration/node/facts.rb +0 -0
  166. data/spec/integration/provider/package.rb +0 -0
  167. data/spec/integration/provider/service/init.rb +0 -0
  168. data/spec/integration/reference/providers.rb +0 -0
  169. data/spec/integration/reports.rb +4 -0
  170. data/spec/integration/transaction/report.rb +7 -1
  171. data/spec/integration/type/package.rb +5 -2
  172. data/spec/integration/util/file_locking.rb +0 -0
  173. data/spec/unit/executables/client/certhandler.rb +13 -0
  174. data/spec/unit/file_collection.rb +53 -0
  175. data/spec/unit/file_collection/lookup.rb +46 -0
  176. data/spec/unit/file_serving/configuration.rb +0 -0
  177. data/spec/unit/file_serving/configuration/parser.rb +0 -0
  178. data/spec/unit/file_serving/content.rb +0 -0
  179. data/spec/unit/file_serving/file_base.rb +0 -0
  180. data/spec/unit/file_serving/fileset.rb +0 -0
  181. data/spec/unit/file_serving/indirection_hooks.rb +0 -0
  182. data/spec/unit/file_serving/metadata.rb +0 -0
  183. data/spec/unit/file_serving/mount.rb +0 -0
  184. data/spec/unit/file_serving/terminus_helper.rb +0 -0
  185. data/spec/unit/indirector.rb +0 -0
  186. data/spec/unit/indirector/catalog/compiler.rb +0 -0
  187. data/spec/unit/indirector/catalog/yaml.rb +0 -0
  188. data/spec/unit/indirector/checksum/file.rb +0 -0
  189. data/spec/unit/indirector/code.rb +0 -0
  190. data/spec/unit/indirector/direct_file_server.rb +0 -0
  191. data/spec/unit/indirector/envelope.rb +0 -0
  192. data/spec/unit/indirector/exec.rb +0 -0
  193. data/spec/unit/indirector/facts/facter.rb +27 -2
  194. data/spec/unit/indirector/facts/yaml.rb +0 -0
  195. data/spec/unit/indirector/file.rb +0 -0
  196. data/spec/unit/indirector/file_content/file.rb +0 -0
  197. data/spec/unit/indirector/file_content/file_server.rb +0 -0
  198. data/spec/unit/indirector/file_content/modules.rb +0 -0
  199. data/spec/unit/indirector/file_content/rest.rb +0 -0
  200. data/spec/unit/indirector/file_metadata/file.rb +0 -0
  201. data/spec/unit/indirector/file_metadata/file_server.rb +0 -0
  202. data/spec/unit/indirector/file_metadata/modules.rb +0 -0
  203. data/spec/unit/indirector/file_metadata/rest.rb +0 -0
  204. data/spec/unit/indirector/file_server.rb +0 -0
  205. data/spec/unit/indirector/indirection.rb +0 -0
  206. data/spec/unit/indirector/ldap.rb +0 -0
  207. data/spec/unit/indirector/memory.rb +0 -0
  208. data/spec/unit/indirector/module_files.rb +0 -0
  209. data/spec/unit/indirector/node/exec.rb +0 -0
  210. data/spec/unit/indirector/node/ldap.rb +20 -0
  211. data/spec/unit/indirector/node/memory.rb +0 -0
  212. data/spec/unit/indirector/node/plain.rb +0 -0
  213. data/spec/unit/indirector/node/rest.rb +0 -0
  214. data/spec/unit/indirector/node/yaml.rb +0 -0
  215. data/spec/unit/indirector/plain.rb +0 -0
  216. data/spec/unit/indirector/report/processor.rb +0 -0
  217. data/spec/unit/indirector/request.rb +0 -0
  218. data/spec/unit/indirector/rest.rb +0 -0
  219. data/spec/unit/indirector/ssl_rsa/file.rb +5 -0
  220. data/spec/unit/indirector/terminus.rb +0 -0
  221. data/spec/unit/indirector/yaml.rb +0 -0
  222. data/spec/unit/module.rb +0 -0
  223. data/spec/unit/network/client.rb +0 -0
  224. data/spec/unit/network/client/master.rb +0 -0
  225. data/spec/unit/network/http.rb +0 -0
  226. data/spec/unit/network/http/mongrel.rb +0 -0
  227. data/spec/unit/network/http/mongrel/rest.rb +0 -0
  228. data/spec/unit/network/http/mongrel/xmlrpc.rb +0 -0
  229. data/spec/unit/network/http/webrick.rb +0 -0
  230. data/spec/unit/network/http/webrick/rest.rb +0 -0
  231. data/spec/unit/network/http/webrick/xmlrpc.rb +0 -0
  232. data/spec/unit/network/http_pool.rb +0 -0
  233. data/spec/unit/network/server.rb +0 -0
  234. data/spec/unit/network/xmlrpc/client.rb +165 -7
  235. data/spec/unit/node.rb +0 -0
  236. data/spec/unit/node/catalog.rb +1 -0
  237. data/spec/unit/node/environment.rb +0 -0
  238. data/spec/unit/node/facts.rb +0 -0
  239. data/spec/unit/other/checksum.rb +0 -0
  240. data/spec/unit/other/pgraph.rb +0 -0
  241. data/spec/unit/other/transbucket.rb +4 -4
  242. data/spec/unit/other/transobject.rb +0 -0
  243. data/spec/unit/parameter.rb +0 -0
  244. data/spec/unit/parser/ast.rb +5 -1
  245. data/spec/unit/parser/ast/arithmetic_operator.rb +0 -0
  246. data/spec/unit/parser/ast/astarray.rb +2 -2
  247. data/spec/unit/parser/ast/boolean_operator.rb +0 -0
  248. data/spec/unit/parser/ast/collexpr.rb +0 -0
  249. data/spec/unit/parser/ast/comparison_operator.rb +0 -0
  250. data/spec/unit/parser/ast/definition.rb +0 -0
  251. data/spec/unit/parser/ast/hostclass.rb +0 -0
  252. data/spec/unit/parser/ast/minus.rb +0 -0
  253. data/spec/unit/parser/ast/node.rb +0 -0
  254. data/spec/unit/parser/ast/nop.rb +0 -0
  255. data/spec/unit/parser/ast/not.rb +0 -0
  256. data/spec/unit/parser/ast/resource.rb +103 -0
  257. data/spec/unit/parser/ast/resource_override.rb +0 -0
  258. data/spec/unit/parser/ast/resource_reference.rb +0 -0
  259. data/spec/unit/parser/ast/vardef.rb +0 -0
  260. data/spec/unit/parser/collector.rb +4 -4
  261. data/spec/unit/parser/compiler.rb +0 -0
  262. data/spec/unit/parser/functions/realize.rb +51 -0
  263. data/spec/unit/parser/functions/regsubst.rb +88 -0
  264. data/spec/unit/parser/functions/sprintf.rb +42 -0
  265. data/spec/unit/parser/functions/versioncmp.rb +29 -0
  266. data/spec/unit/parser/interpreter.rb +0 -0
  267. data/spec/unit/parser/lexer.rb +0 -0
  268. data/spec/unit/parser/parser.rb +0 -0
  269. data/spec/unit/parser/resource.rb +4 -0
  270. data/spec/unit/parser/resource/reference.rb +4 -0
  271. data/spec/unit/parser/scope.rb +14 -0
  272. data/spec/unit/parser/templatewrapper.rb +0 -0
  273. data/spec/unit/property.rb +0 -0
  274. data/spec/unit/property/list.rb +4 -0
  275. data/spec/unit/provider/augeas/augeas.rb +219 -92
  276. data/spec/unit/provider/confine.rb +0 -0
  277. data/spec/unit/provider/confine/exists.rb +0 -0
  278. data/spec/unit/provider/confine/false.rb +0 -0
  279. data/spec/unit/provider/confine/feature.rb +0 -0
  280. data/spec/unit/provider/confine/true.rb +0 -0
  281. data/spec/unit/provider/confine/variable.rb +0 -0
  282. data/spec/unit/provider/confine_collection.rb +0 -0
  283. data/spec/unit/provider/confiner.rb +0 -0
  284. data/spec/unit/provider/group/groupadd.rb +0 -0
  285. data/spec/unit/provider/group/ldap.rb +0 -0
  286. data/spec/unit/provider/ldap.rb +0 -0
  287. data/spec/unit/provider/macauthorization.rb +0 -0
  288. data/spec/unit/provider/mcx/mcxcontent.rb +0 -0
  289. data/spec/unit/provider/mount.rb +0 -0
  290. data/spec/unit/provider/mount/parsed.rb +1 -0
  291. data/spec/unit/provider/naginator.rb +58 -0
  292. data/spec/unit/provider/package/apt.rb +0 -0
  293. data/spec/unit/provider/package/dpkg.rb +0 -0
  294. data/spec/unit/provider/parsedfile.rb +95 -0
  295. data/spec/unit/provider/selboolean.rb +0 -0
  296. data/spec/unit/provider/selmodule.rb +0 -0
  297. data/spec/unit/provider/service/launchd.rb +9 -1
  298. data/spec/unit/provider/ssh_authorized_key/parsed.rb +63 -19
  299. data/spec/unit/provider/user/hpux.rb +0 -0
  300. data/spec/unit/provider/user/ldap.rb +0 -0
  301. data/spec/unit/provider/user/useradd.rb +0 -0
  302. data/spec/unit/provider/zfs/solaris.rb +0 -0
  303. data/spec/unit/provider/zone/solaris.rb +0 -0
  304. data/spec/unit/provider/zpool/solaris.rb +0 -0
  305. data/spec/unit/rails.rb +1 -0
  306. data/spec/unit/relationship.rb +0 -0
  307. data/spec/unit/reports.rb +0 -0
  308. data/spec/unit/resource_reference.rb +0 -0
  309. data/spec/unit/simple_graph.rb +0 -0
  310. data/spec/unit/{other/transaction.rb → transaction.rb} +16 -1
  311. data/spec/unit/transaction/change.rb +0 -0
  312. data/spec/unit/transaction/event.rb +0 -0
  313. data/spec/unit/transaction/report.rb +0 -0
  314. data/spec/unit/type.rb +0 -0
  315. data/spec/unit/type/computer.rb +0 -0
  316. data/spec/unit/type/exec.rb +0 -0
  317. data/spec/unit/type/file.rb +2 -0
  318. data/spec/unit/type/file/content.rb +30 -0
  319. data/spec/unit/type/file/ensure.rb +0 -0
  320. data/spec/unit/type/file/group.rb +0 -0
  321. data/spec/unit/type/file/owner.rb +0 -0
  322. data/spec/unit/type/file/selinux.rb +6 -0
  323. data/spec/unit/type/group.rb +3 -0
  324. data/spec/unit/type/macauthorization.rb +0 -0
  325. data/spec/unit/type/mcx.rb +0 -0
  326. data/spec/unit/type/mount.rb +0 -0
  327. data/spec/unit/type/nagios.rb +0 -0
  328. data/spec/unit/type/noop_metaparam.rb +1 -0
  329. data/spec/unit/type/package.rb +0 -0
  330. data/spec/unit/type/schedule.rb +0 -0
  331. data/spec/unit/type/selboolean.rb +0 -0
  332. data/spec/unit/type/selmodule.rb +0 -0
  333. data/spec/unit/type/service.rb +0 -0
  334. data/spec/unit/type/ssh_authorized_key.rb +31 -8
  335. data/spec/unit/type/tidy.rb +4 -0
  336. data/spec/unit/type/user.rb +17 -0
  337. data/spec/unit/type/zfs.rb +0 -0
  338. data/spec/unit/type/zone.rb +0 -0
  339. data/spec/unit/type/zpool.rb +0 -0
  340. data/spec/unit/util/autoload.rb +39 -0
  341. data/spec/unit/util/checksums.rb +0 -0
  342. data/spec/unit/util/constant_inflector.rb +0 -0
  343. data/spec/unit/util/file_locking.rb +0 -0
  344. data/spec/unit/util/filetype.rb +110 -0
  345. data/spec/unit/util/ldap/connection.rb +0 -0
  346. data/spec/unit/util/ldap/generator.rb +0 -0
  347. data/spec/unit/util/ldap/manager.rb +0 -0
  348. data/spec/unit/util/loadedfile.rb +0 -0
  349. data/spec/unit/util/log.rb +0 -0
  350. data/spec/unit/util/metric.rb +0 -0
  351. data/spec/unit/util/nagios_maker.rb +32 -34
  352. data/spec/unit/util/package.rb +21 -0
  353. data/spec/unit/util/posix.rb +0 -0
  354. data/spec/unit/util/resource_template.rb +0 -0
  355. data/spec/unit/util/settings.rb +0 -0
  356. data/spec/unit/util/storage.rb +0 -0
  357. data/spec/unit/util/tagging.rb +0 -0
  358. data/spec/unit/util/uri_helper.rb +0 -0
  359. data/spec/unit/util/warnings.rb +0 -0
  360. data/test/certmgr/ca.rb +0 -0
  361. data/test/certmgr/certmgr.rb +0 -0
  362. data/test/certmgr/inventory.rb +0 -0
  363. data/test/certmgr/support.rb +0 -0
  364. data/test/data/snippets/subclass_name_duplication.pp +0 -0
  365. data/test/executables/filebucket.rb +6 -3
  366. data/test/executables/puppetbin.rb +1 -1
  367. data/test/executables/puppetca.rb +0 -0
  368. data/test/executables/puppetd.rb +0 -0
  369. data/test/executables/puppetmasterd.rb +0 -0
  370. data/test/executables/puppetmodule.rb +0 -0
  371. data/test/language/ast.rb +0 -0
  372. data/test/language/ast/casestatement.rb +0 -0
  373. data/test/language/ast/resource.rb +0 -0
  374. data/test/language/ast/resource_reference.rb +0 -0
  375. data/test/language/ast/selector.rb +0 -0
  376. data/test/language/ast/variable.rb +0 -0
  377. data/test/language/functions.rb +0 -0
  378. data/test/language/parser.rb +0 -0
  379. data/test/language/resource.rb +0 -40
  380. data/test/language/scope.rb +0 -0
  381. data/test/language/snippets.rb +0 -0
  382. data/test/language/transportable.rb +0 -0
  383. data/test/lib/puppettest.rb +3 -0
  384. data/test/lib/puppettest/support/resources.rb +0 -0
  385. data/test/network/authconfig.rb +0 -0
  386. data/test/network/authorization.rb +0 -0
  387. data/test/network/authstore.rb +0 -0
  388. data/test/network/client/ca.rb +0 -0
  389. data/test/network/client/client.rb +0 -0
  390. data/test/network/client/dipper.rb +0 -0
  391. data/test/network/client/master.rb +0 -0
  392. data/test/network/client/resource.rb +0 -0
  393. data/test/network/client_request.rb +0 -0
  394. data/test/network/daemon.rb +0 -0
  395. data/test/network/handler/bucket.rb +0 -0
  396. data/test/network/handler/ca.rb +0 -0
  397. data/test/network/handler/fileserver.rb +0 -0
  398. data/test/network/handler/handler.rb +0 -0
  399. data/test/network/handler/master.rb +0 -0
  400. data/test/network/handler/report.rb +0 -0
  401. data/test/network/handler/resource.rb +0 -0
  402. data/test/network/handler/runner.rb +0 -0
  403. data/test/network/rights.rb +0 -0
  404. data/test/network/server/mongrel_test.rb +0 -0
  405. data/test/network/server/webrick.rb +0 -0
  406. data/test/network/xmlrpc/client.rb +0 -0
  407. data/test/network/xmlrpc/processor.rb +0 -0
  408. data/test/network/xmlrpc/server.rb +0 -0
  409. data/test/network/xmlrpc/webrick_servlet.rb +0 -0
  410. data/test/other/dsl.rb +0 -0
  411. data/test/other/events.rb +0 -0
  412. data/test/other/overrides.rb +0 -0
  413. data/test/other/provider.rb +0 -0
  414. data/test/other/puppet.rb +0 -0
  415. data/test/other/relationships.rb +0 -0
  416. data/test/other/report.rb +0 -0
  417. data/test/other/transactions.rb +0 -0
  418. data/test/puppet/conffiles.rb +0 -0
  419. data/test/puppet/defaults.rb +0 -0
  420. data/test/puppet/errortest.rb +0 -0
  421. data/test/puppet/tc_suidmanager.rb +0 -0
  422. data/test/rails/ast.rb +0 -0
  423. data/test/rails/configuration.rb +0 -0
  424. data/test/rails/host.rb +0 -0
  425. data/test/rails/rails.rb +0 -0
  426. data/test/rails/railsparameter.rb +0 -0
  427. data/test/rails/railsresource.rb +0 -0
  428. data/test/ral/manager/attributes.rb +0 -0
  429. data/test/ral/manager/instances.rb +0 -0
  430. data/test/ral/manager/manager.rb +0 -0
  431. data/test/ral/manager/provider.rb +0 -0
  432. data/test/ral/manager/type.rb +0 -3
  433. data/test/ral/providers/cron/crontab.rb +0 -0
  434. data/test/ral/providers/group.rb +0 -0
  435. data/test/ral/providers/host/netinfo.rb +0 -0
  436. data/test/ral/providers/host/parsed.rb +0 -0
  437. data/test/ral/providers/mailalias/aliases.rb +0 -0
  438. data/test/ral/providers/mount/netinfo.rb +0 -0
  439. data/test/ral/providers/nameservice.rb +0 -0
  440. data/test/ral/providers/package.rb +0 -0
  441. data/test/ral/providers/package/aptitude.rb +0 -0
  442. data/test/ral/providers/package/aptrpm.rb +0 -0
  443. data/test/ral/providers/parsedfile.rb +0 -0
  444. data/test/ral/providers/port/parsed.rb +0 -0
  445. data/test/ral/providers/provider.rb +0 -0
  446. data/test/ral/providers/service/base.rb +0 -0
  447. data/test/ral/providers/service/debian.rb +0 -0
  448. data/test/ral/providers/sshkey/parsed.rb +0 -0
  449. data/test/ral/providers/user.rb +0 -0
  450. data/test/ral/providers/user/useradd.rb +0 -0
  451. data/test/ral/type/basic.rb +0 -0
  452. data/test/ral/type/cron.rb +0 -0
  453. data/test/ral/type/exec.rb +0 -0
  454. data/test/ral/type/file.rb +0 -0
  455. data/test/ral/type/file/target.rb +0 -0
  456. data/test/ral/type/filebucket.rb +0 -0
  457. data/test/ral/type/fileignoresource.rb +0 -0
  458. data/test/ral/type/filesources.rb +0 -0
  459. data/test/ral/type/group.rb +0 -0
  460. data/test/ral/type/host.rb +0 -0
  461. data/test/ral/type/mailalias.rb +0 -0
  462. data/test/ral/type/parameter.rb +0 -0
  463. data/test/ral/type/port.rb +0 -0
  464. data/test/ral/type/property.rb +0 -0
  465. data/test/ral/type/resources.rb +0 -0
  466. data/test/ral/type/service.rb +0 -0
  467. data/test/ral/type/sshkey.rb +0 -0
  468. data/test/ral/type/tidy.rb +0 -0
  469. data/test/ral/type/user.rb +0 -0
  470. data/test/ral/type/yumrepo.rb +0 -0
  471. data/test/ral/type/zone.rb +0 -0
  472. data/test/test +0 -0
  473. data/test/util/autoload.rb +0 -0
  474. data/test/util/classgen.rb +0 -0
  475. data/test/util/execution.rb +0 -0
  476. data/test/util/features.rb +0 -0
  477. data/test/util/fileparsing.rb +0 -0
  478. data/test/util/inifile.rb +0 -0
  479. data/test/util/instance_loader.rb +0 -0
  480. data/test/util/log.rb +0 -0
  481. data/test/util/metrics.rb +0 -0
  482. data/test/util/package.rb +0 -0
  483. data/test/util/pidlock.rb +0 -0
  484. data/test/util/settings.rb +0 -0
  485. data/test/util/storage.rb +0 -0
  486. data/test/util/subclass_loader.rb +0 -0
  487. data/test/util/utiltest.rb +0 -0
  488. metadata +981 -968
  489. data/test/util/filetype.rb +0 -137
data/CHANGELOG CHANGED
@@ -1,3 +1,75 @@
1
+ 0.24.8
2
+ Fixed #2077 - ralsh user broken on OSX
3
+
4
+ Fixed #2004 - ssh_authorized_key fails if no target is defined
5
+
6
+ Fixed #1629 - incorrect permissions on ssh_authorized_keys created files
7
+
8
+ Fixed #2000 - No default specified for checksum
9
+
10
+ Fixed #2026 - Red Hat ignoring stop method
11
+
12
+ Added ext/dbfix.sql script - fixes common errors in stored configuration databases
13
+
14
+ Fixed #1963 - Failing to read /proc/mounts for selinux kills file downloads
15
+
16
+ Fixed #2025 - gentoo service provider handle only default init level
17
+
18
+ Fixed #1910 - updated logcheck
19
+
20
+ Fixed #1871 - Sensitive information leaked in log reports
21
+
22
+ Fixed #1956 - Cleaned up variable names to be more sane, clarified error messages
23
+ and fixed incorrect use of 'value' variable rather than 'member'.
24
+
25
+ Fixed #1831 - Added sprintf function
26
+
27
+ Fixed #1830 - Added regsubst function
28
+
29
+ Updated up2date and service confines to add support for Oracle EL and VM
30
+
31
+ Fixing #1948 and #1953 - augeas ins bug: wrong number of arguments (1 for 3)
32
+
33
+ Fixing #944 - changing error message from warning to info - connection recycled
34
+
35
+ Fixed #961 - puppetd creating too many/not closing TCP connections
36
+
37
+ Fixed #1959 - Added column protection for environment schema migration
38
+
39
+ Fixing #1869 - autoloaded files should never leak exceptions
40
+
41
+ Fixing #1543 - Nagios parse errors no longer kill Puppet
42
+
43
+ Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
44
+
45
+ Fixed #1884 - Exported resources are marked as unexported when collected on the exporting host
46
+
47
+ Fixed #1922 - Functions squash all arguments into a single hash
48
+
49
+ Fixed #1538 - Yumrepo sets permissions wrongly on files in /etc/yum.repos.d
50
+
51
+ Fixed #1936 - Added /* */ support to the vim file
52
+
53
+ Fixed #1541 - nagios objects write files to clientbucket on every change
54
+
55
+ Fixed #1542 - cannot purge nagios objects
56
+
57
+ Fixing #1912 - gid still works with no 'should' value fixing ralsh issues
58
+
59
+ Fixing the Rakefile to use 'git format-patch'
60
+
61
+ Added README.rst file
62
+
63
+ Enhancements to Stored Configuration performance
64
+
65
+ Added Reductive Labs build library to tasks directory
66
+
67
+ Fixed #1852 - Correct behaviour when no SELinux bindings
68
+
69
+ Updated Red Hat spec file 0.24.7
70
+
71
+ Fixed #1920 - Shadow password corruption
72
+
1
73
  0.24.7
2
74
  Fixed #1804 - Added VDev and MultiVDev properties to the ZPool type
3
75
 
@@ -0,0 +1,38 @@
1
+ Puppet
2
+ ======
3
+
4
+ Puppet, an automated administrative engine for your Linux and Unix systems, performs
5
+ administrative tasks (such as adding users, installing packages, and updating server
6
+ configurations) based on a centralized specification.
7
+
8
+ Documentation (and detailed install instructions) can be found
9
+ online at the `Puppet Wiki`_.
10
+
11
+ Installation
12
+ ------------
13
+
14
+ Generally, you need the following things installed:
15
+
16
+ * Ruby >= 1.8.1 (earlier releases might work but probably not)
17
+
18
+ * The Ruby OpenSSL library. For some reason, this often isn't included
19
+ in the main ruby distributions. You can test for it by running
20
+ 'ruby -ropenssl -e "puts :yep"'. If that errors out, you're missing the
21
+ library.
22
+
23
+ If your distribution doesn't come with the necessary library (e.g., on Debian
24
+ and Ubuntu you need to install libopenssl-ruby), then you'll probably have to
25
+ compile Ruby yourself, since it's part of the standard library and not
26
+ available separately. You could probably just compile and install that one
27
+ library, though.
28
+
29
+ * The Ruby XMLRPC client and server libraries. For some reason, this often
30
+ isn't included in the main ruby distributions. You can test for it by
31
+ running 'ruby -rxmlrpc/client -e "puts :yep"'. If that errors out, you're missing
32
+ the library.
33
+
34
+ * Facter => 1.1.1
35
+ You can get this from your package management system or the `Facter site`_
36
+
37
+ .. _Puppet Wiki: http://reductivelabs.com/trac/puppet/wiki/DocumentationStart
38
+ .. _Facter site: http://reductivelabs.com/projects/facter
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
1
  # Rakefile for Puppet -*- ruby -*-
2
2
 
3
+ $LOAD_PATH << File.join(File.dirname(__FILE__), 'tasks')
4
+
3
5
  $: << File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
4
6
 
5
7
  begin
@@ -191,7 +193,7 @@ task :mail_patches do
191
193
  type, parent, name = $1, $2, $3
192
194
 
193
195
  # Create all of the patches
194
- sh "git-format-patch -C -M -s -n #{parent}..HEAD"
196
+ sh "git format-patch -C -M -s -n #{parent}..HEAD"
195
197
 
196
198
  # And then mail them out.
197
199
 
File without changes
data/bin/puppet CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
data/bin/ralsh CHANGED
@@ -88,6 +88,7 @@
88
88
 
89
89
  require 'getoptlong'
90
90
  require 'puppet'
91
+ require 'facter'
91
92
 
92
93
  options = [
93
94
  [ "--debug", "-d", GetoptLong::NO_ARGUMENT ],
@@ -99,6 +100,9 @@ options = [
99
100
  [ "--help", "-h", GetoptLong::NO_ARGUMENT ]
100
101
  ]
101
102
 
103
+ # Load facts from Facter
104
+ Facter.loadfacts
105
+
102
106
  # Add all of the config parameters as valid options.
103
107
  Puppet.settings.addargs(options)
104
108
 
File without changes
File without changes
File without changes
@@ -2,12 +2,14 @@
2
2
  %define confdir conf/redhat
3
3
 
4
4
  Name: puppet
5
- Version: 0.24.6
6
- Release: 1%{?dist}
5
+ Version: 0.24.7
6
+ Release: 3%{?dist}
7
7
  Summary: A network tool for managing many disparate systems
8
8
  License: GPLv2+
9
9
  URL: http://puppet.reductivelabs.com/
10
10
  Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz
11
+ Group: System Environment/Base
12
+
11
13
  BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
12
14
 
13
15
  BuildRequires: ruby >= 1.8.1
@@ -18,8 +20,14 @@ Requires: ruby(abi) = 1.8
18
20
  Requires: ruby-shadow
19
21
  %endif
20
22
 
23
+ # Pull in libselinux-ruby where it is available
24
+ %if 0%{?fedora} >=9
25
+ Requires: libselinux-ruby
26
+ %endif
27
+
21
28
  Requires: facter >= 1.1.4
22
29
  Requires: ruby >= 1.8.1
30
+ Requires: ruby-augeas
23
31
  Requires(pre): shadow-utils
24
32
  Requires(post): chkconfig
25
33
  Requires(preun): chkconfig
@@ -142,9 +150,12 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf
142
150
  %doc %{_mandir}/man8/puppetmasterd.8.gz
143
151
  %doc %{_mandir}/man8/puppetrun.8.gz
144
152
 
153
+ # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5),
154
+ # and 471919 (RHEL-4)
145
155
  %pre
146
- getent group puppet >/dev/null || groupadd -r puppet
156
+ getent group puppet >/dev/null || groupadd -r puppet -g 52
147
157
  getent passwd puppet >/dev/null || \
158
+ useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \
148
159
  useradd -r -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \
149
160
  -c "Puppet" puppet || :
150
161
  # ensure that old setups have the right puppet home dir
@@ -184,6 +195,12 @@ fi
184
195
  rm -rf %{buildroot}
185
196
 
186
197
  %changelog
198
+ * Tue Dec 16 2008 Jeroen van Meeuwen <kanarip@kanarip.com> - 0.24.7-3
199
+ - New upstream version
200
+ - Set a static uid and gid (#472073, #471918, #471919)
201
+ - Add a conditional requirement on libselinux-ruby for Fedora >= 9
202
+ - Add a dependency on ruby-augeas
203
+
187
204
  * Wed Oct 22 2008 Todd Zullinger <tmz@pobox.com> - 0.24.6-1
188
205
  - Update to 0.24.6
189
206
  - Require ruby-shadow on Fedora and RHEL >= 5
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,132 @@
1
+ -- MySQL DB consistency check/fix
2
+ --
3
+ -- Usage:
4
+ -- cat dbfix.sql | mysql -u user -p puppet
5
+ --
6
+ -- WARNING: perform a database backup before running this script
7
+
8
+ -- Remove duplicate resources, and keep the latest one
9
+ DELETE bad_rows.*
10
+ FROM resources AS bad_rows
11
+ INNER JOIN (
12
+ SELECT title,restype,host_id, MAX(id) as max_id
13
+ FROM resources
14
+ GROUP BY title,restype,host_id
15
+ HAVING count(*) > 1
16
+ ) AS good_rows
17
+ ON
18
+ good_rows.title = bad_rows.title AND
19
+ good_rows.restype = bad_rows.restype AND
20
+ good_rows.host_id = bad_rows.host_id AND
21
+ good_rows.max_id <> bad_rows.id;
22
+
23
+ -- Remove duplicate param_values, and keep the latest one
24
+ DELETE bad_rows.*
25
+ FROM param_values AS bad_rows
26
+ INNER JOIN (
27
+ SELECT value,param_name_id,resource_id, MAX(id) as max_id
28
+ FROM param_values
29
+ GROUP BY value,param_name_id,resource_id
30
+ HAVING count(*) > 1
31
+ ) AS good_rows
32
+ ON
33
+ good_rows.value = bad_rows.value AND
34
+ good_rows.param_name_id = bad_rows.param_name_id AND
35
+ good_rows.resource_id = bad_rows.resource_id AND
36
+ good_rows.max_id <> bad_rows.id;
37
+
38
+ -- rewrite param_values that points to duplicated param_names
39
+ -- to point to the highest param_name id.
40
+ UPDATE
41
+ param_values v
42
+ INNER JOIN
43
+ param_names n
44
+ ON n.id = v.param_name_id
45
+ INNER JOIN
46
+ (
47
+ SELECT name, MAX(id) as max_id
48
+ FROM param_names
49
+ GROUP BY name
50
+ HAVING count(*) > 1
51
+ ) nmax ON n.name = nmax.name
52
+ SET
53
+ v.param_name_id = nmax.max_id;
54
+
55
+ -- Remove duplicate param_names, and keep the latest one
56
+ DELETE bad_rows.*
57
+ FROM param_names AS bad_rows
58
+ INNER JOIN (
59
+ SELECT name, MAX(id) as max_id
60
+ FROM param_names
61
+ GROUP BY name
62
+ HAVING count(*) > 1
63
+ ) AS good_rows
64
+ ON
65
+ good_rows.name = bad_rows.name AND
66
+ good_rows.max_id <> bad_rows.id;
67
+
68
+ -- Remove duplicate resource_tags, and keep the highest one
69
+ DELETE bad_rows.*
70
+ FROM resource_tags AS bad_rows
71
+ INNER JOIN (
72
+ SELECT resource_id,puppet_tag_id, MAX(id) as max_id
73
+ FROM resource_tags
74
+ GROUP BY resource_id,puppet_tag_id
75
+ HAVING count(*) > 1
76
+ ) AS good_rows
77
+ ON
78
+ good_rows.resource_id = bad_rows.resource_id AND
79
+ good_rows.puppet_tag_id = bad_rows.puppet_tag_id AND
80
+ good_rows.max_id <> bad_rows.id;
81
+
82
+ -- rewrite resource_tags that points to duplicated puppet_tags
83
+ -- to point to the highest puppet_tags id.
84
+ UPDATE
85
+ resource_tags v
86
+ INNER JOIN
87
+ puppet_tags n
88
+ ON n.id = v.puppet_tag_id
89
+ INNER JOIN
90
+ (
91
+ SELECT name, MAX(id) as max_id
92
+ FROM puppet_tags
93
+ GROUP BY name
94
+ HAVING count(*) > 1
95
+ ) nmax ON n.name = nmax.name
96
+ SET
97
+ v.puppet_tag_id = nmax.max_id;
98
+
99
+ -- Remove duplicate puppet_tags, and keep the highest one
100
+ DELETE bad_rows.*
101
+ FROM puppet_tags AS bad_rows
102
+ INNER JOIN (
103
+ SELECT name, MAX(id) as max_id
104
+ FROM puppet_tags
105
+ GROUP BY name
106
+ HAVING count(*) > 1
107
+ ) AS good_rows
108
+ ON
109
+ good_rows.name = bad_rows.name AND
110
+ good_rows.max_id <> bad_rows.id;
111
+
112
+ -- Fix dangling resources
113
+ -- note: we use a table to not exceed the number of InnoDB locks if there are two much
114
+ -- rows to delete.
115
+ -- this is an alternative to: DELETE resources FROM resources r LEFT JOIN hosts h ON h.id=r.host_id WHERE h.id IS NULL;
116
+ --
117
+ CREATE TABLE resources_c LIKE resources;
118
+ INSERT INTO resources_c SELECT r.* FROM resources r INNER JOIN hosts h ON h.id=r.host_id;
119
+ RENAME TABLE resources TO resources_old, resources_c TO resources;
120
+ DROP TABLE resources_old;
121
+
122
+ -- Fix dangling param_values
123
+ CREATE TABLE param_values_c LIKE param_values;
124
+ INSERT INTO param_values_c SELECT v.* FROM param_values v INNER JOIN resources r ON r.id=v.resource_id;
125
+ RENAME TABLE param_values TO param_values_old, param_values_c TO param_values;
126
+ DROP TABLE param_values_old;
127
+
128
+ -- Fix dangling resource_tags
129
+ CREATE TABLE resource_tags_c LIKE resource_tags;
130
+ INSERT INTO resource_tags_c SELECT t.* FROM resource_tags t INNER JOIN resources r ON r.id=t.resource_id;
131
+ RENAME TABLE resource_tags TO resource_tags_old, resource_tags_c TO resource_tags;
132
+ DROP TABLE resource_tags_old;
@@ -1,5 +1,6 @@
1
+ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ puppetmasterd\[[0-9]+\]: (Handled resources in|Resource comparison took|Searched for (host|resources|resource params and tags) in) [0-9.]+ seconds
1
2
  ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ puppetmasterd\[[0-9]+\]: Starting Puppet server version [.0-9]+$
2
- ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ puppetmasterd\[[0-9]+\]: Compiled configuration for [._[:alnum:]-]+ in [.0-9]+ seconds$
3
+ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ puppetmasterd\[[0-9]+\]: Compiled catalog for [._[:alnum:]-]+ in [.0-9]+ seconds$
3
4
  ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ puppetmasterd\[[0-9]+\]: Caught TERM; shutting down$
4
5
  ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ puppetmasterd\[[0-9]+\]: Shutting down$
5
6
  ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ puppetd\[[0-9]+\]: Starting Puppet client version [.0-9]+$
File without changes
File without changes
File without changes
File without changes
@@ -16,7 +16,7 @@ elseif exists("b:current_syntax")
16
16
  finish
17
17
  endif
18
18
 
19
- syn region puppetDefine start="^\s*\(class\|define\|site\|node\)" end="{" contains=puppetDefType,puppetDefName,puppetDefArguments
19
+ syn region puppetDefine start="^\s*\(class\|define\|node\)" end="{" contains=puppetDefType,puppetDefName,puppetDefArguments
20
20
  syn keyword puppetDefType class define site node inherits contained
21
21
  syn keyword puppetInherits inherits contained
22
22
  syn region puppetDefArguments start="(" end=")" contains=puppetArgument
@@ -49,6 +49,7 @@ syn keyword puppetControl case default
49
49
 
50
50
  " comments last overriding everything else
51
51
  syn match puppetComment "\s*#.*$" contains=puppetTodo
52
+ syn region puppetComment start="/\*" end="\*/" contains=puppetTodo extend
52
53
  syn keyword puppetTodo TODO NOTE FIXME XXX contained
53
54
 
54
55
  " Define the default highlighting.
data/install.rb CHANGED
@@ -94,7 +94,7 @@ def do_libs(libs, strip = 'lib/')
94
94
  op = File.dirname(olf)
95
95
  File.makedirs(op, true)
96
96
  File.chmod(0755, op)
97
- File.install(lf, olf, 0755, true)
97
+ File.install(lf, olf, 0644, true)
98
98
  end
99
99
  end
100
100
 
@@ -170,7 +170,7 @@ def prepare_installation
170
170
  opts.on('--[no-]ri', 'Prevents the creation of RI output.', 'Default off on mswin32.') do |onri|
171
171
  InstallOptions.ri = onri
172
172
  end
173
- opts.on('--[no-]man', 'Presents the creation of man pages.', 'Default on.') do |onman|
173
+ opts.on('--[no-]man', 'Prevents the creation of man pages.', 'Default on.') do |onman|
174
174
  InstallOptions.man = onman
175
175
  end
176
176
  opts.on('--[no-]tests', 'Prevents the execution of unit tests.', 'Default on.') do |ontest|
@@ -25,7 +25,7 @@ require 'puppet/util/suidmanager'
25
25
  # it's also a place to find top-level commands like 'debug'
26
26
 
27
27
  module Puppet
28
- PUPPETVERSION = '0.24.7'
28
+ PUPPETVERSION = '0.24.8'
29
29
 
30
30
  def Puppet.version
31
31
  return PUPPETVERSION
File without changes
@@ -95,8 +95,17 @@ module Puppet
95
95
  :path => {:default => "none",
96
96
  :desc => "The shell search path. Defaults to whatever is inherited
97
97
  from the parent process.",
98
+ :call_on_define => true, # Call our hook with the default value, so we always get the libdir set.
98
99
  :hook => proc do |value|
99
100
  ENV["PATH"] = value unless value == "none"
101
+
102
+ paths = ENV["PATH"].split(File::PATH_SEPARATOR)
103
+ %w{/usr/sbin /sbin}.each do |path|
104
+ unless paths.include?(path)
105
+ ENV["PATH"] += File::PATH_SEPARATOR + path
106
+ end
107
+ end
108
+ value
100
109
  end
101
110
  },
102
111
  :libdir => {:default => "$vardir/lib",