puppet 2.7.26 → 3.0.0.rc4

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 (1472) hide show
  1. data/CHANGELOG +533 -204
  2. data/Gemfile +8 -24
  3. data/Gemfile.lock +44 -0
  4. data/LICENSE +1 -1
  5. data/README.md +2 -2
  6. data/README_DEVELOPER.md +18 -210
  7. data/Rakefile +30 -47
  8. data/bin/puppet +5 -3
  9. data/conf/auth.conf +3 -3
  10. data/{ext → conf}/osx/PackageInfo.plist +0 -0
  11. data/{ext → conf}/osx/createpackage.sh +0 -0
  12. data/conf/osx/preflight +24 -0
  13. data/conf/redhat/client.init +8 -8
  14. data/{ext/redhat/puppet.spec.erb → conf/redhat/puppet.spec} +29 -46
  15. data/conf/redhat/queue.init +105 -0
  16. data/conf/redhat/rundir-perms.patch +13 -13
  17. data/conf/redhat/server.init +4 -4
  18. data/conf/solaris/pkginfo +1 -1
  19. data/conf/suse/puppet.spec +8 -3
  20. data/conf/windows/eventlog/puppetres.dll +0 -0
  21. data/ext/emacs/puppet-mode.el +204 -150
  22. data/ext/nagios/naggen +1 -1
  23. data/ext/puppet-test +1 -1
  24. data/ext/puppetlisten/puppetlisten.rb +1 -2
  25. data/ext/puppetlisten/puppetrun.rb +1 -2
  26. data/ext/rack/files/config.ru +21 -3
  27. data/ext/regexp_nodes/environment/development +2 -0
  28. data/ext/regexp_nodes/parameters/{environment → service}/prod +0 -0
  29. data/ext/regexp_nodes/parameters/{environment → service}/qa +0 -0
  30. data/ext/regexp_nodes/parameters/service/sandbox +1 -0
  31. data/ext/regexp_nodes/regexp_nodes.rb +115 -59
  32. data/ext/upload_facts.rb +0 -1
  33. data/install.rb +10 -10
  34. data/lib/puppet.rb +49 -24
  35. data/lib/puppet/agent.rb +40 -16
  36. data/lib/puppet/agent/disabler.rb +53 -0
  37. data/lib/puppet/agent/locker.rb +18 -24
  38. data/lib/puppet/application.rb +93 -72
  39. data/lib/puppet/application/agent.rb +29 -47
  40. data/lib/puppet/application/apply.rb +40 -39
  41. data/lib/puppet/application/cert.rb +9 -11
  42. data/lib/puppet/application/certificate.rb +7 -2
  43. data/lib/puppet/application/certificate_request.rb +3 -0
  44. data/lib/puppet/application/certificate_revocation_list.rb +3 -0
  45. data/lib/puppet/application/describe.rb +1 -3
  46. data/lib/puppet/application/device.rb +15 -16
  47. data/lib/puppet/application/doc.rb +12 -11
  48. data/lib/puppet/application/face_base.rb +9 -13
  49. data/lib/puppet/application/filebucket.rb +2 -8
  50. data/lib/puppet/application/inspect.rb +3 -6
  51. data/lib/puppet/application/instrumentation_data.rb +3 -0
  52. data/lib/puppet/application/instrumentation_listener.rb +3 -0
  53. data/lib/puppet/application/instrumentation_probe.rb +3 -0
  54. data/lib/puppet/application/kick.rb +2 -8
  55. data/lib/puppet/application/master.rb +9 -15
  56. data/lib/puppet/application/module.rb +0 -7
  57. data/lib/puppet/application/queue.rb +7 -6
  58. data/lib/puppet/application/resource.rb +1 -5
  59. data/lib/puppet/application/resource_type.rb +3 -0
  60. data/lib/puppet/application/secret_agent.rb +3 -0
  61. data/lib/puppet/configurer.rb +87 -88
  62. data/lib/puppet/configurer/downloader.rb +8 -23
  63. data/lib/puppet/configurer/fact_handler.rb +5 -17
  64. data/lib/puppet/configurer/plugin_handler.rb +4 -23
  65. data/lib/puppet/daemon.rb +24 -6
  66. data/lib/puppet/data_binding.rb +11 -0
  67. data/lib/puppet/defaults.rb +1058 -518
  68. data/lib/puppet/error.rb +31 -25
  69. data/lib/puppet/external/dot.rb +1 -1
  70. data/lib/puppet/external/nagios/base.rb +8 -4
  71. data/lib/puppet/face/ca.rb +1 -1
  72. data/lib/puppet/face/catalog.rb +1 -2
  73. data/lib/puppet/face/certificate.rb +12 -0
  74. data/lib/puppet/face/config.rb +3 -0
  75. data/lib/puppet/face/help.rb +92 -28
  76. data/lib/puppet/face/help/action.erb +36 -3
  77. data/lib/puppet/face/help/face.erb +35 -3
  78. data/lib/puppet/face/help/global.erb +8 -12
  79. data/lib/puppet/face/help/man.erb +20 -2
  80. data/lib/puppet/face/instrumentation_data.rb +1 -0
  81. data/lib/puppet/face/instrumentation_listener.rb +1 -0
  82. data/lib/puppet/face/instrumentation_probe.rb +1 -0
  83. data/lib/puppet/face/module.rb +2 -0
  84. data/lib/puppet/face/module/build.rb +32 -6
  85. data/lib/puppet/face/module/changes.rb +1 -0
  86. data/lib/puppet/face/module/generate.rb +1 -0
  87. data/lib/puppet/face/module/install.rb +10 -41
  88. data/lib/puppet/face/module/list.rb +2 -19
  89. data/lib/puppet/face/module/search.rb +12 -6
  90. data/lib/puppet/face/module/uninstall.rb +3 -18
  91. data/lib/puppet/face/module/upgrade.rb +2 -9
  92. data/lib/puppet/face/node/clean.rb +25 -27
  93. data/lib/puppet/face/report.rb +2 -4
  94. data/lib/puppet/face/resource.rb +1 -1
  95. data/lib/puppet/feature/base.rb +9 -3
  96. data/lib/puppet/feature/rails.rb +18 -0
  97. data/lib/puppet/feature/rdoc1.rb +16 -0
  98. data/lib/puppet/file_bucket/dipper.rb +3 -2
  99. data/lib/puppet/file_serving/base.rb +4 -8
  100. data/lib/puppet/file_serving/configuration.rb +1 -12
  101. data/lib/puppet/file_serving/configuration/parser.rb +1 -1
  102. data/lib/puppet/file_serving/metadata.rb +0 -14
  103. data/lib/puppet/file_serving/mount/plugins.rb +10 -1
  104. data/lib/puppet/file_serving/terminus_selector.rb +15 -13
  105. data/lib/puppet/forge.rb +29 -13
  106. data/lib/puppet/forge/cache.rb +1 -1
  107. data/lib/puppet/forge/errors.rb +69 -0
  108. data/lib/puppet/forge/repository.rb +84 -21
  109. data/lib/puppet/indirector/catalog/active_record.rb +2 -12
  110. data/lib/puppet/indirector/catalog/compiler.rb +8 -18
  111. data/lib/puppet/indirector/catalog/json.rb +6 -0
  112. data/lib/puppet/indirector/catalog/static_compiler.rb +3 -2
  113. data/lib/puppet/indirector/certificate/rest.rb +1 -0
  114. data/lib/puppet/indirector/certificate_status/file.rb +0 -5
  115. data/lib/puppet/indirector/data_binding/hiera.rb +6 -0
  116. data/lib/puppet/indirector/data_binding/none.rb +5 -0
  117. data/lib/puppet/indirector/exec.rb +8 -18
  118. data/lib/puppet/indirector/face.rb +5 -4
  119. data/lib/puppet/indirector/facts/facter.rb +6 -33
  120. data/lib/puppet/indirector/facts/network_device.rb +0 -1
  121. data/lib/puppet/indirector/file_bucket_file/file.rb +0 -4
  122. data/lib/puppet/indirector/file_bucket_file/selector.rb +0 -4
  123. data/lib/puppet/indirector/file_content/rest.rb +2 -0
  124. data/lib/puppet/indirector/hiera.rb +69 -0
  125. data/lib/puppet/indirector/indirection.rb +20 -26
  126. data/lib/puppet/indirector/json.rb +76 -0
  127. data/lib/puppet/indirector/ldap.rb +3 -2
  128. data/lib/puppet/indirector/node/active_record.rb +1 -0
  129. data/lib/puppet/indirector/node/exec.rb +9 -0
  130. data/lib/puppet/indirector/node/ldap.rb +6 -3
  131. data/lib/puppet/indirector/node/plain.rb +1 -0
  132. data/lib/puppet/indirector/none.rb +9 -0
  133. data/lib/puppet/indirector/queue.rb +1 -2
  134. data/lib/puppet/indirector/report/processor.rb +2 -3
  135. data/lib/puppet/indirector/report/rest.rb +1 -7
  136. data/lib/puppet/indirector/request.rb +80 -18
  137. data/lib/puppet/indirector/resource/active_record.rb +0 -3
  138. data/lib/puppet/indirector/resource/ral.rb +0 -4
  139. data/lib/puppet/indirector/resource/rest.rb +0 -9
  140. data/lib/puppet/indirector/resource/store_configs.rb +0 -3
  141. data/lib/puppet/indirector/resource_type/parser.rb +30 -1
  142. data/lib/puppet/indirector/rest.rb +103 -126
  143. data/lib/puppet/indirector/run/local.rb +0 -4
  144. data/lib/puppet/indirector/run/rest.rb +0 -6
  145. data/lib/puppet/indirector/terminus.rb +0 -20
  146. data/lib/puppet/indirector/yaml.rb +11 -5
  147. data/lib/puppet/interface.rb +6 -14
  148. data/lib/puppet/interface/action.rb +21 -3
  149. data/lib/puppet/interface/action_builder.rb +5 -0
  150. data/lib/puppet/interface/action_manager.rb +1 -1
  151. data/lib/puppet/interface/documentation.rb +12 -0
  152. data/lib/puppet/interface/face_collection.rb +1 -1
  153. data/lib/puppet/interface/option.rb +19 -3
  154. data/lib/puppet/interface/option_manager.rb +27 -9
  155. data/lib/puppet/metatype/manager.rb +1 -0
  156. data/lib/puppet/module.rb +40 -83
  157. data/lib/puppet/module_tool.rb +42 -5
  158. data/lib/puppet/module_tool/applications/builder.rb +1 -1
  159. data/lib/puppet/module_tool/applications/installer.rb +11 -11
  160. data/lib/puppet/module_tool/applications/searcher.rb +15 -2
  161. data/lib/puppet/module_tool/applications/unpacker.rb +4 -8
  162. data/lib/puppet/module_tool/applications/upgrader.rb +6 -5
  163. data/lib/puppet/module_tool/errors/base.rb +1 -1
  164. data/lib/puppet/module_tool/errors/installer.rb +24 -4
  165. data/lib/puppet/module_tool/install_directory.rb +41 -0
  166. data/lib/puppet/module_tool/metadata.rb +4 -4
  167. data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
  168. data/lib/puppet/network/auth_config_parser.rb +81 -0
  169. data/lib/puppet/network/authconfig.rb +49 -147
  170. data/lib/puppet/network/authorization.rb +20 -62
  171. data/lib/puppet/network/authstore.rb +43 -27
  172. data/lib/puppet/network/formats.rb +10 -20
  173. data/lib/puppet/network/http/api/v1.rb +1 -1
  174. data/lib/puppet/network/http/connection.rb +184 -0
  175. data/lib/puppet/network/http/handler.rb +4 -14
  176. data/lib/puppet/network/http/mongrel.rb +5 -25
  177. data/lib/puppet/network/http/rack.rb +2 -34
  178. data/lib/puppet/network/http/rack/httphandler.rb +0 -3
  179. data/lib/puppet/network/http/rack/rest.rb +2 -7
  180. data/lib/puppet/network/http/webrick.rb +9 -32
  181. data/lib/puppet/network/http_pool.rb +10 -48
  182. data/lib/puppet/network/resolver.rb +85 -0
  183. data/lib/puppet/network/rights.rb +33 -89
  184. data/lib/puppet/network/server.rb +14 -43
  185. data/lib/puppet/node.rb +13 -11
  186. data/lib/puppet/node/environment.rb +29 -12
  187. data/lib/puppet/node/facts.rb +13 -38
  188. data/lib/puppet/parameter.rb +0 -21
  189. data/lib/puppet/parameter/package_options.rb +26 -0
  190. data/lib/puppet/parser/ast.rb +2 -13
  191. data/lib/puppet/parser/ast/function.rb +0 -2
  192. data/lib/puppet/parser/ast/leaf.rb +12 -22
  193. data/lib/puppet/parser/ast/resource.rb +3 -10
  194. data/lib/puppet/parser/ast/resource_defaults.rb +1 -1
  195. data/lib/puppet/parser/ast/resource_override.rb +1 -4
  196. data/lib/puppet/parser/ast/resourceparam.rb +4 -7
  197. data/lib/puppet/parser/ast/selector.rb +7 -1
  198. data/lib/puppet/parser/ast/vardef.rb +0 -2
  199. data/lib/puppet/parser/collector.rb +2 -1
  200. data/lib/puppet/parser/compiler.rb +43 -46
  201. data/lib/puppet/parser/files.rb +15 -20
  202. data/lib/puppet/parser/functions.rb +8 -39
  203. data/lib/puppet/parser/functions/extlookup.rb +8 -8
  204. data/lib/puppet/parser/functions/file.rb +18 -18
  205. data/lib/puppet/parser/functions/fqdn_rand.rb +2 -2
  206. data/lib/puppet/parser/functions/generate.rb +3 -3
  207. data/lib/puppet/parser/functions/include.rb +6 -1
  208. data/lib/puppet/parser/functions/require.rb +16 -21
  209. data/lib/puppet/parser/functions/shellquote.rb +29 -21
  210. data/lib/puppet/parser/functions/versioncmp.rb +2 -5
  211. data/lib/puppet/parser/grammar.ra +44 -14
  212. data/lib/puppet/parser/lexer.rb +101 -169
  213. data/lib/puppet/parser/parser.rb +1103 -1014
  214. data/lib/puppet/parser/parser_support.rb +10 -61
  215. data/lib/puppet/parser/relationship.rb +1 -3
  216. data/lib/puppet/parser/resource.rb +21 -56
  217. data/lib/puppet/parser/scope.rb +138 -165
  218. data/lib/puppet/parser/templatewrapper.rb +25 -20
  219. data/lib/puppet/parser/type_loader.rb +33 -67
  220. data/lib/puppet/parser/yaml_trimmer.rb +1 -1
  221. data/lib/puppet/property.rb +5 -4
  222. data/lib/puppet/provider.rb +133 -28
  223. data/lib/puppet/provider/augeas/augeas.rb +66 -6
  224. data/lib/puppet/provider/command.rb +25 -0
  225. data/lib/puppet/provider/cron/crontab.rb +1 -1
  226. data/lib/puppet/provider/exec.rb +14 -9
  227. data/lib/puppet/provider/exec/posix.rb +1 -1
  228. data/lib/puppet/provider/exec/windows.rb +2 -3
  229. data/lib/puppet/provider/file/windows.rb +29 -10
  230. data/lib/puppet/provider/group/groupadd.rb +3 -2
  231. data/lib/puppet/provider/group/ldap.rb +1 -1
  232. data/lib/puppet/provider/group/windows_adsi.rb +1 -1
  233. data/lib/puppet/provider/host/parsed.rb +1 -1
  234. data/lib/puppet/provider/ldap.rb +1 -5
  235. data/lib/puppet/provider/mount/parsed.rb +3 -3
  236. data/lib/puppet/provider/nameservice.rb +22 -22
  237. data/lib/puppet/provider/nameservice/directoryservice.rb +58 -121
  238. data/lib/puppet/provider/package/apt.rb +8 -11
  239. data/lib/puppet/provider/package/blastwave.rb +3 -3
  240. data/lib/puppet/provider/package/dpkg.rb +1 -1
  241. data/lib/puppet/provider/package/freebsd.rb +2 -2
  242. data/lib/puppet/provider/package/gem.rb +1 -1
  243. data/lib/puppet/provider/package/macports.rb +11 -9
  244. data/lib/puppet/provider/package/msi.rb +37 -32
  245. data/lib/puppet/provider/package/openbsd.rb +1 -1
  246. data/lib/puppet/provider/package/pacman.rb +69 -6
  247. data/lib/puppet/provider/package/pkg.rb +126 -75
  248. data/lib/puppet/provider/package/pkgin.rb +60 -0
  249. data/lib/puppet/provider/package/pkgutil.rb +32 -20
  250. data/lib/puppet/provider/package/portage.rb +2 -2
  251. data/lib/puppet/provider/package/sun.rb +83 -116
  252. data/lib/puppet/provider/package/sunfreeware.rb +1 -1
  253. data/lib/puppet/provider/package/up2date.rb +2 -3
  254. data/lib/puppet/provider/package/windows.rb +130 -0
  255. data/lib/puppet/provider/package/windows/exe_package.rb +70 -0
  256. data/lib/puppet/provider/package/windows/msi_package.rb +62 -0
  257. data/lib/puppet/provider/package/windows/package.rb +79 -0
  258. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +2 -2
  259. data/lib/puppet/provider/service/base.rb +1 -0
  260. data/lib/puppet/provider/service/bsd.rb +7 -5
  261. data/lib/puppet/provider/service/daemontools.rb +1 -1
  262. data/lib/puppet/provider/service/debian.rb +1 -1
  263. data/lib/puppet/provider/service/freebsd.rb +9 -9
  264. data/lib/puppet/provider/service/launchd.rb +7 -11
  265. data/lib/puppet/provider/service/redhat.rb +2 -2
  266. data/lib/puppet/provider/service/runit.rb +9 -2
  267. data/lib/puppet/provider/service/smf.rb +14 -2
  268. data/lib/puppet/provider/service/systemd.rb +3 -3
  269. data/lib/puppet/provider/service/upstart.rb +6 -6
  270. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -0
  271. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  272. data/lib/puppet/provider/user/useradd.rb +3 -8
  273. data/lib/puppet/provider/user/windows_adsi.rb +1 -12
  274. data/lib/puppet/provider/zfs/{solaris.rb → zfs.rb} +16 -5
  275. data/lib/puppet/provider/zone/solaris.rb +10 -13
  276. data/lib/puppet/provider/zpool/{solaris.rb → zpool.rb} +11 -4
  277. data/lib/puppet/rails.rb +6 -4
  278. data/lib/puppet/rails/database/schema.rb +9 -4
  279. data/lib/puppet/rails/inventory_node.rb +13 -26
  280. data/lib/puppet/reference/configuration.rb +1 -2
  281. data/lib/puppet/reference/metaparameter.rb +1 -2
  282. data/lib/puppet/reports/http.rb +9 -10
  283. data/lib/puppet/reports/rrdgraph.rb +2 -2
  284. data/lib/puppet/reports/store.rb +1 -2
  285. data/lib/puppet/reports/tagmail.rb +6 -6
  286. data/lib/puppet/resource.rb +69 -64
  287. data/lib/puppet/resource/catalog.rb +11 -60
  288. data/lib/puppet/resource/status.rb +6 -32
  289. data/lib/puppet/resource/type.rb +94 -34
  290. data/lib/puppet/resource/type_collection.rb +17 -8
  291. data/lib/puppet/run.rb +4 -26
  292. data/lib/puppet/settings.rb +1315 -0
  293. data/lib/puppet/settings/base_setting.rb +163 -0
  294. data/lib/puppet/{util/settings → settings}/boolean_setting.rb +7 -3
  295. data/lib/puppet/settings/directory_setting.rb +7 -0
  296. data/lib/puppet/settings/errors.rb +11 -0
  297. data/lib/puppet/{util/settings → settings}/file_setting.rb +4 -20
  298. data/lib/puppet/settings/path_setting.rb +10 -0
  299. data/lib/puppet/settings/string_setting.rb +12 -0
  300. data/lib/puppet/simple_graph.rb +2 -5
  301. data/lib/puppet/ssl/base.rb +2 -2
  302. data/lib/puppet/ssl/certificate_authority.rb +4 -5
  303. data/lib/puppet/ssl/certificate_authority/interface.rb +5 -7
  304. data/lib/puppet/ssl/certificate_factory.rb +1 -2
  305. data/lib/puppet/ssl/certificate_request.rb +2 -2
  306. data/lib/puppet/ssl/certificate_revocation_list.rb +53 -30
  307. data/lib/puppet/ssl/configuration.rb +32 -0
  308. data/lib/puppet/ssl/host.rb +9 -37
  309. data/lib/puppet/status.rb +2 -6
  310. data/lib/puppet/test/test_helper.rb +58 -25
  311. data/lib/puppet/transaction.rb +6 -9
  312. data/lib/puppet/transaction/event.rb +13 -24
  313. data/lib/puppet/transaction/event_manager.rb +1 -1
  314. data/lib/puppet/transaction/report.rb +2 -41
  315. data/lib/puppet/transaction/resource_harness.rb +2 -3
  316. data/lib/puppet/type.rb +18 -191
  317. data/lib/puppet/type/augeas.rb +1 -1
  318. data/lib/puppet/type/cron.rb +1 -1
  319. data/lib/puppet/type/exec.rb +6 -4
  320. data/lib/puppet/type/file.rb +33 -44
  321. data/lib/puppet/type/file/content.rb +13 -9
  322. data/lib/puppet/type/file/ensure.rb +1 -1
  323. data/lib/puppet/type/file/mode.rb +1 -1
  324. data/lib/puppet/type/file/selcontext.rb +2 -6
  325. data/lib/puppet/type/file/source.rb +8 -4
  326. data/lib/puppet/type/filebucket.rb +3 -2
  327. data/lib/puppet/type/mount.rb +1 -11
  328. data/lib/puppet/type/package.rb +40 -23
  329. data/lib/puppet/type/schedule.rb +127 -21
  330. data/lib/puppet/type/scheduled_task.rb +1 -1
  331. data/lib/puppet/type/service.rb +2 -3
  332. data/lib/puppet/type/tidy.rb +8 -17
  333. data/lib/puppet/type/yumrepo.rb +35 -7
  334. data/lib/puppet/type/zfs.rb +4 -0
  335. data/lib/puppet/type/zone.rb +48 -38
  336. data/lib/puppet/util.rb +178 -249
  337. data/lib/puppet/util/adsi.rb +23 -25
  338. data/lib/puppet/util/autoload.rb +184 -114
  339. data/lib/puppet/util/backups.rb +3 -2
  340. data/lib/puppet/util/colors.rb +0 -1
  341. data/lib/puppet/util/command_line.rb +42 -104
  342. data/lib/puppet/util/command_line/puppet_option_parser.rb +89 -0
  343. data/lib/puppet/util/command_line/trollop.rb +824 -0
  344. data/lib/puppet/util/config_timeout.rb +24 -0
  345. data/lib/puppet/util/constant_inflector.rb +15 -7
  346. data/lib/puppet/util/diff.rb +2 -2
  347. data/lib/puppet/util/docs.rb +1 -2
  348. data/lib/puppet/util/errors.rb +3 -4
  349. data/lib/puppet/util/execution.rb +239 -14
  350. data/lib/puppet/util/execution_stub.rb +2 -2
  351. data/lib/puppet/util/feature.rb +2 -4
  352. data/lib/puppet/util/fileparsing.rb +1 -1
  353. data/lib/puppet/util/filetype.rb +12 -10
  354. data/lib/puppet/util/json_lockfile.rb +41 -0
  355. data/lib/puppet/util/ldap/connection.rb +4 -7
  356. data/lib/puppet/util/lockfile.rb +62 -0
  357. data/lib/puppet/util/log.rb +16 -20
  358. data/lib/puppet/util/log/destinations.rb +12 -27
  359. data/lib/puppet/util/logging.rb +95 -3
  360. data/lib/puppet/util/metric.rb +0 -6
  361. data/lib/puppet/util/monkey_patches.rb +101 -82
  362. data/lib/puppet/util/monkey_patches/lines.rb +13 -0
  363. data/lib/puppet/util/network_device/cisco/device.rb +2 -2
  364. data/lib/puppet/util/network_device/config.rb +1 -0
  365. data/lib/puppet/util/network_device/transport.rb +2 -0
  366. data/lib/puppet/util/pidlock.rb +13 -77
  367. data/lib/puppet/util/platform.rb +0 -7
  368. data/lib/puppet/util/posix.rb +10 -0
  369. data/lib/puppet/util/rdoc.rb +12 -8
  370. data/lib/puppet/util/reference.rb +3 -3
  371. data/lib/puppet/util/rubygems.rb +55 -0
  372. data/lib/puppet/util/run_mode.rb +7 -16
  373. data/lib/puppet/util/selinux.rb +36 -31
  374. data/lib/puppet/util/storage.rb +14 -19
  375. data/lib/puppet/util/suidmanager.rb +27 -2
  376. data/lib/puppet/util/windows.rb +9 -6
  377. data/lib/puppet/util/windows/error.rb +1 -1
  378. data/lib/puppet/util/windows/process.rb +3 -3
  379. data/lib/puppet/util/windows/registry.rb +36 -0
  380. data/lib/puppet/util/windows/security.rb +46 -9
  381. data/lib/puppet/util/windows/user.rb +2 -65
  382. data/lib/puppet/util/zaml.rb +47 -91
  383. data/lib/puppet/version.rb +1 -1
  384. data/man/man5/puppet.conf.5 +97 -69
  385. data/man/man8/puppet-agent.8 +5 -6
  386. data/man/man8/puppet-apply.8 +7 -3
  387. data/man/man8/puppet-ca.8 +5 -17
  388. data/man/man8/puppet-catalog.8 +1 -1
  389. data/man/man8/puppet-cert.8 +1 -1
  390. data/man/man8/puppet-certificate.8 +3 -9
  391. data/man/man8/puppet-certificate_request.8 +1 -1
  392. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  393. data/man/man8/puppet-config.8 +1 -1
  394. data/man/man8/puppet-describe.8 +1 -1
  395. data/man/man8/puppet-device.8 +1 -1
  396. data/man/man8/puppet-doc.8 +7 -1
  397. data/man/man8/puppet-facts.8 +1 -1
  398. data/man/man8/puppet-file.8 +1 -1
  399. data/man/man8/puppet-filebucket.8 +1 -1
  400. data/man/man8/puppet-help.8 +2 -5
  401. data/man/man8/puppet-inspect.8 +1 -1
  402. data/man/man8/puppet-instrumentation_data.8 +1 -1
  403. data/man/man8/puppet-instrumentation_listener.8 +1 -1
  404. data/man/man8/puppet-instrumentation_probe.8 +1 -1
  405. data/man/man8/puppet-key.8 +1 -1
  406. data/man/man8/puppet-kick.8 +1 -1
  407. data/man/man8/puppet-man.8 +1 -1
  408. data/man/man8/puppet-master.8 +1 -1
  409. data/man/man8/puppet-module.8 +19 -50
  410. data/man/man8/puppet-node.8 +2 -5
  411. data/man/man8/puppet-parser.8 +7 -1
  412. data/man/man8/puppet-plugin.8 +1 -1
  413. data/man/man8/puppet-queue.8 +1 -1
  414. data/man/man8/puppet-report.8 +2 -3
  415. data/man/man8/puppet-resource.8 +1 -1
  416. data/man/man8/puppet-resource_type.8 +1 -1
  417. data/man/man8/puppet-secret_agent.8 +1 -1
  418. data/man/man8/puppet-status.8 +1 -1
  419. data/man/man8/puppet.8 +1 -1
  420. data/spec/fixtures/unit/indirector/hiera/global.yaml +10 -0
  421. data/{test/data/providers/cron/crontab_sample_records.yaml → spec/fixtures/unit/provider/cron/crontab/single_line.yaml} +0 -0
  422. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
  423. data/spec/fixtures/unit/provider/package/pkg/{dummy_solaris11 → dummy_solaris11.ifo.installed} +0 -0
  424. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -0
  425. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -0
  426. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -0
  427. data/spec/fixtures/unit/provider/package/pkg/publisher +2 -2
  428. data/spec/fixtures/unit/provider/package/pkg/simple +2 -4
  429. data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -12
  430. data/spec/fixtures/unit/provider/package/sun/dummy.server +12 -0
  431. data/spec/fixtures/unit/provider/package/sun/simple +24 -0
  432. data/spec/fixtures/unit/provider/service/smf/svcs.out +3 -0
  433. data/{test/data/types/sshkey/1 → spec/fixtures/unit/provider/sshkey/parsed/sample} +0 -0
  434. data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +2 -0
  435. data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +2 -0
  436. data/spec/integration/application/apply_spec.rb +1 -1
  437. data/spec/integration/application/doc_spec.rb +3 -2
  438. data/spec/integration/configurer_spec.rb +1 -1
  439. data/spec/integration/defaults_spec.rb +21 -51
  440. data/spec/{unit/face → integration/faces}/ca_spec.rb +89 -130
  441. data/spec/integration/faces/documentation_spec.rb +36 -29
  442. data/spec/integration/file_serving/content_spec.rb +1 -2
  443. data/spec/integration/file_serving/fileset_spec.rb +1 -1
  444. data/spec/integration/file_serving/metadata_spec.rb +1 -2
  445. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
  446. data/spec/integration/indirector/catalog/compiler_spec.rb +1 -2
  447. data/spec/integration/indirector/catalog/queue_spec.rb +3 -3
  448. data/spec/integration/indirector/direct_file_server_spec.rb +14 -10
  449. data/spec/integration/indirector/facts/facter_spec.rb +22 -0
  450. data/spec/integration/indirector/file_content/file_server_spec.rb +1 -1
  451. data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -1
  452. data/spec/integration/indirector/node/ldap_spec.rb +1 -1
  453. data/spec/integration/network/authconfig_spec.rb +238 -0
  454. data/spec/integration/network/formats_spec.rb +2 -4
  455. data/spec/integration/network/server/mongrel_spec.rb +2 -10
  456. data/spec/integration/network/server/webrick_spec.rb +1 -1
  457. data/spec/integration/node/environment_spec.rb +1 -1
  458. data/spec/integration/node/facts_spec.rb +2 -2
  459. data/spec/integration/node_spec.rb +2 -15
  460. data/spec/integration/parser/collector_spec.rb +2 -2
  461. data/spec/integration/parser/compiler_spec.rb +38 -10
  462. data/spec/integration/parser/functions/require_spec.rb +1 -1
  463. data/spec/integration/parser/functions_spec.rb +1 -1
  464. data/spec/integration/parser/parser_spec.rb +1 -1
  465. data/spec/integration/parser/ruby_manifest_spec.rb +1 -1
  466. data/spec/integration/parser/scope_spec.rb +608 -0
  467. data/spec/integration/provider/mailalias/aliases_spec.rb +1 -1
  468. data/spec/integration/provider/mount_spec.rb +1 -0
  469. data/spec/integration/provider/package_spec.rb +3 -3
  470. data/spec/integration/provider/service/init_spec.rb +2 -2
  471. data/spec/integration/provider/ssh_authorized_key_spec.rb +1 -1
  472. data/spec/integration/reference/providers_spec.rb +1 -1
  473. data/spec/integration/reports_spec.rb +1 -1
  474. data/spec/integration/resource/catalog_spec.rb +1 -2
  475. data/spec/integration/resource/type_collection_spec.rb +1 -1
  476. data/spec/integration/ssl/certificate_authority_spec.rb +1 -1
  477. data/spec/integration/ssl/certificate_request_spec.rb +1 -1
  478. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
  479. data/spec/integration/ssl/host_spec.rb +1 -1
  480. data/spec/integration/transaction/report_spec.rb +1 -1
  481. data/spec/integration/transaction_spec.rb +2 -2
  482. data/spec/integration/type/exec_spec.rb +1 -1
  483. data/spec/integration/type/file_spec.rb +140 -158
  484. data/spec/integration/type/package_spec.rb +6 -2
  485. data/spec/integration/type/tidy_spec.rb +1 -1
  486. data/spec/integration/type_spec.rb +1 -1
  487. data/spec/integration/util/autoload_spec.rb +8 -14
  488. data/spec/integration/util/feature_spec.rb +1 -1
  489. data/spec/integration/util/rdoc/parser_spec.rb +11 -9
  490. data/spec/integration/util/settings_spec.rb +19 -6
  491. data/spec/integration/util/windows/security_spec.rb +23 -3
  492. data/spec/integration/util_spec.rb +3 -3
  493. data/spec/lib/puppet/indirector/indirector_testing/json.rb +6 -0
  494. data/spec/lib/puppet/indirector_testing.rb +27 -0
  495. data/spec/lib/puppet_spec/compiler.rb +2 -2
  496. data/spec/lib/puppet_spec/database.rb +1 -1
  497. data/spec/lib/puppet_spec/files.rb +4 -4
  498. data/spec/lib/puppet_spec/matchers.rb +26 -24
  499. data/spec/lib/puppet_spec/modules.rb +1 -1
  500. data/spec/lib/puppet_spec/settings.rb +16 -0
  501. data/spec/shared_behaviours/file_server_terminus.rb +2 -2
  502. data/spec/shared_behaviours/file_serving.rb +10 -15
  503. data/spec/shared_behaviours/file_serving_model.rb +2 -6
  504. data/spec/shared_contexts/platform.rb +0 -8
  505. data/spec/spec_helper.rb +14 -15
  506. data/spec/unit/agent/disabler_spec.rb +64 -0
  507. data/spec/unit/agent/locker_spec.rb +31 -36
  508. data/spec/unit/agent_spec.rb +79 -26
  509. data/spec/unit/application/agent_spec.rb +66 -39
  510. data/spec/unit/application/apply_spec.rb +46 -36
  511. data/spec/unit/application/cert_spec.rb +1 -5
  512. data/spec/unit/application/certificate_spec.rb +1 -1
  513. data/spec/unit/application/config_spec.rb +1 -1
  514. data/spec/unit/application/describe_spec.rb +1 -5
  515. data/spec/unit/application/device_spec.rb +22 -12
  516. data/spec/unit/application/doc_spec.rb +37 -69
  517. data/spec/unit/application/face_base_spec.rb +10 -6
  518. data/spec/unit/application/facts_spec.rb +3 -3
  519. data/spec/unit/application/filebucket_spec.rb +7 -18
  520. data/spec/unit/application/indirection_base_spec.rb +11 -5
  521. data/spec/unit/application/inspect_spec.rb +3 -2
  522. data/spec/unit/application/kick_spec.rb +6 -22
  523. data/spec/unit/application/master_spec.rb +15 -39
  524. data/spec/unit/application/queue_spec.rb +2 -6
  525. data/spec/unit/application/resource_spec.rb +15 -12
  526. data/spec/unit/application/secret_agent_spec.rb +1 -1
  527. data/spec/unit/application_spec.rb +110 -123
  528. data/spec/unit/configurer/downloader_spec.rb +5 -5
  529. data/spec/unit/configurer/fact_handler_spec.rb +1 -40
  530. data/spec/unit/configurer/plugin_handler_spec.rb +11 -96
  531. data/spec/unit/configurer_spec.rb +61 -59
  532. data/spec/unit/daemon_spec.rb +26 -19
  533. data/spec/unit/data_binding_spec.rb +11 -0
  534. data/spec/unit/dsl/resource_api_spec.rb +2 -2
  535. data/spec/unit/dsl/resource_type_api_spec.rb +1 -1
  536. data/spec/unit/face/catalog_spec.rb +1 -1
  537. data/spec/unit/face/certificate_request_spec.rb +1 -1
  538. data/spec/unit/face/certificate_revocation_list_spec.rb +1 -1
  539. data/spec/unit/face/certificate_spec.rb +18 -1
  540. data/spec/unit/face/config_spec.rb +8 -1
  541. data/spec/unit/face/facts_spec.rb +1 -1
  542. data/spec/unit/face/file_spec.rb +1 -1
  543. data/spec/unit/face/help_spec.rb +39 -22
  544. data/spec/unit/face/instrumentation_data_spec.rb +1 -1
  545. data/spec/unit/face/instrumentation_listener_spec.rb +1 -1
  546. data/spec/unit/face/instrumentation_probe_spec.rb +1 -1
  547. data/spec/unit/face/key_spec.rb +1 -1
  548. data/spec/unit/face/module/build_spec.rb +68 -0
  549. data/spec/unit/face/module/install_spec.rb +46 -31
  550. data/spec/unit/face/module/list_spec.rb +18 -21
  551. data/spec/unit/face/module/search_spec.rb +87 -49
  552. data/spec/unit/face/module/uninstall_spec.rb +4 -4
  553. data/spec/unit/face/node_spec.rb +3 -3
  554. data/spec/unit/face/plugin_spec.rb +1 -1
  555. data/spec/unit/face/report_spec.rb +1 -1
  556. data/spec/unit/face/resource_spec.rb +1 -1
  557. data/spec/unit/face/resource_type_spec.rb +1 -1
  558. data/spec/unit/face/secret_agent_spec.rb +1 -1
  559. data/spec/unit/file_bucket/dipper_spec.rb +1 -1
  560. data/spec/unit/file_bucket/file_spec.rb +1 -1
  561. data/spec/unit/file_serving/base_spec.rb +1 -1
  562. data/spec/unit/file_serving/configuration/parser_spec.rb +1 -1
  563. data/spec/unit/file_serving/configuration_spec.rb +7 -21
  564. data/spec/unit/file_serving/content_spec.rb +1 -1
  565. data/spec/unit/file_serving/fileset_spec.rb +13 -13
  566. data/spec/unit/file_serving/metadata_spec.rb +29 -47
  567. data/spec/unit/file_serving/mount/file_spec.rb +1 -1
  568. data/spec/unit/file_serving/mount/modules_spec.rb +1 -1
  569. data/spec/unit/file_serving/mount/plugins_spec.rb +17 -4
  570. data/spec/unit/file_serving/mount_spec.rb +1 -1
  571. data/spec/unit/file_serving/terminus_helper_spec.rb +1 -1
  572. data/spec/unit/file_serving/terminus_selector_spec.rb +5 -5
  573. data/spec/unit/forge/errors_spec.rb +42 -0
  574. data/spec/unit/forge/repository_spec.rb +108 -31
  575. data/spec/unit/forge_spec.rb +17 -23
  576. data/spec/unit/indirector/active_record_spec.rb +1 -1
  577. data/spec/unit/indirector/catalog/active_record_spec.rb +11 -49
  578. data/spec/unit/indirector/catalog/compiler_spec.rb +18 -45
  579. data/spec/unit/indirector/catalog/json_spec.rb +12 -0
  580. data/spec/unit/indirector/catalog/queue_spec.rb +1 -1
  581. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  582. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -1
  583. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -1
  584. data/spec/unit/indirector/certificate/ca_spec.rb +5 -6
  585. data/spec/unit/indirector/certificate/file_spec.rb +5 -6
  586. data/spec/unit/indirector/certificate/rest_spec.rb +6 -2
  587. data/spec/unit/indirector/certificate_request/ca_spec.rb +3 -3
  588. data/spec/unit/indirector/certificate_request/file_spec.rb +3 -3
  589. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -1
  590. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +3 -4
  591. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +4 -3
  592. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +1 -1
  593. data/spec/unit/indirector/certificate_status/file_spec.rb +41 -31
  594. data/spec/unit/indirector/certificate_status/rest_spec.rb +1 -1
  595. data/spec/unit/indirector/code_spec.rb +1 -1
  596. data/spec/unit/indirector/data_binding/hiera_spec.rb +21 -0
  597. data/spec/unit/indirector/data_binding/none_spec.rb +28 -0
  598. data/spec/unit/indirector/direct_file_server_spec.rb +2 -2
  599. data/spec/unit/indirector/envelope_spec.rb +1 -1
  600. data/spec/unit/indirector/exec_spec.rb +1 -1
  601. data/spec/unit/indirector/face_spec.rb +1 -1
  602. data/spec/unit/indirector/facts/active_record_spec.rb +1 -1
  603. data/spec/unit/indirector/facts/couch_spec.rb +3 -3
  604. data/spec/unit/indirector/facts/facter_spec.rb +13 -20
  605. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +2 -2
  606. data/spec/unit/indirector/facts/inventory_service_spec.rb +2 -3
  607. data/spec/unit/indirector/facts/network_device_spec.rb +2 -9
  608. data/spec/unit/indirector/facts/rest_spec.rb +1 -1
  609. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -1
  610. data/spec/unit/indirector/facts/yaml_spec.rb +2 -2
  611. data/spec/unit/indirector/file_bucket_file/file_spec.rb +2 -2
  612. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
  613. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -1
  614. data/spec/unit/indirector/file_content/file_spec.rb +1 -1
  615. data/spec/unit/indirector/file_content/rest_spec.rb +7 -3
  616. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -1
  617. data/spec/unit/indirector/file_metadata/file_spec.rb +3 -3
  618. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
  619. data/spec/unit/indirector/file_server_spec.rb +1 -1
  620. data/spec/unit/indirector/hiera_spec.rb +149 -0
  621. data/spec/unit/indirector/indirection_spec.rb +10 -29
  622. data/spec/unit/indirector/instrumentation_data/local_spec.rb +1 -1
  623. data/spec/unit/indirector/instrumentation_data/rest_spec.rb +1 -1
  624. data/spec/unit/indirector/instrumentation_listener/local_spec.rb +1 -1
  625. data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +1 -1
  626. data/spec/unit/indirector/instrumentation_probe/local_spec.rb +1 -1
  627. data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +1 -1
  628. data/spec/unit/indirector/json_spec.rb +193 -0
  629. data/spec/unit/indirector/key/ca_spec.rb +5 -6
  630. data/spec/unit/indirector/key/file_spec.rb +10 -12
  631. data/spec/unit/indirector/ldap_spec.rb +3 -3
  632. data/spec/unit/indirector/memory_spec.rb +1 -1
  633. data/spec/unit/indirector/node/active_record_spec.rb +11 -7
  634. data/spec/unit/indirector/node/exec_spec.rb +12 -5
  635. data/spec/unit/indirector/node/ldap_spec.rb +173 -194
  636. data/spec/unit/indirector/node/memory_spec.rb +1 -1
  637. data/spec/unit/indirector/node/plain_spec.rb +16 -8
  638. data/spec/unit/indirector/node/rest_spec.rb +1 -1
  639. data/spec/unit/indirector/node/store_configs_spec.rb +1 -1
  640. data/spec/unit/indirector/node/yaml_spec.rb +1 -1
  641. data/spec/unit/indirector/none_spec.rb +33 -0
  642. data/spec/unit/indirector/plain_spec.rb +1 -1
  643. data/spec/unit/indirector/queue_spec.rb +1 -1
  644. data/spec/unit/indirector/report/processor_spec.rb +4 -4
  645. data/spec/unit/indirector/report/rest_spec.rb +3 -46
  646. data/spec/unit/indirector/report/yaml_spec.rb +3 -12
  647. data/spec/unit/indirector/request_spec.rb +238 -61
  648. data/spec/unit/indirector/resource/active_record_spec.rb +2 -2
  649. data/spec/unit/indirector/resource/ral_spec.rb +2 -2
  650. data/spec/unit/indirector/resource/rest_spec.rb +1 -1
  651. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -1
  652. data/spec/unit/indirector/resource_type/parser_spec.rb +153 -53
  653. data/spec/unit/indirector/resource_type/rest_spec.rb +1 -1
  654. data/spec/unit/indirector/rest_spec.rb +350 -361
  655. data/spec/unit/indirector/run/local_spec.rb +2 -2
  656. data/spec/unit/indirector/run/rest_spec.rb +1 -1
  657. data/spec/unit/indirector/ssl_file_spec.rb +12 -10
  658. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  659. data/spec/unit/indirector/store_configs_spec.rb +1 -1
  660. data/spec/unit/indirector/terminus_spec.rb +1 -46
  661. data/spec/unit/indirector/yaml_spec.rb +36 -36
  662. data/spec/unit/indirector_spec.rb +1 -1
  663. data/spec/unit/interface/action_builder_spec.rb +1 -1
  664. data/spec/unit/interface/action_manager_spec.rb +1 -1
  665. data/spec/unit/interface/action_spec.rb +1 -1
  666. data/spec/unit/interface/documentation_spec.rb +3 -2
  667. data/spec/unit/interface/face_collection_spec.rb +19 -9
  668. data/spec/unit/interface/option_builder_spec.rb +9 -1
  669. data/spec/unit/interface/option_spec.rb +8 -0
  670. data/spec/unit/interface_spec.rb +49 -11
  671. data/spec/unit/module_spec.rb +95 -303
  672. data/spec/unit/module_tool/application_spec.rb +6 -6
  673. data/spec/unit/module_tool/applications/installer_spec.rb +131 -69
  674. data/spec/unit/module_tool/applications/searcher_spec.rb +37 -0
  675. data/spec/unit/module_tool/applications/uninstaller_spec.rb +27 -19
  676. data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -10
  677. data/spec/unit/module_tool/applications/upgrader_spec.rb +1 -4
  678. data/spec/unit/module_tool/install_directory_spec.rb +70 -0
  679. data/spec/unit/module_tool_spec.rb +132 -1
  680. data/spec/unit/network/auth_config_parser_spec.rb +101 -0
  681. data/spec/unit/network/authconfig_spec.rb +54 -272
  682. data/spec/unit/network/authorization_spec.rb +20 -0
  683. data/spec/unit/network/authstore_spec.rb +17 -15
  684. data/spec/unit/network/format_handler_spec.rb +3 -3
  685. data/spec/unit/network/format_spec.rb +1 -1
  686. data/spec/unit/network/formats_spec.rb +28 -37
  687. data/spec/unit/network/http/api/v1_spec.rb +3 -3
  688. data/spec/unit/network/http/compression_spec.rb +3 -3
  689. data/spec/unit/network/http/connection_spec.rb +244 -0
  690. data/spec/unit/network/http/handler_spec.rb +4 -20
  691. data/spec/unit/network/http/mongrel/rest_spec.rb +12 -31
  692. data/spec/unit/network/http/mongrel_spec.rb +7 -37
  693. data/spec/unit/network/http/rack/rest_spec.rb +10 -44
  694. data/spec/unit/network/http/rack_spec.rb +2 -59
  695. data/spec/unit/network/http/webrick/rest_spec.rb +14 -4
  696. data/spec/unit/network/http/webrick_spec.rb +129 -193
  697. data/spec/unit/network/http_pool_spec.rb +6 -115
  698. data/spec/unit/network/http_spec.rb +1 -1
  699. data/spec/unit/network/resolver_spec.rb +207 -0
  700. data/spec/unit/network/rights_spec.rb +15 -115
  701. data/spec/unit/network/server_spec.rb +58 -166
  702. data/spec/unit/node/environment_spec.rb +7 -7
  703. data/spec/unit/node/facts_spec.rb +15 -30
  704. data/spec/unit/node_spec.rb +14 -26
  705. data/spec/unit/other/selinux_spec.rb +1 -1
  706. data/spec/unit/parameter/package_options_spec.rb +44 -0
  707. data/spec/unit/parameter/path_spec.rb +1 -1
  708. data/spec/unit/parameter/value_collection_spec.rb +1 -1
  709. data/spec/unit/parameter/value_spec.rb +1 -1
  710. data/spec/unit/parameter_spec.rb +1 -1
  711. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +4 -2
  712. data/spec/unit/parser/ast/astarray_spec.rb +4 -2
  713. data/spec/unit/parser/ast/asthash_spec.rb +4 -2
  714. data/spec/unit/parser/ast/boolean_operator_spec.rb +4 -2
  715. data/spec/unit/parser/ast/casestatement_spec.rb +9 -5
  716. data/spec/unit/parser/ast/collection_spec.rb +2 -2
  717. data/spec/unit/parser/ast/collexpr_spec.rb +4 -2
  718. data/spec/unit/parser/ast/comparison_operator_spec.rb +5 -2
  719. data/spec/unit/parser/ast/definition_spec.rb +1 -1
  720. data/spec/unit/parser/ast/function_spec.rb +3 -3
  721. data/spec/unit/parser/ast/hostclass_spec.rb +1 -1
  722. data/spec/unit/parser/ast/ifstatement_spec.rb +4 -2
  723. data/spec/unit/parser/ast/in_operator_spec.rb +4 -2
  724. data/spec/unit/parser/ast/leaf_spec.rb +66 -39
  725. data/spec/unit/parser/ast/match_operator_spec.rb +4 -2
  726. data/spec/unit/parser/ast/minus_spec.rb +4 -2
  727. data/spec/unit/parser/ast/node_spec.rb +1 -1
  728. data/spec/unit/parser/ast/nop_spec.rb +1 -1
  729. data/spec/unit/parser/ast/not_spec.rb +4 -2
  730. data/spec/unit/parser/ast/relationship_spec.rb +2 -2
  731. data/spec/unit/parser/ast/resource_defaults_spec.rb +2 -2
  732. data/spec/unit/parser/ast/resource_override_spec.rb +2 -2
  733. data/spec/unit/parser/ast/resource_reference_spec.rb +5 -3
  734. data/spec/unit/parser/ast/resource_spec.rb +5 -32
  735. data/spec/unit/parser/ast/selector_spec.rb +56 -106
  736. data/spec/unit/parser/ast/vardef_spec.rb +4 -2
  737. data/spec/unit/parser/ast_spec.rb +22 -51
  738. data/spec/unit/parser/collector_spec.rb +2 -2
  739. data/spec/unit/parser/compiler_spec.rb +89 -42
  740. data/spec/unit/parser/files_spec.rb +81 -10
  741. data/spec/unit/parser/functions/create_resources_spec.rb +5 -4
  742. data/spec/unit/parser/functions/defined_spec.rb +2 -2
  743. data/spec/unit/parser/functions/extlookup_spec.rb +9 -8
  744. data/spec/unit/parser/functions/fail_spec.rb +28 -0
  745. data/spec/unit/parser/functions/file_spec.rb +55 -0
  746. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -12
  747. data/spec/unit/parser/functions/generate_spec.rb +54 -3
  748. data/spec/unit/parser/functions/include_spec.rb +19 -2
  749. data/spec/unit/parser/functions/inline_template_spec.rb +9 -20
  750. data/spec/unit/parser/functions/realize_spec.rb +4 -4
  751. data/spec/unit/parser/functions/regsubst_spec.rb +4 -2
  752. data/spec/unit/parser/functions/require_spec.rb +5 -14
  753. data/spec/unit/parser/functions/search_spec.rb +23 -0
  754. data/spec/unit/parser/functions/shellquote_spec.rb +31 -38
  755. data/spec/unit/parser/functions/split_spec.rb +4 -2
  756. data/spec/unit/parser/functions/sprintf_spec.rb +4 -2
  757. data/spec/unit/parser/functions/tag_spec.rb +4 -3
  758. data/spec/unit/parser/functions/template_spec.rb +45 -27
  759. data/spec/unit/parser/functions/versioncmp_spec.rb +4 -2
  760. data/spec/unit/parser/functions_spec.rb +14 -22
  761. data/spec/unit/parser/lexer_spec.rb +10 -134
  762. data/spec/unit/parser/parser_spec.rb +126 -35
  763. data/spec/unit/parser/relationship_spec.rb +1 -25
  764. data/spec/unit/parser/resource_spec.rb +15 -79
  765. data/spec/unit/parser/scope_spec.rb +175 -602
  766. data/spec/unit/parser/templatewrapper_spec.rb +8 -25
  767. data/spec/unit/parser/type_loader_spec.rb +37 -21
  768. data/spec/unit/property/ensure_spec.rb +1 -1
  769. data/spec/unit/property/keyvalue_spec.rb +1 -1
  770. data/spec/unit/property/list_spec.rb +1 -1
  771. data/spec/unit/property/ordered_list_spec.rb +1 -1
  772. data/spec/unit/property_spec.rb +1 -1
  773. data/spec/unit/{puppet/provider → provider}/README.markdown +0 -0
  774. data/spec/unit/provider/augeas/augeas_spec.rb +88 -1
  775. data/spec/unit/provider/cisco_spec.rb +1 -1
  776. data/spec/unit/provider/command_spec.rb +62 -0
  777. data/spec/unit/provider/confine/exists_spec.rb +8 -1
  778. data/spec/unit/provider/confine/false_spec.rb +1 -1
  779. data/spec/unit/provider/confine/feature_spec.rb +1 -1
  780. data/spec/unit/provider/confine/true_spec.rb +1 -1
  781. data/spec/unit/provider/confine/variable_spec.rb +1 -1
  782. data/spec/unit/provider/confine_collection_spec.rb +1 -1
  783. data/spec/unit/provider/confine_spec.rb +1 -1
  784. data/spec/unit/provider/confiner_spec.rb +1 -1
  785. data/spec/unit/provider/cron/crontab_spec.rb +116 -0
  786. data/spec/unit/provider/exec/posix_spec.rb +99 -12
  787. data/spec/unit/provider/exec/shell_spec.rb +1 -1
  788. data/spec/unit/provider/exec/windows_spec.rb +1 -1
  789. data/spec/unit/provider/exec_spec.rb +1 -1
  790. data/spec/unit/provider/file/posix_spec.rb +1 -1
  791. data/spec/unit/provider/file/windows_spec.rb +30 -30
  792. data/spec/unit/provider/group/groupadd_spec.rb +31 -37
  793. data/spec/unit/provider/group/ldap_spec.rb +1 -1
  794. data/spec/unit/provider/group/pw_spec.rb +1 -1
  795. data/spec/unit/provider/group/windows_adsi_spec.rb +2 -2
  796. data/spec/unit/provider/host/parsed_spec.rb +1 -1
  797. data/spec/unit/provider/interface/cisco_spec.rb +1 -1
  798. data/spec/unit/provider/ldap_spec.rb +1 -1
  799. data/spec/unit/provider/macauthorization_spec.rb +1 -1
  800. data/spec/unit/provider/mcx/mcxcontent_spec.rb +1 -1
  801. data/spec/unit/provider/mount/parsed_spec.rb +18 -12
  802. data/spec/unit/provider/mount_spec.rb +1 -1
  803. data/spec/unit/provider/naginator_spec.rb +1 -1
  804. data/spec/unit/provider/nameservice/directoryservice_spec.rb +9 -29
  805. data/spec/unit/provider/network_device_spec.rb +1 -1
  806. data/spec/unit/provider/package/aix_spec.rb +1 -1
  807. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  808. data/spec/unit/provider/package/apt_spec.rb +1 -1
  809. data/spec/unit/provider/package/aptitude_spec.rb +38 -0
  810. data/spec/unit/provider/package/aptrpm_spec.rb +39 -0
  811. data/spec/unit/provider/package/dpkg_spec.rb +4 -4
  812. data/spec/unit/provider/package/freebsd_spec.rb +3 -3
  813. data/spec/unit/provider/package/gem_spec.rb +1 -1
  814. data/spec/unit/provider/package/hpux_spec.rb +1 -1
  815. data/spec/unit/provider/package/macports_spec.rb +27 -10
  816. data/spec/unit/provider/package/msi_spec.rb +29 -14
  817. data/spec/unit/provider/package/nim_spec.rb +1 -1
  818. data/spec/unit/provider/package/openbsd_spec.rb +3 -3
  819. data/spec/unit/provider/package/pacman_spec.rb +109 -81
  820. data/spec/unit/provider/package/pip_spec.rb +1 -1
  821. data/spec/unit/provider/package/pkg_spec.rb +205 -97
  822. data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
  823. data/spec/unit/provider/package/pkgin_spec.rb +176 -0
  824. data/spec/unit/provider/package/pkgutil_spec.rb +64 -10
  825. data/spec/unit/provider/package/rpm_spec.rb +58 -0
  826. data/spec/unit/provider/package/sun_spec.rb +122 -0
  827. data/spec/unit/provider/package/up2date_spec.rb +24 -0
  828. data/spec/unit/provider/package/windows/exe_package_spec.rb +99 -0
  829. data/spec/unit/provider/package/windows/msi_package_spec.rb +115 -0
  830. data/spec/unit/provider/package/windows/package_spec.rb +126 -0
  831. data/spec/unit/provider/package/windows_spec.rb +255 -0
  832. data/spec/unit/provider/package/yum_spec.rb +1 -1
  833. data/spec/unit/provider/package/zypper_spec.rb +1 -1
  834. data/spec/unit/provider/parsedfile_spec.rb +1 -1
  835. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +12 -15
  836. data/spec/unit/provider/selboolean_spec.rb +1 -1
  837. data/spec/unit/provider/selmodule-example.pp +0 -0
  838. data/spec/unit/provider/selmodule_spec.rb +1 -1
  839. data/spec/unit/provider/service/base_spec.rb +77 -0
  840. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  841. data/spec/unit/provider/service/debian_spec.rb +1 -1
  842. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  843. data/spec/unit/provider/service/gentoo_spec.rb +1 -1
  844. data/spec/unit/provider/service/init_spec.rb +1 -1
  845. data/spec/unit/provider/service/launchd_spec.rb +0 -17
  846. data/spec/unit/provider/service/redhat_spec.rb +12 -3
  847. data/spec/unit/provider/service/runit_spec.rb +2 -1
  848. data/spec/unit/provider/service/smf_spec.rb +16 -1
  849. data/spec/unit/provider/service/src_spec.rb +6 -6
  850. data/spec/unit/provider/service/systemd_spec.rb +18 -1
  851. data/spec/unit/provider/service/upstart_spec.rb +12 -7
  852. data/spec/unit/provider/service/windows_spec.rb +1 -1
  853. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +1 -1
  854. data/spec/unit/provider/sshkey/parsed_spec.rb +42 -12
  855. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  856. data/spec/unit/provider/user/ldap_spec.rb +9 -23
  857. data/spec/unit/provider/user/pw_spec.rb +1 -1
  858. data/spec/unit/provider/user/user_role_add_spec.rb +5 -2
  859. data/spec/unit/provider/user/useradd_spec.rb +118 -146
  860. data/spec/unit/provider/user/windows_adsi_spec.rb +2 -24
  861. data/spec/unit/provider/vlan/cisco_spec.rb +1 -1
  862. data/spec/unit/provider/zfs/zfs_spec.rb +106 -0
  863. data/spec/unit/provider/zone/solaris_spec.rb +56 -34
  864. data/spec/unit/provider/zpool/zpool_spec.rb +213 -0
  865. data/spec/unit/provider_spec.rb +621 -16
  866. data/spec/unit/puppet_spec.rb +21 -9
  867. data/spec/unit/rails/host_spec.rb +1 -1
  868. data/spec/unit/rails/param_value_spec.rb +1 -1
  869. data/spec/unit/rails/resource_spec.rb +1 -1
  870. data/spec/unit/rails_spec.rb +70 -70
  871. data/spec/unit/relationship_spec.rb +1 -1
  872. data/spec/unit/reports/http_spec.rb +48 -15
  873. data/spec/unit/reports/rrdgraph_spec.rb +1 -1
  874. data/spec/unit/reports/store_spec.rb +1 -1
  875. data/spec/unit/reports/tagmail_spec.rb +1 -1
  876. data/spec/unit/reports_spec.rb +1 -1
  877. data/spec/unit/resource/catalog_spec.rb +8 -175
  878. data/spec/unit/resource/status_spec.rb +2 -2
  879. data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
  880. data/spec/unit/resource/type_collection_spec.rb +72 -45
  881. data/spec/unit/resource/type_spec.rb +31 -33
  882. data/spec/unit/resource_spec.rb +163 -98
  883. data/spec/unit/run_spec.rb +7 -23
  884. data/spec/unit/settings/directory_setting_spec.rb +32 -0
  885. data/spec/unit/{util/settings → settings}/file_setting_spec.rb +14 -23
  886. data/spec/unit/settings/path_setting_spec.rb +30 -0
  887. data/spec/unit/settings/string_setting_spec.rb +75 -0
  888. data/spec/unit/settings_spec.rb +1583 -0
  889. data/spec/unit/simple_graph_spec.rb +19 -5
  890. data/spec/unit/ssl/base_spec.rb +2 -2
  891. data/spec/unit/ssl/certificate_authority/interface_spec.rb +7 -7
  892. data/spec/unit/ssl/certificate_authority_spec.rb +27 -53
  893. data/spec/unit/ssl/certificate_factory_spec.rb +1 -1
  894. data/spec/unit/ssl/certificate_request_spec.rb +2 -4
  895. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -3
  896. data/spec/unit/ssl/certificate_spec.rb +1 -1
  897. data/spec/unit/ssl/configuration_spec.rb +60 -0
  898. data/spec/unit/ssl/host_spec.rb +37 -89
  899. data/spec/unit/ssl/inventory_spec.rb +13 -20
  900. data/spec/unit/ssl/key_spec.rb +11 -9
  901. data/spec/unit/status_spec.rb +1 -7
  902. data/spec/unit/transaction/event_manager_spec.rb +1 -1
  903. data/spec/unit/transaction/event_spec.rb +6 -6
  904. data/spec/unit/transaction/report_spec.rb +1 -1
  905. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  906. data/spec/unit/transaction_spec.rb +8 -8
  907. data/spec/unit/{puppet/type → type}/README.markdown +0 -0
  908. data/spec/unit/type/augeas_spec.rb +2 -2
  909. data/spec/unit/type/component_spec.rb +1 -1
  910. data/spec/unit/type/computer_spec.rb +1 -1
  911. data/spec/unit/type/cron_spec.rb +1 -1
  912. data/spec/unit/type/exec_spec.rb +40 -12
  913. data/spec/unit/type/file/checksum_spec.rb +1 -1
  914. data/spec/unit/type/file/content_spec.rb +9 -6
  915. data/spec/unit/type/file/ctime_spec.rb +1 -1
  916. data/spec/unit/type/file/ensure_spec.rb +1 -1
  917. data/spec/unit/type/file/group_spec.rb +1 -1
  918. data/spec/unit/type/file/mode_spec.rb +1 -1
  919. data/spec/unit/type/file/mtime_spec.rb +1 -1
  920. data/spec/unit/type/file/owner_spec.rb +1 -1
  921. data/spec/unit/type/file/selinux_spec.rb +1 -1
  922. data/spec/unit/type/file/source_spec.rb +14 -13
  923. data/spec/unit/type/file/type_spec.rb +1 -1
  924. data/spec/unit/type/file_spec.rb +39 -87
  925. data/spec/unit/type/filebucket_spec.rb +1 -1
  926. data/spec/unit/type/group_spec.rb +5 -5
  927. data/spec/unit/type/host_spec.rb +1 -1
  928. data/spec/unit/type/interface_spec.rb +1 -1
  929. data/spec/unit/type/macauthorization_spec.rb +1 -1
  930. data/spec/unit/type/mailalias_spec.rb +21 -0
  931. data/spec/unit/type/maillist_spec.rb +1 -1
  932. data/spec/unit/type/mcx_spec.rb +1 -1
  933. data/spec/unit/type/mount_spec.rb +2 -2
  934. data/spec/unit/type/nagios_spec.rb +1 -1
  935. data/spec/unit/type/noop_metaparam_spec.rb +3 -3
  936. data/spec/unit/type/package_spec.rb +1 -1
  937. data/spec/unit/type/resources_spec.rb +2 -2
  938. data/spec/unit/type/schedule_spec.rb +297 -39
  939. data/spec/unit/type/scheduled_task_spec.rb +3 -3
  940. data/spec/unit/type/selboolean_spec.rb +1 -1
  941. data/spec/unit/type/selmodule_spec.rb +1 -1
  942. data/spec/unit/type/service_spec.rb +1 -1
  943. data/spec/unit/type/ssh_authorized_key_spec.rb +3 -3
  944. data/spec/unit/type/sshkey_spec.rb +1 -1
  945. data/spec/unit/type/stage_spec.rb +1 -1
  946. data/spec/unit/type/tidy_spec.rb +1 -1
  947. data/spec/unit/type/user_spec.rb +1 -1
  948. data/spec/unit/type/vlan_spec.rb +1 -1
  949. data/spec/unit/type/whit_spec.rb +1 -1
  950. data/spec/unit/type/yumrepo_spec.rb +243 -0
  951. data/spec/unit/type/zfs_spec.rb +8 -6
  952. data/spec/unit/type/zone_spec.rb +41 -36
  953. data/spec/unit/type/zpool_spec.rb +1 -1
  954. data/spec/unit/type_spec.rb +180 -31
  955. data/spec/unit/util/adsi_spec.rb +8 -23
  956. data/spec/unit/util/autoload_spec.rb +181 -45
  957. data/spec/unit/util/backups_spec.rb +1 -1
  958. data/spec/unit/util/cache_accumulator_spec.rb +1 -1
  959. data/spec/unit/util/cacher_spec.rb +1 -1
  960. data/spec/unit/util/checksums_spec.rb +1 -1
  961. data/spec/unit/util/command_line_spec.rb +114 -108
  962. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +129 -0
  963. data/spec/unit/util/config_timeout_spec.rb +57 -0
  964. data/spec/unit/util/constant_inflector_spec.rb +13 -23
  965. data/spec/unit/util/diff_spec.rb +5 -4
  966. data/spec/unit/util/errors_spec.rb +1 -1
  967. data/spec/unit/util/execution_spec.rb +532 -28
  968. data/spec/unit/util/execution_stub_spec.rb +4 -4
  969. data/spec/unit/util/feature_spec.rb +12 -13
  970. data/spec/unit/util/filetype_spec.rb +9 -9
  971. data/spec/unit/util/inline_docs_spec.rb +1 -1
  972. data/spec/unit/util/instrumentation/data_spec.rb +1 -1
  973. data/spec/unit/util/instrumentation/indirection_probe_spec.rb +1 -1
  974. data/spec/unit/util/instrumentation/instrumentable_spec.rb +1 -1
  975. data/spec/unit/util/instrumentation/listener_spec.rb +1 -1
  976. data/spec/unit/util/instrumentation_spec.rb +1 -1
  977. data/spec/unit/util/json_lockfile_spec.rb +29 -0
  978. data/spec/unit/util/ldap/connection_spec.rb +11 -15
  979. data/spec/unit/util/ldap/generator_spec.rb +1 -1
  980. data/spec/unit/util/ldap/manager_spec.rb +14 -23
  981. data/spec/unit/util/loadedfile_spec.rb +1 -1
  982. data/spec/unit/util/lockfile_spec.rb +76 -0
  983. data/spec/unit/util/log/destinations_spec.rb +11 -28
  984. data/spec/unit/util/log_spec.rb +6 -6
  985. data/spec/unit/util/logging_spec.rb +43 -11
  986. data/spec/unit/util/metric_spec.rb +4 -3
  987. data/spec/unit/util/monkey_patches/lines_spec.rb +83 -0
  988. data/spec/unit/util/monkey_patches_spec.rb +91 -28
  989. data/spec/unit/util/nagios_maker_spec.rb +1 -1
  990. data/spec/unit/util/network_device/cisco/device_spec.rb +3 -3
  991. data/spec/unit/util/network_device/cisco/facts_spec.rb +1 -1
  992. data/spec/unit/util/network_device/cisco/interface_spec.rb +1 -1
  993. data/spec/unit/util/network_device/config_spec.rb +1 -1
  994. data/spec/unit/util/network_device/ipcalc_spec.rb +1 -1
  995. data/spec/unit/util/network_device/transport/base_spec.rb +1 -1
  996. data/spec/unit/util/network_device/transport/ssh_spec.rb +2 -2
  997. data/spec/unit/util/network_device/transport/telnet_spec.rb +1 -1
  998. data/spec/unit/util/network_device_spec.rb +1 -1
  999. data/spec/unit/util/package_spec.rb +1 -1
  1000. data/spec/unit/util/pidlock_spec.rb +179 -0
  1001. data/spec/unit/util/posix_spec.rb +2 -2
  1002. data/spec/unit/util/pson_spec.rb +23 -9
  1003. data/spec/unit/util/queue/stomp_spec.rb +10 -13
  1004. data/spec/unit/util/queue_spec.rb +2 -2
  1005. data/spec/unit/util/rdoc/parser_spec.rb +11 -9
  1006. data/spec/unit/util/rdoc_spec.rb +9 -3
  1007. data/spec/unit/util/reference_serializer_spec.rb +1 -1
  1008. data/spec/unit/util/reference_spec.rb +1 -1
  1009. data/spec/unit/util/resource_template_spec.rb +1 -1
  1010. data/spec/unit/util/retryaction_spec.rb +1 -1
  1011. data/spec/unit/util/rubygems_spec.rb +66 -0
  1012. data/spec/unit/util/run_mode_spec.rb +4 -9
  1013. data/spec/unit/util/selinux_spec.rb +33 -25
  1014. data/spec/unit/util/storage_spec.rb +2 -18
  1015. data/spec/unit/util/suidmanager_spec.rb +11 -4
  1016. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -1
  1017. data/spec/unit/util/tagging_spec.rb +1 -1
  1018. data/spec/unit/util/terminal_spec.rb +1 -1
  1019. data/spec/unit/util/user_attr_spec.rb +1 -1
  1020. data/spec/unit/util/warnings_spec.rb +1 -1
  1021. data/spec/unit/util/windows/registry_spec.rb +86 -0
  1022. data/spec/unit/util/zaml_spec.rb +30 -146
  1023. data/spec/unit/util_spec.rb +148 -440
  1024. data/spec/watchr.rb +6 -2
  1025. data/tasks/rake/apple.rake +176 -0
  1026. data/tasks/rake/gem.rake +6 -5
  1027. data/tasks/rake/manpages.rake +8 -1
  1028. data/tasks/rake/metrics.rake +11 -3
  1029. data/tasks/rake/parser.rake +5 -0
  1030. data/{ext/osx → tasks/rake/templates}/prototype.plist.erb +0 -0
  1031. metadata +293 -580
  1032. data/bin/filebucket +0 -7
  1033. data/bin/pi +0 -5
  1034. data/bin/puppetca +0 -4
  1035. data/bin/puppetd +0 -4
  1036. data/bin/puppetdoc +0 -4
  1037. data/bin/puppetmasterd +0 -4
  1038. data/bin/puppetqd +0 -4
  1039. data/bin/puppetrun +0 -5
  1040. data/bin/ralsh +0 -4
  1041. data/ext/build_defaults.yaml +0 -19
  1042. data/ext/debian/README.Debian +0 -8
  1043. data/ext/debian/README.source +0 -2
  1044. data/ext/debian/TODO.Debian +0 -1
  1045. data/ext/debian/changelog.erb +0 -1104
  1046. data/ext/debian/compat +0 -1
  1047. data/ext/debian/control +0 -142
  1048. data/ext/debian/copyright +0 -361
  1049. data/ext/debian/docs +0 -1
  1050. data/ext/debian/fileserver.conf +0 -17
  1051. data/ext/debian/puppet-common.dirs +0 -8
  1052. data/ext/debian/puppet-common.install +0 -3
  1053. data/ext/debian/puppet-common.lintian-overrides +0 -7
  1054. data/ext/debian/puppet-common.manpages +0 -2
  1055. data/ext/debian/puppet-common.postinst +0 -35
  1056. data/ext/debian/puppet-common.postrm +0 -32
  1057. data/ext/debian/puppet-el.dirs +0 -1
  1058. data/ext/debian/puppet-el.emacsen-install +0 -25
  1059. data/ext/debian/puppet-el.emacsen-remove +0 -11
  1060. data/ext/debian/puppet-el.emacsen-startup +0 -9
  1061. data/ext/debian/puppet-el.install +0 -1
  1062. data/ext/debian/puppet-testsuite.install +0 -3
  1063. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  1064. data/ext/debian/puppet.NEWS +0 -86
  1065. data/ext/debian/puppet.conf +0 -14
  1066. data/ext/debian/puppet.default +0 -7
  1067. data/ext/debian/puppet.dirs +0 -1
  1068. data/ext/debian/puppet.init +0 -118
  1069. data/ext/debian/puppet.install +0 -4
  1070. data/ext/debian/puppet.lintian-overrides +0 -3
  1071. data/ext/debian/puppet.logrotate +0 -11
  1072. data/ext/debian/puppet.manpages +0 -36
  1073. data/ext/debian/puppet.postinst +0 -20
  1074. data/ext/debian/puppet.postrm +0 -20
  1075. data/ext/debian/puppet.preinst +0 -20
  1076. data/ext/debian/puppetmaster-common.install +0 -5
  1077. data/ext/debian/puppetmaster-common.manpages +0 -5
  1078. data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
  1079. data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
  1080. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  1081. data/ext/debian/puppetmaster-passenger.postinst +0 -66
  1082. data/ext/debian/puppetmaster-passenger.postrm +0 -33
  1083. data/ext/debian/puppetmaster.NEWS +0 -13
  1084. data/ext/debian/puppetmaster.README.debian +0 -16
  1085. data/ext/debian/puppetmaster.default +0 -38
  1086. data/ext/debian/puppetmaster.dirs +0 -1
  1087. data/ext/debian/puppetmaster.init +0 -158
  1088. data/ext/debian/puppetmaster.install +0 -1
  1089. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  1090. data/ext/debian/puppetmaster.manpages +0 -1
  1091. data/ext/debian/puppetmaster.postinst +0 -20
  1092. data/ext/debian/puppetmaster.postrm +0 -5
  1093. data/ext/debian/puppetmaster.preinst +0 -22
  1094. data/ext/debian/rules +0 -127
  1095. data/ext/debian/source/format +0 -1
  1096. data/ext/debian/source/options +0 -1
  1097. data/ext/debian/vim-puppet.README.Debian +0 -13
  1098. data/ext/debian/vim-puppet.dirs +0 -3
  1099. data/ext/debian/vim-puppet.yaml +0 -5
  1100. data/ext/debian/watch +0 -2
  1101. data/ext/osx/file_mapping.yaml +0 -38
  1102. data/ext/osx/preflight.erb +0 -37
  1103. data/ext/packaging/Gemfile +0 -8
  1104. data/ext/packaging/Gemfile.lock +0 -28
  1105. data/ext/packaging/LICENSE +0 -17
  1106. data/ext/packaging/README-Solaris.md +0 -117
  1107. data/ext/packaging/README.md +0 -1074
  1108. data/ext/packaging/lib/packaging.rb +0 -21
  1109. data/ext/packaging/lib/packaging/config.rb +0 -277
  1110. data/ext/packaging/lib/packaging/config/params.rb +0 -175
  1111. data/ext/packaging/lib/packaging/tar.rb +0 -186
  1112. data/ext/packaging/lib/packaging/util.rb +0 -44
  1113. data/ext/packaging/lib/packaging/util/date.rb +0 -15
  1114. data/ext/packaging/lib/packaging/util/file.rb +0 -60
  1115. data/ext/packaging/lib/packaging/util/jira.rb +0 -83
  1116. data/ext/packaging/lib/packaging/util/net.rb +0 -16
  1117. data/ext/packaging/lib/packaging/util/rake_utils.rb +0 -57
  1118. data/ext/packaging/lib/packaging/util/serialization.rb +0 -19
  1119. data/ext/packaging/lib/packaging/util/tool.rb +0 -30
  1120. data/ext/packaging/lib/packaging/util/version.rb +0 -300
  1121. data/ext/packaging/packaging.rake +0 -50
  1122. data/ext/packaging/spec/fixtures/config/ext/build_defaults.yaml +0 -2
  1123. data/ext/packaging/spec/fixtures/config/ext/project_data.yaml +0 -2
  1124. data/ext/packaging/spec/fixtures/config/params.yaml +0 -2
  1125. data/ext/packaging/spec/fixtures/util/pre_tasks.yaml +0 -4
  1126. data/ext/packaging/spec/lib/packaging/config_spec.rb +0 -330
  1127. data/ext/packaging/spec/lib/packaging/tar_spec.rb +0 -122
  1128. data/ext/packaging/spec/lib/packaging/util/file_spec.rb +0 -48
  1129. data/ext/packaging/spec/lib/packaging/util/jira_spec.rb +0 -50
  1130. data/ext/packaging/spec/lib/packaging/util/net_spec.rb +0 -23
  1131. data/ext/packaging/spec/lib/packaging/util/rake_utils_spec.rb +0 -70
  1132. data/ext/packaging/spec/lib/packaging/util/version_spec.rb +0 -67
  1133. data/ext/packaging/spec/lib/packaging_spec.rb +0 -19
  1134. data/ext/packaging/spec/spec_helper.rb +0 -22
  1135. data/ext/packaging/spec/tasks/00_utils_spec.rb +0 -248
  1136. data/ext/packaging/static_artifacts/PackageInfo.plist +0 -3
  1137. data/ext/packaging/tasks/00_utils.rake +0 -402
  1138. data/ext/packaging/tasks/30_metrics.rake +0 -33
  1139. data/ext/packaging/tasks/apple.rake +0 -267
  1140. data/ext/packaging/tasks/build.rake +0 -12
  1141. data/ext/packaging/tasks/clean.rake +0 -5
  1142. data/ext/packaging/tasks/deb.rake +0 -127
  1143. data/ext/packaging/tasks/deb_repos.rake +0 -128
  1144. data/ext/packaging/tasks/doc.rake +0 -20
  1145. data/ext/packaging/tasks/fetch.rake +0 -58
  1146. data/ext/packaging/tasks/gem.rake +0 -158
  1147. data/ext/packaging/tasks/ips.rake +0 -122
  1148. data/ext/packaging/tasks/jenkins.rake +0 -360
  1149. data/ext/packaging/tasks/jenkins_dynamic.rake +0 -123
  1150. data/ext/packaging/tasks/load_extras.rake +0 -21
  1151. data/ext/packaging/tasks/mock.rake +0 -290
  1152. data/ext/packaging/tasks/pe_deb.rake +0 -12
  1153. data/ext/packaging/tasks/pe_remote.rake +0 -41
  1154. data/ext/packaging/tasks/pe_rpm.rake +0 -13
  1155. data/ext/packaging/tasks/pe_ship.rake +0 -179
  1156. data/ext/packaging/tasks/pe_sign.rake +0 -47
  1157. data/ext/packaging/tasks/pe_tar.rake +0 -5
  1158. data/ext/packaging/tasks/release.rake +0 -91
  1159. data/ext/packaging/tasks/remote_build.rake +0 -158
  1160. data/ext/packaging/tasks/retrieve.rake +0 -45
  1161. data/ext/packaging/tasks/rpm.rake +0 -71
  1162. data/ext/packaging/tasks/rpm_repos.rake +0 -139
  1163. data/ext/packaging/tasks/ship.rake +0 -192
  1164. data/ext/packaging/tasks/sign.rake +0 -164
  1165. data/ext/packaging/tasks/tag.rake +0 -8
  1166. data/ext/packaging/tasks/tar.rake +0 -34
  1167. data/ext/packaging/tasks/tickets.rake +0 -449
  1168. data/ext/packaging/tasks/update.rake +0 -16
  1169. data/ext/packaging/tasks/vendor_gems.rake +0 -110
  1170. data/ext/packaging/tasks/version.rake +0 -33
  1171. data/ext/packaging/tasks/z_data_dump.rake +0 -65
  1172. data/ext/packaging/templates/README +0 -1
  1173. data/ext/packaging/templates/downstream.xml.erb +0 -45
  1174. data/ext/packaging/templates/packaging.xml.erb +0 -330
  1175. data/ext/packaging/templates/repo.xml.erb +0 -106
  1176. data/ext/project_data.yaml +0 -24
  1177. data/lib/puppet/file_system.rb +0 -3
  1178. data/lib/puppet/file_system/path_pattern.rb +0 -97
  1179. data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
  1180. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
  1181. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
  1182. data/lib/puppet/indirector/errors.rb +0 -5
  1183. data/lib/puppet/indirector/inventory/yaml.rb +0 -81
  1184. data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
  1185. data/lib/puppet/indirector/resource/validator.rb +0 -8
  1186. data/lib/puppet/network/handler.rb +0 -50
  1187. data/lib/puppet/network/handler/ca.rb +0 -61
  1188. data/lib/puppet/network/handler/filebucket.rb +0 -53
  1189. data/lib/puppet/network/handler/fileserver.rb +0 -732
  1190. data/lib/puppet/network/handler/master.rb +0 -87
  1191. data/lib/puppet/network/handler/report.rb +0 -82
  1192. data/lib/puppet/network/handler/runner.rb +0 -33
  1193. data/lib/puppet/network/handler/status.rb +0 -18
  1194. data/lib/puppet/network/http/rack/xmlrpc.rb +0 -65
  1195. data/lib/puppet/network/http_server.rb +0 -3
  1196. data/lib/puppet/network/http_server/mongrel.rb +0 -129
  1197. data/lib/puppet/network/rest_authconfig.rb +0 -102
  1198. data/lib/puppet/network/rest_authorization.rb +0 -23
  1199. data/lib/puppet/network/xmlrpc/processor.rb +0 -86
  1200. data/lib/puppet/network/xmlrpc/server.rb +0 -19
  1201. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -114
  1202. data/lib/puppet/node/inventory.rb +0 -7
  1203. data/lib/puppet/reference/network.rb +0 -39
  1204. data/lib/puppet/transportable.rb +0 -248
  1205. data/lib/puppet/util/autoload/file_cache.rb +0 -92
  1206. data/lib/puppet/util/file_locking.rb +0 -47
  1207. data/lib/puppet/util/settings.rb +0 -926
  1208. data/lib/puppet/util/settings/setting.rb +0 -94
  1209. data/lib/puppet/util/windows/sid.rb +0 -96
  1210. data/lib/puppet/vendor.rb +0 -55
  1211. data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
  1212. data/lib/puppet/vendor/require_vendored.rb +0 -4
  1213. data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
  1214. data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
  1215. data/lib/puppet/vendor/safe_yaml/LICENSE.txt +0 -22
  1216. data/lib/puppet/vendor/safe_yaml/README.md +0 -179
  1217. data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
  1218. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
  1219. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
  1220. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
  1221. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  1222. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  1223. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
  1224. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
  1225. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
  1226. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
  1227. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
  1228. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  1229. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
  1230. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
  1231. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
  1232. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
  1233. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
  1234. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
  1235. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
  1236. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
  1237. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
  1238. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
  1239. data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
  1240. data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
  1241. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
  1242. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
  1243. data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
  1244. data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
  1245. data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
  1246. data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
  1247. data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
  1248. data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
  1249. data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
  1250. data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
  1251. data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
  1252. data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
  1253. data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
  1254. data/man/man8/filebucket.8 +0 -81
  1255. data/man/man8/pi.8 +0 -51
  1256. data/man/man8/puppetca.8 +0 -97
  1257. data/man/man8/puppetd.8 +0 -154
  1258. data/man/man8/puppetdoc.8 +0 -113
  1259. data/man/man8/puppetmasterd.8 +0 -78
  1260. data/man/man8/puppetqd.8 +0 -55
  1261. data/man/man8/puppetrun.8 +0 -127
  1262. data/man/man8/ralsh.8 +0 -84
  1263. data/spec/integration/network/handler_spec.rb +0 -24
  1264. data/spec/integration/network/rest_authconfig_spec.rb +0 -164
  1265. data/spec/integration/util/file_locking_spec.rb +0 -56
  1266. data/spec/unit/agent_backward_compatibility_spec.rb +0 -152
  1267. data/spec/unit/file_system/path_pattern_spec.rb +0 -139
  1268. data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -194
  1269. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -33
  1270. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -33
  1271. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -33
  1272. data/spec/unit/indirector/inventory/yaml_spec.rb +0 -220
  1273. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -33
  1274. data/spec/unit/network/handler/ca_spec.rb +0 -87
  1275. data/spec/unit/network/handler/fileserver_spec.rb +0 -201
  1276. data/spec/unit/network/http/mongrel/xmlrpc_spec.rb +0 -0
  1277. data/spec/unit/network/http/rack/xmlrpc_spec.rb +0 -155
  1278. data/spec/unit/network/http/webrick/xmlrpc_spec.rb +0 -0
  1279. data/spec/unit/network/rest_authconfig_spec.rb +0 -142
  1280. data/spec/unit/other/transbucket_spec.rb +0 -184
  1281. data/spec/unit/other/transobject_spec.rb +0 -111
  1282. data/spec/unit/provider/zfs/solaris_spec.rb +0 -99
  1283. data/spec/unit/provider/zpool/solaris_spec.rb +0 -208
  1284. data/spec/unit/transportable_spec.rb +0 -0
  1285. data/spec/unit/util/autoload/file_cache_spec.rb +0 -158
  1286. data/spec/unit/util/file_locking_spec.rb +0 -159
  1287. data/spec/unit/util/settings_spec.rb +0 -1088
  1288. data/spec/unit/util/windows/sid_spec.rb +0 -100
  1289. data/test/README +0 -24
  1290. data/test/Rakefile +0 -96
  1291. data/test/data/failers/badclassnoparam +0 -10
  1292. data/test/data/failers/badclassparam +0 -10
  1293. data/test/data/failers/badcompnoparam +0 -9
  1294. data/test/data/failers/badcompparam +0 -9
  1295. data/test/data/failers/badtypeparam +0 -3
  1296. data/test/data/failers/noobjectrvalue +0 -1
  1297. data/test/data/providers/cron/crontab.allthree +0 -17
  1298. data/test/data/providers/cron/crontab.envNcomment +0 -12
  1299. data/test/data/providers/cron/crontab.envNname +0 -11
  1300. data/test/data/providers/cron/crontab.multirecords +0 -12
  1301. data/test/data/providers/cron/crontab_collections.yaml +0 -44
  1302. data/test/data/providers/cron/crontab_multiple_with_env.yaml +0 -54
  1303. data/test/data/providers/cron/examples/freebsd +0 -2
  1304. data/test/data/providers/cron/examples/one +0 -14
  1305. data/test/data/providers/cron/examples/openbsd +0 -20
  1306. data/test/data/providers/host/parsed/valid_hosts +0 -19
  1307. data/test/data/providers/mailalias/aliases/test1 +0 -28
  1308. data/test/data/providers/mount/parsed/aix.mount +0 -7
  1309. data/test/data/providers/mount/parsed/darwin.mount +0 -6
  1310. data/test/data/providers/mount/parsed/hpux.mount +0 -17
  1311. data/test/data/providers/mount/parsed/linux.mount +0 -5
  1312. data/test/data/providers/mount/parsed/solaris.mount +0 -6
  1313. data/test/data/providers/package/testpackages.yaml +0 -65
  1314. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +0 -7
  1315. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 +0 -3
  1316. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys2 +0 -1
  1317. data/test/data/reports/1.yaml +0 -108
  1318. data/test/data/reports/2.yaml +0 -108
  1319. data/test/data/reports/tagmail_failers.conf +0 -3
  1320. data/test/data/reports/tagmail_passers.conf +0 -30
  1321. data/test/data/snippets/aliastest.pp +0 -16
  1322. data/test/data/snippets/append.pp +0 -11
  1323. data/test/data/snippets/argumentdefaults +0 -14
  1324. data/test/data/snippets/arithmetic_expression.pp +0 -8
  1325. data/test/data/snippets/arraytrailingcomma.pp +0 -3
  1326. data/test/data/snippets/casestatement.pp +0 -65
  1327. data/test/data/snippets/classheirarchy.pp +0 -15
  1328. data/test/data/snippets/classincludes.pp +0 -17
  1329. data/test/data/snippets/classpathtest +0 -11
  1330. data/test/data/snippets/collection.pp +0 -10
  1331. data/test/data/snippets/collection_override.pp +0 -8
  1332. data/test/data/snippets/collection_within_virtual_definitions.pp +0 -20
  1333. data/test/data/snippets/componentmetaparams.pp +0 -11
  1334. data/test/data/snippets/componentrequire.pp +0 -8
  1335. data/test/data/snippets/deepclassheirarchy.pp +0 -23
  1336. data/test/data/snippets/defineoverrides.pp +0 -17
  1337. data/test/data/snippets/emptyclass.pp +0 -9
  1338. data/test/data/snippets/emptyexec.pp +0 -3
  1339. data/test/data/snippets/emptyifelse.pp +0 -9
  1340. data/test/data/snippets/falsevalues.pp +0 -3
  1341. data/test/data/snippets/filecreate +0 -11
  1342. data/test/data/snippets/fqdefinition.pp +0 -5
  1343. data/test/data/snippets/fqparents.pp +0 -11
  1344. data/test/data/snippets/funccomma.pp +0 -5
  1345. data/test/data/snippets/hash.pp +0 -33
  1346. data/test/data/snippets/ifexpression.pp +0 -12
  1347. data/test/data/snippets/implicititeration +0 -15
  1348. data/test/data/snippets/multilinecomments.pp +0 -10
  1349. data/test/data/snippets/multipleclass.pp +0 -9
  1350. data/test/data/snippets/multipleinstances +0 -7
  1351. data/test/data/snippets/multisubs.pp +0 -13
  1352. data/test/data/snippets/namevartest +0 -9
  1353. data/test/data/snippets/scopetest +0 -13
  1354. data/test/data/snippets/selectorvalues.pp +0 -49
  1355. data/test/data/snippets/simpledefaults +0 -5
  1356. data/test/data/snippets/simpleselector +0 -38
  1357. data/test/data/snippets/singleary.pp +0 -19
  1358. data/test/data/snippets/singlequote.pp +0 -11
  1359. data/test/data/snippets/singleselector.pp +0 -22
  1360. data/test/data/snippets/subclass_name_duplication.pp +0 -11
  1361. data/test/data/snippets/tag.pp +0 -9
  1362. data/test/data/snippets/tagged.pp +0 -35
  1363. data/test/data/snippets/virtualresources.pp +0 -14
  1364. data/test/data/types/hosts/1 +0 -3
  1365. data/test/data/types/hosts/2 +0 -13
  1366. data/test/data/types/hosts/solaris +0 -5
  1367. data/test/data/types/mailalias/file1 +0 -183
  1368. data/test/data/types/mount/freebsd.fstab +0 -7
  1369. data/test/data/types/mount/linux.fstab +0 -12
  1370. data/test/data/types/mount/solaris.fstab +0 -12
  1371. data/test/data/types/port/1 +0 -533
  1372. data/test/data/types/port/darwin +0 -11866
  1373. data/test/data/types/ssh_authorized_key/1 +0 -2
  1374. data/test/data/types/yumrepos/fedora-devel.repo +0 -26
  1375. data/test/data/types/yumrepos/fedora.repo +0 -9
  1376. data/test/language/ast.rb +0 -90
  1377. data/test/language/ast/variable.rb +0 -25
  1378. data/test/language/functions.rb +0 -540
  1379. data/test/language/parser.rb +0 -739
  1380. data/test/language/scope.rb +0 -261
  1381. data/test/language/snippets.rb +0 -512
  1382. data/test/language/transportable.rb +0 -87
  1383. data/test/lib/puppettest.rb +0 -307
  1384. data/test/lib/puppettest/certificates.rb +0 -74
  1385. data/test/lib/puppettest/exetest.rb +0 -125
  1386. data/test/lib/puppettest/fakes.rb +0 -199
  1387. data/test/lib/puppettest/fileparsing.rb +0 -28
  1388. data/test/lib/puppettest/filetesting.rb +0 -221
  1389. data/test/lib/puppettest/parsertesting.rb +0 -424
  1390. data/test/lib/puppettest/railstesting.rb +0 -18
  1391. data/test/lib/puppettest/reporttesting.rb +0 -16
  1392. data/test/lib/puppettest/resourcetesting.rb +0 -54
  1393. data/test/lib/puppettest/runnable_test.rb +0 -43
  1394. data/test/lib/puppettest/servertest.rb +0 -77
  1395. data/test/lib/puppettest/support.rb +0 -8
  1396. data/test/lib/puppettest/support/assertions.rb +0 -69
  1397. data/test/lib/puppettest/support/helpers.rb +0 -18
  1398. data/test/lib/puppettest/support/resources.rb +0 -31
  1399. data/test/lib/puppettest/support/utils.rb +0 -141
  1400. data/test/lib/puppettest/testcase.rb +0 -24
  1401. data/test/lib/rake/puppet_test_loader.rb +0 -14
  1402. data/test/lib/rake/puppet_testtask.rb +0 -19
  1403. data/test/lib/stubba.rb +0 -2
  1404. data/test/network/authconfig.rb +0 -69
  1405. data/test/network/authorization.rb +0 -138
  1406. data/test/network/authstore.rb +0 -538
  1407. data/test/network/client_request.rb +0 -38
  1408. data/test/network/handler/fileserver.rb +0 -1266
  1409. data/test/network/handler/master.rb +0 -93
  1410. data/test/network/handler/report.rb +0 -47
  1411. data/test/network/handler/runner.rb +0 -20
  1412. data/test/network/rights.rb +0 -40
  1413. data/test/network/xmlrpc/processor.rb +0 -79
  1414. data/test/network/xmlrpc/server.rb +0 -26
  1415. data/test/network/xmlrpc/webrick_servlet.rb +0 -35
  1416. data/test/other/provider.rb +0 -90
  1417. data/test/other/puppet.rb +0 -85
  1418. data/test/other/relationships.rb +0 -91
  1419. data/test/other/report.rb +0 -135
  1420. data/test/other/transactions.rb +0 -395
  1421. data/test/puppet/defaults.rb +0 -65
  1422. data/test/rails/rails.rb +0 -24
  1423. data/test/rails/railsparameter.rb +0 -80
  1424. data/test/ral/manager/attributes.rb +0 -296
  1425. data/test/ral/manager/instances.rb +0 -88
  1426. data/test/ral/manager/manager.rb +0 -50
  1427. data/test/ral/manager/provider.rb +0 -84
  1428. data/test/ral/manager/type.rb +0 -361
  1429. data/test/ral/providers/cron/crontab.rb +0 -652
  1430. data/test/ral/providers/group.rb +0 -242
  1431. data/test/ral/providers/host/parsed.rb +0 -32
  1432. data/test/ral/providers/mailalias/aliases.rb +0 -55
  1433. data/test/ral/providers/nameservice.rb +0 -32
  1434. data/test/ral/providers/package.rb +0 -245
  1435. data/test/ral/providers/package/aptitude.rb +0 -83
  1436. data/test/ral/providers/package/aptrpm.rb +0 -100
  1437. data/test/ral/providers/parsedfile.rb +0 -695
  1438. data/test/ral/providers/port/parsed.rb +0 -232
  1439. data/test/ral/providers/provider.rb +0 -529
  1440. data/test/ral/providers/service/base.rb +0 -76
  1441. data/test/ral/providers/sshkey/parsed.rb +0 -112
  1442. data/test/ral/providers/user.rb +0 -586
  1443. data/test/ral/providers/user/useradd.rb +0 -233
  1444. data/test/ral/type/cron.rb +0 -505
  1445. data/test/ral/type/exec.rb +0 -717
  1446. data/test/ral/type/file.rb +0 -912
  1447. data/test/ral/type/file/target.rb +0 -346
  1448. data/test/ral/type/fileignoresource.rb +0 -265
  1449. data/test/ral/type/filesources.rb +0 -446
  1450. data/test/ral/type/host.rb +0 -180
  1451. data/test/ral/type/mailalias.rb +0 -45
  1452. data/test/ral/type/port.rb +0 -147
  1453. data/test/ral/type/resources.rb +0 -104
  1454. data/test/ral/type/service.rb +0 -38
  1455. data/test/ral/type/sshkey.rb +0 -148
  1456. data/test/ral/type/user.rb +0 -167
  1457. data/test/ral/type/yumrepo.rb +0 -116
  1458. data/test/ral/type/zone.rb +0 -447
  1459. data/test/test +0 -241
  1460. data/test/util/classgen.rb +0 -241
  1461. data/test/util/execution.rb +0 -33
  1462. data/test/util/fileparsing.rb +0 -721
  1463. data/test/util/inifile.rb +0 -138
  1464. data/test/util/instance_loader.rb +0 -52
  1465. data/test/util/log.rb +0 -219
  1466. data/test/util/metrics.rb +0 -72
  1467. data/test/util/package.rb +0 -25
  1468. data/test/util/pidlock.rb +0 -125
  1469. data/test/util/settings.rb +0 -773
  1470. data/test/util/storage.rb +0 -81
  1471. data/test/util/subclass_loader.rb +0 -89
  1472. data/test/util/utiltest.rb +0 -223
@@ -1,1074 +0,0 @@
1
- #Packaging
2
-
3
- [![Build Status](https://travis-ci.org/puppetlabs/packaging.png?branch=master)](https://travis-ci.org/puppetlabs/packaging)
4
-
5
- This is a repository for packaging automation for Puppet Labs software.
6
- The goal is to abstract and automate packaging processes beyond individual
7
- software projects to a level where this repo can be cloned inside any project
8
- and used to build Debian and Redhat packages, as well as gems, apple packages
9
- and tarballs. This repo is currently under heavy development and in a state
10
- flux, and it should not be considered to have a formal API. However, every
11
- effort is being made to ensure existing tasks/behavior are not broken as we
12
- continue to iterate and improve upon it.
13
-
14
- ##Using the Packaging Repo
15
-
16
- Several Puppet Labs projects are using the packaging repo. They are:
17
-
18
- * puppet
19
- * facter
20
- * puppet-dashboard
21
- * hiera
22
- * puppetdb
23
- * razor
24
-
25
- as well as several closed-source projects, including
26
- * live-management
27
- * console-auth
28
- * console
29
-
30
- Generally speaking, the packaging repo should be compatible with ruby 1.8.7,
31
- ruby 1.9.3 and rake 0.9.x. To pull the packaging tasks into your source repo,
32
- do a `rake package:bootstrap`. This will clone this repo into the ext directory
33
- of the project and make many packaging tasks available. The tasks are
34
- generally grouped into two categories, `package:` namespaced tasks and `pl:`
35
- namespaced tasks.
36
-
37
- ## `package:` tasks
38
- `package:` namespaced tasks are general purpose tasks that are set up to use
39
- the most minimal tool chain possible for creating packages. These tasks will
40
- create rpms and debs, but any build dependencies will need to be satisifed by
41
- the building host, and any dynamically generated dependencies may result in
42
- packages that are only suitable for the OS/version of the build host. However,
43
- for rolling one's own debs and rpms or for use in environments without many
44
- OSes/versions, this may work just fine. To build an rpm using the packaging
45
- repo, do a `rake package:rpm`. To build a deb, use `rake package:deb`.
46
-
47
- ## `pl:` tasks
48
- `pl:` namespaced tasks rely on a slighly more complex toolchain for packaging
49
- inside clean chroot environments for the various operating systems and versions
50
- that Puppet Labs supports. On the rpm side, this is done with
51
- [mock](http://fedoraproject.org/wiki/Projects/Mock) and for debs, we use
52
- pdebuild and [cowbuilder](http://wiki.debian.org/cowbuilder). For the most
53
- part, these tasks are keyed to puppetlabs infrastructure, and are used by the
54
- Release Engineering team to create release packages. However, they can
55
- certainly be modified to suit other environments, and much effort went into
56
- making tasks as modular and reusable as possible. Several Puppet Labs-specific
57
- tasks are only available if the file '~/.packaging' is present. This file is
58
- created by the `pl:fetch` task, which curls two yaml files into 'team' and
59
- 'project' subdirectories from a [separate build data
60
- repository](https://github.com/puppetlabs/build-data), which contains
61
- additional settings/data specific to Puppet Labs release infrastructure. By
62
- default, the team data file is pulled from the 'dev' branch of the repo, and
63
- the project data file is pulled from a branch named after the project (e.g. for
64
- puppet, there is a branch named puppet with a build data file). The goal in
65
- separating these data and tasks out is to refrain from presenting by
66
- default yet more Puppet Labs-specific tasks that aren't generally consumable by
67
- everyone. To build a deb from a local repository using a `pl` task, ssh into a
68
- builder (e.g., one stood up using the modules detailed below) and clone the
69
- source repo, e.g. puppet. Then, run `rake package:bootstrap` and `rake pl:deb`
70
- to create a deb, and `rake pl:mock` to make an rpm (on a debian or redhat host,
71
- respectively).
72
-
73
- ## `pe:` tasks
74
- There is also a `pe:` namespace, for the building of Puppet
75
- Labs' Puppet Enterprise packages that have been converted to using this repo.
76
- The `pe:` tasks rely heavily on PL internal infrastructure, and are not
77
- generally useful outside of this environment. To create packages, in the source
78
- repository run `rake package:bootstrap`, followed by `rake pl:fetch`. These two
79
- commands bootstrap the packaging environment and pull in the additional data
80
- needed for PE building (see `pl:fetch` notes above). Then, to make a debian
81
- package, run `rake pe:deb`, and to make an rpm, run `rake pe:mock`. There are
82
- also `pe:deb_all` and `pe:mock_all` tasks, which build packages against all
83
- shipped debian/redhat targets. The `pe:deb_all` task is not generally necessary
84
- for developer use for building test packages; the `pe:deb` task creates a
85
- package that will work against virtually all supported PE debian versions.
86
- The same is generally true for PE internal rpms, but because of variances in
87
- build macros for rpm, rpms should generally be built with `pe:mock_all`, and
88
- then the desired version installed, or by building only for a specific
89
- target. This is accomplished by passing MOCK=<mock> to the rake call, e.g.
90
- `rake pe:mock MOCK=<mock>`. The available mocks are listed in
91
- `ext/build_defaults.yaml` after `final_mocks:`. For PE, the mocks are
92
- formatted as `pupent-<peversion>-<distversion>-<arch>`, e.g.
93
- `pupent-2.7-el5-i386`. To build for a specific target, set `MOCK=<mock>` to
94
- the mock that matches the target.
95
-
96
- ## `:remote:` tasks
97
- There are also sub-namespaces of `:pl` and `:pe` that are
98
- worth noting. First, the `:remote` namespace. Tasks under `:remote` perform
99
- builds remotely on internal builders from your local workstation. How they
100
- work:
101
-
102
- 1) Run `pl:fetch` to obtain extra data from the build-data repo. The data
103
- includes the hostnames of builders to use for packaging.
104
-
105
- 2) Create a git bundle of the local workspace and tar it up.
106
-
107
- 3) Create a build parameters file. The params file includes all the information
108
- about the build, including any values overridden with env vars, and the actual
109
- task to run, e.g. `rake pl:deb`.
110
-
111
- 4) scp the git bundle and build parameters file to a temporary directory on the
112
- builder hostname assigned to that particular package build type.
113
-
114
- 5) ssh into the builder, untar the git bundle, clone it, and run `rake
115
- package:bootstrap`.
116
-
117
- 6) ssh into the builder, cd into the cloned repo, and run `rake
118
- pl:build_from_params PARAMS_FILE=/path/to/previously/sent/file`.
119
-
120
- 7) Maintain the ssh connection until the build finishes, and rsync the packages
121
- from the builder to the local workstation.
122
-
123
- Note that these tasks require ssh access to the builder hosts that are
124
- specified in the build-data file, and appropriate membership in the build
125
- groups, e.g. to use mock on the builder, membership in the mock group. This is
126
- a major hurdle, and is resolved with the `jenkins` tasks below.
127
-
128
- ## legacy `:jenkins:` workflow tasks
129
- (Deprecated - see "dyamic jenkins task workflow" below)
130
- Jenkins tasks are similar to the `:remote:` tasks, but they do not require ssh
131
- access to the builders. They do require being on the local network - the
132
- jenkins instance that performs package builds is an internal server only,
133
- accessible when connected via VPN or on-site. The jenkins tasks enable the
134
- packaging repo to kick off packaging builds on a remote jenkins slave.
135
- There are two workflows of jenkins tasks in the packaging repo. The first
136
- workflow, which is used for creating individual platform packages on jenkins
137
- (e.g. creating a deb with pl:jenkins:deb) relies on a job that exists on a
138
- remote jenkins server. The tasks transmit information to the jenkins job, which
139
- handles the rest. The data passed are the following:
140
-
141
- 1) $PROJECT\_BUNDLE - a tar.gz of a git-bundle from HEAD of the current
142
- project, which is cloned on the builder to set up a duplicate of this
143
- environment
144
-
145
- 2) $BUILD\_PROPERTIES - a build parameters file, containing all information
146
- about the build
147
-
148
- 3) $BUILD\_TYPE - the "type" of build, e.g. rpm, deb, gem, etc The jenkins url
149
- and job name are obtained via the team build-data file from [the build data
150
- repository](https://github.com/puppetlabs/build-data)
151
-
152
- 4) $PROJECT - the project we're building, e.g. facter, puppet. This is used
153
- later in determining the target for the build artifacts on the distribution
154
- server
155
-
156
- 4) $METRICS - a string of data points related to the build which are used for
157
- data analysis. Contents of this string are items which cannot be obtained from
158
- within the Jenkins job itself.
159
-
160
- 5) $DOWNSTREAM\_JOB - The URL of a downstream job that jenkins should post to
161
- upon success. This is obtained via the DOWNSTREAM\_JOB environment variable.
162
-
163
-
164
- On the Jenkins end, the job is a parameterized job that accepts five
165
- parameters. Jenkins has the Parameterized Trigger Plugin, Workspace Cleanup
166
- Plugin, and Node and Label Parameter Plugin in use for this job. The workspace
167
- cleanup plugin cleans the workspace before each build. Two are file parameters,
168
- two string parameters, and a Label parameter provided by the Node and Label
169
- Parameter Plugin, as described above. When the pl:jenkins:\* task triggers a
170
- build, it passes values for all of these parameters. The Label parameter is
171
- associated with the build type. This way we can queue the job on a builder with
172
- the appropriate capabilities just by assigning a builder the label "deb" or
173
- "rpm," etc. The job allows parallel execution of jobs - in this way, we can
174
- queue many package jobs on the jenkins instance, which will farm them out to
175
- builders that are slaves of that jenkins instance. This also allows us to scale
176
- building capacity simply by adding builders as slaves to the jenkins instance.
177
- The actual build itself is accomplished via a shell build task. The contents of
178
- the task are:
179
-
180
- ```bash
181
- #################
182
-
183
- SHA=$(echo $BUILD_PROPERTIES | cut -d '.' -f1)
184
-
185
- echo "Build type: $BUILD_TYPE"
186
-
187
- ### Create a local clone of the git-bundle that was passed
188
- # The bundle is a tarball, and since this is a project-agnostic
189
- # job, we don't actually know what's in it, just that it's a
190
- # git bundle.
191
-
192
- [ -f "PROJECT_BUNDLE" ] || exit 1
193
- mkdir project && tar -xzf PROJECT_BUNDLE -C project/
194
-
195
- cd project
196
- git clone --recursive $(ls) git_repo
197
-
198
- cd git_repo
199
-
200
- ### Clone the packaging repo
201
- rake package:bootstrap && rake pl:fetch
202
-
203
- ### Perform the build
204
- rake pl:load_extras pl:build_from_params PARAMS_FILE=$WORKSPACE/BUILD_PROPERTIES
205
-
206
- ### Send the results
207
- rake pl:jenkins:ship["artifacts"]
208
-
209
- ### If a downstream job was passed, trigger it now
210
- if [ -n "$DOWNSTREAM_JOB" ] ; then
211
- rake pl:jenkins:post["$DOWNSTREAM_JOB"]
212
- fi
213
-
214
- #################
215
- ```
216
-
217
- To gather metrics related to a Jenkins build, the Groovy Postbuild plugin is used.
218
- For tasks carried out on the static Jenkins job, the script must be manually added to the job's
219
- configuration. The script in its entirety can be seen [here.](https://github.com/Whopper92/buildboard#groovyScript)
220
-
221
- ## dynamic `:jenkins:` task workflow
222
-
223
- The recommended and far simpler jenkins-based workflow is for initiating the
224
- "uber_build", or a package build for all of our target platforms.
225
-
226
- The uber_build is invoked as "pl:jenkins:uber_build" or "pe:jenkins:uber_build"
227
- depending on if this is a FOSS or PE package.
228
-
229
- This workflow doesn't actually use a static job on the jenkins-server. Instead
230
- it _creates_ the jenkins jobs for you, on-demand. Specifically, it creates two
231
- jenkins-jobs, and can create an optional third.
232
-
233
- The first job is a matrix job, the cells of which are individual package tasks
234
- for all of the build targets. This job takes four parameters:
235
-
236
- 1) $PROJECT\_BUNDLE - a tar.gz of a git-bundle from HEAD of the current
237
- project, which is cloned on the builder to set up a duplicate of this
238
- environment
239
-
240
- 2) $BUILD\_PROPERTIES - a build parameters file, containing all information
241
- about the build
242
-
243
- 3) $PROJECT - the project we're building, e.g. facter, puppet. This is used
244
- later in determining the target for the build artifacts on the distribution
245
- server
246
-
247
- 4) $METRICS - a string of data points related to the build which are used for data
248
- analysis. Contents of this string are items which cannot be obtained from within
249
- the Jenkins job itself. Note that the Groovy postbuild script needed for metrics
250
- gathering is dynamically passed to each job.
251
-
252
- This first job clones the git bundle passed in as a parameter, then clones the
253
- packaging repo (rake package:bootstrap) and for every cell in its matrix
254
- performs a package build for a specific target (e.g. rake pl:deb
255
- COW=base-lucid-i386.cow). Once all cells in the matrix complete (either succeed
256
- or fail), this job automatically triggers the second of the new jobs
257
- as a downstream job.
258
-
259
- To receive an email notification from jenkins about the status of the packaging
260
- job, pass NOTIFY=<recipient> as an environment variable to the uber_build
261
- invocation, e.g.:
262
-
263
- rake pl:jenkins:uber_build NOTIFY="foo@puppetlabs.com bar@puppetlabs.com"
264
-
265
- The second job is an automatic repository creation task for this git repo.
266
- Specifically, the job copies the git bundle from the packaging job and clones
267
- it, and uses the git information in the git bundle to clone the packaging repo
268
- and invoke the repository creation jobs `pl:jenkins:rpm_repos` and
269
- `pl:jenkins:deb_repos`. The job will always be invoked, but will only actually
270
- create repos if the upstream packaging job actually succeeded.
271
-
272
- The third job is only created _if_ the environment variable
273
- `DOWNSTREAM_JOB=<job_url>` was passed to the initial "pl:jenkins:uber_build"
274
- invocation. This third job takes the value assigned to `DOWNSTREAM_JOB` and
275
- creates a proxy jenkins job with a single build step, a curl call to this
276
- value, presumably a url to a jenkins job to trigger programmatically.
277
-
278
- An important note about `DOWNSTREAM_JOB`: `DOWNSTREAM_JOB` in the dynamic jenkins
279
- workflow is _always_ invoked if it is passed in as an environment variable.
280
- However, it is appended with an additional parameter, `PACKAGE_BUILD_STATUS`,
281
- which will be the string "success" if package and repo builds succeeded, or
282
- "failure" if package or repo builds failed. By modifying the actual downstream
283
- jenkins job to accept a string parameter of `PACKAGE_BUILD_STATUS`, one can
284
- switch on the success or failure of the packaging job, responding
285
- appropriately. A second parameter, `PACKAGE_BUILD_URL` is also appended to
286
- `DOWNSTREAM_JOB`, the value of which is the url of the packaging job itself.
287
- This is to assist with tracing failures in a multi-jenkins environment. By
288
- modifying the downstream jenkins job to accept a string parameter of
289
- `PACKAGE_BUILD_URL`, one can use the value to display the url prominently in
290
- case of failure, for example.
291
-
292
- E.g., a job url:
293
- http://jenkins.example.net/job/downstream/buildWithParameters?FOO=bar
294
-
295
- in the success case will be transformed into
296
-
297
- http://jenkins.example.net/job/downstream/buildWithParameters?FOO=bar&PACKAGE_BUILD_STATUS=success&PACKAGE_BUILD_URL=http://jenkins.example.net/job/packaging_job
298
-
299
- and in the failure case transformed into
300
-
301
- http://jenkins.example.net/job/downstream/buildWithParameters?FOO=bar&PACKAGE_BUILD_STATUS=failure&PACKAGE_BUILD_URL=http://jenkins.example.net/job/packaging_job
302
-
303
- Since jenkins will just drop parameters that are not configured in the job,
304
- accepting PACKAGE_BUILD_STATUS and PACKAGE_BUILD_URL in the downstream job
305
- isn't mandatory.
306
-
307
- All 3 jobs are configured by default for removal by jenkins after 3 days, to
308
- avoid clutter.
309
-
310
- The goal is to move toward migrating all of the jenkins tasks from the first
311
- workflow, using a static job that is called many times per package, to this
312
- second workflow of creating the jobs on demand.
313
-
314
-
315
- ## Task Explanations
316
- For a listing of all available tasks and their functions, see the [Task
317
- Dictionary](https://github.com/puppetlabs/packaging/tree/more_documentation#task-dictionary)
318
- at the end of this README.
319
-
320
- ## Modules
321
-
322
- A puppet module,
323
- [puppetlabs-debbuilder](https://github.com/puppetlabs/puppetlabs-debbuilder),
324
- has been created to stand up a debian build host compatible with the debian
325
- side of this packaging repo. The rpm-side module,
326
- [puppetlabs-rpmbuilder](https://github.com/puppetlabs/puppetlabs-rpmbuilder),
327
- will set up an rpm builder.
328
-
329
- ## Clean up
330
- To remove the packaging repo, remove the ext/packaging directory or run `rake
331
- package:implode`.
332
-
333
- ##Setting up projects for the Packaging Repo
334
-
335
- The packaging repo requires many project-side artifacts inside the ext
336
- directory at the top level. [facter](https://github.com:puppetlabs/facter) and
337
- [hiera](https://github.com:puppetlabs/hiera) are good examples.
338
- It expects the following directory structure in the project
339
-
340
- * ext/{debian,redhat,osx}
341
-
342
- each of which contains templated erb files using the instance variables
343
- specified in the setupvars task. These include a debian changelog, a redhat
344
- spec file, and an osx preflight and plist.
345
-
346
- The top level Rakefile or a separate task file in the project should have the following added:
347
-
348
- (this assumes RAKE\_ROOT is defined in the top-level Rakefile using something like the following)
349
- ```ruby
350
- RAKE_ROOT = File.expand_path(File.dirname(__FILE__))
351
- ```
352
-
353
- ```ruby
354
- build_defs_file = File.join(RAKE_ROOT, 'ext', 'build_defaults.yaml')
355
- if File.exist?(build_defs_file)
356
- begin
357
- require 'yaml'
358
- @build_defaults ||= YAML.load_file(build_defs_file)
359
- rescue Exception => e
360
- STDERR.puts "Unable to load yaml from #{build_defs_file}:"
361
- raise e
362
- end
363
- @packaging_url = @build_defaults['packaging_url']
364
- @packaging_repo = @build_defaults['packaging_repo']
365
- raise "Could not find packaging url in #{build_defs_file}" if @packaging_url.nil?
366
- raise "Could not find packaging repo in #{build_defs_file}" if @packaging_repo.nil?
367
-
368
- namespace :package do
369
- desc "Bootstrap packaging automation, e.g. clone into packaging repo"
370
- task :bootstrap do
371
- if File.exist?(File.join(RAKE_ROOT, "ext", @packaging_repo))
372
- puts "It looks like you already have ext/#{@packaging_repo}. If you don't like it, blow it away with package:implode."
373
- else
374
- cd File.join(RAKE_ROOT, 'ext') do
375
- %x{git clone #{@packaging_url}}
376
- end
377
- end
378
- end
379
- desc "Remove all cloned packaging automation"
380
- task :implode do
381
- rm_rf File.join(RAKE_ROOT, "ext", @packaging_repo)
382
- end
383
- end
384
- end
385
-
386
- begin
387
- load File.join(RAKE_ROOT, 'ext', 'packaging', 'packaging.rake')
388
- rescue LoadError
389
- end
390
- ```
391
-
392
- Also in ext should be two files, build_defaults.yaml and project_data.yaml.
393
-
394
- This is the sample build_defaults.yaml file from Hiera:
395
- ```yaml
396
- ---
397
- packaging_url: 'git@github.com:puppetlabs/packaging --branch=master'
398
- packaging_repo: 'packaging'
399
- default_cow: 'base-squeeze-i386.cow'
400
- # Which debian distributions to build for. Noarch packages only need one arch of each cow.
401
- cows: 'base-lucid-amd64.cow base-lucid-i386.cow base-natty-amd64.cow base-natty-i386.cow base-oneiric-amd64.cow base-oneiric-i386.cow base-precise-amd64.cow base-precise-i386.cow base-sid-amd64.cow base-sid-i386.cow base-squeeze-amd64.cow base-squeeze-i386.cow base-testing-amd64.cow base-testing-i386.cow base-wheezy-i386.cow'
402
- # The pbuilder configuration file to use
403
- pbuild_conf: '/etc/pbuilderrc'
404
- # Alternate debian mirrors to build against (must be an array)
405
- # The __DIST__ string is automatically replaced with codename of the cow being built, so when the squeeze cow is being built the deb_build_mirrors will be:
406
- # deb http://apt.puppetlabs.com squeeze main dependencies
407
- # deb http://somethingelse.com/debian squeeze
408
- # This will happen for each cow during the build.
409
- deb_build_mirrors:
410
- - deb http://apt.puppetlabs.com __DIST__ main dependencies
411
- - deb http://somethingelse.com/debian __DIST__
412
- # Who is packaging. Turns up in various packaging artifacts
413
- packager: 'puppetlabs'
414
- # Who is signing packages
415
- gpg_name: 'info@puppetlabs.com'
416
- # GPG key ID of the signer
417
- gpg_key: '4BD6EC30'
418
- # Whether to require tarball signing as a prerequisite of other package building
419
- sign_tar: FALSE
420
- # a space separated list of mock configs. These are the rpm distributions to package for. If a noarch package, only one arch of each is needed.
421
- final_mocks: 'pl-el-5-i386 pl-el-5-x86_64 pl-el-6-i386 pl-el-6-x86_64 pl-fedora-16-i386 pl-fedora-16-x86_64 pl-fedora-17-i386 pl-fedora-17-x86_64'
422
- # The host that contains the yum repository to ship to
423
- yum_host: 'yum.puppetlabs.com'
424
- # The remote path the repository on the yum\_host
425
- yum_repo_path: '/some/repo/'
426
- # The host that contains the apt repository to ship to
427
- apt_host: 'apt.puppetlabs.com'
428
- # The URL to use for the apt dependencies in cow building
429
- apt_repo_url: 'http://apt.puppetlabs.com'
430
- # The path on the remote apt host that debs should ship to
431
- apt_repo_path: '/opt/repository/incoming'
432
- # The host that stores the tarballs for downloading
433
- tar_host: 'downloads.puppetlabs.com'
434
- # Whether to present the gem and apple tasks
435
- build_gem: TRUE
436
- build_dmg: TRUE
437
- # Whether to execute the rdoc rake tasks prior to composing the tarball
438
- build_doc: FALSE
439
- # Whether to present the Solaris 11 IPS packaging tasks
440
- # This requires suitable IPS packaging artifacts in the project in ext/ips
441
- build_ips: FALSE
442
- # Whether this project is a PE project or not
443
- build_pe: FALSE
444
- # An optional task to execute pre-tarball composition. See the tasks in
445
- # the 'pretasks' directory
446
- pre_tar_task: 'package:vendor_gems'
447
- ```
448
- This is the sample project_data.yaml file:
449
- ```yaml
450
- ---
451
- project: 'hiera'
452
- author: 'Puppet Labs'
453
- email: 'info@puppetlabs.com'
454
- homepage: 'https://github.com/puppetlabs/hiera'
455
- summary: 'Light weight hierarchical data store'
456
- description: 'A pluggable data store for hierarcical data'
457
- # file containing hard coded version information, if present
458
- version_file: '/lib/hiera.rb'
459
- # A string indicating the version strategy for the project (one of 'odd_even' or 'rc_final'), defaults to rc_final
460
- # odd_even is a final release when the minor version is even, and a development release when it is odd
461
- # rc_final is a final release when there is no rc at the end of the version string, and a development release when there is
462
- version_strategy: 'rc_final'
463
- # Boolean value of whether or not to automatically update the version file before packaging (defaults to false)
464
- update_version_file: true
465
- # files and gem\_files are space separated lists
466
- # files to be packaged into a tarball and released with deb/rpm
467
- files: '[A-Z]* ext lib bin spec acceptance_tests'
468
- # space separated list of files to *exclude* from the tarball
469
- # note that each listing in files, above, is recursively copied into the tarball, so
470
- # 'tar\_excludes' only needs to include any undesired subdirectories/files of the 'files'
471
- # list to exclude
472
- tar_excludes: 'ext/packaging lib/some_excluded_file'
473
- # Array of templates or globs of templates to evaluate. Note that without this key, the packaging will
474
- # default to searching for any files in `ext` with the extension '.erb' and evaluate them. When this
475
- # key is supplied, its values override the defaults, and all desired erb files must be specified with a path or glob.
476
- templates:
477
- - ext/redhat/project.spec.erb
478
- - ext/templates/**/*.erb
479
- # files to be packaged into a gem
480
- gem_files: '{bin,lib}/**/* CHANGELOG COPYING README.md LICENSE'
481
- # To exclude specific files from inclusion in a gem:
482
- gem_excludes: 'lib/hiera/file_to_exclude.rb lib/hiera/directory_to_exclude'
483
- # If gem name differs in some way from project name, e.g. only build gem for a client end
484
- gem_name: hiera_the_gem
485
- # If gem summary and/or description differs from general summary
486
- gem_summary: 'A sub-set of the Hiera pluggable data store'
487
- gem_description: 'A gem of the pluggable data store for hierarchical data'
488
- gem_require_path: 'lib'
489
- gem_test_files: 'spec/**/*'
490
- gem_executables: 'hiera'
491
- gem_default_executables: 'hiera'
492
- # To add gem dependencies, indent.
493
- # This is an example only, hiera doesn't really depend on hiera-puppet/json/facter
494
- # For no specific version, leave version empty
495
- gem_runtime_dependencies:
496
- hiera-puppet: '1.0.0rc'
497
- hiera-json:
498
- gem_development_dependencies:
499
- facter: '>= 1.6.11'
500
- # To add gem dependencies which only apply to a specific platform, add the key "gem_platform_dependencies".
501
- # The first key under the gem_platform_dependencies has to be a value that
502
- # corresponds to a value of RUBY_PLATFORM. The subkeys are the same as the
503
- # top-level gem dependency keys:
504
- gem_platform_dependencies:
505
- x86-mingw32:
506
- gem_runtime_dependencies:
507
- win32process: '~> 0.6.5'
508
- gem_development_dependencies:
509
- rake: '~> 0.9.0'
510
- x86_64-darwin:
511
- gem_runtime_dependencies:
512
- CFPropertyList: '~> 2.2.4'
513
- # rdoc options as an array
514
- gem_rdoc_options:
515
- - --line-numbers
516
- - --main
517
- - Hiera.README
518
- ```
519
- For basic mac packaging, add an osx directory in ext containing the following files:
520
- 1. a preflight.erb template for any pre-flight actions, perhaps removing the old package if present.
521
- 2. a prototype.plist.erb that is templated into the pkginfo.plist file for the package. This is the one from puppet. Note that these variable names aren't mutable here, but there's no need to worry about their value assignment, it's done in the apple task:
522
- ```
523
- <?xml version="1.0" encoding="UTF-8"?>
524
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
525
- <plist version="1.0">
526
- <dict>
527
- <key>CFBundleIdentifier</key>
528
- <string><%= @title %></string>
529
- <key>CFBundleShortVersionString</key>
530
- <string><%= @version %></string>
531
- <key>IFMajorVersion</key>
532
- <integer><%= @package_major_version %></integer>
533
- <key>IFMinorVersion</key>
534
- <integer><%= @package_minor_version %></integer>
535
- <key>IFPkgBuildDate</key>
536
- <date><%= @build_date %></date>
537
- <key>IFPkgFlagAllowBackRev</key>
538
- <false/>
539
- <key>IFPkgFlagAuthorizationAction</key>
540
- <string>RootAuthorization</string>
541
- <key>IFPkgFlagDefaultLocation</key>
542
- <string>/</string>
543
- <key>IFPkgFlagFollowLinks</key>
544
- <true/>
545
- <key>IFPkgFlagInstallFat</key>
546
- <false/>
547
- <key>IFPkgFlagIsRequired</key>
548
- <false/>
549
- <key>IFPkgFlagOverwritePermissions</key>
550
- <false/>
551
- <key>IFPkgFlagRelocatable</key>
552
- <false/>
553
- <key>IFPkgFlagRestartAction</key>
554
- <string><%= @pm_restart %></string>
555
- <key>IFPkgFlagRootVolumeOnly</key>
556
- <true/>
557
- <key>IFPkgFlagUpdateInstalledLanguages</key>
558
- <false/>
559
- </dict>
560
- </plist>
561
- ```
562
- A file_mapping.yaml file that specifies a set of files and a set of directories
563
- from the source to install, with destinations, ownership, and permissions. The
564
- directories are top level directories in the source to install. The files are
565
- files somewhere in the source to install. This is the one from puppet 3.x:
566
- ```yaml
567
- ---
568
- directories:
569
- # this will take the contents of lib, e.g. puppet/lib/\* and place them in
570
- # /usr/lib/ruby/site\_ruby/1.8
571
- lib:
572
- path: 'usr/lib/ruby/site_ruby/1.8'
573
- owner: 'root'
574
- group: 'wheel'
575
- perms: '0644'
576
- bin:
577
- path: 'usr/bin'
578
- owner: 'root'
579
- group: 'wheel'
580
- perms: '0755'
581
- 'man/man8':
582
- path: 'usr/share/man/man8'
583
- owner: 'root'
584
- group: 'wheel'
585
- perms: '0755'
586
- files:
587
- # this will take the file puppet/conf/auth.conf and place it in
588
- # /private/etc/puppet/, creating the directory if not present
589
- 'conf/auth.conf':
590
- path: 'private/etc/puppet'
591
- owner: 'root'
592
- group: 'wheel'
593
- perms: '0644'
594
- 'man/man5/puppet.conf.5':
595
- path: 'usr/share/man/man5'
596
- owner: 'root'
597
- group: 'wheel'
598
- perms: '0644'
599
- '[A-Z]*':
600
- path: 'usr/share/doc/puppet'
601
- owner: 'root'
602
- group: 'wheel'
603
- perms: '0644'
604
- ```
605
-
606
- ## Task Dictionary
607
-
608
- * **package:apple**
609
-
610
- Use `PackageMaker` to create a pkg package inside a dmg. Requires 'sudo'
611
- privileges. `build_dmg: TRUE` must be set in `ext/build_defaults.yaml`.
612
- Packages are staged in ./pkg/apple. See the Mac packaging section of
613
- [Setting up projects for the Packaging
614
- Repo](https://github.com/MosesMendoza/packaging/tree/more_documentation#setting-up-projects-for-the-packaging-repo).
615
-
616
- * **package:bootstrap**
617
-
618
- Clone the packaging repo into this project. This task isn't actually in the
619
- packaging repo itself, but resides in the project. See [Setting up projects
620
- for the Packaging
621
- Repo](https://github.com/puppetlabs/packaging#setting-up-projects-for-the-packaging-repo).
622
-
623
- * **package:deb**
624
-
625
- Use `debbuild` to create a deb package and associated debian package
626
- artifacts from the repository. Requires all build dependencies be satisfied
627
- locally. Packages are staged in ./pkg/deb.
628
-
629
- * **package:gem**
630
- Use the `rubygems/package_task` library to create a rubygem from the
631
- repository. Requires `build_gem: TRUE` and gem-related parameters be set in
632
- `ext/build_defaults.yaml` and `ext/project\_data.yaml`. The gem is staged
633
- in `./pkg`.
634
-
635
- * **package:implode**
636
-
637
- Remove the packaging repo entirely from the project. This task isn't
638
- actually in the packaging repo itself, but resides in the project. See
639
- [Setting up projects for the Packaging
640
- Repo](https://github.com/puppetlabs/packaging#setting-up-projects-for-the-packaging-repo).
641
-
642
- * **package:ips**
643
-
644
- Use Solaris 11 pkg* tools to create a IPS package from the project.
645
- Packages are staged in `./pkg/ips/pkgs`. Requires all `pkg`, `pkgdepend`,
646
- `pkgsend`, `pkglint`, and `pkgmogrify`. Currently only puppet, facter, and
647
- hiera have this capability.
648
-
649
- * **package:rpm**
650
-
651
- Use `rpmbuild` to create an rpm of the project. This will also make a
652
- source rpm. Requires all build dependencies by satisfied locally. Packages
653
- are staged in `./pkg/rpm`.
654
-
655
- * **package:srpm**
656
-
657
- Use `rpmbuild` to create a source rpm of the project. Source rpm is staged
658
- in `./pkg/srpm`.
659
-
660
- * **package:tar**
661
-
662
- Create a source tarball of the project. The tarball is staged in `./pkg`.
663
-
664
- * **package:update**
665
-
666
- Update the clone of the packaging repo by pulling from origin.
667
-
668
- * **pl:build_from_params**
669
-
670
- Invoke a build from a build parameters yaml file. The parameters file
671
- should be created with `rake pl:write_build_params`. The settings in the
672
- build parameters file will override all values contained in
673
- `./ext/build_defaults.yaml` and `./ext/project_data.yaml`.
674
-
675
- * **pl:deb**
676
-
677
- Use pdebuild with cowbuilder to create a debian package and associated
678
- source artifacts from the default "cow", currently Debian Squeeze i386.
679
- Requires that pbuilder/cowbuilder be installed and set up with a Debian
680
- Squeeze cow. See the
681
- [puppetlabs-debbuilder](https://github.com/puppetlabs/puppetlabs-debbuilder)
682
- module for an easy way to set up a host for building with cows. The deb and
683
- source artifacts are staged in `./pkg/deb/squeeze`.
684
-
685
- * **pl:deb_all***
686
-
687
- The same as `rake pl:deb`, but a package is built for every cow listed in
688
- `ext/build_defaults.yaml` on the line `cows:<cows>`. The packages and
689
- associated source artifacts are staged in `./pkg/deb/$distribution`, where
690
- $distribution is the Debian/Ubuntu codename of the cow that was used to
691
- build the package, e.g. "wheezy" or "precise."
692
-
693
- * **pl:ips**
694
-
695
- Invoke package:ips, but do so after pl:fetch and pl:load_extras, which load
696
- signing/certificate information. The resulting packages are signed. IPS
697
- packages are staged in `./pkg/ips/pkgs`
698
-
699
- * **pl:jenkins:deb**
700
-
701
- Perform `pl:deb` by posting a jenkins build, as described above. Once the
702
- build is complete, run `pl:jenkins:retrieve` to retrieve the built
703
- packages.
704
-
705
- * **pl:jenkins:deb_all**
706
-
707
- Perform what is a effectively a `pl:deb_all` but in a different fashion.
708
- `pl:deb_all` performs debian cow builds in serial with every cow listed in
709
- ext/build_defaults.yaml. `pl:jenkins:deb_all` splits the cows listed, and
710
- posts a separate `pl:jenkins:deb` job for every cow listed to the jenkins
711
- server, allowing jenkins to parallelize the building of packages for every
712
- cow. Execute `pl:jenkins:retrieve` to retrieve all packages.
713
-
714
- * **pl:jenkins:deb_repo_configs**
715
-
716
- On the distribution server generate a listing of all debian repositories
717
- that exist for the current SHA/ref of HEAD of the project repository. Then
718
- generate debian apt client configuration files for every existing
719
- repository. The distribution server is a web server, so the client
720
- configurations can be placed on a debian client in /etc/apt/sources.list.d/
721
- and the client will be able to install the built packages via apt. Requires
722
- SSH access to the distribution server.
723
-
724
- * **pl:jenkins:deb_repos**
725
-
726
- On the distribution server, generate debian apt repositories for every
727
- distribution containing any packages that are stored that match the current
728
- SHA/ref of HEAD of the project repository. Requires SSH access to the
729
- distribution server.
730
-
731
- * **pl:jenkins:dmg**
732
-
733
- Perform `package:apple` by posting a jenkins build. Run
734
- `pl:jenkins:retrieve` to retrieve the built packages.
735
-
736
- * **pl:jenkins:gem**
737
-
738
- Perform `package:gem` by posting a jenkins build. Run `pl:jenkins:retrieve`
739
- to retrieve the built packages.
740
-
741
- * **pl:jenkins:mock**
742
-
743
- Perform `pl:mock` by posting a jenkins build. Run `pl:jenkins:retrieve` to
744
- retrieve the built packages.
745
-
746
- * **pl:jenkins:mock_all**
747
-
748
- Perform what is effectively a `pl:mock_all` but in a different fashion.
749
- `pl:mock_all` performs mock builds in serial with every mock listed in
750
- ext/build_defaults.yaml. `pl:jenkins:mock_all` splits the mocks listed, and
751
- posts a separate `pl:jenkins:mock` job for every mock to the jenkins
752
- server, allowing jenkins to parallelize the building of packages for every
753
- mock configuration. The mock build root is randomized by the packaging
754
- repo, avoiding conflicts with existing builds of the same mock
755
- configuration. To retrieve built packages, call `pl:jenkins:retrieve`.
756
-
757
- * **pl:jenkins:post[uri]**
758
-
759
- Post to the jenkins server as specified in the team build_extras.yaml file,
760
- with the job uri specified.
761
-
762
- * **pl:jenkins:retrieve[target]**
763
-
764
- Retrieve packages stored on the distribution server that have been built
765
- from the current SHA/ref of HEAD of the project repository. Optionally pass
766
- [target] to override the default, which is to retrieve the contents of the
767
- "artifacts" subdirectory. Other targets are "repos" and "shipped".
768
-
769
- * **pl:jenkins:rpm_repo_configs**
770
-
771
- On the distribution server generate a listing of all yum rpm package
772
- repositories that exist for the current SHA/ref of HEAD of the project
773
- repository. Then generate yum client configuration files for every existing
774
- repository. The distribution server is a web server, so the client
775
- configurations can be placed on a redhat client in /etc/yum.repos.d/ and
776
- the client will be able to install the packages via yum install. Requires
777
- SSH access to the distribution server.
778
-
779
- * **pl:jenkins:rpm_repos**
780
-
781
- On the distribution server, generate yum rpm repositories for every
782
- distribution containing any packages that are stored that match the current
783
- SHA/ref of HEAD of the project repository. Requires SSH access to the
784
- distribution server. The yum repos are created in a "repos" subdirectory of
785
- the standard builds location, e.g.
786
- /opt/jenkins-builds/$project/${SHA|ref}/repos, using everything currently
787
- in the "artifacts" subdirectory of the same location.
788
-
789
- * **pl:jenkins:ship[target]**
790
-
791
- Take the packages staged in pkg/ and ship them to locations partially
792
- specified by data in the project build_extras.yaml file. The current
793
- paradigm is to ship the files to a subdirectory of /opt/jenkins-builds on
794
- the distribution server. The subdirectory is constructed with the project
795
- and SHA or ref of HEAD of the project repository. That is, if project HEAD
796
- is currently at the tag "1.2.3", then the directory that packages will be
797
- shipped to is /opt/jenkins-builds/$project/1.2.3/. If HEAD is a git SHA,
798
- then "1.2.3" will instead be that SHA. By default, all artifacts in pkg/
799
- will be shipped to a "artifacts" subdirectory of the standard target. E.g.
800
- /opt/jenkins-builds/$project/1.2.3/artifacts. When a final shipping occurs,
801
- e.g. when shipping signed artifacts into production, a second subdirectory
802
- is created - "shipped" - and all artifacts that are shipped to production
803
- are also shipped here. This allows a historical archive of all shipped
804
- artifacts.
805
-
806
- * **pl:jenkins:sign_all**
807
-
808
- Take all packages staged in pkg/ and sign them via the various signing
809
- tasks. All signing occurs on the distribution server:
810
- * create a git-bundle of the project and rsync it to the distribution
811
- * server ssh to the distribution server and clone the git-bundle, and clone
812
- * the packaging repository rsync the contents of the local pkg/ directory
813
- * into the pkg/ directory of the remote git project ssh to the distribution
814
- * server and execute the following rake tasks:
815
- - pl:sign_tar
816
- - pl:sign_rpms
817
- - pl:sign_deb_changes
818
- * rsync the remote pkg/ directory contents to the local pkg/ directory
819
-
820
- * **pl:jenkins:tar**
821
-
822
- Perform `package:tar` by posting a jenkins build. Run `pl:jenkins:retrieve` to
823
- retrieve the built packages.
824
-
825
- * **pl:jenkins:uber_build**
826
-
827
- Create a jenkins job on the fly that performs an aggregate of build tasks.
828
- These include all the debian builds using `pl:deb COW=<cow>`, rpm builds
829
- with `pl:mock MOCKS=<mock>`, `package:tar`, `package:apple`, and
830
- `package:gem` if applicable. See
831
- [jenkins-tasks](https://github.com/puppetlabs/packaging#jenkins-tasks)
832
- above for more detail.
833
-
834
- * **pl:jenkins:uber_ship**
835
-
836
- An aggregate of retrieval, signing, and shipping tasks. Execute
837
- `pl:jenkins:retrieve` to retrieve any packages on the distribution server
838
- that were built from the SHA/ref of HEAD. Then `pl:jenkins:sign_all` to
839
- sign all packages. Finally, `pl:uber_ship`, `pl:remote:freight`, and
840
- `pl:remote:update_yum_repo`. `pl:jenkins:uber_build` combined with
841
- `pl:jenkins:uber_ship` performs the entire build and release process for a
842
- project.
843
-
844
- * **pl:mock**
845
-
846
- Use `mock` to build an rpm package using the default mock distribution,
847
- Redhat Linux 5, i386. Requires that the `mock` package be installed. See
848
- the
849
- [puppetlabs-rpmbuilder](https://github.com/puppetlabs/puppetlabs-rpmbuilder)
850
- module for an easy way to set up a host for building with mock. Resulting
851
- rpm is staged in `./pkg/el/rpm/5/(products | devel)/(i386 | SRPMS)`. The
852
- placement into the "products" or "devel" subdirectories is determined by
853
- the name of the package. If the package has a Release Candidate version, it
854
- is placed in "devel". Otherwise it is placed in "products". A Release
855
- Candidate is determined by parsing the `git describe` string, and searching
856
- for `rc` after the version numbers.
857
-
858
- * **pl:mock_all**
859
-
860
- The same as `rake pl:mock`, but a package is built for every mock listed in
861
- `ext/build_defaults.yaml` on the line `mocks:<mocks>`. Packages are staged
862
- in `./pkg/(el | fedora)/$version/(products | devel)/(i386 | x86_64 |
863
- SRPMS)`. The subdirectories are dependent on the mock that is used. The
864
- task assumes that the mock configurations are the standard Puppet Labs mock
865
- configurations that are generated by the
866
- [puppetlabs-rpmbuilder](https://github.com/puppetlabs/puppetlabs-rpmbuilder)
867
- module.
868
-
869
- * **pl:print_build_params**
870
-
871
- Print all build parameters to STDOUT as they would be used in a package
872
- build. This prints data that is loaded from `ext/build_defaults.yaml` and
873
- `ext/project_data.yaml`, as well as whatever is overridden with environment
874
- variables. Useful for debugging problems with parameter values.
875
-
876
- * **pl:print_build_param[param]**
877
-
878
- Print a specific build parameter to STDOUT as it would be used in a package
879
- build. This prints data that is loaded from `ext/build_defaults.yaml` and
880
- `ext/project_data.yaml`, as well as whatever is overridden with environment
881
- variables. Useful for debugging problems with parameter values. param
882
- should be the name of the parameter as a symbol, e.g. :ref or :version
883
-
884
- * **pl:release_deb**
885
-
886
- A composite task of `package:tar`, `pl:deb_all`, `pl:sign_deb_changes`, and
887
- `pl:ship_debs`
888
-
889
- * **pl:release_dmg**
890
-
891
- A composite task of `package:apple`, and `pl:ship_dmg`
892
-
893
- * **pl:release_gem**
894
-
895
- A composite task of `package:gem`, and `pl:ship_gem`
896
-
897
- * **pl:release_ips**
898
-
899
- A composite task of `pl:ips`, and `pl:ship_ips`
900
-
901
- * **pl:release_rpm**
902
-
903
- A composite task of `pl:mock_all`, `pl:sign_rpms`, `pl:ship_rpms`, and
904
- `pl:remote:update_yum_repo`
905
-
906
- * **pl:release_tar**
907
-
908
- A composes task of `package:tar`, `pl:sign_tar`, and `pl:ship_tar`
909
-
910
- * **pl:remote:deb**
911
-
912
- As described above, this is a remote task, which means that the task is
913
- performed remotely on the debian build host as specified in team
914
- build_data.yaml retrieved from github.com/puppetlabs/build-data. This task
915
- performs a `pl:deb` remotely on the builder
916
-
917
- * **pl:remote:deb_all**
918
-
919
- Perform `pl:deb_all` on the remote debian build host as specified in the
920
- team build_data.yaml file
921
-
922
- * **pl:remote:dmg**
923
-
924
-
925
- Perform `package:apple` on the remote Mac build host as specified in the
926
- team build_data.yaml file
927
-
928
- * **pl:remote:freight**
929
-
930
- Performs an ssh call to the package server that calls a server-side rake
931
- task. The rake task takes the debian packages that have (presumably) been
932
- shipped via `pl:ship_debs` and invokes
933
- [freight](https://github.com/rcrowley/freight) with them, which places them
934
- in the apt repository.
935
-
936
- * **pl:remote:ips**
937
-
938
- Perform `pl:ips` on the remote IPS build host as specified in the team
939
- build_data.yaml file
940
-
941
- * **pl:remote:mock**
942
-
943
- Perform `pl:mock` on the remote RPM build host as specified in the team
944
- build_data.yaml file
945
-
946
- * **pl:remote:mock_all**
947
-
948
- Perform `pl:mock_all` on the remote RPM build host as specified in the team
949
- build_data.yaml file
950
-
951
- * **pl:remote:release_deb**
952
-
953
- Perform `pl:release_deb` on the remote debian build host. The caveat is
954
- that while performing a `pl:release:deb` locally will prompt you to confirm
955
- shipping the resulting debian packages, `pl:remote:release_deb` overrides
956
- this and just retrieves the packages, to be staged locally under pkg/deb.
957
-
958
- * **pl:remote:release_rpm**
959
-
960
- Perform `pl:release_rpm` on the remote RPM build host. The same caveat
961
- applies as for `pl:remote:release_deb` - Packages aren't shipped into
962
- production, but rather retrieved from the remote builder and staged locally
963
- under pkg/el and pkg/fedora.
964
-
965
- * **pl:remote:update_yum_repo**
966
-
967
- As with `pl:remote:freight`, this task performs an ssh call to the yum RPM
968
- package server, and invokes an existing server-side rake task. The task
969
- iterates through the `el` and `fedora` directories of the yum repository
970
- and re-creates package server metadata for rpms in the subdirectories.
971
-
972
- * **pl:ship_debs**
973
-
974
- Rsync pkg/deb/* to the "incoming" directory on the debian apt package
975
- repository server. Note: this task does not place the packages into
976
- production - it is more accurate to consider the packages "staged" on the
977
- repository server rather than actually shipped. The `pl:remote:freight`
978
- task takes the packages in the "incoming" directory and actually places
979
- them in the apt server.
980
-
981
- * **pl:ship_gem**
982
-
983
- Takes the built gem in pkg/ and pushes it to rubygems.com. This task assumes
984
- you have the appropriate rubygems.com access and config to push the gem.
985
-
986
- * **pl:ship_ips**
987
-
988
- Takes the IPS packages in pkg/ips/pkgs/ and rsyncs them to a holding
989
- directory on a package download server. This is not a true IPS server yet,
990
- but just a basic file server. Eventually the goal is to have a true IPS
991
- package repository running.
992
-
993
- * **pl:ship_rpms**
994
-
995
- Rsyncs the contents of pkg/el and pkg/fedora into the yum repository
996
- server. While these packages are available immediately for download by
997
- browsing the yum server directories directly, the yum repodata metadata has
998
- not been updated, and thus the packages are not available to yum clients.
999
- The `pl:remote:update_yum_repo` task updates the metadata, after which the
1000
- packages will be available to yum clients.
1001
-
1002
- * **pl:sign_rpms**
1003
-
1004
- Sign the rpms staged locally under pkg/ with the gpg key user ID (e.g.
1005
- email) specified in ext/build_defaults.yaml as `gpg_name`. This value can
1006
- be overridden by passing GPG_NAME as an environment variable to the rake
1007
- task.
1008
-
1009
- * **pl:sign_tar**
1010
-
1011
- Use gpg to create a detached signature of the tarball. By default this uses
1012
- the gpg_key value specified in ext/build_defaults.yaml in the project. This
1013
- can be overridden by passing GPG_KEY as an environment variable to the rake
1014
- task.
1015
-
1016
- * **pl:tag**
1017
-
1018
- Create a signed, annotated git tag of the current repository. Requires TAG
1019
- be passed as an environment variable to the rake task, which is the value
1020
- that will be used as both the tag message and the name of the tag. The gpg
1021
- key that is used for signing is assumed from gpg_key in
1022
- ext/build_defaults.yaml. This can be overridden by passing GPG_KEY as an
1023
- environment variable to the rake task.
1024
-
1025
- * **pl:uber_release**
1026
-
1027
- A composite task that performs the following tasks:
1028
- `package:gem` (if build_gem is "true" in build_defaults.yaml)
1029
- `pl:remote:release_deb`
1030
- `pl:remote:release_rpm`
1031
- `pl:remote:dmg` (if build_dmg is "true" in build_defaults.yaml)
1032
- `package:tar`
1033
- `pl:sign_tar`
1034
- `pl:uber_ship`
1035
- `pl:remote:freight`
1036
- `pl:remote:update_yum_repo`
1037
- This is essentially a complete build from start to finish. Gem and tarball
1038
- are generated locally, and other packages (deb, rpm, dmg) are all created
1039
- remotely. Assumes ssh access and appropriate build tool access on all
1040
- respective build hosts.
1041
-
1042
- * **pl:uber_ship**
1043
-
1044
- A composite task that performs the following tasks:
1045
- `pl:ship_gem`
1046
- `pl:ship_rpms`
1047
- `pl:ship_debs`
1048
- `pl:ship_dmgs`
1049
- `pl:ship_tar`
1050
- `pl:jenkins:ship`
1051
- This is essentially a "ship all the things" task, but it is important to
1052
- note that it does not update either yum or apt repo metadata on these
1053
- respective servers - this has to be done via `pl:remote:update_yum_repo`
1054
- and `pl:remote:freight`.
1055
-
1056
- * **pl:update_ips_repo**
1057
-
1058
- Take the packages in pkg/ips/pkg and rsync them to the IPS repository
1059
- server specified in the build_extras.yaml file. Via ssh commands, call
1060
- pkgrecv, pkgrepo, svcadm on the IPS repository server. Via ssh, restart the
1061
- IPS repository service.
1062
-
1063
- * **pl:write_build_params**
1064
-
1065
- Generate a yaml file with all the build properties that have been loaded
1066
- from build_defaults.yaml, project_data.yaml, (optionally)
1067
- build_extras.yaml(s) via `pl:fetch`, and any environment variables. This
1068
- file can be used by the packaging repo as a single source of truth for
1069
- build data via `pl:build_from_params`. By default it is written to a
1070
- temporary location and its location is printed to STDOUT. To override the
1071
- destination, pass OUTPUT_DIR as a environment variable to the task. By
1072
- default, the name of the file will be either the git tag, if HEAD of the
1073
- project repository is a tag, or the git sha of HEAD.
1074
-