puppet 0.23.2 → 0.24.0

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 (629) hide show
  1. data/CHANGELOG +112 -1
  2. data/README +1 -1
  3. data/Rakefile +1 -2
  4. data/bin/filebucket +2 -3
  5. data/bin/puppet +55 -39
  6. data/bin/puppetca +20 -11
  7. data/bin/puppetd +30 -31
  8. data/bin/puppetdoc +27 -28
  9. data/bin/puppetmasterd +24 -42
  10. data/bin/puppetrun +3 -4
  11. data/bin/ralsh +5 -7
  12. data/conf/redhat/puppet.spec +4 -1
  13. data/conf/solaris/smf/svc-puppetd +1 -1
  14. data/conf/solaris/smf/svc-puppetmasterd +1 -1
  15. data/examples/code/allatonce +1 -1
  16. data/examples/code/assignments +1 -1
  17. data/examples/code/components +1 -1
  18. data/examples/code/file.bl +1 -1
  19. data/examples/code/filedefaults +1 -1
  20. data/examples/code/fileparsing +1 -1
  21. data/examples/code/filerecursion +1 -1
  22. data/examples/code/functions +1 -1
  23. data/examples/code/groups +1 -1
  24. data/examples/code/head +1 -1
  25. data/examples/code/importing +1 -1
  26. data/examples/code/modules/sample-module.pp +10 -0
  27. data/examples/code/modules/sample-module/README.txt +17 -0
  28. data/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +36 -0
  29. data/examples/code/modules/sample-module/manifests/init.pp +12 -0
  30. data/examples/code/modules/sample-module/templates/sample.erb +5 -0
  31. data/examples/code/nodes +1 -1
  32. data/examples/code/one +1 -1
  33. data/examples/code/relationships +1 -1
  34. data/examples/code/selectors +1 -1
  35. data/examples/code/simpletests +1 -1
  36. data/examples/root/etc/init.d/sleeper +1 -1
  37. data/examples/root/etc/puppet/fileserver.conf +1 -1
  38. data/ext/ldap/puppet.schema +1 -1
  39. data/ext/module_puppet +30 -21
  40. data/ext/puppet-test +3 -3
  41. data/ext/vim/filetype.vim +1 -1
  42. data/install.rb +1 -2
  43. data/lib/puppet.rb +20 -19
  44. data/lib/puppet/checksum.rb +57 -0
  45. data/lib/puppet/config_stores/rest.rb +1 -1
  46. data/lib/puppet/daemon.rb +0 -1
  47. data/lib/puppet/{configuration.rb → defaults.rb} +56 -23
  48. data/lib/puppet/dsl.rb +22 -116
  49. data/lib/puppet/error.rb +0 -9
  50. data/lib/puppet/event.rb +0 -1
  51. data/lib/puppet/external/gratr/rdot.rb +0 -1
  52. data/lib/puppet/external/lock.rb +0 -1
  53. data/lib/puppet/feature/base.rb +3 -2
  54. data/lib/puppet/feature/rails.rb +0 -1
  55. data/lib/puppet/file_serving.rb +7 -0
  56. data/lib/puppet/file_serving/configuration.rb +129 -0
  57. data/lib/puppet/file_serving/configuration/parser.rb +124 -0
  58. data/lib/puppet/file_serving/content.rb +34 -0
  59. data/lib/puppet/file_serving/file_base.rb +63 -0
  60. data/lib/puppet/file_serving/fileset.rb +138 -0
  61. data/lib/puppet/file_serving/indirection_hooks.rb +44 -0
  62. data/lib/puppet/file_serving/metadata.rb +69 -0
  63. data/lib/puppet/file_serving/mount.rb +186 -0
  64. data/lib/puppet/file_serving/terminus_helper.rb +19 -0
  65. data/lib/puppet/indirector.rb +68 -0
  66. data/lib/puppet/indirector/catalog/compiler.rb +173 -0
  67. data/lib/puppet/indirector/catalog/yaml.rb +24 -0
  68. data/lib/puppet/indirector/checksum/file.rb +33 -0
  69. data/lib/puppet/indirector/code.rb +6 -0
  70. data/lib/puppet/indirector/direct_file_server.rb +27 -0
  71. data/lib/puppet/indirector/exec.rb +57 -0
  72. data/lib/puppet/indirector/facts/facter.rb +65 -0
  73. data/lib/puppet/indirector/facts/memory.rb +9 -0
  74. data/lib/puppet/indirector/facts/yaml.rb +7 -0
  75. data/lib/puppet/indirector/file.rb +54 -0
  76. data/lib/puppet/indirector/file_content.rb +5 -0
  77. data/lib/puppet/indirector/file_content/file.rb +11 -0
  78. data/lib/puppet/indirector/file_content/file_server.rb +11 -0
  79. data/lib/puppet/indirector/file_content/modules.rb +11 -0
  80. data/lib/puppet/indirector/file_content/rest.rb +12 -0
  81. data/lib/puppet/indirector/file_metadata.rb +5 -0
  82. data/lib/puppet/indirector/file_metadata/file.rb +26 -0
  83. data/lib/puppet/indirector/file_metadata/file_server.rb +11 -0
  84. data/lib/puppet/indirector/file_metadata/modules.rb +17 -0
  85. data/lib/puppet/indirector/file_metadata/rest.rb +12 -0
  86. data/lib/puppet/indirector/file_server.rb +56 -0
  87. data/lib/puppet/indirector/indirection.rb +237 -0
  88. data/lib/puppet/indirector/ldap.rb +90 -0
  89. data/lib/puppet/indirector/memory.rb +21 -0
  90. data/lib/puppet/indirector/module_files.rb +82 -0
  91. data/lib/puppet/indirector/node/exec.rb +52 -0
  92. data/lib/puppet/indirector/node/ldap.rb +120 -0
  93. data/lib/puppet/indirector/node/memory.rb +10 -0
  94. data/lib/puppet/indirector/node/plain.rb +19 -0
  95. data/lib/puppet/indirector/node/rest.rb +7 -0
  96. data/lib/puppet/indirector/node/yaml.rb +7 -0
  97. data/lib/puppet/indirector/plain.rb +9 -0
  98. data/lib/puppet/indirector/report/processor.rb +50 -0
  99. data/lib/puppet/indirector/rest.rb +8 -0
  100. data/lib/puppet/indirector/ssl_rsa.rb +5 -0
  101. data/lib/puppet/indirector/ssl_rsa/file.rb +33 -0
  102. data/lib/puppet/indirector/terminus.rb +178 -0
  103. data/lib/puppet/indirector/yaml.rb +57 -0
  104. data/lib/puppet/metatype/attributes.rb +3 -3
  105. data/lib/puppet/metatype/closure.rb +0 -66
  106. data/lib/puppet/metatype/container.rb +0 -9
  107. data/lib/puppet/metatype/evaluation.rb +10 -2
  108. data/lib/puppet/metatype/instances.rb +16 -30
  109. data/lib/puppet/metatype/manager.rb +1 -2
  110. data/lib/puppet/metatype/metaparams.rb +27 -21
  111. data/lib/puppet/metatype/providers.rb +3 -2
  112. data/lib/puppet/metatype/relationships.rb +1 -2
  113. data/lib/puppet/metatype/schedules.rb +0 -1
  114. data/lib/puppet/metatype/tags.rb +0 -1
  115. data/lib/puppet/module.rb +60 -32
  116. data/lib/puppet/network/authconfig.rb +0 -1
  117. data/lib/puppet/network/authorization.rb +0 -1
  118. data/lib/puppet/network/authstore.rb +0 -1
  119. data/lib/puppet/network/client.rb +13 -4
  120. data/lib/puppet/network/client/ca.rb +4 -5
  121. data/lib/puppet/network/client/dipper.rb +0 -1
  122. data/lib/puppet/network/client/file.rb +0 -1
  123. data/lib/puppet/network/client/master.rb +127 -235
  124. data/lib/puppet/network/client/proxy.rb +0 -1
  125. data/lib/puppet/network/client/report.rb +0 -1
  126. data/lib/puppet/network/client/resource.rb +0 -1
  127. data/lib/puppet/network/client/runner.rb +0 -1
  128. data/lib/puppet/network/client/status.rb +0 -1
  129. data/lib/puppet/network/client_request.rb +0 -1
  130. data/lib/puppet/network/handler.rb +5 -2
  131. data/lib/puppet/network/handler/ca.rb +1 -2
  132. data/lib/puppet/network/handler/configuration.rb +184 -0
  133. data/lib/puppet/network/handler/filebucket.rb +1 -2
  134. data/lib/puppet/network/handler/fileserver.rb +279 -107
  135. data/lib/puppet/network/handler/master.rb +57 -152
  136. data/lib/puppet/network/handler/report.rb +6 -65
  137. data/lib/puppet/network/handler/resource.rb +5 -13
  138. data/lib/puppet/network/handler/runner.rb +3 -4
  139. data/lib/puppet/network/handler/status.rb +0 -1
  140. data/lib/puppet/network/http.rb +13 -0
  141. data/lib/puppet/network/http/handler.rb +109 -0
  142. data/lib/puppet/network/http/mongrel.rb +54 -0
  143. data/lib/puppet/network/http/mongrel/rest.rb +37 -0
  144. data/lib/puppet/network/http/mongrel/xmlrpc.rb +4 -0
  145. data/lib/puppet/network/http/webrick.rb +51 -0
  146. data/lib/puppet/network/http/webrick/rest.rb +41 -0
  147. data/lib/puppet/network/http/webrick/xmlrpc.rb +4 -0
  148. data/lib/puppet/network/http_server.rb +3 -0
  149. data/lib/puppet/network/{server → http_server}/mongrel.rb +11 -5
  150. data/lib/puppet/network/{server → http_server}/webrick.rb +9 -5
  151. data/lib/puppet/network/rest_controller.rb +2 -0
  152. data/lib/puppet/network/rights.rb +0 -1
  153. data/lib/puppet/network/server.rb +63 -3
  154. data/lib/puppet/network/xmlrpc/client.rb +90 -23
  155. data/lib/puppet/network/xmlrpc/processor.rb +0 -1
  156. data/lib/puppet/network/xmlrpc/server.rb +0 -1
  157. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -1
  158. data/lib/puppet/node.rb +165 -0
  159. data/lib/puppet/node/catalog.rb +480 -0
  160. data/lib/puppet/node/environment.rb +46 -0
  161. data/lib/puppet/node/facts.rb +36 -0
  162. data/lib/puppet/parameter.rb +34 -28
  163. data/lib/puppet/parser/ast.rb +0 -1
  164. data/lib/puppet/parser/ast/astarray.rb +30 -53
  165. data/lib/puppet/parser/ast/branch.rb +0 -10
  166. data/lib/puppet/parser/ast/caseopt.rb +0 -11
  167. data/lib/puppet/parser/ast/casestatement.rb +0 -12
  168. data/lib/puppet/parser/ast/collection.rb +1 -3
  169. data/lib/puppet/parser/ast/collexpr.rb +0 -2
  170. data/lib/puppet/parser/ast/{component.rb → definition.rb} +58 -72
  171. data/lib/puppet/parser/ast/else.rb +0 -10
  172. data/lib/puppet/parser/ast/function.rb +0 -2
  173. data/lib/puppet/parser/ast/hostclass.rb +21 -19
  174. data/lib/puppet/parser/ast/ifstatement.rb +0 -13
  175. data/lib/puppet/parser/ast/leaf.rb +0 -8
  176. data/lib/puppet/parser/ast/node.rb +13 -10
  177. data/lib/puppet/parser/ast/resource.rb +75 -0
  178. data/lib/puppet/parser/ast/{resourcedefaults.rb → resource_defaults.rb} +4 -20
  179. data/lib/puppet/parser/ast/{resourceoverride.rb → resource_override.rb} +3 -5
  180. data/lib/puppet/parser/ast/resource_reference.rb +66 -0
  181. data/lib/puppet/parser/ast/resourceparam.rb +0 -14
  182. data/lib/puppet/parser/ast/selector.rb +0 -10
  183. data/lib/puppet/parser/ast/tag.rb +0 -2
  184. data/lib/puppet/parser/ast/vardef.rb +0 -14
  185. data/lib/puppet/parser/collector.rb +83 -101
  186. data/lib/puppet/parser/compile.rb +509 -0
  187. data/lib/puppet/parser/functions.rb +10 -10
  188. data/lib/puppet/parser/interpreter.rb +44 -662
  189. data/lib/puppet/parser/lexer.rb +1 -3
  190. data/lib/puppet/parser/parser.rb +674 -701
  191. data/lib/puppet/parser/parser_support.rb +33 -24
  192. data/lib/puppet/parser/resource.rb +219 -162
  193. data/lib/puppet/parser/resource/param.rb +1 -2
  194. data/lib/puppet/parser/resource/reference.rb +24 -16
  195. data/lib/puppet/parser/scope.rb +48 -459
  196. data/lib/puppet/parser/templatewrapper.rb +4 -5
  197. data/lib/puppet/pgraph.rb +10 -13
  198. data/lib/puppet/property.rb +25 -41
  199. data/lib/puppet/propertychange.rb +0 -2
  200. data/lib/puppet/provider.rb +15 -11
  201. data/lib/puppet/provider/cron/crontab.rb +6 -7
  202. data/lib/puppet/provider/group/groupadd.rb +0 -1
  203. data/lib/puppet/provider/group/netinfo.rb +0 -1
  204. data/lib/puppet/provider/group/pw.rb +0 -1
  205. data/lib/puppet/provider/host/netinfo.rb +0 -1
  206. data/lib/puppet/provider/host/parsed.rb +0 -1
  207. data/lib/puppet/provider/interface/redhat.rb +90 -91
  208. data/lib/puppet/provider/interface/sunos.rb +98 -81
  209. data/lib/puppet/provider/mailalias/aliases.rb +0 -1
  210. data/lib/puppet/provider/maillist/mailman.rb +2 -3
  211. data/lib/puppet/provider/mount.rb +10 -9
  212. data/lib/puppet/provider/mount/netinfo.rb +0 -1
  213. data/lib/puppet/provider/mount/parsed.rb +0 -1
  214. data/lib/puppet/provider/nameservice.rb +0 -1
  215. data/lib/puppet/provider/nameservice/netinfo.rb +0 -1
  216. data/lib/puppet/provider/nameservice/objectadd.rb +0 -1
  217. data/lib/puppet/provider/nameservice/pw.rb +0 -1
  218. data/lib/puppet/provider/package.rb +0 -2
  219. data/lib/puppet/provider/package/appdmg.rb +0 -1
  220. data/lib/puppet/provider/package/apple.rb +0 -1
  221. data/lib/puppet/provider/package/apt.rb +0 -1
  222. data/lib/puppet/provider/package/aptitude.rb +0 -1
  223. data/lib/puppet/provider/package/aptrpm.rb +0 -1
  224. data/lib/puppet/provider/package/blastwave.rb +0 -1
  225. data/lib/puppet/provider/package/darwinport.rb +0 -1
  226. data/lib/puppet/provider/package/dpkg.rb +9 -1
  227. data/lib/puppet/provider/package/fink.rb +0 -1
  228. data/lib/puppet/provider/package/freebsd.rb +0 -1
  229. data/lib/puppet/provider/package/gem.rb +0 -1
  230. data/lib/puppet/provider/package/openbsd.rb +1 -2
  231. data/lib/puppet/provider/package/pkgdmg.rb +14 -15
  232. data/lib/puppet/provider/package/portage.rb +6 -7
  233. data/lib/puppet/provider/package/ports.rb +1 -4
  234. data/lib/puppet/provider/package/rpm.rb +31 -45
  235. data/lib/puppet/provider/package/sun.rb +0 -3
  236. data/lib/puppet/provider/package/sunfreeware.rb +0 -1
  237. data/lib/puppet/provider/package/up2date.rb +0 -1
  238. data/lib/puppet/provider/package/urpmi.rb +0 -1
  239. data/lib/puppet/provider/package/yum.rb +45 -14
  240. data/lib/puppet/provider/package/yumhelper.py +37 -0
  241. data/lib/puppet/provider/parsedfile.rb +2 -3
  242. data/lib/puppet/provider/port/parsed.rb +0 -1
  243. data/lib/puppet/provider/service/base.rb +4 -1
  244. data/lib/puppet/provider/service/debian.rb +5 -2
  245. data/lib/puppet/provider/service/freebsd.rb +51 -0
  246. data/lib/puppet/provider/service/init.rb +16 -40
  247. data/lib/puppet/provider/service/redhat.rb +1 -6
  248. data/lib/puppet/provider/service/smf.rb +0 -1
  249. data/lib/puppet/provider/sshkey/parsed.rb +0 -1
  250. data/lib/puppet/provider/user/netinfo.rb +0 -1
  251. data/lib/puppet/provider/user/pw.rb +0 -1
  252. data/lib/puppet/provider/user/useradd.rb +0 -1
  253. data/lib/puppet/provider/zone/solaris.rb +0 -1
  254. data/lib/puppet/rails.rb +35 -30
  255. data/lib/puppet/rails/database/schema.rb +0 -1
  256. data/lib/puppet/rails/host.rb +6 -15
  257. data/lib/puppet/rails/param_name.rb +1 -2
  258. data/lib/puppet/rails/param_value.rb +0 -1
  259. data/lib/puppet/rails/puppet_class.rb +0 -1
  260. data/lib/puppet/rails/resource.rb +3 -5
  261. data/lib/puppet/reference/configuration.rb +12 -6
  262. data/lib/puppet/reference/indirection.rb +34 -0
  263. data/lib/puppet/reference/node_source.rb +9 -0
  264. data/lib/puppet/relationship.rb +10 -8
  265. data/lib/puppet/reports.rb +51 -0
  266. data/lib/puppet/reports/log.rb +2 -3
  267. data/lib/puppet/reports/rrdgraph.rb +2 -5
  268. data/lib/puppet/reports/store.rb +6 -7
  269. data/lib/puppet/reports/tagmail.rb +2 -3
  270. data/lib/puppet/resource_reference.rb +79 -0
  271. data/lib/puppet/simple_graph.rb +251 -0
  272. data/lib/puppet/sslcertificates.rb +19 -15
  273. data/lib/puppet/sslcertificates/ca.rb +56 -15
  274. data/lib/puppet/sslcertificates/certificate.rb +0 -1
  275. data/lib/puppet/sslcertificates/inventory.rb +2 -6
  276. data/lib/puppet/sslcertificates/monkey_patch.rb +6 -0
  277. data/lib/puppet/sslcertificates/support.rb +4 -5
  278. data/lib/puppet/transaction.rb +93 -96
  279. data/lib/puppet/transaction/report.rb +5 -1
  280. data/lib/puppet/transportable.rb +79 -125
  281. data/lib/puppet/type.rb +44 -10
  282. data/lib/puppet/type/component.rb +25 -110
  283. data/lib/puppet/type/cron.rb +1 -2
  284. data/lib/puppet/type/exec.rb +19 -13
  285. data/lib/puppet/type/group.rb +0 -1
  286. data/lib/puppet/type/host.rb +0 -1
  287. data/lib/puppet/type/interface.rb +6 -3
  288. data/lib/puppet/type/k5login.rb +87 -0
  289. data/lib/puppet/type/mailalias.rb +0 -1
  290. data/lib/puppet/type/maillist.rb +0 -1
  291. data/lib/puppet/type/mount.rb +7 -13
  292. data/lib/puppet/type/notify.rb +0 -1
  293. data/lib/puppet/type/package.rb +7 -63
  294. data/lib/puppet/type/pfile.rb +25 -32
  295. data/lib/puppet/type/pfile/checksum.rb +0 -1
  296. data/lib/puppet/type/pfile/content.rb +18 -3
  297. data/lib/puppet/type/pfile/ensure.rb +5 -6
  298. data/lib/puppet/type/pfile/group.rb +4 -1
  299. data/lib/puppet/type/pfile/mode.rb +0 -1
  300. data/lib/puppet/type/pfile/owner.rb +6 -9
  301. data/lib/puppet/type/pfile/source.rb +28 -11
  302. data/lib/puppet/type/pfile/target.rb +2 -1
  303. data/lib/puppet/type/pfile/type.rb +0 -1
  304. data/lib/puppet/type/pfilebucket.rb +0 -1
  305. data/lib/puppet/type/port.rb +0 -1
  306. data/lib/puppet/type/resources.rb +0 -1
  307. data/lib/puppet/type/schedule.rb +17 -15
  308. data/lib/puppet/type/service.rb +23 -159
  309. data/lib/puppet/type/sshkey.rb +0 -1
  310. data/lib/puppet/type/tidy.rb +15 -7
  311. data/lib/puppet/type/user.rb +0 -1
  312. data/lib/puppet/type/zone.rb +0 -1
  313. data/lib/puppet/util.rb +1 -2
  314. data/lib/puppet/util/autoload.rb +21 -23
  315. data/lib/puppet/util/checksums.rb +37 -0
  316. data/lib/puppet/util/classgen.rb +0 -1
  317. data/lib/puppet/util/diff.rb +71 -0
  318. data/lib/puppet/util/docs.rb +8 -2
  319. data/lib/puppet/util/errors.rb +0 -1
  320. data/lib/puppet/util/execution.rb +0 -1
  321. data/lib/puppet/util/fact_store.rb +0 -1
  322. data/lib/puppet/util/feature.rb +31 -22
  323. data/lib/puppet/util/fileparsing.rb +3 -2
  324. data/lib/puppet/util/filetype.rb +30 -12
  325. data/lib/puppet/util/graph.rb +0 -1
  326. data/lib/puppet/util/inifile.rb +0 -1
  327. data/lib/puppet/util/instance_loader.rb +11 -4
  328. data/lib/puppet/util/loadedfile.rb +0 -1
  329. data/lib/puppet/util/log.rb +0 -1
  330. data/lib/puppet/util/log_paths.rb +0 -1
  331. data/lib/puppet/util/logging.rb +0 -1
  332. data/lib/puppet/util/metaid.rb +0 -1
  333. data/lib/puppet/util/methodhelper.rb +0 -2
  334. data/lib/puppet/util/metric.rb +1 -2
  335. data/lib/puppet/util/plist.rb +0 -1
  336. data/lib/puppet/util/plist/generator.rb +0 -1
  337. data/lib/puppet/util/plist/parser.rb +0 -1
  338. data/lib/puppet/util/posix.rb +7 -1
  339. data/lib/puppet/util/provider_features.rb +11 -12
  340. data/lib/puppet/util/rails/collection_merger.rb +0 -1
  341. data/lib/puppet/util/reference.rb +2 -3
  342. data/lib/puppet/util/{config.rb → settings.rb} +424 -300
  343. data/lib/puppet/util/storage.rb +1 -3
  344. data/lib/puppet/util/subclass_loader.rb +0 -1
  345. data/lib/puppet/util/suidmanager.rb +25 -42
  346. data/lib/puppet/util/uri_helper.rb +22 -0
  347. data/lib/puppet/util/variables.rb +0 -1
  348. data/lib/puppet/util/warnings.rb +0 -1
  349. data/test/Rakefile +1 -1
  350. data/test/certmgr/ca.rb +8 -2
  351. data/test/certmgr/certmgr.rb +14 -6
  352. data/test/certmgr/inventory.rb +18 -30
  353. data/test/certmgr/support.rb +3 -2
  354. data/test/executables/filebucket.rb +1 -2
  355. data/test/executables/puppetbin.rb +1 -2
  356. data/test/executables/puppetca.rb +7 -2
  357. data/test/executables/puppetd.rb +23 -29
  358. data/test/executables/puppetmasterd.rb +1 -2
  359. data/test/executables/puppetmodule.rb +1 -2
  360. data/test/language/ast.rb +24 -29
  361. data/test/language/ast/casestatement.rb +1 -2
  362. data/test/language/ast/definition.rb +166 -0
  363. data/test/language/ast/hostclass.rb +50 -29
  364. data/test/language/ast/resource.rb +59 -0
  365. data/test/language/ast/{resourceref.rb → resource_reference.rb} +30 -20
  366. data/test/language/ast/selector.rb +1 -2
  367. data/test/language/ast/variable.rb +1 -2
  368. data/test/language/compile.rb +569 -0
  369. data/test/language/functions.rb +57 -76
  370. data/test/language/lexer.rb +20 -3
  371. data/test/language/parser.rb +45 -33
  372. data/test/language/resource.rb +275 -308
  373. data/test/language/scope.rb +135 -410
  374. data/test/language/snippets.rb +19 -41
  375. data/test/language/transportable.rb +8 -29
  376. data/test/lib/mocha/auto_verify.rb +6 -6
  377. data/test/lib/mocha/deprecation.rb +22 -0
  378. data/test/lib/mocha/exception_raiser.rb +17 -0
  379. data/test/lib/mocha/expectation.rb +167 -84
  380. data/test/lib/mocha/infinite_range.rb +4 -6
  381. data/test/lib/mocha/inspect.rb +3 -1
  382. data/test/lib/mocha/is_a.rb +9 -0
  383. data/test/lib/mocha/missing_expectation.rb +27 -0
  384. data/test/lib/mocha/mock.rb +192 -5
  385. data/test/lib/mocha/multiple_yields.rb +20 -0
  386. data/test/lib/mocha/no_yields.rb +11 -0
  387. data/test/lib/mocha/object.rb +11 -1
  388. data/test/lib/mocha/parameter_matchers.rb +9 -0
  389. data/test/lib/mocha/parameter_matchers/all_of.rb +39 -0
  390. data/test/lib/mocha/parameter_matchers/any_of.rb +44 -0
  391. data/test/lib/mocha/parameter_matchers/anything.rb +30 -0
  392. data/test/lib/mocha/parameter_matchers/has_entry.rb +39 -0
  393. data/test/lib/mocha/parameter_matchers/has_key.rb +39 -0
  394. data/test/lib/mocha/parameter_matchers/has_value.rb +39 -0
  395. data/test/lib/mocha/parameter_matchers/includes.rb +37 -0
  396. data/test/lib/mocha/return_values.rb +31 -0
  397. data/test/lib/mocha/single_return_value.rb +24 -0
  398. data/test/lib/mocha/single_yield.rb +18 -0
  399. data/test/lib/mocha/standalone.rb +2 -0
  400. data/test/lib/mocha/stub.rb +18 -0
  401. data/test/lib/mocha/test_case_adapter.rb +3 -3
  402. data/test/lib/mocha/yield_parameters.rb +31 -0
  403. data/test/lib/puppettest.rb +38 -20
  404. data/test/lib/puppettest/certificates.rb +0 -1
  405. data/test/lib/puppettest/exetest.rb +0 -1
  406. data/test/lib/puppettest/fakes.rb +0 -1
  407. data/test/lib/puppettest/fileparsing.rb +8 -15
  408. data/test/lib/puppettest/filetesting.rb +0 -1
  409. data/test/lib/puppettest/parsertesting.rb +37 -23
  410. data/test/lib/puppettest/railstesting.rb +3 -6
  411. data/test/lib/puppettest/reporttesting.rb +0 -1
  412. data/test/lib/puppettest/resourcetesting.rb +6 -34
  413. data/test/lib/puppettest/runnable_test.rb +30 -0
  414. data/test/lib/puppettest/servertest.rb +2 -3
  415. data/test/lib/puppettest/support/assertions.rb +13 -41
  416. data/test/lib/puppettest/support/collection.rb +0 -1
  417. data/test/lib/puppettest/support/helpers.rb +0 -1
  418. data/test/lib/puppettest/support/resources.rb +17 -17
  419. data/test/lib/puppettest/support/utils.rb +45 -27
  420. data/test/lib/puppettest/testcase.rb +2 -21
  421. data/test/lib/rake/puppet_test_loader.rb +0 -1
  422. data/test/lib/rake/puppet_testtask.rb +0 -1
  423. data/test/network/authconfig.rb +1 -2
  424. data/test/network/authorization.rb +1 -2
  425. data/test/network/authstore.rb +1 -2
  426. data/test/network/client/ca.rb +12 -7
  427. data/test/network/client/client.rb +17 -22
  428. data/test/network/client/dipper.rb +1 -2
  429. data/test/network/client/master.rb +70 -184
  430. data/test/network/client/resource.rb +9 -2
  431. data/test/network/client_request.rb +1 -2
  432. data/test/network/daemon.rb +1 -2
  433. data/test/network/handler/bucket.rb +2 -31
  434. data/test/network/handler/ca.rb +9 -3
  435. data/test/network/handler/configuration.rb +160 -0
  436. data/test/network/handler/fileserver.rb +24 -5
  437. data/test/network/handler/handler.rb +1 -2
  438. data/test/network/handler/master.rb +38 -243
  439. data/test/network/handler/report.rb +2 -104
  440. data/test/network/handler/resource.rb +5 -3
  441. data/test/network/handler/runner.rb +22 -60
  442. data/test/network/rights.rb +1 -2
  443. data/test/network/server/mongrel_test.rb +2 -3
  444. data/test/network/server/webrick.rb +17 -11
  445. data/test/network/xmlrpc/client.rb +27 -12
  446. data/test/network/xmlrpc/processor.rb +3 -4
  447. data/test/network/xmlrpc/server.rb +1 -2
  448. data/test/network/xmlrpc/webrick_servlet.rb +8 -2
  449. data/test/other/dsl.rb +2 -4
  450. data/test/other/events.rb +14 -56
  451. data/test/other/overrides.rb +3 -6
  452. data/test/other/propertychange.rb +1 -2
  453. data/test/other/provider.rb +1 -2
  454. data/test/other/puppet.rb +1 -2
  455. data/test/other/relationships.rb +15 -17
  456. data/test/other/report.rb +14 -20
  457. data/test/other/transactions.rb +109 -192
  458. data/test/puppet/conffiles.rb +3 -5
  459. data/test/puppet/defaults.rb +1 -28
  460. data/test/puppet/errortest.rb +1 -2
  461. data/test/puppet/tc_suidmanager.rb +77 -63
  462. data/test/rails/ast.rb +4 -4
  463. data/test/rails/configuration.rb +71 -0
  464. data/test/rails/host.rb +19 -30
  465. data/test/rails/rails.rb +1 -2
  466. data/test/rails/railsparameter.rb +3 -4
  467. data/test/rails/railsresource.rb +6 -5
  468. data/test/ral/manager/attributes.rb +1 -2
  469. data/test/ral/manager/instances.rb +3 -3
  470. data/test/ral/manager/manager.rb +1 -2
  471. data/test/ral/manager/provider.rb +1 -2
  472. data/test/ral/manager/type.rb +89 -93
  473. data/test/ral/providers/cron/crontab.rb +9 -11
  474. data/test/ral/providers/group.rb +1 -2
  475. data/test/ral/providers/host/netinfo.rb +1 -2
  476. data/test/ral/providers/host/parsed.rb +1 -2
  477. data/test/ral/providers/mailalias/aliases.rb +1 -2
  478. data/test/ral/providers/mount/netinfo.rb +1 -2
  479. data/test/ral/providers/nameservice.rb +1 -2
  480. data/test/ral/providers/package.rb +5 -4
  481. data/test/ral/providers/package/apt.rb +0 -1
  482. data/test/ral/providers/package/aptrpm.rb +0 -1
  483. data/test/ral/providers/parsedfile.rb +1 -2
  484. data/test/ral/providers/port/parsed.rb +1 -2
  485. data/test/ral/providers/provider.rb +10 -5
  486. data/test/ral/providers/service/base.rb +1 -2
  487. data/test/ral/providers/service/debian.rb +58 -0
  488. data/test/ral/providers/sshkey/parsed.rb +1 -2
  489. data/test/ral/providers/user.rb +3 -2
  490. data/test/ral/providers/user/useradd.rb +0 -1
  491. data/test/ral/types/basic.rb +4 -9
  492. data/test/ral/types/cron.rb +6 -12
  493. data/test/ral/types/exec.rb +6 -7
  494. data/test/ral/types/file.rb +35 -14
  495. data/test/ral/types/file/target.rb +6 -5
  496. data/test/ral/types/filebucket.rb +3 -2
  497. data/test/ral/types/fileignoresource.rb +10 -42
  498. data/test/ral/types/filesources.rb +21 -60
  499. data/test/ral/types/group.rb +3 -3
  500. data/test/ral/types/host.rb +6 -3
  501. data/test/ral/types/mailalias.rb +1 -2
  502. data/test/ral/types/parameter.rb +5 -3
  503. data/test/ral/types/port.rb +1 -2
  504. data/test/ral/types/property.rb +3 -3
  505. data/test/ral/types/resources.rb +1 -2
  506. data/test/ral/types/service.rb +5 -3
  507. data/test/ral/types/sshkey.rb +5 -3
  508. data/test/ral/types/tidy.rb +63 -3
  509. data/test/ral/types/user.rb +10 -11
  510. data/test/ral/types/yumrepo.rb +1 -1
  511. data/test/ral/types/zone.rb +1 -2
  512. data/test/util/autoload.rb +23 -27
  513. data/test/util/classgen.rb +1 -2
  514. data/test/util/execution.rb +1 -2
  515. data/test/util/features.rb +1 -3
  516. data/test/util/fileparsing.rb +11 -3
  517. data/test/util/filetype.rb +1 -2
  518. data/test/util/inifile.rb +1 -1
  519. data/test/util/instance_loader.rb +5 -6
  520. data/test/util/loadedfile.rb +1 -2
  521. data/test/util/log.rb +1 -2
  522. data/test/util/metrics.rb +1 -2
  523. data/test/util/package.rb +1 -2
  524. data/test/util/posixtest.rb +1 -2
  525. data/test/util/{config.rb → settings.rb} +123 -265
  526. data/test/util/storage.rb +1 -2
  527. data/test/util/subclass_loader.rb +1 -2
  528. data/test/util/utiltest.rb +1 -111
  529. metadata +130 -112
  530. data/ext/tools/passwd2puppet +0 -45
  531. data/lib/puppet/fact_stores/yaml.rb +0 -42
  532. data/lib/puppet/network/handler/facts.rb +0 -70
  533. data/lib/puppet/parser/ast/resourcedef.rb +0 -222
  534. data/lib/puppet/parser/ast/resourceref.rb +0 -58
  535. data/test/language/ast/component.rb +0 -142
  536. data/test/language/collector.rb +0 -179
  537. data/test/language/interpreter.rb +0 -804
  538. data/test/language/node.rb +0 -126
  539. data/test/lib/mocha/mock_methods.rb +0 -122
  540. data/test/lib/puppettest/graph.rb +0 -41
  541. data/test/lib/spec.rb +0 -8
  542. data/test/lib/spec/callback.rb +0 -11
  543. data/test/lib/spec/callback/callback_container.rb +0 -60
  544. data/test/lib/spec/callback/extensions/module.rb +0 -24
  545. data/test/lib/spec/callback/extensions/object.rb +0 -37
  546. data/test/lib/spec/deprecated.rb +0 -3
  547. data/test/lib/spec/expectations.rb +0 -59
  548. data/test/lib/spec/expectations/differs/default.rb +0 -62
  549. data/test/lib/spec/expectations/errors.rb +0 -6
  550. data/test/lib/spec/expectations/extensions.rb +0 -3
  551. data/test/lib/spec/expectations/extensions/object.rb +0 -109
  552. data/test/lib/spec/expectations/extensions/proc.rb +0 -57
  553. data/test/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
  554. data/test/lib/spec/expectations/handler.rb +0 -47
  555. data/test/lib/spec/expectations/should.rb +0 -5
  556. data/test/lib/spec/expectations/should/base.rb +0 -64
  557. data/test/lib/spec/expectations/should/change.rb +0 -69
  558. data/test/lib/spec/expectations/should/have.rb +0 -128
  559. data/test/lib/spec/expectations/should/not.rb +0 -74
  560. data/test/lib/spec/expectations/should/should.rb +0 -81
  561. data/test/lib/spec/expectations/sugar.rb +0 -47
  562. data/test/lib/spec/matchers.rb +0 -160
  563. data/test/lib/spec/matchers/be.rb +0 -161
  564. data/test/lib/spec/matchers/be_close.rb +0 -37
  565. data/test/lib/spec/matchers/change.rb +0 -120
  566. data/test/lib/spec/matchers/eql.rb +0 -43
  567. data/test/lib/spec/matchers/equal.rb +0 -43
  568. data/test/lib/spec/matchers/has.rb +0 -44
  569. data/test/lib/spec/matchers/have.rb +0 -140
  570. data/test/lib/spec/matchers/include.rb +0 -50
  571. data/test/lib/spec/matchers/match.rb +0 -41
  572. data/test/lib/spec/matchers/raise_error.rb +0 -100
  573. data/test/lib/spec/matchers/respond_to.rb +0 -35
  574. data/test/lib/spec/matchers/satisfy.rb +0 -47
  575. data/test/lib/spec/matchers/throw_symbol.rb +0 -75
  576. data/test/lib/spec/mocks.rb +0 -232
  577. data/test/lib/spec/mocks/argument_expectation.rb +0 -132
  578. data/test/lib/spec/mocks/error_generator.rb +0 -85
  579. data/test/lib/spec/mocks/errors.rb +0 -10
  580. data/test/lib/spec/mocks/extensions/object.rb +0 -3
  581. data/test/lib/spec/mocks/message_expectation.rb +0 -231
  582. data/test/lib/spec/mocks/methods.rb +0 -40
  583. data/test/lib/spec/mocks/mock.rb +0 -26
  584. data/test/lib/spec/mocks/mock_handler.rb +0 -166
  585. data/test/lib/spec/mocks/order_group.rb +0 -29
  586. data/test/lib/spec/rake/spectask.rb +0 -173
  587. data/test/lib/spec/rake/verify_rcov.rb +0 -47
  588. data/test/lib/spec/runner.rb +0 -132
  589. data/test/lib/spec/runner/backtrace_tweaker.rb +0 -55
  590. data/test/lib/spec/runner/command_line.rb +0 -34
  591. data/test/lib/spec/runner/context.rb +0 -154
  592. data/test/lib/spec/runner/context_eval.rb +0 -142
  593. data/test/lib/spec/runner/context_runner.rb +0 -55
  594. data/test/lib/spec/runner/drb_command_line.rb +0 -21
  595. data/test/lib/spec/runner/execution_context.rb +0 -17
  596. data/test/lib/spec/runner/extensions/kernel.rb +0 -17
  597. data/test/lib/spec/runner/extensions/object.rb +0 -32
  598. data/test/lib/spec/runner/formatter.rb +0 -5
  599. data/test/lib/spec/runner/formatter/base_text_formatter.rb +0 -118
  600. data/test/lib/spec/runner/formatter/html_formatter.rb +0 -219
  601. data/test/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -27
  602. data/test/lib/spec/runner/formatter/rdoc_formatter.rb +0 -22
  603. data/test/lib/spec/runner/formatter/specdoc_formatter.rb +0 -23
  604. data/test/lib/spec/runner/heckle_runner.rb +0 -71
  605. data/test/lib/spec/runner/heckle_runner_win.rb +0 -10
  606. data/test/lib/spec/runner/option_parser.rb +0 -224
  607. data/test/lib/spec/runner/reporter.rb +0 -105
  608. data/test/lib/spec/runner/spec_matcher.rb +0 -25
  609. data/test/lib/spec/runner/spec_parser.rb +0 -41
  610. data/test/lib/spec/runner/spec_should_raise_handler.rb +0 -74
  611. data/test/lib/spec/runner/specification.rb +0 -114
  612. data/test/lib/spec/translator.rb +0 -87
  613. data/test/lib/spec/version.rb +0 -30
  614. data/test/network/handler/facts.rb +0 -112
  615. data/test/other/pgraph.rb +0 -290
  616. data/test/other/relationship.rb +0 -74
  617. data/test/puppet/modules.rb +0 -59
  618. data/test/rails/collection.rb +0 -247
  619. data/test/rails/interpreter.rb +0 -91
  620. data/test/ral/providers/mount/parsed.rb +0 -251
  621. data/test/ral/providers/service.rb +0 -235
  622. data/test/ral/types/component.rb +0 -113
  623. data/test/ral/types/interface.rb +0 -40
  624. data/test/ral/types/mount.rb +0 -362
  625. data/test/ral/types/package.rb +0 -154
  626. data/test/ral/types/schedule.rb +0 -357
  627. data/test/tagging/tagging.rb +0 -170
  628. data/test/util/fact_store.rb +0 -67
  629. data/test/util/graph.rb +0 -108
@@ -1,88 +1,22 @@
1
1
  require 'puppet/provider/parsedfile'
2
2
  require 'erb'
3
3
 
4
- Puppet::Type.type(:interface).provide(:sunos,
5
- :default_target => "/etc/hostname.lo0",
6
- :parent => Puppet::Provider::ParsedFile,
7
- :filetype => :flat
8
- ) do
9
-
4
+ Puppet::Type.type(:interface).provide(:sunos) do
10
5
  confine :kernel => "SunOS"
11
6
 
12
- # Two types of lines:
13
- # the first line does not start with 'addif'
14
- # the rest do
15
- record_line :sunos, :fields => %w{interface_type name ifopts onboot}, :rts => true, :absent => "", :block_eval => :instance do
16
- # Parse our interface line
17
- def process(line)
18
- details = {:ensure => :present}
19
-
20
- values = line.split(/\s+/)
21
-
22
- # Are we the primary interface?
23
- if values[0] == "addif"
24
- details[:interface_type] = :alias
25
- values.shift
26
- else
27
- details[:interface_type] = :normal
28
- end
29
-
30
- # Should the interface be up by default?
31
- if values[-1] == "up"
32
- details[:onboot] = :true
33
- values.pop
34
- else
35
- details[:onboot] = :false
36
- end
37
-
38
- # Set the interface name.
39
- details[:name] = values.shift
40
-
41
- # Handle any interface options
42
- unless values.empty?
43
- details[:ifopts] = values.join(" ")
44
- end
45
-
46
- return details
47
- end
48
-
49
- # Turn our record into a line.
50
- def to_line(details)
51
- ret = []
52
- if details[:interface_type] != :normal
53
- ret << "addif"
54
- end
55
- ret << details[:name]
56
-
57
- if details[:ifopts] and details[:ifopts] != :absent
58
- if details[:ifopts].is_a?(Array)
59
- ret << details[:ifopts].join(" ")
60
- else
61
- ret << details[:ifopts]
62
- end
63
- end
64
-
65
- if details[:onboot] and details[:onboot] != :false
66
- ret << "up"
67
- end
68
-
69
- return ret.join(" ")
70
- end
71
- end
72
-
73
- def self.header
74
- # over-write the default puppet behaviour of adding a header
75
- # because on further investigation this breaks the solaris
76
- # init scripts
77
- %{}
78
- end
7
+ # Add accessor/getter methods for each property/parameter; these methods
8
+ # modify @property_hash.
9
+ mk_resource_methods
79
10
 
80
11
  # Get a list of interface instances.
81
12
  def self.instances
82
13
  Dir.glob("/etc/hostname.*").collect do |file|
83
- # We really only expect one record from each file
84
- parse(file).shift
85
- end.collect { |record| new(record) }
14
+ device = File.basename(file).split(".").pop
15
+
16
+ instance = new(:interface => device)
17
+ instance.parse
18
+ instance
19
+ end
86
20
  end
87
21
 
88
22
  def self.match(hash)
@@ -103,14 +37,97 @@ Puppet::Type.type(:interface).provide(:sunos,
103
37
  end
104
38
  end
105
39
 
40
+ def initialize(*args)
41
+ @property_hash = {}
42
+ super
43
+ end
44
+
45
+ def create
46
+ self.class.resource_type.validproperties.each do |property|
47
+ if value = resource.should(property)
48
+ @property_hash[property] = value
49
+ end
50
+ end
51
+ @property_hash[:name] = resource.name
52
+
53
+ return (@resource.class.name.to_s + "_created").intern
54
+ end
55
+
56
+ def destroy
57
+ File.unlink(file_path)
58
+ @property_hash[:ensure] = :absent
59
+ end
60
+
61
+ def exists?
62
+ FileTest.exist?(file_path)
63
+ end
64
+
106
65
  # Where should the file be written out? Can be overridden by setting
107
66
  # :target in the model.
108
67
  def file_path
109
- unless @resource[:interface]
110
- raise ArgumentError, "You must provide the interface name on Solaris"
68
+ self.fail("Could not determine interface") unless interface = @property_hash[:interface] || (resource and resource[:interface])
69
+ return File.join("/etc", "hostname." + interface)
70
+ end
71
+
72
+ def flush
73
+ return if self.ensure == :absent
74
+ File.open(file_path, "w") { |f| f.print generate() + "\n" }
75
+ end
76
+
77
+ # Turn our record into a line.
78
+ def generate
79
+ ret = []
80
+ if self.interface_type == :alias
81
+ ret << "addif"
82
+ end
83
+ ret << self.name
84
+
85
+ if self.ifopts != :absent
86
+ if @property_hash[:ifopts].is_a?(Array)
87
+ ret << @property_hash[:ifopts].join(" ")
88
+ else
89
+ ret << @property_hash[:ifopts]
90
+ end
91
+ end
92
+
93
+ if self.onboot and ! [:absent, :false].include?(self.onboot)
94
+ ret << "up"
111
95
  end
112
- return File.join("/etc", "hostname." + @resource[:interface])
96
+
97
+ return ret.join(" ")
113
98
  end
114
- end
115
99
 
116
- # $Id: sunos.rb 2747 2007-08-05 19:01:39Z luke $
100
+ # Parse our interface file.
101
+ def parse
102
+ (@property_hash = {:ensure => :absent} and return) unless FileTest.exist?(file_path)
103
+
104
+ values = File.read(file_path).chomp.split(/\s+/)
105
+
106
+ @property_hash[:ensure] = :present
107
+ #@property_hash = {:ensure => :present}
108
+
109
+ # Are we the primary interface?
110
+ if values[0] == "addif"
111
+ @property_hash[:interface_type] = :alias
112
+ values.shift
113
+ else
114
+ @property_hash[:interface_type] = :normal
115
+ end
116
+
117
+ # Should the interface be up by default?
118
+ if values[-1] == "up"
119
+ @property_hash[:onboot] = :true
120
+ values.pop
121
+ else
122
+ @property_hash[:onboot] = :false
123
+ end
124
+
125
+ # Set the interface name.
126
+ @property_hash[:name] = values.shift
127
+
128
+ # Handle any interface options
129
+ unless values.empty?
130
+ @property_hash[:ifopts] = values.join(" ")
131
+ end
132
+ end
133
+ end
@@ -28,4 +28,3 @@ Puppet::Type.type(:mailalias).provide(:aliases,
28
28
  end
29
29
  end
30
30
 
31
- # $Id: aliases.rb 2676 2007-07-10 23:24:34Z luke $
@@ -101,13 +101,12 @@ Puppet::Type.type(:maillist).provide(:mailman) do
101
101
  # Pull the current state of the list from the full list. We're
102
102
  # getting some double entendre here....
103
103
  def query
104
- provider.class.instances.each do |list|
104
+ self.class.instances.each do |list|
105
105
  if list.name == self.name or list.name.downcase == self.name
106
- return list.property_hash
106
+ return list.properties
107
107
  end
108
108
  end
109
109
  nil
110
110
  end
111
111
  end
112
112
 
113
- # $Id: mailman.rb 2719 2007-07-20 03:24:04Z luke $
@@ -14,7 +14,7 @@ module Puppet::Provider::Mount
14
14
  if self.options and self.options != :absent
15
15
  args << "-o" << self.options
16
16
  end
17
- args << @resource[:name]
17
+ args << resource[:name]
18
18
 
19
19
  if respond_to?(:flush)
20
20
  flush
@@ -24,8 +24,8 @@ module Puppet::Provider::Mount
24
24
 
25
25
  def remount
26
26
  info "Remounting"
27
- if @resource[:remounts] == :true
28
- mountcmd "-o", "remount", @resource[:name]
27
+ if resource[:remounts] == :true
28
+ mountcmd "-o", "remount", resource[:name]
29
29
  else
30
30
  unmount()
31
31
  mount()
@@ -34,21 +34,22 @@ module Puppet::Provider::Mount
34
34
 
35
35
  # This only works when the mount point is synced to the fstab.
36
36
  def unmount
37
- umount @resource[:name]
37
+ umount resource[:name]
38
38
  end
39
39
 
40
40
  # Is the mount currently mounted?
41
41
  def mounted?
42
- platform = Facter["operatingsystem"].value
43
- name = @resource[:name]
42
+ platform = Facter.value("operatingsystem")
43
+ name = resource[:name]
44
44
  mounts = mountcmd.split("\n").find do |line|
45
- if platform == "Darwin"
45
+ case platform
46
+ when "Darwin"
46
47
  line =~ / on #{name} / or line =~ %r{ on /private/var/automount#{name}}
48
+ when "Solaris"
49
+ line =~ /^#{name} on /
47
50
  else
48
51
  line =~ / on #{name} /
49
52
  end
50
53
  end
51
54
  end
52
55
  end
53
-
54
- # $Id: mount.rb 2745 2007-08-05 17:49:23Z luke $
@@ -35,4 +35,3 @@ require 'puppet/provider/mount'
35
35
  # end
36
36
  # end
37
37
 
38
- # $Id: netinfo.rb 2501 2007-05-09 23:08:42Z luke $
@@ -34,4 +34,3 @@ Puppet::Type.type(:mount).provide(:parsed,
34
34
  record_line self.name, :fields => @fields, :separator => /\s+/, :joiner => "\t", :optional => [:pass, :dump]
35
35
  end
36
36
 
37
- # $Id: parsed.rb 2707 2007-07-18 20:40:11Z luke $
@@ -329,4 +329,3 @@ class Puppet::Provider::NameService < Puppet::Provider
329
329
  end
330
330
  end
331
331
 
332
- # $Id: nameservice.rb 2555 2007-06-08 17:20:00Z luke $
@@ -207,4 +207,3 @@ class NetInfo < Puppet::Provider::NameService
207
207
  end
208
208
  end
209
209
 
210
- # $Id: netinfo.rb 2552 2007-06-05 01:17:00Z luke $
@@ -42,4 +42,3 @@ class ObjectAdd < Puppet::Provider::NameService
42
42
  end
43
43
  end
44
44
 
45
- # $Id: objectadd.rb 2501 2007-05-09 23:08:42Z luke $
@@ -19,4 +19,3 @@ class PW < ObjectAdd
19
19
  end
20
20
  end
21
21
 
22
- # $Id: pw.rb 2501 2007-05-09 23:08:42Z luke $
@@ -27,5 +27,3 @@ class Puppet::Provider::Package < Puppet::Provider
27
27
  @property_hash.dup
28
28
  end
29
29
  end
30
-
31
- # $Id: package.rb 2559 2007-06-11 20:48:06Z luke $
@@ -114,4 +114,3 @@ Puppet::Type.type(:package).provide(:appdmg, :parent => Puppet::Provider::Packag
114
114
  end
115
115
  end
116
116
 
117
- # $Id: appdmg.rb 2647 2007-07-04 22:25:23Z luke $
@@ -52,4 +52,3 @@ Puppet::Type.type(:package).provide :apple, :parent => Puppet::Provider::Package
52
52
  end
53
53
  end
54
54
 
55
- # $Id: apple.rb 2555 2007-06-08 17:20:00Z luke $
@@ -116,4 +116,3 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
116
116
  end
117
117
  end
118
118
 
119
- # $Id: apt.rb 2708 2007-07-18 23:48:58Z luke $
@@ -29,4 +29,3 @@ Puppet::Type.type(:package).provide :aptitude, :parent => :apt, :source => :dpkg
29
29
  end
30
30
  end
31
31
 
32
- # $Id: aptitude.rb 2618 2007-06-18 21:18:48Z luke $
@@ -84,4 +84,3 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm, :source => :rpm do
84
84
  end
85
85
  end
86
86
 
87
- # $Id: aptrpm.rb 2701 2007-07-16 23:43:50Z luke $
@@ -113,4 +113,3 @@ Puppet::Type.type(:package).provide :blastwave, :parent => :sun, :source => :sun
113
113
  end
114
114
  end
115
115
 
116
- # $Id: blastwave.rb 2656 2007-07-08 16:26:51Z luke $
@@ -86,4 +86,3 @@ Puppet::Type.type(:package).provide :darwinport, :parent => Puppet::Provider::Pa
86
86
  end
87
87
  end
88
88
 
89
- # $Id: darwinport.rb 2555 2007-06-08 17:20:00Z luke $
@@ -56,9 +56,18 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
56
56
  dpkg "-i", file
57
57
  end
58
58
 
59
+ def update
60
+ self.install
61
+ end
62
+
59
63
  # Return the version from the package.
60
64
  def latest
61
65
  output = dpkg_deb "--show", @resource[:source]
66
+ matches = /^(\S+)\t(\S+)$/.match(output).captures
67
+ unless matches[0].match(@resource[:name])
68
+ Puppet.warning "source doesn't contain named package, but %s" % matches[0]
69
+ end
70
+ matches[1]
62
71
  end
63
72
 
64
73
  def query
@@ -122,4 +131,3 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
122
131
  end
123
132
  end
124
133
 
125
- # $Id: dpkg.rb 2753 2007-08-07 02:38:45Z luke $
@@ -84,4 +84,3 @@ Puppet::Type.type(:package).provide :fink, :parent => :dpkg, :source => :dpkg do
84
84
  end
85
85
  end
86
86
 
87
- # $Id: fink.rb 2617 2007-06-18 21:07:01Z luke $
@@ -39,4 +39,3 @@ Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do
39
39
  end
40
40
  end
41
41
 
42
- # $Id: freebsd.rb 2555 2007-06-08 17:20:00Z luke $
@@ -101,4 +101,3 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package d
101
101
  end
102
102
  end
103
103
 
104
- # $Id: gem.rb 2618 2007-06-18 21:18:48Z luke $
@@ -47,7 +47,7 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
47
47
  end
48
48
 
49
49
  def self.listcmd
50
- [command(:info), "-a"]
50
+ [command(:pkginfo), " -a"]
51
51
  end
52
52
 
53
53
  def install
@@ -85,4 +85,3 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
85
85
  end
86
86
  end
87
87
 
88
- # $Id: openbsd.rb 2753 2007-08-07 02:38:45Z luke $
@@ -41,9 +41,9 @@ the DMG file system. Sub directories are not checked for packages.
41
41
  This provider always assumes the label (formerly called 'name') attribute
42
42
  declared in the manifest will always exactly match the file name (without
43
43
  path) of the DMG file itself. Therefore, if you want to install packages in
44
- 'Foobar.pkg.dmg' you must explicitly specify the label:
44
+ 'Foobar.pkg.dmg' you must explicitly specify the label::
45
45
 
46
- package { Foobar.pkg.dmg: ensure => installed, provider => pkgdmg }
46
+ package { Foobar.pkg.dmg: ensure => installed, provider => pkgdmg }
47
47
 
48
48
  Only the dmg file name itself is used when puppet determines if the packages
49
49
  contained within are currently installed. For example, if a package resource
@@ -57,9 +57,9 @@ will not update or re-install the packages contained within unless you change
57
57
  the file name of the DMG wrapper itself. Therefore, if you use this provider,
58
58
  I recommend you name the DMG wrapper files in a manner that lends itself to
59
59
  incremental version changes. I include some version or date string in the DMG
60
- name, like so:
60
+ name, like so::
61
61
 
62
- Firefox-2.0.0.3-1.pkg.dmg
62
+ Firefox-2.0.0.3-1.pkg.dmg
63
63
 
64
64
  If I realize I've mis-packaged this DMG, then I have the option to increment
65
65
  the package version, yielding Firefox-2.0.0.3-2.pkg.dmg.
@@ -76,18 +76,18 @@ file into a temporary directory. If no URL is present, the provider skips
76
76
  straight to step 2. In step two, the source file is mounted, then packages
77
77
  installed, and finally the DMG file is removed.
78
78
 
79
- WARNING: Because I assume files will be downloaded to /tmp, the current
80
- implementation attempts to delete DMG files if you install directly from the
81
- file system and not via a URL method.
82
-
83
79
  If this is a problem for you, please patch the code, or bug Jeff to fix this.
84
80
 
85
- Example usage:
81
+ Example usage::
86
82
 
87
- package { Thunderbird-2.0.0.4-1.pkg.dmg:
88
- provider => pkgdmg, ensure => present
89
- source => 'http://0.0.0.0:8000/packages/Thunderbird-2.0.0.4-1.pkg.dmg',
90
- }
83
+ package { Thunderbird-2.0.0.4-1.pkg.dmg:
84
+ provider => pkgdmg, ensure => present
85
+ source => 'http://0.0.0.0:8000/packages/Thunderbird-2.0.0.4-1.pkg.dmg',
86
+ }
87
+
88
+ **WARNING**: Because I assume files will be downloaded to /tmp, the current
89
+ implementation attempts to delete DMG files if you install directly from the
90
+ file system and not via a URL method.
91
91
  "
92
92
 
93
93
 
@@ -146,7 +146,7 @@ package { Thunderbird-2.0.0.4-1.pkg.dmg:
146
146
 
147
147
  begin
148
148
  open(cached_source) do |dmg|
149
- xml_str = hdiutil "mount", "-plist", "-nobrowse", "-readonly", "-mountrandom", "-noidme", "/tmp", dmg.path
149
+ xml_str = hdiutil "mount", "-plist", "-nobrowse", "-readonly", "-noidme", "-mountrandom", "/tmp", dmg.path
150
150
  ptable = Plist::parse_xml xml_str
151
151
  # JJM Filter out all mount-paths into a single array, discard the rest.
152
152
  mounts = ptable['system-entities'].collect { |entity|
@@ -190,4 +190,3 @@ package { Thunderbird-2.0.0.4-1.pkg.dmg:
190
190
  end
191
191
  end
192
192
 
193
- # $Id: pkgdmg.rb 2650 2007-07-05 12:58:23Z mccune $