veewee 0.3.0.alpha4 → 0.3.0.alpha5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (570) hide show
  1. data/.gitignore +3 -0
  2. data/.rvmrc +3 -2
  3. data/Gemfile +1 -1
  4. data/License +1 -1
  5. data/README.md +30 -174
  6. data/Rakefile +4 -2
  7. data/doc/README-changes.txt +19 -0
  8. data/doc/TODO +60 -0
  9. data/doc/definition.md +58 -0
  10. data/doc/fusion.md +2 -0
  11. data/doc/install.md +16 -0
  12. data/doc/installation.md +24 -0
  13. data/doc/kvm.md +2 -0
  14. data/doc/providers.md +23 -0
  15. data/doc/requirements.md +1 -0
  16. data/doc/running.md +83 -0
  17. data/doc/template.md +102 -0
  18. data/doc/vagrant.md +119 -0
  19. data/doc/vbox.md +2 -0
  20. data/lib/net/vnc/vnc.rb +1 -1
  21. data/lib/python/parallels_sdk_check.py +19 -0
  22. data/lib/python/parallels_send_key.py +73 -0
  23. data/lib/veewee/command.rb +2 -1
  24. data/lib/veewee/command/kvm.rb +55 -15
  25. data/lib/veewee/command/parallels.rb +124 -0
  26. data/lib/veewee/command/vagrant.rb +2 -106
  27. data/lib/veewee/command/vagrant/basebox.rb +82 -0
  28. data/lib/veewee/command/vagrant/build.rb +64 -0
  29. data/lib/veewee/command/vagrant/define.rb +48 -0
  30. data/lib/veewee/command/vagrant/destroy.rb +47 -0
  31. data/lib/veewee/command/vagrant/export.rb +44 -0
  32. data/lib/veewee/command/vagrant/halt.rb +43 -0
  33. data/lib/veewee/command/vagrant/list.rb +38 -0
  34. data/lib/veewee/command/vagrant/ostypes.rb +38 -0
  35. data/lib/veewee/command/vagrant/ssh.rb +39 -0
  36. data/lib/veewee/command/vagrant/templates.rb +39 -0
  37. data/lib/veewee/command/vagrant/undefine.rb +41 -0
  38. data/lib/veewee/command/vagrant/up.rb +44 -0
  39. data/lib/veewee/command/virtualbox.rb +61 -14
  40. data/lib/veewee/command/vmfusion.rb +44 -21
  41. data/lib/veewee/config.rb +0 -27
  42. data/lib/veewee/config/ostypes.yml +179 -43
  43. data/lib/veewee/config/vmfusion-ostypes.txt +1 -0
  44. data/lib/veewee/definition.rb +91 -35
  45. data/lib/veewee/definitions.rb +156 -0
  46. data/lib/veewee/environment.rb +80 -244
  47. data/lib/veewee/error.rb +12 -0
  48. data/lib/veewee/provider/core/box.rb +52 -0
  49. data/lib/veewee/provider/core/box/build.rb +229 -0
  50. data/lib/veewee/provider/core/box/exec.rb +34 -0
  51. data/lib/veewee/provider/core/box/floppy.rb +31 -0
  52. data/lib/veewee/provider/core/box/halt.rb +24 -0
  53. data/lib/veewee/provider/core/box/issh.rb +15 -0
  54. data/lib/veewee/provider/core/box/poweroff.rb +12 -0
  55. data/lib/veewee/provider/core/box/scp.rb +29 -0
  56. data/lib/veewee/provider/core/box/ssh.rb +95 -0
  57. data/lib/veewee/provider/core/box/sudo.rb +21 -0
  58. data/lib/veewee/{builder → provider}/core/box/vnc.rb +4 -4
  59. data/lib/veewee/provider/core/helper/iso.rb +142 -0
  60. data/lib/veewee/provider/core/helper/scancode.rb +114 -0
  61. data/lib/veewee/provider/core/helper/shell.rb +55 -0
  62. data/lib/veewee/provider/core/helper/ssh.rb +162 -0
  63. data/lib/veewee/provider/core/helper/tcp.rb +96 -0
  64. data/lib/veewee/provider/core/helper/web.rb +67 -0
  65. data/lib/veewee/{builder/core/builder.rb → provider/core/provider.rb} +8 -25
  66. data/lib/veewee/{builder/core/builder → provider/core/provider}/transaction.rb +0 -0
  67. data/lib/veewee/{builder/core/builder → provider/core/provider}/tunnel.rb +2 -2
  68. data/lib/veewee/provider/kvm/box.rb +46 -0
  69. data/lib/veewee/provider/kvm/box/build.rb +11 -0
  70. data/lib/veewee/provider/kvm/box/create.rb +76 -0
  71. data/lib/veewee/provider/kvm/box/destroy.rb +33 -0
  72. data/lib/veewee/provider/kvm/box/halt.rb +19 -0
  73. data/lib/veewee/provider/kvm/box/helper/console_type.rb +20 -0
  74. data/lib/veewee/provider/kvm/box/helper/ip.rb +14 -0
  75. data/lib/veewee/provider/kvm/box/helper/ssh_options.rb +19 -0
  76. data/lib/veewee/provider/kvm/box/helper/status.rb +28 -0
  77. data/lib/veewee/provider/kvm/box/poweroff.rb +14 -0
  78. data/lib/veewee/provider/kvm/box/up.rb +14 -0
  79. data/lib/veewee/provider/kvm/box/validate_kvm.rb +47 -0
  80. data/lib/veewee/provider/kvm/provider.rb +70 -0
  81. data/lib/veewee/provider/parallels/box.rb +35 -0
  82. data/lib/veewee/provider/parallels/box/build.rb +13 -0
  83. data/lib/veewee/provider/parallels/box/create.rb +63 -0
  84. data/lib/veewee/provider/parallels/box/destroy.rb +24 -0
  85. data/lib/veewee/provider/parallels/box/halt.rb +14 -0
  86. data/lib/veewee/provider/parallels/box/helper/buildinfo.rb +45 -0
  87. data/lib/veewee/provider/parallels/box/helper/console_type.rb +198 -0
  88. data/lib/veewee/provider/parallels/box/helper/ip.rb +23 -0
  89. data/lib/veewee/provider/parallels/box/helper/ssh_options.rb +20 -0
  90. data/lib/veewee/provider/parallels/box/helper/status.rb +28 -0
  91. data/lib/veewee/provider/parallels/box/poweroff.rb +14 -0
  92. data/lib/veewee/provider/parallels/box/ssh.rb +12 -0
  93. data/lib/veewee/provider/parallels/box/up.rb +15 -0
  94. data/lib/veewee/provider/parallels/box/validate_parallels.rb +47 -0
  95. data/lib/veewee/provider/parallels/notes/parallels-sdk.txt +116 -0
  96. data/lib/veewee/provider/parallels/provider.rb +33 -0
  97. data/lib/veewee/provider/virtualbox/box.rb +46 -0
  98. data/lib/veewee/provider/virtualbox/box/build.rb +20 -0
  99. data/lib/veewee/provider/virtualbox/box/create.rb +58 -0
  100. data/lib/veewee/provider/virtualbox/box/destroy.rb +66 -0
  101. data/lib/veewee/provider/virtualbox/box/export_vagrant.rb +99 -0
  102. data/lib/veewee/provider/virtualbox/box/halt.rb +13 -0
  103. data/lib/veewee/provider/virtualbox/box/helper/buildinfo.rb +25 -0
  104. data/lib/veewee/provider/virtualbox/box/helper/console_type.rb +62 -0
  105. data/lib/veewee/provider/virtualbox/box/helper/create.rb +176 -0
  106. data/lib/veewee/provider/virtualbox/box/helper/forwarding.rb +38 -0
  107. data/lib/veewee/provider/virtualbox/box/helper/guest_additions.rb +17 -0
  108. data/lib/veewee/provider/virtualbox/box/helper/ip.rb +19 -0
  109. data/lib/veewee/provider/virtualbox/box/helper/natinterface.rb +17 -0
  110. data/lib/veewee/provider/virtualbox/box/helper/ssh_options.rb +28 -0
  111. data/lib/veewee/provider/virtualbox/box/helper/status.rb +27 -0
  112. data/lib/veewee/provider/virtualbox/box/helper/version.rb +18 -0
  113. data/lib/veewee/provider/virtualbox/box/poweroff.rb +19 -0
  114. data/lib/veewee/provider/virtualbox/box/ssh.rb +13 -0
  115. data/lib/veewee/provider/virtualbox/box/up.rb +48 -0
  116. data/lib/veewee/provider/virtualbox/box/validate_vagrant.rb +53 -0
  117. data/lib/veewee/provider/virtualbox/provider.rb +19 -0
  118. data/lib/veewee/provider/vmfusion/box.rb +67 -0
  119. data/lib/veewee/provider/vmfusion/box/build.rb +13 -0
  120. data/lib/veewee/{builder/vmfusion/helper → provider/vmfusion/box}/create.rb +15 -24
  121. data/lib/veewee/provider/vmfusion/box/destroy.rb +20 -0
  122. data/lib/veewee/provider/vmfusion/box/export_ova.rb +49 -0
  123. data/lib/veewee/provider/vmfusion/box/halt.rb +13 -0
  124. data/lib/veewee/provider/vmfusion/box/helper/buildinfo.rb +43 -0
  125. data/lib/veewee/provider/vmfusion/box/helper/console_type.rb +18 -0
  126. data/lib/veewee/provider/vmfusion/box/helper/ip.rb +19 -0
  127. data/lib/veewee/provider/vmfusion/box/helper/ssh_options.rb +20 -0
  128. data/lib/veewee/provider/vmfusion/box/helper/status.rb +20 -0
  129. data/lib/veewee/provider/vmfusion/box/helper/vnc.rb +61 -0
  130. data/lib/veewee/provider/vmfusion/box/poweroff.rb +13 -0
  131. data/lib/veewee/provider/vmfusion/box/ssh.rb +12 -0
  132. data/lib/veewee/{builder/vmfusion/helper → provider/vmfusion/box}/template.rb +9 -4
  133. data/lib/veewee/{builder/vmfusion/helper → provider/vmfusion/box}/template.vmx.erb +5 -2
  134. data/lib/veewee/provider/vmfusion/box/up.rb +18 -0
  135. data/lib/veewee/provider/vmfusion/box/validate_vmfusion.rb +47 -0
  136. data/lib/veewee/{builder → provider}/vmfusion/info/export_ovf.info +0 -0
  137. data/lib/veewee/provider/vmfusion/provider.rb +20 -0
  138. data/lib/veewee/providers.rb +31 -0
  139. data/lib/veewee/template.rb +26 -0
  140. data/lib/veewee/templates.rb +71 -0
  141. data/lib/veewee/ui.rb +6 -4
  142. data/lib/veewee/version.rb +1 -1
  143. data/templates/CentOS-4.8-i386/postinstall.sh +1 -1
  144. data/templates/CentOS-5.5-i386-netboot/definition.rb +16 -0
  145. data/templates/CentOS-5.5-i386-netboot/ks.cfg +46 -0
  146. data/templates/CentOS-5.5-i386-netboot/postinstall.sh +60 -0
  147. data/templates/CentOS-5.5-x86_64-netboot/definition.rb +1 -1
  148. data/templates/CentOS-5.5-x86_64-netboot/postinstall.sh +1 -1
  149. data/templates/CentOS-5.6-i386-netboot/definition.rb +1 -1
  150. data/templates/CentOS-5.6-i386-netboot/ks.cfg +2 -2
  151. data/templates/CentOS-5.6-i386-netboot/postinstall.sh +21 -9
  152. data/templates/CentOS-5.6-i386/postinstall.sh +1 -1
  153. data/templates/CentOS-5.6-x86_64-netboot/definition.rb +1 -1
  154. data/templates/CentOS-5.6-x86_64-netboot/ks.cfg +1 -1
  155. data/templates/CentOS-5.6-x86_64-netboot/postinstall.sh +1 -1
  156. data/templates/CentOS-5.7-i386-netboot/postinstall.sh +3 -3
  157. data/templates/CentOS-5.7-x86_64-netboot/postinstall.sh +1 -1
  158. data/templates/CentOS-6.0-i386-netboot/ks.cfg +3 -2
  159. data/templates/CentOS-6.0-i386-netboot/postinstall.sh +1 -1
  160. data/templates/CentOS-6.0-i386/ks.cfg +2 -1
  161. data/templates/CentOS-6.0-i386/postinstall.sh +1 -1
  162. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +2 -2
  163. data/templates/CentOS-6.0-x86_64-minimal/ks.cfg +2 -1
  164. data/templates/CentOS-6.0-x86_64-minimal/postinstall.sh +17 -4
  165. data/templates/CentOS-6.0-x86_64-netboot/ks.cfg +4 -2
  166. data/templates/CentOS-6.0-x86_64-netboot/postinstall.sh +1 -1
  167. data/templates/CentOS-6.0-x86_64/base.sh +12 -0
  168. data/templates/CentOS-6.0-x86_64/chef.sh +2 -0
  169. data/templates/CentOS-6.0-x86_64/cleanup.sh +4 -0
  170. data/templates/CentOS-6.0-x86_64/definition.rb +22 -8
  171. data/templates/CentOS-6.0-x86_64/ks.cfg +2 -1
  172. data/templates/CentOS-6.0-x86_64/postinstall.sh +1 -1
  173. data/templates/CentOS-6.0-x86_64/puppet.sh +11 -0
  174. data/templates/CentOS-6.0-x86_64/ruby.sh +2 -0
  175. data/templates/CentOS-6.0-x86_64/vagrant.sh +9 -0
  176. data/templates/CentOS-6.0-x86_64/virtualbox.sh +8 -0
  177. data/templates/CentOS-6.1-x86_64-minimal/base.sh +13 -0
  178. data/templates/CentOS-6.1-x86_64-minimal/chef.sh +2 -0
  179. data/templates/CentOS-6.1-x86_64-minimal/cleanup.sh +4 -0
  180. data/templates/CentOS-6.1-x86_64-minimal/definition.rb +39 -0
  181. data/templates/CentOS-6.1-x86_64-minimal/ks.cfg +47 -0
  182. data/templates/CentOS-6.1-x86_64-minimal/puppet.sh +11 -0
  183. data/templates/CentOS-6.1-x86_64-minimal/ruby.sh +2 -0
  184. data/templates/CentOS-6.1-x86_64-minimal/vagrant.sh +16 -0
  185. data/templates/CentOS-6.1-x86_64-minimal/virtualbox.sh +8 -0
  186. data/templates/CentOS-6.1-x86_64-netboot/base.sh +13 -0
  187. data/templates/CentOS-6.1-x86_64-netboot/chef.sh +2 -0
  188. data/templates/CentOS-6.1-x86_64-netboot/cleanup.sh +4 -0
  189. data/templates/CentOS-6.1-x86_64-netboot/definition.rb +39 -0
  190. data/templates/CentOS-6.1-x86_64-netboot/ks.cfg +46 -0
  191. data/templates/CentOS-6.1-x86_64-netboot/postinstall.sh +48 -0
  192. data/templates/CentOS-6.1-x86_64-netboot/puppet.sh +11 -0
  193. data/templates/CentOS-6.1-x86_64-netboot/ruby.sh +2 -0
  194. data/templates/CentOS-6.1-x86_64-netboot/vagrant.sh +16 -0
  195. data/templates/CentOS-6.1-x86_64-netboot/virtualbox.sh +8 -0
  196. data/templates/CentOS-6.2-x86_64-minimal/base.sh +14 -0
  197. data/templates/CentOS-6.2-x86_64-minimal/chef.sh +3 -0
  198. data/templates/CentOS-6.2-x86_64-minimal/cleanup.sh +5 -0
  199. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +39 -0
  200. data/templates/CentOS-6.2-x86_64-minimal/ks.cfg +39 -0
  201. data/templates/CentOS-6.2-x86_64-minimal/puppet.sh +12 -0
  202. data/templates/CentOS-6.2-x86_64-minimal/ruby.sh +3 -0
  203. data/templates/CentOS-6.2-x86_64-minimal/vagrant.sh +17 -0
  204. data/templates/CentOS-6.2-x86_64-minimal/virtualbox.sh +8 -0
  205. data/templates/CentOS-6.2-x86_64-netboot/base.sh +13 -0
  206. data/templates/CentOS-6.2-x86_64-netboot/chef.sh +2 -0
  207. data/templates/CentOS-6.2-x86_64-netboot/cleanup.sh +4 -0
  208. data/templates/CentOS-6.2-x86_64-netboot/definition.rb +39 -0
  209. data/templates/CentOS-6.2-x86_64-netboot/ks.cfg +46 -0
  210. data/templates/CentOS-6.2-x86_64-netboot/postinstall.sh +48 -0
  211. data/templates/CentOS-6.2-x86_64-netboot/puppet.sh +11 -0
  212. data/templates/CentOS-6.2-x86_64-netboot/ruby.sh +2 -0
  213. data/templates/CentOS-6.2-x86_64-netboot/vagrant.sh +16 -0
  214. data/templates/CentOS-6.2-x86_64-netboot/virtualbox.sh +8 -0
  215. data/templates/Debian-5.0.8-amd64-netboot/base.sh +9 -0
  216. data/templates/Debian-5.0.8-amd64-netboot/chef.sh +2 -0
  217. data/templates/Debian-5.0.8-amd64-netboot/cleanup.sh +10 -0
  218. data/templates/Debian-5.0.8-amd64-netboot/postinstall.sh +1 -1
  219. data/templates/Debian-5.0.8-amd64-netboot/puppet.sh +2 -0
  220. data/templates/Debian-5.0.8-amd64-netboot/ruby.sh +11 -0
  221. data/templates/Debian-5.0.8-amd64-netboot/vagrant.sh +14 -0
  222. data/templates/Debian-5.0.8-amd64-netboot/virtualbox.sh +15 -0
  223. data/templates/Debian-5.0.8-i386-netboot/base.sh +9 -0
  224. data/templates/Debian-5.0.8-i386-netboot/chef.sh +2 -0
  225. data/templates/Debian-5.0.8-i386-netboot/cleanup.sh +10 -0
  226. data/templates/Debian-5.0.8-i386-netboot/postinstall.sh +1 -1
  227. data/templates/Debian-5.0.8-i386-netboot/puppet.sh +2 -0
  228. data/templates/Debian-5.0.8-i386-netboot/ruby.sh +11 -0
  229. data/templates/Debian-5.0.8-i386-netboot/vagrant.sh +14 -0
  230. data/templates/Debian-5.0.8-i386-netboot/virtualbox.sh +15 -0
  231. data/templates/Debian-6.0.3-amd64-netboot/base.sh +13 -0
  232. data/templates/Debian-6.0.3-amd64-netboot/chef.sh +2 -0
  233. data/templates/Debian-6.0.3-amd64-netboot/cleanup-virtualbox.sh +2 -0
  234. data/templates/Debian-6.0.3-amd64-netboot/cleanup.sh +18 -0
  235. data/templates/{Debian-6.0.2-amd64-netboot → Debian-6.0.3-amd64-netboot}/definition.rb +5 -4
  236. data/templates/Debian-6.0.3-amd64-netboot/postinstall.sh +80 -0
  237. data/templates/{Debian-6.0.2-amd64-netboot → Debian-6.0.3-amd64-netboot}/preseed.cfg +0 -0
  238. data/templates/Debian-6.0.3-amd64-netboot/puppet.sh +2 -0
  239. data/templates/Debian-6.0.3-amd64-netboot/ruby.sh +10 -0
  240. data/templates/Debian-6.0.3-amd64-netboot/vagrant.sh +25 -0
  241. data/templates/Debian-6.0.3-amd64-netboot/virtualbox.sh +15 -0
  242. data/templates/Debian-6.0.3-amd64-netboot/zerodisk.sh +3 -0
  243. data/templates/Debian-6.0.3-i386-netboot/base.sh +13 -0
  244. data/templates/Debian-6.0.3-i386-netboot/chef.sh +2 -0
  245. data/templates/Debian-6.0.3-i386-netboot/cleanup-virtualbox.sh +2 -0
  246. data/templates/Debian-6.0.3-i386-netboot/cleanup.sh +18 -0
  247. data/templates/{Debian-6.0.2-i386-netboot → Debian-6.0.3-i386-netboot}/definition.rb +3 -3
  248. data/templates/{Debian-6.0.2-i386-netboot → Debian-6.0.3-i386-netboot}/postinstall.sh +1 -4
  249. data/templates/{Debian-6.0.2-i386-netboot → Debian-6.0.3-i386-netboot}/preseed.cfg +0 -0
  250. data/templates/Debian-6.0.3-i386-netboot/puppet.sh +2 -0
  251. data/templates/Debian-6.0.3-i386-netboot/ruby.sh +10 -0
  252. data/templates/Debian-6.0.3-i386-netboot/vagrant.sh +25 -0
  253. data/templates/Debian-6.0.3-i386-netboot/virtualbox.sh +15 -0
  254. data/templates/Debian-6.0.3-i386-netboot/zerodisk.sh +3 -0
  255. data/templates/Debian-6.0.4-amd64-netboot/base.sh +13 -0
  256. data/templates/Debian-6.0.4-amd64-netboot/chef.sh +2 -0
  257. data/templates/Debian-6.0.4-amd64-netboot/cleanup-virtualbox.sh +4 -0
  258. data/templates/Debian-6.0.4-amd64-netboot/cleanup.sh +17 -0
  259. data/templates/Debian-6.0.4-amd64-netboot/definition.rb +49 -0
  260. data/templates/Debian-6.0.4-amd64-netboot/preseed.cfg +315 -0
  261. data/templates/Debian-6.0.4-amd64-netboot/puppet.sh +2 -0
  262. data/templates/Debian-6.0.4-amd64-netboot/ruby.sh +10 -0
  263. data/templates/Debian-6.0.4-amd64-netboot/vagrant.sh +21 -0
  264. data/templates/Debian-6.0.4-amd64-netboot/virtualbox.sh +13 -0
  265. data/templates/Debian-6.0.4-amd64-netboot/zerodisk.sh +3 -0
  266. data/templates/Debian-6.0.4-i386-netboot/base.sh +13 -0
  267. data/templates/Debian-6.0.4-i386-netboot/chef.sh +2 -0
  268. data/templates/Debian-6.0.4-i386-netboot/cleanup-virtualbox.sh +4 -0
  269. data/templates/Debian-6.0.4-i386-netboot/cleanup.sh +17 -0
  270. data/templates/Debian-6.0.4-i386-netboot/definition.rb +51 -0
  271. data/templates/Debian-6.0.4-i386-netboot/preseed.cfg +315 -0
  272. data/templates/Debian-6.0.4-i386-netboot/puppet.sh +2 -0
  273. data/templates/Debian-6.0.4-i386-netboot/ruby.sh +10 -0
  274. data/templates/Debian-6.0.4-i386-netboot/vagrant.sh +21 -0
  275. data/templates/Debian-6.0.4-i386-netboot/virtualbox.sh +13 -0
  276. data/templates/Debian-6.0.4-i386-netboot/zerodisk.sh +3 -0
  277. data/templates/Fedora-14-amd64-netboot/postinstall.sh +1 -1
  278. data/templates/Fedora-14-amd64/postinstall.sh +1 -1
  279. data/templates/Fedora-14-i386-netboot/postinstall.sh +1 -1
  280. data/templates/Fedora-14-i386/postinstall.sh +1 -1
  281. data/templates/Fedora-15-x86_64-netboot/definition.rb +29 -0
  282. data/templates/Fedora-15-x86_64-netboot/ks.cfg +64 -0
  283. data/templates/Fedora-15-x86_64-netboot/postinstall.sh +33 -0
  284. data/templates/Fedora-16-i386/definition.rb +17 -0
  285. data/templates/Fedora-16-i386/ks.cfg +72 -0
  286. data/templates/Fedora-16-i386/postinstall.sh +35 -0
  287. data/templates/Fedora-16-x86_64/definition.rb +17 -0
  288. data/templates/Fedora-16-x86_64/ks.cfg +72 -0
  289. data/templates/Fedora-16-x86_64/postinstall.sh +35 -0
  290. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_de.xml +1127 -0
  291. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_en.xml +1127 -0
  292. data/templates/SLES-11-SP1-DVD-i586-GM/definition.rb +37 -0
  293. data/templates/SLES-11-SP1-DVD-i586-GM/postinstall.sh +43 -0
  294. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_de.xml +1171 -0
  295. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_en.xml +1171 -0
  296. data/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb +37 -0
  297. data/templates/SLES-11-SP1-DVD-x86_64-GM/postinstall.sh +43 -0
  298. data/templates/archlinux-i386-netboot/aif.cfg +8 -14
  299. data/templates/archlinux-i386-netboot/definition.rb +4 -7
  300. data/templates/archlinux-i386-netboot/postinstall.sh +5 -17
  301. data/templates/archlinux-i386-netboot/postinstall2.sh +3 -1
  302. data/templates/archlinux-i386/postinstall.sh +1 -1
  303. data/templates/archlinux-x86_64-netboot/aif.cfg +8 -14
  304. data/templates/archlinux-x86_64-netboot/definition.rb +4 -7
  305. data/templates/archlinux-x86_64-netboot/postinstall.sh +1 -16
  306. data/templates/archlinux-x86_64-netboot/postinstall2.sh +3 -1
  307. data/templates/archlinux-x86_64/postinstall.sh +1 -1
  308. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +5 -3
  309. data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +1 -1
  310. data/templates/freebsd-8.2-pcbsd-i386/definition.rb +3 -2
  311. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +1 -1
  312. data/templates/funtoo-latest-generic_64-stable/definition.rb +34 -0
  313. data/templates/funtoo-latest-generic_64-stable/postinstall.sh +177 -0
  314. data/templates/funtoo-latest-generic_64-stable/postinstall2.sh +83 -0
  315. data/templates/gentoo-latest-i386-experimental/definition.rb +6 -6
  316. data/templates/gentoo-latest-i386-experimental/postinstall.sh +1 -1
  317. data/templates/gentoo-latest-x86_64-experimental/definition.rb +34 -0
  318. data/templates/gentoo-latest-x86_64-experimental/postinstall.sh +214 -0
  319. data/templates/openSUSE-11.4-DVD-i586/postinstall.sh +6 -1
  320. data/templates/openSUSE-11.4-DVD-x86_64/postinstall.sh +6 -1
  321. data/templates/openSUSE-11.4-NET-i586/postinstall.sh +6 -1
  322. data/templates/openSUSE-11.4-NET-x86_64/postinstall.sh +6 -1
  323. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml +1483 -0
  324. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml +1483 -0
  325. data/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +44 -0
  326. data/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh +48 -0
  327. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml +1727 -0
  328. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml +1727 -0
  329. data/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +44 -0
  330. data/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh +48 -0
  331. data/templates/openbsd50_amd64/README +28 -0
  332. data/templates/openbsd50_amd64/definition.rb +84 -0
  333. data/templates/openbsd50_amd64/postinstall.sh +81 -0
  334. data/templates/openbsd50_i386/README +28 -0
  335. data/templates/openbsd50_i386/definition.rb +84 -0
  336. data/templates/openbsd50_i386/postinstall.sh +80 -0
  337. data/templates/openindiana-148-ai-x86/definition.rb +1 -1
  338. data/templates/openindiana-148-ai-x86/postinstall.sh +1 -1
  339. data/templates/opensuse-11.4-i386-experimental/postinstall.sh +1 -1
  340. data/templates/scientificlinux-6.1-i386-netboot/base.sh +1 -0
  341. data/templates/scientificlinux-6.1-i386-netboot/chef.sh +1 -0
  342. data/templates/scientificlinux-6.1-i386-netboot/cleanup.sh +4 -0
  343. data/templates/scientificlinux-6.1-i386-netboot/definition.rb +35 -0
  344. data/templates/scientificlinux-6.1-i386-netboot/ks.cfg +53 -0
  345. data/templates/scientificlinux-6.1-i386-netboot/postinstall.sh +30 -0
  346. data/templates/scientificlinux-6.1-i386-netboot/puppet.sh +1 -0
  347. data/templates/scientificlinux-6.1-i386-netboot/vagrant.sh +8 -0
  348. data/templates/scientificlinux-6.1-i386-netboot/virtualbox.sh +8 -0
  349. data/templates/scientificlinux-6.1-x86_64-netboot/base.sh +1 -0
  350. data/templates/scientificlinux-6.1-x86_64-netboot/chef.sh +1 -0
  351. data/templates/scientificlinux-6.1-x86_64-netboot/cleanup.sh +4 -0
  352. data/templates/scientificlinux-6.1-x86_64-netboot/definition.rb +35 -0
  353. data/templates/scientificlinux-6.1-x86_64-netboot/ks.cfg +53 -0
  354. data/templates/scientificlinux-6.1-x86_64-netboot/postinstall.sh +30 -0
  355. data/templates/scientificlinux-6.1-x86_64-netboot/puppet.sh +1 -0
  356. data/templates/scientificlinux-6.1-x86_64-netboot/vagrant.sh +8 -0
  357. data/templates/scientificlinux-6.1-x86_64-netboot/virtualbox.sh +8 -0
  358. data/templates/solaris-11-express-i386/definition.rb +1 -1
  359. data/templates/solaris-11-express-i386/postinstall.sh +1 -1
  360. data/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh +12 -11
  361. data/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh +12 -11
  362. data/templates/ubuntu-10.04.3-server-amd64-alt/definition.rb +2 -2
  363. data/templates/ubuntu-10.04.3-server-amd64-alt/postinstall.sh +12 -11
  364. data/templates/ubuntu-10.04.3-server-amd64/vagrant.sh +1 -1
  365. data/templates/ubuntu-10.04.3-server-i386/postinstall.sh +12 -11
  366. data/templates/ubuntu-10.04.4-server-amd64/definition.rb +24 -0
  367. data/templates/ubuntu-10.04.4-server-amd64/postinstall.sh +92 -0
  368. data/templates/ubuntu-10.04.4-server-amd64/preseed.cfg +87 -0
  369. data/templates/ubuntu-10.04.4-server-i386/definition.rb +24 -0
  370. data/templates/ubuntu-10.04.4-server-i386/postinstall.sh +92 -0
  371. data/templates/ubuntu-10.04.4-server-i386/preseed.cfg +87 -0
  372. data/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +12 -11
  373. data/templates/ubuntu-10.10-server-amd64/postinstall.sh +12 -11
  374. data/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +12 -11
  375. data/templates/ubuntu-10.10-server-i386/postinstall.sh +12 -11
  376. data/templates/ubuntu-11.04-server-amd64/ssh-keys.sh +1 -1
  377. data/templates/ubuntu-11.04-server-i386/definition.rb +1 -1
  378. data/templates/ubuntu-11.04-server-i386/postinstall.sh +12 -11
  379. data/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb +24 -0
  380. data/templates/ubuntu-11.10-server-amd64-ishaya/postinstall.sh +91 -0
  381. data/templates/ubuntu-11.10-server-amd64-ishaya/preseed.cfg +87 -0
  382. data/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb +24 -0
  383. data/templates/ubuntu-11.10-server-amd64-ruby192/postinstall.sh +91 -0
  384. data/templates/ubuntu-11.10-server-amd64-ruby192/preseed.cfg +87 -0
  385. data/templates/ubuntu-11.10-server-amd64-rvm/definition.rb +35 -0
  386. data/templates/ubuntu-11.10-server-amd64-rvm/postinstall.sh +85 -0
  387. data/templates/ubuntu-11.10-server-amd64-rvm/preseed.cfg +93 -0
  388. data/templates/ubuntu-11.10-server-amd64/definition.rb +35 -0
  389. data/templates/ubuntu-11.10-server-amd64/postinstall.sh +89 -0
  390. data/templates/ubuntu-11.10-server-amd64/preseed.cfg +87 -0
  391. data/templates/ubuntu-11.10-server-i386/definition.rb +35 -0
  392. data/templates/ubuntu-11.10-server-i386/postinstall.sh +89 -0
  393. data/templates/ubuntu-11.10-server-i386/preseed.cfg +87 -0
  394. data/templates/ubuntu-12.04-server-amd64-packages/definition.rb +37 -0
  395. data/templates/{Debian-6.0.2-amd64-netboot → ubuntu-12.04-server-amd64-packages}/postinstall.sh +33 -32
  396. data/templates/ubuntu-12.04-server-amd64-packages/preseed.cfg +87 -0
  397. data/templates/ubuntu-12.04-server-amd64/definition.rb +37 -0
  398. data/templates/ubuntu-12.04-server-amd64/postinstall.sh +92 -0
  399. data/templates/ubuntu-12.04-server-amd64/preseed.cfg +87 -0
  400. data/templates/ubuntu-8.04.4-server-amd64/definition.rb +1 -0
  401. data/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +19 -17
  402. data/templates/ubuntu-8.04.4-server-amd64/preseed.cfg +0 -1
  403. data/templates/ubuntu-8.04.4-server-i386/definition.rb +1 -1
  404. data/templates/ubuntu-8.04.4-server-i386/postinstall.sh +34 -11
  405. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +146 -0
  406. data/templates/windows-2008R1-serverstandard-amd64/README.md +134 -0
  407. data/templates/windows-2008R1-serverstandard-amd64/cygwin-setup.exe +0 -0
  408. data/templates/windows-2008R1-serverstandard-amd64/definition.rb +114 -0
  409. data/templates/windows-2008R1-serverstandard-amd64/install-cygwin-sshd.bat +41 -0
  410. data/templates/windows-2008R1-serverstandard-amd64/install-guest-additions.bat +5 -0
  411. data/templates/windows-2008R1-serverstandard-amd64/install-winrm.bat +16 -0
  412. data/templates/windows-2008R1-serverstandard-amd64/oracle-cert.cer +0 -0
  413. data/templates/windows-2008R1-serverstandard-amd64/postinstall.sh +75 -0
  414. data/templates/windows-2008R1-serverstandard-amd64/sudo +2 -0
  415. data/templates/windows-2008R1-serverstandard-amd64/winrm.rb +8 -0
  416. data/templates/windows-2008R1-serverweb-amd64/Autounattend.xml +162 -0
  417. data/templates/windows-2008R1-serverweb-amd64/README.md +134 -0
  418. data/templates/windows-2008R1-serverweb-amd64/cygwin-setup.exe +0 -0
  419. data/templates/windows-2008R1-serverweb-amd64/definition.rb +131 -0
  420. data/templates/windows-2008R1-serverweb-amd64/install-cygwin-sshd.bat +40 -0
  421. data/templates/windows-2008R1-serverweb-amd64/install-guest-additions.bat +5 -0
  422. data/templates/windows-2008R1-serverweb-amd64/install-vbox-guest.bat +2 -0
  423. data/templates/windows-2008R1-serverweb-amd64/install-winrm.bat +16 -0
  424. data/templates/windows-2008R1-serverweb-amd64/oracle-cert.cer +0 -0
  425. data/templates/windows-2008R1-serverweb-amd64/postinstall.sh +74 -0
  426. data/templates/windows-2008R1-serverweb-amd64/sudo +2 -0
  427. data/templates/windows-2008R1-serverweb-amd64/winrm.rb +8 -0
  428. data/templates/windows-2008R1-serverweb-i386/Autounattend.xml +142 -0
  429. data/templates/windows-2008R1-serverweb-i386/README.md +136 -0
  430. data/templates/windows-2008R1-serverweb-i386/cygwin-setup.exe +0 -0
  431. data/templates/windows-2008R1-serverweb-i386/definition.rb +132 -0
  432. data/templates/windows-2008R1-serverweb-i386/install-cygwin-sshd.bat +40 -0
  433. data/templates/windows-2008R1-serverweb-i386/install-vbox-guest.bat +2 -0
  434. data/templates/windows-2008R1-serverweb-i386/install-winrm.bat +14 -0
  435. data/templates/windows-2008R1-serverweb-i386/oracle-cert.cer +0 -0
  436. data/templates/windows-2008R1-serverweb-i386/postinstall.sh +74 -0
  437. data/templates/windows-2008R1-serverweb-i386/sudo +2 -0
  438. data/templates/windows-2008R1-serverweb-i386/winrm.rb +8 -0
  439. data/templates/windows-2008R1-serverwebcore-amd64/Autounattend.xml +162 -0
  440. data/templates/windows-2008R1-serverwebcore-amd64/README.md +134 -0
  441. data/templates/windows-2008R1-serverwebcore-amd64/cygwin-setup.exe +0 -0
  442. data/templates/windows-2008R1-serverwebcore-amd64/definition.rb +132 -0
  443. data/templates/windows-2008R1-serverwebcore-amd64/install-cygwin-sshd.bat +41 -0
  444. data/templates/windows-2008R1-serverwebcore-amd64/install-vbox-guest.bat +2 -0
  445. data/templates/windows-2008R1-serverwebcore-amd64/install-winrm.bat +14 -0
  446. data/templates/windows-2008R1-serverwebcore-amd64/oracle-cert.cer +0 -0
  447. data/templates/windows-2008R1-serverwebcore-amd64/postinstall.sh +74 -0
  448. data/templates/windows-2008R1-serverwebcore-amd64/sudo +2 -0
  449. data/templates/windows-2008R1-serverwebcore-amd64/winrm.rb +8 -0
  450. data/templates/windows-2008R2-amd64/cygwin-setup.exe +0 -0
  451. data/templates/windows-2008R2-amd64/install-winrm.bat +2 -0
  452. data/templates/windows-2008R2-amd64/postinstall.sh +1 -1
  453. data/templates/windows-2008R2-serverstandard-amd64/Autounattend.xml +147 -0
  454. data/templates/windows-2008R2-serverstandard-amd64/README.md +142 -0
  455. data/templates/windows-2008R2-serverstandard-amd64/definition.rb +43 -0
  456. data/templates/windows-2008R2-serverstandard-amd64/install-cygwin-sshd.bat +41 -0
  457. data/templates/windows-2008R2-serverstandard-amd64/install-winrm.bat +11 -0
  458. data/templates/windows-2008R2-serverstandard-amd64/oracle-cert.cer +0 -0
  459. data/templates/windows-2008R2-serverstandard-amd64/postinstall.sh +74 -0
  460. data/templates/windows-2008R2-serverweb-amd64/Autounattend.xml +151 -0
  461. data/templates/windows-2008R2-serverweb-amd64/README.md +142 -0
  462. data/templates/windows-2008R2-serverweb-amd64/definition.rb +38 -0
  463. data/templates/windows-2008R2-serverweb-amd64/install-cygwin-sshd.bat +40 -0
  464. data/templates/windows-2008R2-serverweb-amd64/install-vbox-guest.bat +2 -0
  465. data/templates/windows-2008R2-serverweb-amd64/install-winrm.bat +11 -0
  466. data/templates/windows-2008R2-serverweb-amd64/oracle-cert.cer +0 -0
  467. data/templates/windows-2008R2-serverweb-amd64/postinstall.sh +74 -0
  468. data/templates/windows-2008R2-serverwebcore-amd64/Autounattend.xml +145 -0
  469. data/templates/windows-2008R2-serverwebcore-amd64/README.md +142 -0
  470. data/templates/windows-2008R2-serverwebcore-amd64/cygwin-setup.exe +0 -0
  471. data/templates/windows-2008R2-serverwebcore-amd64/definition.rb +46 -0
  472. data/templates/windows-2008R2-serverwebcore-amd64/install-cygwin-sshd.bat +41 -0
  473. data/templates/windows-2008R2-serverwebcore-amd64/install-vbox-guest.bat +2 -0
  474. data/templates/windows-2008R2-serverwebcore-amd64/install-winrm.bat +11 -0
  475. data/templates/windows-2008R2-serverwebcore-amd64/oracle-cert.cer +0 -0
  476. data/templates/windows-2008R2-serverwebcore-amd64/postinstall.sh +74 -0
  477. data/templates/windows-7-enterprise-amd64/Autounattend.xml +155 -0
  478. data/templates/windows-7-enterprise-amd64/README.md +52 -0
  479. data/templates/windows-7-enterprise-amd64/definition.rb +40 -0
  480. data/templates/windows-7-enterprise-amd64/install-cygwin-sshd.bat +40 -0
  481. data/templates/windows-7-enterprise-amd64/install-vbox-guest.bat +2 -0
  482. data/templates/windows-7-enterprise-amd64/install-winrm.bat +14 -0
  483. data/templates/windows-7-enterprise-amd64/oracle-cert.cer +0 -0
  484. data/templates/windows-7-enterprise-amd64/postinstall.sh +74 -0
  485. data/templates/windows-7-enterprise-i386/Autounattend.xml +151 -0
  486. data/templates/windows-7-enterprise-i386/README.md +169 -0
  487. data/templates/windows-7-enterprise-i386/definition.rb +40 -0
  488. data/templates/windows-7-enterprise-i386/install-cygwin-sshd.bat +40 -0
  489. data/templates/windows-7-enterprise-i386/install-winrm.bat +14 -0
  490. data/templates/windows-7-enterprise-i386/oracle-cert.cer +0 -0
  491. data/templates/windows-7-enterprise-i386/postinstall.sh +74 -0
  492. data/templates/windows-7-premium-amd64/Autounattend.xml +152 -0
  493. data/templates/windows-7-premium-amd64/README.md +171 -0
  494. data/templates/windows-7-premium-amd64/definition.rb +38 -0
  495. data/templates/windows-7-premium-amd64/install-chefclient.bat +44 -0
  496. data/templates/windows-7-premium-amd64/install-winrm.bat +11 -0
  497. data/templates/windows-7-premium-amd64/oracle-cert.cer +0 -0
  498. data/templates/windows-7-premium-amd64/postinstall.sh +124 -0
  499. data/templates/windows-7-premium-amd64/winrm.rb +8 -0
  500. data/templates/windows-7-professional-amd64/Autounattend.xml +152 -0
  501. data/templates/windows-7-professional-amd64/README.md +171 -0
  502. data/templates/windows-7-professional-amd64/definition.rb +41 -0
  503. data/templates/windows-7-professional-amd64/install-cygwin-sshd.bat +40 -0
  504. data/templates/windows-7-professional-amd64/install-winrm.bat +14 -0
  505. data/templates/windows-7-professional-amd64/oracle-cert.cer +0 -0
  506. data/templates/windows-7-professional-amd64/postinstall.sh +74 -0
  507. data/templates/windows-7-ultimate-amd64/Autounattend.xml +152 -0
  508. data/templates/windows-7-ultimate-amd64/README.md +89 -0
  509. data/templates/windows-7-ultimate-amd64/definition.rb +41 -0
  510. data/templates/windows-7-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  511. data/templates/windows-7-ultimate-amd64/install-winrm.bat +14 -0
  512. data/templates/windows-7-ultimate-amd64/oracle-cert.cer +0 -0
  513. data/templates/windows-7-ultimate-amd64/postinstall.sh +74 -0
  514. data/templates/windows-7sp1-ultimate-amd64/Autounattend.xml +149 -0
  515. data/templates/windows-7sp1-ultimate-amd64/README.md +89 -0
  516. data/templates/windows-7sp1-ultimate-amd64/definition.rb +42 -0
  517. data/templates/windows-7sp1-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  518. data/templates/windows-7sp1-ultimate-amd64/install-winrm.bat +14 -0
  519. data/templates/windows-7sp1-ultimate-amd64/oracle-cert.cer +0 -0
  520. data/templates/windows-7sp1-ultimate-amd64/postinstall.sh +74 -0
  521. data/templates/windows-8-preview-dev-amd64/Autounattend.xml +140 -0
  522. data/templates/windows-8-preview-dev-amd64/README.md +134 -0
  523. data/templates/windows-8-preview-dev-amd64/cygwin-setup.exe +0 -0
  524. data/templates/windows-8-preview-dev-amd64/definition.rb +114 -0
  525. data/templates/windows-8-preview-dev-amd64/install-cygwin-sshd.bat +38 -0
  526. data/templates/windows-8-preview-dev-amd64/install-winrm.bat +11 -0
  527. data/templates/windows-8-preview-dev-amd64/oracle-cert.cer +0 -0
  528. data/templates/windows-8-preview-dev-amd64/postinstall.sh +122 -0
  529. data/templates/windows-8-preview-dev-amd64/winrm.rb +8 -0
  530. data/test/build_realtest.rb +71 -0
  531. data/test/definition_test.rb +3 -3
  532. data/test/definitions/test_definition/_disabled_postinstall.sh +1 -0
  533. data/test/definitions/test_definition/definition.rb +14 -17
  534. data/test/definitions/test_definition/enabled_postinstall.sh +1 -0
  535. data/test/environment_test.rb +4 -4
  536. data/validation/features/steps/{ssh_steps.rb → ssh_steps.old} +0 -0
  537. data/validation/features/steps/veewee_steps.rb +27 -0
  538. data/validation/veewee.feature +45 -0
  539. data/veewee.gemspec +18 -11
  540. metadata +500 -175
  541. data/Gemfile.lock +0 -98
  542. data/README-LIB.md +0 -2
  543. data/lib/veewee/builder/core/box.rb +0 -32
  544. data/lib/veewee/builder/core/builder/build.rb +0 -250
  545. data/lib/veewee/builder/core/builder/iso.rb +0 -120
  546. data/lib/veewee/builder/kvm/box.rb +0 -130
  547. data/lib/veewee/builder/kvm/builder.rb +0 -38
  548. data/lib/veewee/builder/virtualbox/box.rb +0 -121
  549. data/lib/veewee/builder/virtualbox/builder.rb +0 -48
  550. data/lib/veewee/builder/virtualbox/helper/_snapshots.rb +0 -105
  551. data/lib/veewee/builder/virtualbox/helper/_transaction.rb +0 -135
  552. data/lib/veewee/builder/virtualbox/helper/console_type.rb +0 -62
  553. data/lib/veewee/builder/virtualbox/helper/create.rb +0 -210
  554. data/lib/veewee/builder/virtualbox/helper/destroy.rb +0 -79
  555. data/lib/veewee/builder/virtualbox/helper/export_vagrant.rb +0 -87
  556. data/lib/veewee/builder/virtualbox/helper/validate_vagrant.rb +0 -35
  557. data/lib/veewee/builder/vmfusion/box.rb +0 -137
  558. data/lib/veewee/builder/vmfusion/builder.rb +0 -78
  559. data/lib/veewee/builder/vmfusion/helper/export_ova.rb +0 -26
  560. data/lib/veewee/builder/vmfusion/helper/validate_vmfusion.rb +0 -37
  561. data/lib/veewee/config/builders.rb +0 -36
  562. data/lib/veewee/util/scancode.rb +0 -112
  563. data/lib/veewee/util/shell.rb +0 -42
  564. data/lib/veewee/util/ssh.rb +0 -158
  565. data/lib/veewee/util/tcp.rb +0 -88
  566. data/lib/veewee/util/web.rb +0 -63
  567. data/lib/veewee/vagrant/config.rb +0 -7
  568. data/test/build_test.rb +0 -50
  569. data/test/definitions/test_definition/_test_me.sh +0 -1
  570. data/validation/vagrant.feature +0 -68
@@ -0,0 +1,13 @@
1
+ if test -f .vbox_version ; then
2
+ # The netboot installs the VirtualBox support (old) so we have to remove it
3
+ /etc/init.d/virtualbox-ose-guest-utils stop
4
+ rmmod vboxguest
5
+ aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
6
+
7
+ # Install the VirtualBox guest additions
8
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
9
+ VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
10
+ mount -o loop $VBOX_ISO /mnt
11
+ yes|sh /mnt/VBoxLinuxAdditions.run
12
+ umount /mnt
13
+ fi
@@ -0,0 +1,3 @@
1
+ # Zero out the free space to save space in the final image:
2
+ dd if=/dev/zero of=/EMPTY bs=1M
3
+ rm -f /EMPTY
@@ -0,0 +1,13 @@
1
+ # Update the box
2
+ apt-get -y update
3
+ apt-get -y install linux-headers-$(uname -r) build-essential
4
+ apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
5
+ apt-get -y install curl unzip
6
+ apt-get clean
7
+
8
+ # Set up sudo
9
+ cp /etc/sudoers /etc/sudoers.orig
10
+ sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
11
+
12
+ # Tweak sshd to prevent DNS resolution (speed up logins)
13
+ echo 'UseDNS no' >> /etc/ssh/sshd_config
@@ -0,0 +1,2 @@
1
+ # Install Chef
2
+ gem install chef --no-ri --no-rdoc
@@ -0,0 +1,4 @@
1
+ # Cleanup Virtualbox
2
+ VBOX_VERSION=$(cat .vbox_version)
3
+ VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
4
+ rm $VBOX_ISO
@@ -0,0 +1,17 @@
1
+ # Clean up
2
+ apt-get -y remove linux-headers-$(uname -r) build-essential
3
+ apt-get -y autoremove
4
+
5
+ # Removing leftover leases and persistent rules
6
+ echo "cleaning up dhcp leases"
7
+ rm /var/lib/dhcp/*
8
+
9
+ # Make sure Udev doesn't block our network
10
+ echo "cleaning up udev rules"
11
+ rm /etc/udev/rules.d/70-persistent-net.rules
12
+ mkdir /etc/udev/rules.d/70-persistent-net.rules
13
+ rm -rf /dev/.udev/
14
+ rm /lib/udev/rules.d/75-persistent-net-generator.rules
15
+
16
+ echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
17
+ echo "pre-up sleep 2" >> /etc/network/interfaces
@@ -0,0 +1,51 @@
1
+ #Thanks to Fletcher Nichol - https://github.com/fnichol
2
+
3
+ Veewee::Definition.declare({
4
+ :cpu_count => '1',
5
+ :memory_size=> '256',
6
+ :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
7
+ :os_type_id => 'Debian',
8
+ :iso_file => "debian-6.04-i386-netinst.iso",
9
+ :iso_src => "http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4-i386-netinst.iso",
10
+ :iso_md5 => "38bf1278cc5c98c5fa09dd0973ebc9f5",
11
+ :iso_download_timeout => "1000",
12
+ :boot_wait => "10", :boot_cmd_sequence => [
13
+ '<Esc>',
14
+ 'install ',
15
+ 'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
16
+ 'debian-installer=en_US ',
17
+ 'auto ',
18
+ 'locale=en_US ',
19
+ 'kbd-chooser/method=us ',
20
+ 'netcfg/get_hostname=%NAME% ',
21
+ 'netcfg/get_domain=vagrantup.com ',
22
+ 'fb=false ',
23
+ 'debconf/frontend=noninteractive ',
24
+ 'console-setup/ask_detect=false ',
25
+ 'console-keymaps-at/keymap=us ',
26
+ '<Enter>'
27
+ ],
28
+ :kickstart_port => "7122",
29
+ :kickstart_timeout => "10000",
30
+ :kickstart_file => "preseed.cfg",
31
+ :ssh_login_timeout => "10000",
32
+ :ssh_user => "vagrant",
33
+ :ssh_password => "vagrant",
34
+ :ssh_key => "",
35
+ :ssh_host_port => "7222",
36
+ :ssh_guest_port => "22",
37
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
38
+ :shutdown_cmd => "halt -p",
39
+ :postinstall_files => [
40
+ "base.sh",
41
+ "vagrant.sh",
42
+ "virtualbox.sh",
43
+ "ruby.sh",
44
+ "puppet.sh",
45
+ "chef.sh",
46
+ "cleanup-virtualbox.sh",
47
+ "cleanup.sh",
48
+ "zerodisk.sh"
49
+ ],
50
+ :postinstall_timeout => "10000"
51
+ })
@@ -0,0 +1,315 @@
1
+ #### Contents of the preconfiguration file (for squeeze)
2
+ ### Localization
3
+ # Locale sets language and country.
4
+ d-i debian-installer/locale string en_US
5
+
6
+ # Keyboard selection.
7
+ #d-i console-tools/archs select at
8
+ d-i console-keymaps-at/keymap select us
9
+ # Example for a different keyboard architecture
10
+ #d-i console-keymaps-usb/keymap select mac-usb-us
11
+
12
+ ### Network configuration
13
+ # netcfg will choose an interface that has link if possible. This makes it
14
+ # skip displaying a list if there is more than one interface.
15
+ d-i netcfg/choose_interface select auto
16
+
17
+ # To pick a particular interface instead:
18
+ #d-i netcfg/choose_interface select eth1
19
+
20
+ # If you have a slow dhcp server and the installer times out waiting for
21
+ # it, this might be useful.
22
+ #d-i netcfg/dhcp_timeout string 60
23
+
24
+ # If you prefer to configure the network manually, uncomment this line and
25
+ # the static network configuration below.
26
+ #d-i netcfg/disable_dhcp boolean true
27
+
28
+ # If you want the preconfiguration file to work on systems both with and
29
+ # without a dhcp server, uncomment these lines and the static network
30
+ # configuration below.
31
+ #d-i netcfg/dhcp_failed note
32
+ #d-i netcfg/dhcp_options select Configure network manually
33
+
34
+ # Static network configuration.
35
+ #d-i netcfg/get_nameservers string 192.168.1.1
36
+ #d-i netcfg/get_ipaddress string 192.168.1.42
37
+ #d-i netcfg/get_netmask string 255.255.255.0
38
+ #d-i netcfg/get_gateway string 192.168.1.1
39
+ #d-i netcfg/confirm_static boolean true
40
+
41
+ # Any hostname and domain names assigned from dhcp take precedence over
42
+ # values set here. However, setting the values still prevents the questions
43
+ # from being shown, even if values come from dhcp.
44
+ #d-i netcfg/get_hostname string vagrant
45
+ d-i netcfg/get_domain string vagrantup.com
46
+
47
+ # Disable that annoying WEP key dialog.
48
+ d-i netcfg/wireless_wep string
49
+ # The wacky dhcp hostname that some ISPs use as a password of sorts.
50
+ #d-i netcfg/dhcp_hostname string radish
51
+
52
+ # If non-free firmware is needed for the network or other hardware, you can
53
+ # configure the installer to always try to load it, without prompting. Or
54
+ # change to false to disable asking.
55
+ #d-i hw-detect/load_firmware boolean true
56
+
57
+ ### Network console
58
+ # Use the following settings if you wish to make use of the network-console
59
+ # component for remote installation over SSH. This only makes sense if you
60
+ # intend to perform the remainder of the installation manually.
61
+ #d-i anna/choose_modules string network-console
62
+ #d-i network-console/password password r00tme
63
+ #d-i network-console/password-again password r00tme
64
+
65
+ ### Mirror settings
66
+ # If you select ftp, the mirror/country string does not need to be set.
67
+ #d-i mirror/protocol string ftp
68
+ d-i mirror/country string manual
69
+ d-i mirror/http/hostname string http.us.debian.org
70
+ d-i mirror/http/directory string /debian
71
+ d-i mirror/http/proxy string
72
+
73
+ # Suite to install.
74
+ #d-i mirror/suite string testing
75
+ # Suite to use for loading installer components (optional).
76
+ #d-i mirror/udeb/suite string testing
77
+
78
+ ### Clock and time zone setup
79
+ # Controls whether or not the hardware clock is set to UTC.
80
+ d-i clock-setup/utc boolean true
81
+
82
+ # You may set this to any valid setting for $TZ; see the contents of
83
+ # /usr/share/zoneinfo/ for valid values.
84
+ d-i time/zone string UTC
85
+
86
+ # Controls whether to use NTP to set the clock during the install
87
+ d-i clock-setup/ntp boolean true
88
+ # NTP server to use. The default is almost always fine here.
89
+ #d-i clock-setup/ntp-server string ntp.example.com
90
+
91
+ ### Partitioning
92
+ # If the system has free space you can choose to only partition that space.
93
+ #d-i partman-auto/init_automatically_partition select biggest_free
94
+
95
+ # Alternatively, you can specify a disk to partition. The device name must
96
+ # be given in traditional non-devfs format.
97
+ # Note: A disk must be specified, unless the system has only one disk.
98
+ # For example, to use the first SCSI/SATA hard disk:
99
+ d-i partman-auto/disk string /dev/sda
100
+ # In addition, you'll need to specify the method to use.
101
+ # The presently available methods are: "regular", "lvm" and "crypto"
102
+ d-i partman-auto/method string lvm
103
+
104
+ # If one of the disks that are going to be automatically partitioned
105
+ # contains an old LVM configuration, the user will normally receive a
106
+ # warning. This can be preseeded away...
107
+ d-i partman-lvm/device_remove_lvm boolean true
108
+ # The same applies to pre-existing software RAID array:
109
+ d-i partman-md/device_remove_md boolean true
110
+
111
+ # And the same goes for the confirmation to write the lvm partitions.
112
+ d-i partman-lvm/confirm boolean true
113
+ d-i partman-lvm/confirm_nooverwrite boolean true
114
+
115
+
116
+ d-i partman/choose_partition select finish
117
+ d-i partman-auto-lvm/guided_size string max
118
+
119
+ # You can choose one of the three predefined partitioning recipes:
120
+ # - atomic: all files in one partition
121
+ # - home: separate /home partition
122
+ # - multi: separate /home, /usr, /var, and /tmp partitions
123
+ d-i partman-auto/choose_recipe select atomic
124
+ d-i partman/default_filesystem string ext3
125
+
126
+ # Or provide a recipe of your own...
127
+ # The recipe format is documented in the file devel/partman-auto-recipe.txt.
128
+ # If you have a way to get a recipe file into the d-i environment, you can
129
+ # just point at it.
130
+ #d-i partman-auto/expert_recipe_file string /hd-media/recipe
131
+
132
+ # If not, you can put an entire recipe into the preconfiguration file in one
133
+ # (logical) line. This example creates a small /boot partition, suitable
134
+ # swap, and uses the rest of the space for the root partition:
135
+ #d-i partman-auto/expert_recipe string \
136
+ # boot-root :: \
137
+ # 40 50 100 ext3 \
138
+ # $primary{ } $bootable{ } \
139
+ # method{ format } format{ } \
140
+ # use_filesystem{ } filesystem{ ext3 } \
141
+ # mountpoint{ /boot } \
142
+ # . \
143
+ # 500 10000 1000000000 ext3 \
144
+ # method{ format } format{ } \
145
+ # use_filesystem{ } filesystem{ ext3 } \
146
+ # mountpoint{ / } \
147
+ # . \
148
+ # 64 512 300% linux-swap \
149
+ # method{ swap } format{ } \
150
+ # .
151
+
152
+ #The preseed line that "selects finish" needs to be in a certain order in your preseed, the example-preseed does not follow this.
153
+ #http://ubuntuforums.org/archive/index.php/t-1504045.html
154
+
155
+ # This makes partman automatically partition without confirmation, provided
156
+ # that you told it what to do using one of the methods above.
157
+ d-i partman/confirm_write_new_label boolean true
158
+ d-i partman/confirm boolean true
159
+ d-i partman/confirm_nooverwrite boolean true
160
+
161
+
162
+ ### Base system installation
163
+ # Select the initramfs generator used to generate the initrd for 2.6 kernels.
164
+ #d-i base-installer/kernel/linux/initramfs-generators string yaird
165
+
166
+ # The kernel image (meta) package to be installed; "none" can be used if no
167
+ # kernel is to be installed.
168
+ #d-i base-installer/kernel/image string linux-image-2.6-486
169
+
170
+ ### Account setup
171
+ # Skip creation of a root account (normal user account will be able to
172
+ # use sudo).
173
+ d-i passwd/root-login boolean false
174
+ # Alternatively, to skip creation of a normal user account.
175
+ #d-i passwd/make-user boolean false
176
+
177
+ # Root password, either in clear text
178
+ d-i passwd/root-password password vagrant
179
+ d-i passwd/root-password-again password vagrant
180
+ # or encrypted using an MD5 hash.
181
+ #d-i passwd/root-password-crypted password [MD5 hash]
182
+
183
+ # To create a normal user account.
184
+ d-i passwd/user-fullname string Vagrant User
185
+ d-i passwd/username string vagrant
186
+ # Normal user's password, either in clear text
187
+ d-i passwd/user-password password vagrant
188
+ d-i passwd/user-password-again password vagrant
189
+ # or encrypted using an MD5 hash.
190
+ #d-i passwd/user-password-crypted password [MD5 hash]
191
+ # Create the first user with the specified UID instead of the default.
192
+ #d-i passwd/user-uid string 1010
193
+ d-i user-setup/encrypt-home boolean false
194
+ d-i user-setup/allow-password-weak boolean true
195
+
196
+ # The user account will be added to some standard initial groups. To
197
+ # override that, use this.
198
+ d-i passwd/user-default-groups string audio cdrom video admin
199
+
200
+ ### Apt setup
201
+ # You can choose to install non-free and contrib software.
202
+ #d-i apt-setup/non-free boolean true
203
+ #d-i apt-setup/contrib boolean true
204
+ # Uncomment this if you don't want to use a network mirror.
205
+ #d-i apt-setup/use_mirror boolean false
206
+ # Select which update services to use; define the mirrors to be used.
207
+ # Values shown below are the normal defaults.
208
+ #d-i apt-setup/services-select multiselect security, volatile
209
+ #d-i apt-setup/security_host string security.debian.org
210
+ #d-i apt-setup/volatile_host string volatile.debian.org
211
+
212
+
213
+ # By default the installer requires that repositories be authenticated
214
+ # using a known gpg key. This setting can be used to disable that
215
+ # authentication. Warning: Insecure, not recommended.
216
+ #d-i debian-installer/allow_unauthenticated string true
217
+
218
+ ### Package selection
219
+ tasksel tasksel/first multiselect standard
220
+ # If the desktop task is selected, install the kde and xfce desktops
221
+ # instead of the default gnome desktop.
222
+ #tasksel tasksel/desktop multiselect kde, xfce
223
+
224
+ # Individual additional packages to install
225
+ d-i pkgsel/include string openssh-server ntp acpid sudo bzip2
226
+
227
+ # Whether to upgrade packages after debootstrap.
228
+ # Allowed values: none, safe-upgrade, full-upgrade
229
+ d-i pkgsel/upgrade select none
230
+
231
+ # Some versions of the installer can report back on what software you have
232
+ # installed, and what software you use. The default is not to report back,
233
+ # but sending reports helps the project determine what software is most
234
+ # popular and include it on CDs.
235
+ popularity-contest popularity-contest/participate boolean false
236
+
237
+ ### Boot loader installation
238
+ # Grub is the default boot loader (for x86). If you want lilo installed
239
+ # instead, uncomment this:
240
+ #d-i grub-installer/skip boolean true
241
+ # To also skip installing lilo, and install no bootloader, uncomment this
242
+ # too:
243
+ #d-i lilo-installer/skip boolean true
244
+
245
+ # This is fairly safe to set, it makes grub install automatically to the MBR
246
+ # if no other operating system is detected on the machine.
247
+ d-i grub-installer/only_debian boolean true
248
+
249
+ # This one makes grub-installer install to the MBR if it also finds some other
250
+ # OS, which is less safe as it might not be able to boot that other OS.
251
+ d-i grub-installer/with_other_os boolean true
252
+
253
+ # Alternatively, if you want to install to a location other than the mbr,
254
+ # uncomment and edit these lines:
255
+ #d-i grub-installer/only_debian boolean false
256
+ #d-i grub-installer/with_other_os boolean false
257
+ #d-i grub-installer/bootdev string (hd0,0)
258
+ # To install grub to multiple disks:
259
+ #d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0)
260
+
261
+ # Optional password for grub, either in clear text
262
+ #d-i grub-installer/password password r00tme
263
+ #d-i grub-installer/password-again password r00tme
264
+ # or encrypted using an MD5 hash, see grub-md5-crypt(8).
265
+ #d-i grub-installer/password-crypted password [MD5 hash]
266
+
267
+ ### Finishing up the installation
268
+ # During installations from serial console, the regular virtual consoles
269
+ # (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
270
+ # line to prevent this.
271
+ #d-i finish-install/keep-consoles boolean true
272
+
273
+ # Avoid that last message about the install being complete.
274
+ d-i finish-install/reboot_in_progress note
275
+
276
+ # This will prevent the installer from ejecting the CD during the reboot,
277
+ # which is useful in some situations.
278
+ #d-i cdrom-detect/eject boolean false
279
+
280
+ # This is how to make the installer shutdown when finished, but not
281
+ # reboot into the installed system.
282
+ #d-i debian-installer/exit/halt boolean true
283
+ # This will power off the machine instead of just halting it.
284
+ #d-i debian-installer/exit/poweroff boolean true
285
+
286
+ ### Preseeding other packages
287
+ # Depending on what software you choose to install, or if things go wrong
288
+ # during the installation process, it's possible that other questions may
289
+ # be asked. You can preseed those too, of course. To get a list of every
290
+ # possible question that could be asked during an install, do an
291
+ # installation, and then run these commands:
292
+ # debconf-get-selections --installer > file
293
+ # debconf-get-selections >> file
294
+
295
+
296
+ #### Advanced options
297
+ ### Running custom commands during the installation
298
+ # d-i preseeding is inherently not secure. Nothing in the installer checks
299
+ # for attempts at buffer overflows or other exploits of the values of a
300
+ # preconfiguration file like this one. Only use preconfiguration files from
301
+ # trusted locations! To drive that home, and because it's generally useful,
302
+ # here's a way to run any shell command you'd like inside the installer,
303
+ # automatically.
304
+
305
+ # This first command is run as early as possible, just after
306
+ # preseeding is read.
307
+ # Prevent packaged version of VirtualBox Guest Additions being installed:
308
+ d-i preseed/early_command string sed -i \
309
+ '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
310
+ /usr/lib/pre-pkgsel.d/20install-hwpackages
311
+
312
+ # This command is run just before the install finishes, but when there is
313
+ # still a usable /target directory. You can chroot to /target and use it
314
+ # directly, or use the apt-install and in-target commands to easily install
315
+ # packages and run commands in the target system.
@@ -0,0 +1,2 @@
1
+ # Install Puppet
2
+ gem install puppet --no-ri --no-rdoc
@@ -0,0 +1,10 @@
1
+ # Install Ruby from packages
2
+ apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
3
+
4
+ # Install Rubygems from source
5
+ rg_ver=1.6.2
6
+ curl -o /tmp/rubygems-${rg_ver}.zip \
7
+ "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
8
+ (cd /tmp && unzip rubygems-${rg_ver}.zip && \
9
+ cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
10
+ rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
@@ -0,0 +1,21 @@
1
+ # Set up Vagrant.
2
+
3
+ date > /etc/vagrant_box_build_time
4
+
5
+ # Create the user vagrant with password vagrant
6
+ useradd -G admin -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
7
+
8
+ # Install vagrant keys
9
+ mkdir -pm 700 /home/vagrant/.ssh
10
+ curl -Lo /home/vagrant/.ssh/authorized_keys \
11
+ 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
12
+ chmod 0600 /home/vagrant/.ssh/authorized_keys
13
+ chown -R vagrant:vagrant /home/vagrant/.ssh
14
+
15
+ # Customize the message of the day
16
+ echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
17
+
18
+ # Install NFS client
19
+ apt-get -y install nfs-common
20
+
21
+