puppet 3.0.0.rc5 → 3.0.0.rc7

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 (398) hide show
  1. data/LICENSE +1 -1
  2. data/README_DEVELOPER.md +209 -1
  3. data/README_HIERA.md +148 -0
  4. data/Rakefile +25 -27
  5. data/bin/extlookup2hiera +56 -0
  6. data/conf/auth.conf +34 -34
  7. data/examples/hiera/README.md +91 -0
  8. data/examples/hiera/etc/hiera.yaml +15 -0
  9. data/examples/hiera/etc/hieradb/common.yaml +3 -0
  10. data/examples/hiera/etc/hieradb/dc1.yaml +6 -0
  11. data/examples/hiera/etc/hieradb/development.yaml +2 -0
  12. data/examples/hiera/etc/puppet.conf +3 -0
  13. data/examples/hiera/modules/data/manifests/common.pp +3 -0
  14. data/examples/hiera/modules/ntp/manifests/config.pp +5 -0
  15. data/examples/hiera/modules/ntp/manifests/data.pp +3 -0
  16. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +3 -0
  17. data/examples/hiera/modules/users/manifests/common.pp +3 -0
  18. data/examples/hiera/modules/users/manifests/dc1.pp +3 -0
  19. data/examples/hiera/modules/users/manifests/development.pp +3 -0
  20. data/examples/hiera/site.pp +3 -0
  21. data/ext/build_defaults.yaml +23 -0
  22. data/ext/debian/README.Debian +8 -0
  23. data/ext/debian/README.source +2 -0
  24. data/ext/debian/TODO.Debian +1 -0
  25. data/ext/debian/changelog.erb +1104 -0
  26. data/ext/debian/compat +1 -0
  27. data/ext/debian/control +143 -0
  28. data/ext/debian/copyright +361 -0
  29. data/ext/debian/docs +1 -0
  30. data/ext/debian/fileserver.conf +17 -0
  31. data/ext/debian/puppet-common.dirs +8 -0
  32. data/ext/debian/puppet-common.install +4 -0
  33. data/ext/debian/puppet-common.lintian-overrides +5 -0
  34. data/ext/debian/puppet-common.manpages +2 -0
  35. data/ext/debian/puppet-common.postinst +35 -0
  36. data/ext/debian/puppet-common.postrm +32 -0
  37. data/ext/debian/puppet-el.dirs +1 -0
  38. data/ext/debian/puppet-el.emacsen-install +25 -0
  39. data/ext/debian/puppet-el.emacsen-remove +11 -0
  40. data/ext/debian/puppet-el.emacsen-startup +9 -0
  41. data/ext/debian/puppet-el.install +1 -0
  42. data/ext/debian/puppet-testsuite.install +2 -0
  43. data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
  44. data/ext/debian/puppet.conf +14 -0
  45. data/ext/debian/puppet.default +7 -0
  46. data/ext/debian/puppet.init +118 -0
  47. data/ext/debian/puppet.lintian-overrides +3 -0
  48. data/ext/debian/puppet.logrotate +11 -0
  49. data/ext/debian/puppet.manpages +32 -0
  50. data/ext/debian/puppet.postinst +20 -0
  51. data/ext/debian/puppet.postrm +20 -0
  52. data/ext/debian/puppet.preinst +20 -0
  53. data/ext/debian/puppetmaster-common.install +2 -0
  54. data/ext/debian/puppetmaster-common.manpages +2 -0
  55. data/ext/debian/puppetmaster-common.puppetqd.default +27 -0
  56. data/ext/debian/puppetmaster-common.puppetqd.init +84 -0
  57. data/ext/debian/puppetmaster-passenger.dirs +4 -0
  58. data/ext/debian/puppetmaster-passenger.postinst +66 -0
  59. data/ext/debian/puppetmaster-passenger.postrm +33 -0
  60. data/ext/debian/puppetmaster.README.debian +16 -0
  61. data/ext/debian/puppetmaster.default +38 -0
  62. data/ext/debian/puppetmaster.init +158 -0
  63. data/ext/debian/puppetmaster.lintian-overrides +3 -0
  64. data/ext/debian/puppetmaster.postinst +20 -0
  65. data/ext/debian/puppetmaster.postrm +5 -0
  66. data/ext/debian/puppetmaster.preinst +22 -0
  67. data/ext/debian/rules +128 -0
  68. data/ext/debian/source/format +1 -0
  69. data/ext/debian/source/options +1 -0
  70. data/ext/debian/vim-puppet.README.Debian +13 -0
  71. data/ext/debian/vim-puppet.dirs +3 -0
  72. data/ext/debian/vim-puppet.yaml +5 -0
  73. data/ext/debian/watch +2 -0
  74. data/ext/emacs/puppet-mode.el +1 -0
  75. data/ext/envpuppet +4 -0
  76. data/ext/envpuppet.bat +3 -2
  77. data/{conf → ext}/freebsd/puppetd +0 -0
  78. data/{conf → ext}/freebsd/puppetmasterd +0 -0
  79. data/{conf → ext}/gentoo/conf.d/puppet +0 -0
  80. data/{conf → ext}/gentoo/conf.d/puppetmaster +0 -0
  81. data/{conf → ext}/gentoo/init.d/puppet +0 -0
  82. data/{conf → ext}/gentoo/init.d/puppetmaster +0 -0
  83. data/{conf → ext}/gentoo/puppet/fileserver.conf +0 -0
  84. data/{conf → ext}/gentoo/puppet/puppet.conf +0 -0
  85. data/ext/ips/puppet-agent +49 -0
  86. data/ext/ips/puppet-master +44 -0
  87. data/ext/ips/puppet.conf +29 -0
  88. data/ext/ips/puppet.p5m.erb +12 -0
  89. data/ext/ips/puppetagent.xml +46 -0
  90. data/ext/ips/puppetmaster.xml +42 -0
  91. data/ext/ips/rules +19 -0
  92. data/ext/ips/transforms +34 -0
  93. data/{conf → ext}/osx/PackageInfo.plist +0 -0
  94. data/{conf → ext}/osx/createpackage.sh +1 -1
  95. data/ext/osx/file_mapping.yaml +33 -0
  96. data/ext/osx/preflight.erb +37 -0
  97. data/{tasks/rake/templates → ext/osx}/prototype.plist.erb +0 -0
  98. data/ext/packaging/README-Solaris.md +117 -0
  99. data/ext/packaging/README.md +89 -0
  100. data/ext/packaging/tasks/00_utils.rb +236 -0
  101. data/ext/packaging/tasks/10_setupvars.rake +62 -0
  102. data/ext/packaging/tasks/apple.rake +201 -0
  103. data/ext/packaging/tasks/clean.rake +5 -0
  104. data/ext/packaging/tasks/deb.rake +105 -0
  105. data/ext/packaging/tasks/gem.rake +52 -0
  106. data/ext/packaging/tasks/ips.rake +78 -0
  107. data/ext/packaging/tasks/mock.rake +88 -0
  108. data/ext/packaging/tasks/release.rake +20 -0
  109. data/ext/packaging/tasks/rpm.rake +39 -0
  110. data/ext/packaging/tasks/ship.rake +34 -0
  111. data/ext/packaging/tasks/sign.rake +76 -0
  112. data/ext/packaging/tasks/tar.rake +20 -0
  113. data/ext/project_data.yaml +25 -0
  114. data/ext/rack/files/apache2.conf +2 -1
  115. data/{conf → ext}/redhat/client.init +0 -0
  116. data/{conf → ext}/redhat/client.sysconfig +0 -0
  117. data/{conf → ext}/redhat/fileserver.conf +0 -0
  118. data/{conf → ext}/redhat/logrotate +0 -0
  119. data/{conf → ext}/redhat/puppet.conf +0 -0
  120. data/{conf/redhat/puppet.spec → ext/redhat/puppet.spec.erb} +140 -33
  121. data/{conf → ext}/redhat/queue.init +0 -0
  122. data/{conf → ext}/redhat/rundir-perms.patch +0 -0
  123. data/{conf → ext}/redhat/server.init +0 -0
  124. data/{conf → ext}/redhat/server.sysconfig +0 -0
  125. data/{conf → ext}/solaris/pkginfo +0 -0
  126. data/{conf → ext}/solaris/smf/puppetd.xml +0 -0
  127. data/{conf → ext}/solaris/smf/puppetmasterd.xml +0 -0
  128. data/{conf → ext}/solaris/smf/svc-puppetd +0 -0
  129. data/{conf → ext}/solaris/smf/svc-puppetmasterd +0 -0
  130. data/{conf → ext}/suse/client.init +0 -0
  131. data/{conf → ext}/suse/fileserver.conf +0 -0
  132. data/{conf → ext}/suse/logrotate +0 -0
  133. data/{conf → ext}/suse/puppet.conf +0 -0
  134. data/{conf → ext}/suse/puppet.spec +1 -1
  135. data/{conf → ext}/suse/server.init +0 -0
  136. data/ext/systemd/puppetagent.service +13 -0
  137. data/ext/systemd/puppetmaster.service +13 -0
  138. data/{conf → ext}/windows/eventlog/Rakefile +0 -0
  139. data/{conf → ext}/windows/eventlog/puppetres.dll +0 -0
  140. data/{conf → ext}/windows/eventlog/puppetres.mc +0 -0
  141. data/ext/windows/service/daemon.bat +6 -0
  142. data/ext/windows/service/daemon.rb +90 -0
  143. data/install.rb +22 -32
  144. data/lib/hiera/backend/puppet_backend.rb +102 -0
  145. data/lib/hiera/scope.rb +42 -0
  146. data/lib/hiera_puppet.rb +89 -0
  147. data/lib/puppet.rb +1 -1
  148. data/lib/puppet/agent.rb +2 -2
  149. data/lib/puppet/agent/locker.rb +12 -9
  150. data/lib/puppet/application.rb +10 -8
  151. data/lib/puppet/application/agent.rb +12 -8
  152. data/lib/puppet/application/apply.rb +2 -2
  153. data/lib/puppet/application/cert.rb +6 -6
  154. data/lib/puppet/application/certificate.rb +1 -4
  155. data/lib/puppet/application/describe.rb +1 -1
  156. data/lib/puppet/application/device.rb +5 -2
  157. data/lib/puppet/application/doc.rb +1 -1
  158. data/lib/puppet/application/face_base.rb +3 -13
  159. data/lib/puppet/application/filebucket.rb +1 -1
  160. data/lib/puppet/application/inspect.rb +1 -1
  161. data/lib/puppet/application/kick.rb +4 -2
  162. data/lib/puppet/application/master.rb +2 -2
  163. data/lib/puppet/application/queue.rb +3 -1
  164. data/lib/puppet/application/resource.rb +1 -1
  165. data/lib/puppet/configurer.rb +11 -7
  166. data/lib/puppet/configurer/downloader.rb +1 -4
  167. data/lib/puppet/daemon.rb +4 -4
  168. data/lib/puppet/defaults.rb +64 -60
  169. data/lib/puppet/external/dot.rb +1 -1
  170. data/lib/puppet/external/pson/common.rb +15 -0
  171. data/lib/puppet/external/pson/pure.rb +0 -62
  172. data/lib/puppet/external/pson/pure/generator.rb +1 -1
  173. data/lib/puppet/external/pson/pure/parser.rb +2 -2
  174. data/lib/puppet/face/ca.rb +19 -14
  175. data/lib/puppet/face/config.rb +2 -2
  176. data/lib/puppet/face/facts.rb +1 -1
  177. data/lib/puppet/face/help/action.erb +0 -1
  178. data/lib/puppet/face/help/face.erb +0 -1
  179. data/lib/puppet/face/help/man.erb +3 -6
  180. data/lib/puppet/face/module/install.rb +1 -1
  181. data/lib/puppet/face/module/list.rb +1 -1
  182. data/lib/puppet/face/module/uninstall.rb +1 -1
  183. data/lib/puppet/face/node.rb +1 -1
  184. data/lib/puppet/face/node/clean.rb +30 -25
  185. data/lib/puppet/feature/base.rb +0 -3
  186. data/lib/puppet/feature/rails.rb +2 -1
  187. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  188. data/lib/puppet/indirector/catalog/active_record.rb +5 -0
  189. data/lib/puppet/indirector/catalog/static_compiler.rb +2 -3
  190. data/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
  191. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
  192. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
  193. data/lib/puppet/indirector/face.rb +3 -3
  194. data/lib/puppet/indirector/facts/active_record.rb +5 -0
  195. data/lib/puppet/indirector/facts/facter.rb +1 -4
  196. data/lib/puppet/indirector/facts/inventory_active_record.rb +6 -0
  197. data/lib/puppet/indirector/file_bucket_file/file.rb +2 -1
  198. data/lib/puppet/indirector/indirection.rb +2 -2
  199. data/lib/puppet/indirector/key/disabled_ca.rb +22 -0
  200. data/lib/puppet/indirector/node/active_record.rb +5 -0
  201. data/lib/puppet/indirector/request.rb +4 -0
  202. data/lib/puppet/indirector/resource/active_record.rb +5 -0
  203. data/lib/puppet/network/authentication.rb +30 -0
  204. data/lib/puppet/network/http.rb +0 -13
  205. data/lib/puppet/network/http/connection.rb +10 -2
  206. data/lib/puppet/network/http/handler.rb +8 -0
  207. data/lib/puppet/network/http/mongrel/rest.rb +5 -0
  208. data/lib/puppet/network/http/rack/rest.rb +7 -0
  209. data/lib/puppet/network/http/webrick.rb +3 -6
  210. data/lib/puppet/network/http/webrick/rest.rb +4 -0
  211. data/lib/puppet/network/server.rb +9 -33
  212. data/lib/puppet/node.rb +1 -1
  213. data/lib/puppet/node/facts.rb +0 -1
  214. data/lib/puppet/parser/compiler.rb +1 -1
  215. data/lib/puppet/parser/functions.rb +12 -1
  216. data/lib/puppet/parser/functions/hiera.rb +8 -0
  217. data/lib/puppet/parser/functions/hiera_array.rb +8 -0
  218. data/lib/puppet/parser/functions/hiera_hash.rb +8 -0
  219. data/lib/puppet/parser/functions/hiera_include.rb +11 -0
  220. data/lib/puppet/parser/functions/shellquote.rb +21 -29
  221. data/lib/puppet/parser/lexer.rb +2 -1
  222. data/lib/puppet/parser/scope.rb +8 -0
  223. data/lib/puppet/provider/exec/windows.rb +1 -1
  224. data/lib/puppet/provider/group/groupadd.rb +2 -3
  225. data/lib/puppet/provider/package/pkg.rb +37 -10
  226. data/lib/puppet/provider/service/daemontools.rb +1 -1
  227. data/lib/puppet/provider/service/launchd.rb +1 -1
  228. data/lib/puppet/provider/service/redhat.rb +1 -1
  229. data/lib/puppet/provider/service/runit.rb +1 -1
  230. data/lib/puppet/provider/user/useradd.rb +8 -3
  231. data/lib/puppet/provider/user/windows_adsi.rb +11 -0
  232. data/lib/puppet/provider/zfs/zfs.rb +29 -2
  233. data/lib/puppet/provider/zone/solaris.rb +144 -39
  234. data/lib/puppet/provider/zpool/zpool.rb +7 -10
  235. data/lib/puppet/settings.rb +50 -86
  236. data/lib/puppet/settings/duration_setting.rb +34 -0
  237. data/lib/puppet/settings/terminus_setting.rb +16 -0
  238. data/lib/puppet/ssl/base.rb +49 -9
  239. data/lib/puppet/ssl/certificate.rb +13 -9
  240. data/lib/puppet/ssl/certificate_authority.rb +4 -0
  241. data/lib/puppet/ssl/certificate_authority/interface.rb +10 -17
  242. data/lib/puppet/ssl/certificate_factory.rb +4 -21
  243. data/lib/puppet/ssl/certificate_request.rb +1 -10
  244. data/lib/puppet/ssl/certificate_revocation_list.rb +1 -3
  245. data/lib/puppet/ssl/digest.rb +20 -0
  246. data/lib/puppet/ssl/host.rb +31 -6
  247. data/lib/puppet/test/test_helper.rb +1 -1
  248. data/lib/puppet/transaction/report.rb +2 -1
  249. data/lib/puppet/type.rb +1 -1
  250. data/lib/puppet/type/augeas.rb +1 -1
  251. data/lib/puppet/type/cron.rb +1 -1
  252. data/lib/puppet/type/exec.rb +7 -8
  253. data/lib/puppet/type/file.rb +1 -1
  254. data/lib/puppet/type/file/content.rb +2 -2
  255. data/lib/puppet/type/file/ensure.rb +1 -1
  256. data/lib/puppet/type/file/mode.rb +1 -1
  257. data/lib/puppet/type/file/selcontext.rb +6 -2
  258. data/lib/puppet/type/file/source.rb +1 -1
  259. data/lib/puppet/type/schedule.rb +1 -1
  260. data/lib/puppet/type/scheduled_task.rb +1 -1
  261. data/lib/puppet/type/tidy.rb +1 -1
  262. data/lib/puppet/type/zone.rb +126 -253
  263. data/lib/puppet/util.rb +10 -23
  264. data/lib/puppet/util/adsi.rb +22 -14
  265. data/lib/puppet/util/log/destinations.rb +7 -0
  266. data/lib/puppet/util/log/rate_limited_logger.rb +40 -0
  267. data/lib/puppet/util/metric.rb +2 -2
  268. data/lib/puppet/util/monkey_patches.rb +8 -0
  269. data/lib/puppet/util/platform.rb +7 -0
  270. data/lib/puppet/util/selinux.rb +31 -36
  271. data/lib/puppet/util/windows/error.rb +1 -1
  272. data/lib/puppet/util/windows/process.rb +3 -3
  273. data/lib/puppet/util/windows/security.rb +7 -7
  274. data/lib/puppet/util/windows/user.rb +65 -2
  275. data/lib/puppet/util/zaml.rb +90 -46
  276. data/lib/puppet/version.rb +1 -1
  277. data/spec/fixtures/hiera.yaml +9 -0
  278. data/spec/fixtures/manifests/site.pp +0 -0
  279. data/spec/integration/defaults_spec.rb +25 -11
  280. data/spec/integration/faces/ca_spec.rb +11 -16
  281. data/spec/integration/network/server/webrick_spec.rb +14 -27
  282. data/spec/integration/node_spec.rb +4 -1
  283. data/spec/integration/parser/functions/require_spec.rb +3 -3
  284. data/spec/integration/parser/undef_param_spec.rb +88 -0
  285. data/spec/integration/provider/mount_spec.rb +4 -1
  286. data/spec/integration/ssl/certificate_authority_spec.rb +18 -0
  287. data/spec/lib/puppet_spec/files.rb +3 -3
  288. data/spec/lib/puppet_spec/settings.rb +0 -1
  289. data/spec/shared_contexts/platform.rb +8 -0
  290. data/spec/spec_helper.rb +6 -0
  291. data/spec/unit/agent/locker_spec.rb +8 -2
  292. data/spec/unit/application/agent_spec.rb +29 -7
  293. data/spec/unit/application/apply_spec.rb +1 -1
  294. data/spec/unit/application/device_spec.rb +18 -1
  295. data/spec/unit/application/face_base_spec.rb +16 -2
  296. data/spec/unit/application/kick_spec.rb +8 -0
  297. data/spec/unit/application/queue_spec.rb +5 -0
  298. data/spec/unit/application_spec.rb +13 -23
  299. data/spec/unit/configurer/downloader_spec.rb +2 -11
  300. data/spec/unit/configurer_spec.rb +6 -0
  301. data/spec/unit/face/node_spec.rb +1 -1
  302. data/spec/unit/hiera/backend/puppet_backend_spec.rb +140 -0
  303. data/spec/unit/hiera/scope_spec.rb +62 -0
  304. data/spec/unit/hiera_puppet_spec.rb +111 -0
  305. data/spec/unit/indirector/catalog/active_record_spec.rb +4 -0
  306. data/spec/unit/indirector/catalog/static_compiler_spec.rb +194 -0
  307. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +33 -0
  308. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +33 -0
  309. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +33 -0
  310. data/spec/unit/indirector/facts/active_record_spec.rb +37 -26
  311. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +5 -0
  312. data/spec/unit/indirector/hiera_spec.rb +2 -1
  313. data/spec/unit/indirector/key/disabled_ca_spec.rb +33 -0
  314. data/spec/unit/indirector/node/active_record_spec.rb +7 -0
  315. data/spec/unit/indirector/request_spec.rb +22 -0
  316. data/spec/unit/indirector/resource/active_record_spec.rb +5 -0
  317. data/spec/unit/module_tool/application_spec.rb +1 -1
  318. data/spec/unit/network/authentication_spec.rb +86 -0
  319. data/spec/unit/network/http/connection_spec.rb +21 -0
  320. data/spec/unit/network/http/handler_spec.rb +12 -0
  321. data/spec/unit/network/http/rack/rest_spec.rb +7 -0
  322. data/spec/unit/network/http/webrick_spec.rb +11 -26
  323. data/spec/unit/network/server_spec.rb +79 -192
  324. data/spec/unit/node/facts_spec.rb +2 -2
  325. data/spec/unit/parser/ast/vardef_spec.rb +4 -4
  326. data/spec/unit/parser/files_spec.rb +3 -0
  327. data/spec/unit/parser/functions/defined_spec.rb +5 -5
  328. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -1
  329. data/spec/unit/parser/functions/hiera_array_spec.rb +23 -0
  330. data/spec/unit/parser/functions/hiera_hash_spec.rb +19 -0
  331. data/spec/unit/parser/functions/hiera_include_spec.rb +19 -0
  332. data/spec/unit/parser/functions/hiera_spec.rb +21 -0
  333. data/spec/unit/parser/functions/include_spec.rb +3 -3
  334. data/spec/unit/parser/functions/realize_spec.rb +3 -3
  335. data/spec/unit/parser/functions/require_spec.rb +5 -5
  336. data/spec/unit/parser/functions/shellquote_spec.rb +0 -4
  337. data/spec/unit/parser/functions_spec.rb +6 -10
  338. data/spec/unit/parser/lexer_spec.rb +13 -0
  339. data/spec/unit/parser/scope_spec.rb +16 -1
  340. data/spec/unit/provider/exec/posix_spec.rb +7 -6
  341. data/spec/unit/provider/group/groupadd_spec.rb +36 -30
  342. data/spec/unit/provider/package/pkg_spec.rb +16 -2
  343. data/spec/unit/provider/service/redhat_spec.rb +2 -2
  344. data/spec/unit/provider/sshkey/parsed_spec.rb +4 -0
  345. data/spec/unit/provider/user/user_role_add_spec.rb +125 -126
  346. data/spec/unit/provider/user/useradd_spec.rb +147 -118
  347. data/spec/unit/provider/user/windows_adsi_spec.rb +22 -0
  348. data/spec/unit/provider/zone/solaris_spec.rb +126 -7
  349. data/spec/unit/provider/zpool/zpool_spec.rb +4 -3
  350. data/spec/unit/puppet_spec.rb +7 -0
  351. data/spec/unit/settings/duration_setting_spec.rb +45 -0
  352. data/spec/unit/settings/terminus_setting_spec.rb +28 -0
  353. data/spec/unit/settings_spec.rb +21 -23
  354. data/spec/unit/ssl/base_spec.rb +68 -19
  355. data/spec/unit/ssl/certificate_authority/interface_spec.rb +19 -30
  356. data/spec/unit/ssl/certificate_authority_spec.rb +3 -2
  357. data/spec/unit/ssl/certificate_factory_spec.rb +15 -6
  358. data/spec/unit/ssl/certificate_request_spec.rb +80 -113
  359. data/spec/unit/ssl/certificate_revocation_list_spec.rb +1 -1
  360. data/spec/unit/ssl/certificate_spec.rb +26 -2
  361. data/spec/unit/ssl/digest_spec.rb +35 -0
  362. data/spec/unit/ssl/host_spec.rb +73 -27
  363. data/spec/unit/ssl/key_spec.rb +0 -4
  364. data/spec/unit/type/exec_spec.rb +1 -1
  365. data/spec/unit/type/file_spec.rb +2 -1
  366. data/spec/unit/type/scheduled_task_spec.rb +2 -2
  367. data/spec/unit/type/zone_spec.rb +52 -10
  368. data/spec/unit/util/adsi_spec.rb +19 -0
  369. data/spec/unit/util/checksums_spec.rb +2 -3
  370. data/spec/unit/util/execution_spec.rb +1 -1
  371. data/spec/unit/util/log/destinations_spec.rb +1 -0
  372. data/spec/unit/util/log/rate_limited_logger_spec.rb +51 -0
  373. data/spec/unit/util/logging_spec.rb +6 -6
  374. data/spec/unit/util/selinux_spec.rb +24 -32
  375. data/spec/unit/util/zaml_spec.rb +94 -6
  376. data/spec/unit/util_spec.rb +17 -0
  377. data/spec/watchr.rb +2 -6
  378. data/tasks/{rake/manpages.rake → manpages.rake} +0 -0
  379. data/tasks/{rake/parser.rake → parser.rake} +0 -0
  380. metadata +1003 -119
  381. data/CHANGELOG +0 -9233
  382. data/conf/osx/preflight +0 -24
  383. data/lib/puppet/network/http/mongrel.rb +0 -35
  384. data/lib/puppet/util/config_timeout.rb +0 -24
  385. data/spec/unit/network/http/mongrel/rest_spec.rb +0 -257
  386. data/spec/unit/network/http/mongrel_spec.rb +0 -91
  387. data/spec/unit/network/http_spec.rb +0 -31
  388. data/spec/unit/util/config_timeout_spec.rb +0 -57
  389. data/tasks/rake/apple.rake +0 -176
  390. data/tasks/rake/changelog.rake +0 -15
  391. data/tasks/rake/ci.rake +0 -22
  392. data/tasks/rake/dailybuild.rake +0 -9
  393. data/tasks/rake/gem.rake +0 -63
  394. data/tasks/rake/git_workflow.rake +0 -134
  395. data/tasks/rake/metrics.rake +0 -14
  396. data/tasks/rake/sign.rake +0 -14
  397. data/tasks/rake/testbranch.rake +0 -16
  398. data/tasks/rake/yard.rake +0 -11
@@ -0,0 +1 @@
1
+ 7
@@ -0,0 +1,143 @@
1
+ Source: puppet
2
+ Section: admin
3
+ Priority: optional
4
+ Maintainer: Puppet Labs <info@puppetlabs.com>
5
+ Uploaders: Micah Anderson <micah@debian.org>, Andrew Pollock <apollock@debian.org>, Nigel Kersten <nigel@explanatorygap.net>, Stig Sandbeck Mathisen <ssm@debian.org>
6
+ Build-Depends-Indep: ruby | ruby-interpreter, libopenssl-ruby, facter (>= 1.6.12)
7
+ Build-Depends: debhelper (>= 7.0.0), openssl
8
+ Standards-Version: 3.9.1
9
+ Vcs-Git: git://github.com/puppetlabs/puppet
10
+ Homepage: http://projects.puppetlabs.com/projects/puppet
11
+
12
+ Package: puppet-common
13
+ Architecture: all
14
+ Depends: ${misc:Depends}, ruby | ruby-interpreter, libxmlrpc-ruby, libopenssl-ruby, libshadow-ruby1.8 | ruby-shadow , libaugeas-ruby1.8 | libaugeas-ruby1.9, adduser, lsb-base, sysv-rc (>= 2.86) | file-rc, hiera (>= 1.0.0), facter (>= 1.6.12)
15
+ Recommends: lsb-release, debconf-utils
16
+ Suggests: libselinux-ruby1.8 | ruby-selinux, librrd-ruby1.8 | librrd-ruby1.9
17
+ Breaks: puppet (<< 2.6.0~rc2-1), puppetmaster (<< 0.25.4-1)
18
+ Provides: hiera-puppet
19
+ Conflicts: hiera-puppet
20
+ Replaces: hiera-puppet
21
+ Description: Centralized configuration management
22
+ Puppet lets you centrally manage every important aspect of your system
23
+ using a cross-platform specification language that manages all the
24
+ separate elements normally aggregated in different files, like users,
25
+ cron jobs, and hosts, along with obviously discrete elements like
26
+ packages, services, and files.
27
+ .
28
+ Puppet's simple declarative specification language provides powerful
29
+ classing abilities for drawing out the similarities between hosts while
30
+ allowing them to be as specific as necessary, and it handles dependency
31
+ and prerequisite relationships between objects clearly and explicitly.
32
+ .
33
+ This package contains the puppet software and documentation. For the startup
34
+ scripts needed to run the puppet agent and master, see the "puppet" and
35
+ "puppetmaster" packages, respectively.
36
+
37
+ Package: puppet
38
+ Architecture: all
39
+ Depends: ${misc:Depends}, puppet-common (= ${binary:Version}), ruby | ruby-interpreter
40
+ Recommends: rdoc
41
+ Suggests: puppet-el, vim-puppet
42
+ Description: Centralized configuration management - agent startup and compatibility scripts
43
+ This package contains the startup script and compatbility scripts for the
44
+ puppet agent, which is the process responsible for configuring the local node.
45
+ .
46
+ Puppet lets you centrally manage every important aspect of your system
47
+ using a cross-platform specification language that manages all the
48
+ separate elements normally aggregated in different files, like users,
49
+ cron jobs, and hosts, along with obviously discrete elements like
50
+ packages, services, and files.
51
+ .
52
+ Puppet's simple declarative specification language provides powerful
53
+ classing abilities for drawing out the similarities between hosts while
54
+ allowing them to be as specific as necessary, and it handles dependency
55
+ and prerequisite relationships between objects clearly and explicitly.
56
+
57
+ Package: puppetmaster-common
58
+ Architecture: all
59
+ Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${binary:Version}), facter (>= 1.6.12), lsb-base
60
+ Breaks: puppet (<< 0.24.7-1), puppetmaster (<< 2.6.1~rc2-1)
61
+ Replaces: puppetmaster (<< 2.6.1~rc2-1)
62
+ Suggests: apache2 | nginx, puppet-el, vim-puppet, stompserver, ruby-stomp | libstomp-ruby1.8,
63
+ rdoc, ruby-ldap | libldap-ruby1.8, puppetdb-terminus
64
+ Description: Puppet master common scripts
65
+ This package contains common scripts for the puppet master,
66
+ which is the server hosting manifests and files for the puppet nodes.
67
+ .
68
+ Puppet lets you centrally manage every important aspect of your system
69
+ using a cross-platform specification language that manages all the
70
+ separate elements normally aggregated in different files, like users,
71
+ cron jobs, and hosts, along with obviously discrete elements like
72
+ packages, services, and files.
73
+ .
74
+ Puppet's simple declarative specification language provides powerful
75
+ classing abilities for drawing out the similarities between hosts while
76
+ allowing them to be as specific as necessary, and it handles dependency
77
+ and prerequisite relationships between objects clearly and explicitly.
78
+
79
+ Package: puppetmaster
80
+ Architecture: all
81
+ Depends: ${misc:Depends}, ruby | ruby-interpreter, puppetmaster-common (= ${source:Version}), facter (>= 1.6.12), lsb-base
82
+ Breaks: puppet (<< 0.24.7-1)
83
+ Suggests: apache2 | nginx, puppet-el, vim-puppet, stompserver, libstomp-ruby1.8 | ruby-stomp,
84
+ rdoc, libldap-ruby1.8 | ruby-ldap, puppetdb-terminus
85
+ Description: Centralized configuration management - master startup and compatibility scripts
86
+ This package contains the startup and compatibility scripts for the puppet
87
+ master, which is the server hosting manifests and files for the puppet nodes.
88
+ .
89
+ Puppet lets you centrally manage every important aspect of your system
90
+ using a cross-platform specification language that manages all the
91
+ separate elements normally aggregated in different files, like users,
92
+ cron jobs, and hosts, along with obviously discrete elements like
93
+ packages, services, and files.
94
+ .
95
+ Puppet's simple declarative specification language provides powerful
96
+ classing abilities for drawing out the similarities between hosts while
97
+ allowing them to be as specific as necessary, and it handles dependency
98
+ and prerequisite relationships between objects clearly and explicitly.
99
+
100
+ Package: puppetmaster-passenger
101
+ Architecture: all
102
+ Depends: ${misc:Depends}, ruby | ruby-interpreter, puppetmaster-common (= ${source:Version}), facter (>= 1.6.12), lsb-base, libapache2-mod-passenger
103
+ Conflicts: puppetmaster (<< 2.6.1~rc2-1)
104
+ Replaces: puppetmaster (<< 2.6.1~rc2-1)
105
+ Description: Centralised configuration management - master setup to run under mod passenger
106
+ This package provides a puppetmaster running under mod passenger.
107
+ This configuration offers better performance and scalability.
108
+ .
109
+ Puppet lets you centrally manage every important aspect of your system
110
+ using a cross-platform specification language that manages all the
111
+ separate elements normally aggregated in different files, like users,
112
+ cron jobs, and hosts, along with obviously discrete elements like
113
+ packages, services, and files.
114
+ .
115
+ Puppet's simple declarative specification language provides powerful
116
+ classing abilities for drawing out the similarities between hosts while
117
+ allowing them to be as specific as necessary, and it handles dependency
118
+ and prerequisite relationships between objects clearly and explicitly.
119
+ .
120
+
121
+ Package: vim-puppet
122
+ Architecture: all
123
+ Depends: ${misc:Depends}
124
+ Recommends: vim-addon-manager
125
+ Conflicts: puppet (<< ${source:Version})
126
+ Description: syntax highlighting for puppet manifests in vim
127
+ The vim-puppet package provides filetype detection and syntax highlighting for
128
+ puppet manifests (files ending with ".pp").
129
+
130
+ Package: puppet-el
131
+ Architecture: all
132
+ Depends: ${misc:Depends}, emacsen-common
133
+ Conflicts: puppet (<< ${source:Version})
134
+ Description: syntax highlighting for puppet manifests in emacs
135
+ The puppet-el package provides syntax highlighting for puppet manifests
136
+
137
+ Package: puppet-testsuite
138
+ Architecture: all
139
+ Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${source:Version}), facter (>= 1.6.12), lsb-base, rails (>= 1.2.3-2), rdoc, libldap-ruby1.8 | ruby-ldap, librspec-ruby | ruby-rspec, git-core, libmocha-ruby1.8 | ruby-mocha
140
+ Recommends: cron
141
+ Description: Centralized configuration management - test suite
142
+ This package provides all the tests from the upstream puppet source code.
143
+ The tests are used for improving the QA of the puppet package.
@@ -0,0 +1,361 @@
1
+ Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
2
+ Name: Puppet
3
+ Maintainer:
4
+ Michael Stahnke <stahnma@puppetlabs.com>,
5
+ Andrew Pollock <apollock@debian.org>,
6
+ Micah Anderson <micah@debian.org>,
7
+ Nigel Kersten <nigel@explanatorygap.net>,
8
+ Stig Sandbeck Mathisen <ssm@debian.org>
9
+ Source: git://github.com/puppetlabs/puppet.git,
10
+ http://puppetlabs.com/trac/puppet/wiki/DownloadingPuppet
11
+
12
+ Copyright: 2005-2011 Puppet Labs, LLC
13
+ License: Apache 2.0
14
+
15
+ Files: debian/*
16
+ Copyright:
17
+ Andrew Pollock <apollock@debian.org>,
18
+ Jamie Wilkinson <jaq@debian.org>,
19
+ Matthew Palmer <mpalmer@debian.org>,
20
+ Micah Anderson <micah@debian.org>,
21
+ Nigel Kersten <nigel@explanatorygap.net>,
22
+ Stig Sandbeck Mathisen <ssm@debian.org>,
23
+ Thom May <thom@debian.org>
24
+ License: GPL-2, ASL 2.0
25
+
26
+ Files: install.rb
27
+ Copyright: Austin Ziegler <ruby-install@halostatue.ca>
28
+ License: GPL-2+
29
+
30
+ Files: conf/gentoo/init.d/puppet*
31
+ Copyright: Gentoo Foundation
32
+ License: GPL-2
33
+
34
+ Files: lib/puppet/util/rdoc/generators/template/puppet/puppet.rb
35
+ Copyright: The FaerieMUD Consortium.
36
+ License: CC-BY-1.0
37
+ This work is licensed under the Creative Commons Attribution License. To view
38
+ a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or
39
+ send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California
40
+ 94305, USA.
41
+
42
+ Files: conf/osx/createpackage.sh
43
+ Copyright: Google Inc.
44
+ License: Apache
45
+ Licensed under the Apache License, Version 2.0 (the "License");
46
+ you may not use this file except in compliance with the License.
47
+ You may obtain a copy of the License at
48
+ .
49
+ http://www.apache.org/licenses/LICENSE-2.0
50
+ .
51
+ Unless required by applicable law or agreed to in writing, software
52
+ distributed under the License is distributed on an "AS IS" BASIS,
53
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
54
+ See the License for the specific language governing permissions and
55
+ limitations under the License
56
+ .
57
+ On Debian systems, the full text of the Apache License can be found at
58
+ "/usr/share/common-licenses/Apache-2.0"
59
+
60
+ Files: lib/puppet/external/event-loop/*
61
+ Copyright: Daniel Brockman
62
+ License: GPL-2+
63
+
64
+ Files: lib/puppet/external/nagios/parser.rb
65
+ Copyright: Minero Aoki
66
+ License: other
67
+ This program is free software.
68
+ You can distribute/modify this program under the same terms of ruby.
69
+ .
70
+ As a special exception, when this code is copied by Racc
71
+ into a Racc output file, you may use that output file
72
+ without restriction.
73
+
74
+ Files: lib/puppet/network/http_server/mongrel.rb
75
+ Copyright: Manuel Holtgrewe, Luke Kanies
76
+ License: MIT
77
+ Permission is hereby granted, free of charge, to any person obtaining
78
+ a copy of this software and associated documentation files (the
79
+ "Software"), to deal in the Software without restriction, including
80
+ without limitation the rights to use, copy, modify, merge, publish,
81
+ distribute, sublicense, and/or sell copies of the Software, and to
82
+ permit persons to whom the Software is furnished to do so, subject to
83
+ the following conditions:
84
+ .
85
+ The above copyright notice and this permission notice shall be
86
+ included in all copies or substantial portions of the Software.
87
+ .
88
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
89
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
90
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
91
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
92
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
93
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
94
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
95
+ SOFTWARE.
96
+
97
+ Files: lib/puppet/provider/augeas/augeas.rb, lib/puppet/type/augeas.rb
98
+ Copyright: Red Hat Inc.
99
+ License: GPL-2+
100
+
101
+ Files: lib/puppet/provider/mcx/mcxcontent.rb
102
+ Copyright: Jeff McCune <jeff@northstarlabs.net>
103
+ License: GPL-2+
104
+
105
+ Files: lib/puppet/type/mcx.rb, spec/unit/type/mcx.rb
106
+ Copyright: Jeffrey J McCune.
107
+ License: GPL-2+
108
+
109
+ Files: lib/puppet/provider/nameservice/directoryservice.rb
110
+ Copyright: Jeff McCune
111
+ License: GPL-2
112
+
113
+ Files: lib/puppet/provider/package/pkgdmg.rb
114
+ Copyright: Jeff McCune Jeff McCune <jeff@northstarlabs.net>
115
+ License: GPL-2
116
+
117
+ Files: test/ral/providers/service/debian.rb
118
+ Copyright: David Schmitt
119
+ License: missing
120
+
121
+ Files: examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb
122
+ Copyright: David Schmitt <david@schmitt.edv-bus.at>
123
+ License: BSD
124
+ Redistribution and use in source and binary forms, with or without
125
+ modification, are permitted provided that the following conditions
126
+ are met:
127
+ 1. Redistributions of source code must retain the above copyright
128
+ notice, this list of conditions and the following disclaimer.
129
+ 2. Redistributions in binary form must reproduce the above copyright
130
+ notice, this list of conditions and the following disclaimer in the
131
+ documentation and/or other materials provided with the distribution.
132
+ 3. Neither the name of the Author nor the names of its contributors
133
+ may be used to endorse or promote products derived from this software
134
+ without specific prior written permission.
135
+ .
136
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
137
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
138
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
139
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
140
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
141
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
142
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
143
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
144
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
145
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
146
+ SUCH DAMAGE.
147
+
148
+ License: GPL-2
149
+ This program is free software; you can redistribute it and/or
150
+ modify it under the terms of the GNU General Public License
151
+ as published by the Free Software Foundation (version 2 of the License)
152
+ .
153
+ This program is distributed in the hope that it will be useful,
154
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
155
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
156
+ GNU General Public License for more details.
157
+ .
158
+ You should have received a copy of the GNU General Public License
159
+ along with this program; if not, write to the Free Software
160
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA
161
+ .
162
+ On Debian systems, the full text of the GNU General Public
163
+ License version 2 can be found in the file
164
+ "/usr/share/common-licenses/GPL-2".
165
+
166
+ License: GPL-2+
167
+ This program is free software; you can redistribute it
168
+ and/or modify it under the terms of the GNU General Public
169
+ License as published by the Free Software Foundation;
170
+ either version 2 of the License, or (at your option) any
171
+ later version.
172
+ .
173
+ This file is distributed in the hope that it will be useful,
174
+ but WITHOUT ANY WARRANTY; without even the implied warranty
175
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
176
+ See the GNU General Public License for more details.
177
+ .
178
+ You should have received a copy of the GNU General Public
179
+ License along with this program; if not, write to the Free
180
+ Software Foundation, 51 Franklin Street, Fifth Floor,
181
+ Boston, MA 02110-1301, USA.
182
+ .
183
+ On Debian systems, the full text of the GNU General Public
184
+ License version 2 can be found in the file
185
+ "/usr/share/common-licenses/GPL-2".
186
+
187
+ License: CC-BY-1.0
188
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
189
+ COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
190
+ COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
191
+ AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
192
+ .
193
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE
194
+ BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS
195
+ CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
196
+ CONDITIONS.
197
+ .
198
+ 1. Definitions
199
+ .
200
+ "Collective Work" means a work, such as a periodical issue, anthology or
201
+ encyclopedia, in which the Work in its entirety in unmodified form, along with
202
+ a number of other contributions, constituting separate and independent works in
203
+ themselves, are assembled into a collective whole. A work that constitutes a
204
+ Collective Work will not be considered a Derivative Work (as defined below) for
205
+ the purposes of this License. "Derivative Work" means a work based upon the
206
+ Work or upon the Work and other pre-existing works, such as a translation,
207
+ musical arrangement, dramatization, fictionalization, motion picture version,
208
+ sound recording, art reproduction, abridgment, condensation, or any other form
209
+ in which the Work may be recast, transformed, or adapted, except that a work
210
+ that constitutes a Collective Work will not be considered a Derivative Work for
211
+ the purpose of this License.
212
+ .
213
+ "Licensor" means the individual or entity that offers the Work under the terms
214
+ of this License. "Original Author" means the individual or entity who created
215
+ the Work.
216
+ .
217
+ "Work" means the copyrightable work of authorship offered under the terms of
218
+ this License. "You" means an individual or entity exercising rights under this
219
+ License who has not previously violated the terms of this License with respect
220
+ to the Work, or who has received express permission from the Licensor to
221
+ exercise rights under this License despite a previous violation.
222
+ .
223
+ 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or
224
+ restrict any rights arising from fair use, first sale or other limitations on
225
+ the exclusive rights of the copyright owner under copyright law or other
226
+ applicable laws.
227
+ .
228
+ 3. License Grant. Subject to the terms and conditions of this License, Licensor
229
+ hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the
230
+ duration of the applicable copyright) license to exercise the rights in the
231
+ Work as stated below:
232
+ .
233
+ a. to reproduce the Work, to incorporate the Work into one or more Collective
234
+ Works, and to reproduce the Work as incorporated in the Collective Works;
235
+ .
236
+ b. to create and reproduce Derivative Works;
237
+ .
238
+ c. to distribute copies or phonorecords of, display publicly, perform publicly,
239
+ and perform publicly by means of a digital audio transmission the Work
240
+ including as incorporated in Collective Works;
241
+ .
242
+ d. to distribute copies or phonorecords of, display publicly, perform publicly,
243
+ and perform publicly by means of a digital audio transmission Derivative Works;
244
+ .
245
+ The above rights may be exercised in all media and formats whether now known or
246
+ hereafter devised. The above rights include the right to make such
247
+ modifications as are technically necessary to exercise the rights in other
248
+ media and formats. All rights not expressly granted by Licensor are hereby
249
+ reserved.
250
+ .
251
+ 4. Restrictions.
252
+ .
253
+ The license granted in Section 3 above is expressly made subject to and limited
254
+ by the following restrictions:
255
+ .
256
+ a. You may distribute, publicly display, publicly perform, or publicly
257
+ digitally perform the Work only under the terms of this License, and You must
258
+ include a copy of, or the Uniform Resource Identifier for, this License with
259
+ every copy or phonorecord of the Work You distribute, publicly display,
260
+ publicly perform, or publicly digitally perform. You may not offer or impose
261
+ any terms on the Work that alter or restrict the terms of this License or the
262
+ recipients' exercise of the rights granted hereunder. You may not sublicense
263
+ the Work. You must keep intact all notices that refer to this License and to
264
+ the disclaimer of warranties. You may not distribute, publicly display,
265
+ publicly perform, or publicly digitally perform the Work with any technological
266
+ measures that control access or use of the Work in a manner inconsistent with
267
+ the terms of this License Agreement. The above applies to the Work as
268
+ incorporated in a Collective Work, but this does not require the Collective
269
+ Work apart from the Work itself to be made subject to the terms of this
270
+ License. If You create a Collective Work, upon notice from any Licensor You
271
+ must, to the extent practicable, remove from the Collective Work any reference
272
+ to such Licensor or the Original Author, as requested. If You create a
273
+ Derivative Work, upon notice from any Licensor You must, to the extent
274
+ practicable, remove from the Derivative Work any reference to such Licensor or
275
+ the Original Author, as requested.
276
+ .
277
+ b. If you distribute, publicly display, publicly perform, or publicly digitally
278
+ perform the Work or any Derivative Works or Collective Works, You must keep
279
+ intact all copyright notices for the Work and give the Original Author credit
280
+ reasonable to the medium or means You are utilizing by conveying the name (or
281
+ pseudonym if applicable) of the Original Author if supplied; the title of the
282
+ Work if supplied; in the case of a Derivative Work, a credit identifying the
283
+ use of the Work in the Derivative Work (e.g., "French translation of the Work
284
+ by Original Author," or "Screenplay based on original Work by Original
285
+ Author"). Such credit may be implemented in any reasonable manner; provided,
286
+ however, that in the case of a Derivative Work or Collective Work, at a minimum
287
+ such credit will appear where any other comparable authorship credit appears
288
+ and in a manner at least as prominent as such other comparable authorship
289
+ credit.
290
+ .
291
+ 5. Representations, Warranties and Disclaimer
292
+ .
293
+ a. By offering the Work for public release under this License, Licensor
294
+ represents and warrants that, to the best of Licensor's knowledge after
295
+ reasonable inquiry:
296
+ .
297
+ i. Licensor has secured all rights in the Work necessary to grant the license
298
+ rights hereunder and to permit the lawful exercise of the rights granted
299
+ hereunder without You having any obligation to pay any royalties, compulsory
300
+ license fees, residuals or any other payments;
301
+ .
302
+ ii. The Work does not infringe the copyright, trademark, publicity rights, common
303
+ law rights or any other right of any third party or constitute defamation,
304
+ invasion of privacy or other tortious injury to any third party.
305
+ .
306
+ b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR
307
+ REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT
308
+ WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
309
+ LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK.
310
+ .
311
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW,
312
+ AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM
313
+ BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO
314
+ YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR
315
+ EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF
316
+ LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
317
+ .
318
+ 7. Termination
319
+ .
320
+ a. This License and the rights granted hereunder will terminate automatically
321
+ upon any breach by You of the terms of this License. Individuals or entities
322
+ who have received Derivative Works or Collective Works from You under this
323
+ License, however, will not have their licenses terminated provided such
324
+ individuals or entities remain in full compliance with those licenses. Sections
325
+ 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
326
+ .
327
+ b. Subject to the above terms and conditions, the license granted here is
328
+ perpetual (for the duration of the applicable copyright in the Work).
329
+ Notwithstanding the above, Licensor reserves the right to release the Work
330
+ under different license terms or to stop distributing the Work at any time;
331
+ provided, however that any such election will not serve to withdraw this
332
+ License (or any other license that has been, or is required to be, granted
333
+ under the terms of this License), and this License will continue in full force
334
+ and effect unless terminated as stated above.
335
+ .
336
+ 8. Miscellaneous
337
+ .
338
+ Each time You distribute or publicly digitally perform the Work or a Collective
339
+ Work, the Licensor offers to the recipient a license to the Work on the same
340
+ terms and conditions as the license granted to You under this License.
341
+ .
342
+ Each time You distribute or publicly digitally perform a Derivative Work,
343
+ Licensor offers to the recipient a license to the original Work on the same
344
+ terms and conditions as the license granted to You under this License.
345
+ .
346
+ If any provision of this License is invalid or unenforceable under applicable
347
+ law, it shall not affect the validity or enforceability of the remainder of the
348
+ terms of this License, and without further action by the parties to this
349
+ agreement, such provision shall be reformed to the minimum extent necessary to
350
+ make such provision valid and enforceable.
351
+ .
352
+ No term or provision of this License shall be deemed waived and no breach
353
+ consented to unless such waiver or consent shall be in writing and signed by
354
+ the party to be charged with such waiver or consent.
355
+ .
356
+ This License constitutes the entire agreement between the parties with respect
357
+ to the Work licensed here. There are no understandings, agreements or
358
+ representations with respect to the Work not specified here. Licensor shall not
359
+ be bound by any additional provisions that may appear in any communication from
360
+ You. This License may not be modified without the mutual written agreement of
361
+ the Licensor and You.