veewee 0.2.3 → 0.3.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (389) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +1 -2
  3. data/Gemfile.lock +53 -30
  4. data/License +21 -0
  5. data/README-LIB.md +2 -0
  6. data/README.md +35 -62
  7. data/Rakefile +54 -88
  8. data/bin/veewee +13 -70
  9. data/bin/veewee-kvm-old +34 -0
  10. data/bin/veewee-vagrant +55 -0
  11. data/bin/veewee-vmfusion +34 -0
  12. data/lib/fission.rb +41 -0
  13. data/lib/fission/cli.rb +76 -0
  14. data/lib/fission/command.rb +15 -0
  15. data/lib/fission/command/clone.rb +68 -0
  16. data/lib/fission/command/delete.rb +71 -0
  17. data/lib/fission/command/snapshot_create.rb +52 -0
  18. data/lib/fission/command/snapshot_list.rb +45 -0
  19. data/lib/fission/command/snapshot_revert.rb +54 -0
  20. data/lib/fission/command/start.rb +69 -0
  21. data/lib/fission/command/status.rb +31 -0
  22. data/lib/fission/command/stop.rb +49 -0
  23. data/lib/fission/command/suspend.rb +67 -0
  24. data/lib/fission/config.rb +29 -0
  25. data/lib/fission/core_ext/class.rb +5 -0
  26. data/lib/fission/core_ext/file.rb +7 -0
  27. data/lib/fission/core_ext/object.rb +112 -0
  28. data/lib/fission/error.rb +9 -0
  29. data/lib/fission/fusion.rb +17 -0
  30. data/lib/fission/leasesfile.rb +74 -0
  31. data/lib/fission/metadata.rb +39 -0
  32. data/lib/fission/response.rb +16 -0
  33. data/lib/fission/ui.rb +22 -0
  34. data/lib/fission/version.rb +3 -0
  35. data/lib/fission/vm.rb +361 -0
  36. data/lib/net/vnc/vnc.rb +341 -0
  37. data/lib/vagrant_init.rb +5 -2
  38. data/lib/veewee.rb +20 -3
  39. data/lib/veewee/builder/core/box.rb +32 -0
  40. data/lib/veewee/builder/core/box/vnc.rb +122 -0
  41. data/lib/veewee/builder/core/builder.rb +90 -0
  42. data/lib/veewee/builder/core/builder/build.rb +250 -0
  43. data/lib/veewee/builder/core/builder/iso.rb +120 -0
  44. data/lib/veewee/builder/core/builder/transaction.rb +25 -0
  45. data/lib/veewee/builder/core/builder/tunnel.rb +46 -0
  46. data/lib/veewee/builder/kvm/box.rb +130 -0
  47. data/lib/veewee/builder/kvm/builder.rb +38 -0
  48. data/lib/veewee/builder/virtualbox/box.rb +121 -0
  49. data/lib/veewee/builder/virtualbox/builder.rb +48 -0
  50. data/lib/veewee/builder/virtualbox/helper/_snapshots.rb +105 -0
  51. data/lib/veewee/builder/virtualbox/helper/_transaction.rb +135 -0
  52. data/lib/veewee/builder/virtualbox/helper/console_type.rb +62 -0
  53. data/lib/veewee/builder/virtualbox/helper/create.rb +210 -0
  54. data/lib/veewee/builder/virtualbox/helper/destroy.rb +79 -0
  55. data/lib/veewee/builder/virtualbox/helper/export_vagrant.rb +87 -0
  56. data/lib/veewee/builder/virtualbox/helper/validate_vagrant.rb +35 -0
  57. data/lib/veewee/builder/vmfusion/box.rb +137 -0
  58. data/lib/veewee/builder/vmfusion/builder.rb +78 -0
  59. data/lib/veewee/builder/vmfusion/helper/create.rb +68 -0
  60. data/lib/veewee/builder/vmfusion/helper/export_ova.rb +26 -0
  61. data/lib/veewee/builder/vmfusion/helper/template.rb +39 -0
  62. data/lib/veewee/builder/vmfusion/helper/template.vmx.erb +81 -0
  63. data/lib/veewee/builder/vmfusion/helper/validate_vmfusion.rb +37 -0
  64. data/lib/veewee/builder/vmfusion/info/export_ovf.info +103 -0
  65. data/lib/veewee/cli.rb +55 -0
  66. data/lib/veewee/command.rb +10 -20
  67. data/lib/veewee/command/base.rb +106 -0
  68. data/lib/veewee/command/group_base.rb +107 -0
  69. data/lib/veewee/command/helpers.rb +13 -0
  70. data/lib/veewee/command/kvm.rb +85 -0
  71. data/lib/veewee/command/named_base.rb +14 -0
  72. data/lib/veewee/command/vagrant.rb +108 -0
  73. data/lib/veewee/command/version.rb +13 -0
  74. data/lib/veewee/command/virtualbox.rb +86 -0
  75. data/lib/veewee/command/vmfusion.rb +113 -0
  76. data/lib/veewee/config.rb +89 -3
  77. data/lib/veewee/config/builders.rb +36 -0
  78. data/lib/veewee/config/collection.rb +82 -0
  79. data/lib/veewee/config/component.rb +19 -0
  80. data/lib/veewee/config/definition.rb +44 -0
  81. data/lib/veewee/config/ostypes.yml +165 -0
  82. data/lib/veewee/config/veewee.rb +21 -0
  83. data/lib/veewee/definition.rb +130 -0
  84. data/lib/veewee/environment.rb +367 -0
  85. data/lib/veewee/error.rb +20 -0
  86. data/lib/veewee/templates/locales/en.yml +30 -0
  87. data/lib/veewee/ui.rb +83 -0
  88. data/lib/veewee/util/scancode.rb +112 -0
  89. data/lib/veewee/util/shell.rb +42 -0
  90. data/lib/veewee/util/ssh.rb +158 -0
  91. data/lib/veewee/util/tcp.rb +88 -0
  92. data/lib/veewee/util/web.rb +63 -0
  93. data/lib/veewee/vagrant/config.rb +7 -0
  94. data/lib/veewee/version.rb +6 -1
  95. data/templates/CentOS-4.8-i386/definition.rb +3 -3
  96. data/templates/CentOS-4.8-i386/postinstall.sh +2 -2
  97. data/templates/CentOS-5.5-x86_64-netboot/definition.rb +1 -1
  98. data/templates/CentOS-5.5-x86_64-netboot/postinstall.sh +1 -1
  99. data/templates/CentOS-5.6-i386-netboot/definition.rb +3 -3
  100. data/templates/CentOS-5.6-i386-netboot/ks.cfg +2 -2
  101. data/templates/CentOS-5.6-i386-netboot/postinstall.sh +2 -2
  102. data/templates/CentOS-5.6-i386/definition.rb +2 -2
  103. data/templates/CentOS-5.6-i386/postinstall.sh +2 -2
  104. data/templates/CentOS-5.6-x86_64-netboot/definition.rb +3 -3
  105. data/templates/CentOS-5.6-x86_64-netboot/ks.cfg +1 -1
  106. data/templates/CentOS-5.6-x86_64-netboot/postinstall.sh +1 -1
  107. data/templates/CentOS-5.7-i386-netboot/postinstall.sh +3 -3
  108. data/templates/CentOS-5.7-x86_64-netboot/postinstall.sh +1 -1
  109. data/templates/CentOS-6.0-i386-netboot/definition.rb +2 -2
  110. data/templates/CentOS-6.0-i386-netboot/postinstall.sh +2 -2
  111. data/templates/CentOS-6.0-i386/definition.rb +2 -2
  112. data/templates/CentOS-6.0-i386/postinstall.sh +2 -2
  113. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +2 -2
  114. data/templates/CentOS-6.0-x86_64-minimal/postinstall.sh +4 -17
  115. data/templates/CentOS-6.0-x86_64-netboot/definition.rb +2 -2
  116. data/templates/CentOS-6.0-x86_64-netboot/postinstall.sh +2 -2
  117. data/templates/CentOS-6.0-x86_64/definition.rb +2 -2
  118. data/templates/CentOS-6.0-x86_64/postinstall.sh +2 -2
  119. data/templates/Debian-5.0.8-amd64-netboot/definition.rb +1 -1
  120. data/templates/Debian-5.0.8-amd64-netboot/postinstall.sh +1 -1
  121. data/templates/Debian-5.0.8-i386-netboot/definition.rb +1 -1
  122. data/templates/Debian-5.0.8-i386-netboot/postinstall.sh +1 -1
  123. data/templates/{Debian-6.0.3-amd64-netboot → Debian-6.0.2-amd64-netboot}/definition.rb +4 -4
  124. data/templates/{ubuntu-11.10-server-amd64-ishaya → Debian-6.0.2-amd64-netboot}/postinstall.sh +23 -42
  125. data/templates/{Debian-6.0.3-amd64-netboot → Debian-6.0.2-amd64-netboot}/preseed.cfg +0 -0
  126. data/templates/{Debian-6.0.3-i386-netboot → Debian-6.0.2-i386-netboot}/definition.rb +4 -4
  127. data/templates/{Debian-6.0.3-i386-netboot → Debian-6.0.2-i386-netboot}/postinstall.sh +1 -1
  128. data/templates/{Debian-6.0.3-i386-netboot → Debian-6.0.2-i386-netboot}/preseed.cfg +0 -0
  129. data/templates/Fedora-14-amd64-netboot/definition.rb +2 -2
  130. data/templates/Fedora-14-amd64-netboot/postinstall.sh +2 -2
  131. data/templates/Fedora-14-amd64/definition.rb +2 -2
  132. data/templates/Fedora-14-amd64/postinstall.sh +2 -2
  133. data/templates/Fedora-14-i386-netboot/definition.rb +2 -2
  134. data/templates/Fedora-14-i386-netboot/postinstall.sh +2 -2
  135. data/templates/Fedora-14-i386/definition.rb +2 -2
  136. data/templates/Fedora-14-i386/postinstall.sh +2 -2
  137. data/templates/Fedora-15-i386-netboot/definition.rb +2 -2
  138. data/templates/Fedora-15-i386/definition.rb +3 -3
  139. data/templates/Sysrescuecd-2.0.0-experimental/definition.rb +1 -1
  140. data/templates/archlinux-i386-netboot/aif.cfg +14 -8
  141. data/templates/archlinux-i386-netboot/definition.rb +7 -4
  142. data/templates/archlinux-i386-netboot/postinstall.sh +17 -5
  143. data/templates/archlinux-i386-netboot/postinstall2.sh +1 -3
  144. data/templates/archlinux-i386/definition.rb +4 -4
  145. data/templates/archlinux-i386/postinstall.sh +1 -1
  146. data/templates/archlinux-x86_64-netboot/aif.cfg +14 -8
  147. data/templates/archlinux-x86_64-netboot/definition.rb +7 -4
  148. data/templates/archlinux-x86_64-netboot/postinstall.sh +16 -1
  149. data/templates/archlinux-x86_64-netboot/postinstall2.sh +1 -3
  150. data/templates/archlinux-x86_64/definition.rb +2 -2
  151. data/templates/archlinux-x86_64/postinstall.sh +1 -1
  152. data/templates/freebsd-8.2-experimental/definition.rb +1 -1
  153. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +2 -5
  154. data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +1 -1
  155. data/templates/freebsd-8.2-pcbsd-i386/definition.rb +3 -4
  156. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +1 -1
  157. data/templates/gentoo-latest-i386-experimental/definition.rb +7 -7
  158. data/templates/gentoo-latest-i386-experimental/postinstall.sh +1 -1
  159. data/templates/openSUSE-11.4-DVD-i586/postinstall.sh +1 -1
  160. data/templates/openSUSE-11.4-DVD-x86_64/postinstall.sh +1 -1
  161. data/templates/openSUSE-11.4-NET-i586/postinstall.sh +1 -1
  162. data/templates/openSUSE-11.4-NET-x86_64/postinstall.sh +1 -1
  163. data/templates/openindiana-148-ai-x86/definition.rb +3 -3
  164. data/templates/openindiana-148-ai-x86/postinstall.sh +1 -1
  165. data/templates/opensuse-11.4-i386-experimental/definition.rb +1 -1
  166. data/templates/opensuse-11.4-i386-experimental/postinstall.sh +1 -1
  167. data/templates/solaris-11-express-i386/definition.rb +3 -3
  168. data/templates/solaris-11-express-i386/postinstall.sh +1 -1
  169. data/templates/ubuntu-10.04.2-amd64-netboot/definition.rb +1 -1
  170. data/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh +1 -1
  171. data/templates/ubuntu-10.04.2-server-i386-netboot/definition.rb +1 -1
  172. data/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh +1 -1
  173. data/templates/ubuntu-10.04.3-server-amd64-alt/definition.rb +6 -6
  174. data/templates/ubuntu-10.04.3-server-amd64-alt/postinstall.sh +1 -1
  175. data/templates/ubuntu-10.04.3-server-amd64/base.sh +11 -0
  176. data/templates/ubuntu-10.04.3-server-amd64/chef.sh +2 -0
  177. data/templates/ubuntu-10.04.3-server-amd64/cleanup.sh +19 -0
  178. data/templates/ubuntu-10.04.3-server-amd64/definition.rb +19 -11
  179. data/templates/ubuntu-10.04.3-server-amd64/preseed.cfg +4 -4
  180. data/templates/ubuntu-10.04.3-server-amd64/puppet.sh +1 -0
  181. data/templates/ubuntu-10.04.3-server-amd64/ruby.sh +24 -0
  182. data/templates/ubuntu-10.04.3-server-amd64/vagrant.sh +27 -0
  183. data/templates/ubuntu-10.04.3-server-amd64/virtualbox.sh +12 -0
  184. data/templates/ubuntu-10.04.3-server-i386/postinstall.sh +1 -1
  185. data/templates/ubuntu-10.10-server-amd64-netboot/definition.rb +1 -1
  186. data/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +1 -1
  187. data/templates/ubuntu-10.10-server-amd64/base.sh +11 -0
  188. data/templates/ubuntu-10.10-server-amd64/chef.sh +2 -0
  189. data/templates/ubuntu-10.10-server-amd64/cleanup.sh +19 -0
  190. data/templates/ubuntu-10.10-server-amd64/definition.rb +20 -8
  191. data/templates/ubuntu-10.10-server-amd64/postinstall.sh +1 -1
  192. data/templates/ubuntu-10.10-server-amd64/preseed.cfg +5 -5
  193. data/templates/ubuntu-10.10-server-amd64/puppet.sh +1 -0
  194. data/templates/ubuntu-10.10-server-amd64/ruby.sh +24 -0
  195. data/templates/ubuntu-10.10-server-amd64/vagrant.sh +27 -0
  196. data/templates/ubuntu-10.10-server-amd64/virtualbox.sh +12 -0
  197. data/templates/ubuntu-10.10-server-i386-netboot/definition.rb +1 -1
  198. data/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +1 -1
  199. data/templates/ubuntu-10.10-server-i386/definition.rb +1 -1
  200. data/templates/ubuntu-10.10-server-i386/postinstall.sh +1 -1
  201. data/templates/ubuntu-11.04-server-amd64/apt-upgrade.sh +4 -0
  202. data/templates/ubuntu-11.04-server-amd64/chef.sh +1 -0
  203. data/templates/ubuntu-11.04-server-amd64/definition.rb +32 -9
  204. data/templates/ubuntu-11.04-server-amd64/network-cleanup.sh +14 -0
  205. data/templates/ubuntu-11.04-server-amd64/nfs-client.sh +3 -0
  206. data/templates/ubuntu-11.04-server-amd64/puppet.sh +1 -0
  207. data/templates/ubuntu-11.04-server-amd64/remove-build-essentials.sh +3 -0
  208. data/templates/ubuntu-11.04-server-amd64/ruby.sh +29 -0
  209. data/templates/ubuntu-11.04-server-amd64/ssh-keys.sh +7 -0
  210. data/templates/ubuntu-11.04-server-amd64/sudo.sh +4 -0
  211. data/templates/ubuntu-11.04-server-amd64/timestamp.sh +1 -0
  212. data/templates/ubuntu-11.04-server-amd64/vbox_additions.sh +11 -0
  213. data/templates/ubuntu-11.04-server-amd64/zero-disk.sh +3 -0
  214. data/templates/ubuntu-11.04-server-i386/definition.rb +2 -2
  215. data/templates/ubuntu-11.04-server-i386/postinstall.sh +1 -1
  216. data/templates/ubuntu-8.04.4-server-amd64/definition.rb +1 -2
  217. data/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +7 -8
  218. data/templates/ubuntu-8.04.4-server-amd64/preseed.cfg +1 -0
  219. data/templates/ubuntu-8.04.4-server-i386/definition.rb +2 -2
  220. data/templates/ubuntu-8.04.4-server-i386/postinstall.sh +3 -25
  221. data/templates/windows-2008R2-amd64/cygwin-setup.exe +0 -0
  222. data/templates/windows-2008R2-amd64/definition.rb +1 -1
  223. data/templates/windows-2008R2-amd64/install-winrm.bat +0 -2
  224. data/templates/windows-2008R2-amd64/postinstall.sh +1 -1
  225. data/templates/windows-2008R2-amd64/win7/Autounattend.xml +180 -0
  226. data/test/build_test.rb +50 -0
  227. data/test/definition_test.rb +11 -0
  228. data/test/definitions/test_definition/_test_me.sh +1 -0
  229. data/test/definitions/test_definition/autorun0 +3 -0
  230. data/test/definitions/test_definition/definition.rb +27 -0
  231. data/test/environment_test.rb +67 -0
  232. data/validation/features/steps/ssh_steps.rb +52 -52
  233. data/validation/vagrant.feature +64 -48
  234. data/veewee.gemspec +14 -9
  235. metadata +243 -213
  236. data/lib/veewee/command/basebox.rb +0 -63
  237. data/lib/veewee/command/basebox_build.rb +0 -32
  238. data/lib/veewee/command/basebox_define.rb +0 -28
  239. data/lib/veewee/command/basebox_destroy.rb +0 -22
  240. data/lib/veewee/command/basebox_export.rb +0 -22
  241. data/lib/veewee/command/basebox_list.rb +0 -23
  242. data/lib/veewee/command/basebox_ostypes.rb +0 -23
  243. data/lib/veewee/command/basebox_templates.rb +0 -23
  244. data/lib/veewee/command/basebox_undefine.rb +0 -22
  245. data/lib/veewee/command/basebox_validate.rb +0 -26
  246. data/lib/veewee/export.rb +0 -81
  247. data/lib/veewee/scancode.rb +0 -151
  248. data/lib/veewee/session.rb +0 -907
  249. data/lib/veewee/shell.rb +0 -54
  250. data/lib/veewee/ssh.rb +0 -193
  251. data/lib/veewee/transaction.rb +0 -122
  252. data/lib/veewee/utils.rb +0 -26
  253. data/lib/veewee/web.rb +0 -48
  254. data/templates/CentOS-6.1-x86_64-minimal/definition.rb +0 -15
  255. data/templates/CentOS-6.1-x86_64-minimal/ks.cfg +0 -37
  256. data/templates/CentOS-6.1-x86_64-minimal/postinstall.sh +0 -50
  257. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +0 -15
  258. data/templates/CentOS-6.2-x86_64-minimal/ks.cfg +0 -37
  259. data/templates/CentOS-6.2-x86_64-minimal/postinstall.sh +0 -50
  260. data/templates/Debian-6.0.3-amd64-netboot/postinstall.sh +0 -80
  261. data/templates/Fedora-15-x86_64-netboot/definition.rb +0 -29
  262. data/templates/Fedora-15-x86_64-netboot/ks.cfg +0 -64
  263. data/templates/Fedora-15-x86_64-netboot/postinstall.sh +0 -33
  264. data/templates/Fedora-16-i386/definition.rb +0 -17
  265. data/templates/Fedora-16-i386/ks.cfg +0 -72
  266. data/templates/Fedora-16-i386/postinstall.sh +0 -35
  267. data/templates/Fedora-16-x86_64/definition.rb +0 -17
  268. data/templates/Fedora-16-x86_64/ks.cfg +0 -72
  269. data/templates/Fedora-16-x86_64/postinstall.sh +0 -35
  270. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_de.xml +0 -1127
  271. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_en.xml +0 -1127
  272. data/templates/SLES-11-SP1-DVD-i586-GM/definition.rb +0 -37
  273. data/templates/SLES-11-SP1-DVD-i586-GM/postinstall.sh +0 -43
  274. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_de.xml +0 -1171
  275. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_en.xml +0 -1171
  276. data/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb +0 -37
  277. data/templates/SLES-11-SP1-DVD-x86_64-GM/postinstall.sh +0 -43
  278. data/templates/funtoo-latest-generic_64-stable/definition.rb +0 -34
  279. data/templates/funtoo-latest-generic_64-stable/postinstall.sh +0 -177
  280. data/templates/funtoo-latest-generic_64-stable/postinstall2.sh +0 -83
  281. data/templates/gentoo-latest-x86_64-experimental/definition.rb +0 -34
  282. data/templates/gentoo-latest-x86_64-experimental/postinstall.sh +0 -214
  283. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml +0 -1483
  284. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml +0 -1483
  285. data/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +0 -44
  286. data/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh +0 -43
  287. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml +0 -1727
  288. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml +0 -1727
  289. data/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +0 -44
  290. data/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh +0 -43
  291. data/templates/openbsd50_amd64/README +0 -28
  292. data/templates/openbsd50_amd64/definition.rb +0 -84
  293. data/templates/openbsd50_amd64/postinstall.sh +0 -81
  294. data/templates/openbsd50_i386/.definition.rb.swp +0 -0
  295. data/templates/openbsd50_i386/README +0 -28
  296. data/templates/openbsd50_i386/definition.rb +0 -84
  297. data/templates/openbsd50_i386/postinstall.sh +0 -80
  298. data/templates/scientificlinux-6.1-i386-netboot/definition.rb +0 -16
  299. data/templates/scientificlinux-6.1-i386-netboot/ks.cfg +0 -53
  300. data/templates/scientificlinux-6.1-i386-netboot/postinstall.sh +0 -30
  301. data/templates/scientificlinux-6.1-x86_64-netboot/definition.rb +0 -16
  302. data/templates/scientificlinux-6.1-x86_64-netboot/ks.cfg +0 -53
  303. data/templates/scientificlinux-6.1-x86_64-netboot/postinstall.sh +0 -30
  304. data/templates/ubuntu-10.04.3-server-amd64/postinstall.sh +0 -90
  305. data/templates/ubuntu-11.04-server-amd64/postinstall.sh +0 -96
  306. data/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb +0 -24
  307. data/templates/ubuntu-11.10-server-amd64-ishaya/preseed.cfg +0 -87
  308. data/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb +0 -24
  309. data/templates/ubuntu-11.10-server-amd64-ruby192/postinstall.sh +0 -90
  310. data/templates/ubuntu-11.10-server-amd64-ruby192/preseed.cfg +0 -87
  311. data/templates/ubuntu-11.10-server-amd64/definition.rb +0 -35
  312. data/templates/ubuntu-11.10-server-amd64/postinstall.sh +0 -88
  313. data/templates/ubuntu-11.10-server-amd64/preseed.cfg +0 -87
  314. data/templates/ubuntu-11.10-server-i386/definition.rb +0 -35
  315. data/templates/ubuntu-11.10-server-i386/postinstall.sh +0 -88
  316. data/templates/ubuntu-11.10-server-i386/preseed.cfg +0 -87
  317. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +0 -146
  318. data/templates/windows-2008R1-serverstandard-amd64/README.md +0 -134
  319. data/templates/windows-2008R1-serverstandard-amd64/cygwin-setup.exe +0 -0
  320. data/templates/windows-2008R1-serverstandard-amd64/definition.rb +0 -114
  321. data/templates/windows-2008R1-serverstandard-amd64/install-cygwin-sshd.bat +0 -40
  322. data/templates/windows-2008R1-serverstandard-amd64/install-guest-additions.bat +0 -5
  323. data/templates/windows-2008R1-serverstandard-amd64/install-winrm.bat +0 -14
  324. data/templates/windows-2008R1-serverstandard-amd64/oracle-cert.cer +0 -0
  325. data/templates/windows-2008R1-serverstandard-amd64/postinstall.sh +0 -74
  326. data/templates/windows-2008R1-serverstandard-amd64/sudo +0 -2
  327. data/templates/windows-2008R1-serverstandard-amd64/winrm.rb +0 -8
  328. data/templates/windows-2008R2-serverstandard-amd64/Autounattend.xml +0 -147
  329. data/templates/windows-2008R2-serverstandard-amd64/README.md +0 -142
  330. data/templates/windows-2008R2-serverstandard-amd64/definition.rb +0 -44
  331. data/templates/windows-2008R2-serverstandard-amd64/install-cygwin-sshd.bat +0 -41
  332. data/templates/windows-2008R2-serverstandard-amd64/install-winrm.bat +0 -11
  333. data/templates/windows-2008R2-serverstandard-amd64/oracle-cert.cer +0 -0
  334. data/templates/windows-2008R2-serverstandard-amd64/postinstall.sh +0 -74
  335. data/templates/windows-7-enterprise-amd64/Autounattend.xml +0 -149
  336. data/templates/windows-7-enterprise-amd64/README.md +0 -52
  337. data/templates/windows-7-enterprise-amd64/definition.rb +0 -39
  338. data/templates/windows-7-enterprise-amd64/install-cygwin-sshd.bat +0 -40
  339. data/templates/windows-7-enterprise-amd64/install-winrm.bat +0 -14
  340. data/templates/windows-7-enterprise-amd64/oracle-cert.cer +0 -0
  341. data/templates/windows-7-enterprise-amd64/postinstall.sh +0 -74
  342. data/templates/windows-7-enterprise-i386/Autounattend.xml +0 -151
  343. data/templates/windows-7-enterprise-i386/README.md +0 -169
  344. data/templates/windows-7-enterprise-i386/definition.rb +0 -40
  345. data/templates/windows-7-enterprise-i386/install-cygwin-sshd.bat +0 -40
  346. data/templates/windows-7-enterprise-i386/install-winrm.bat +0 -14
  347. data/templates/windows-7-enterprise-i386/oracle-cert.cer +0 -0
  348. data/templates/windows-7-enterprise-i386/postinstall.sh +0 -74
  349. data/templates/windows-7-premium-amd64/Autounattend.xml +0 -152
  350. data/templates/windows-7-premium-amd64/README.md +0 -171
  351. data/templates/windows-7-premium-amd64/definition.rb +0 -38
  352. data/templates/windows-7-premium-amd64/install-chefclient.bat +0 -44
  353. data/templates/windows-7-premium-amd64/install-winrm.bat +0 -11
  354. data/templates/windows-7-premium-amd64/oracle-cert.cer +0 -0
  355. data/templates/windows-7-premium-amd64/postinstall.sh +0 -124
  356. data/templates/windows-7-premium-amd64/winrm.rb +0 -8
  357. data/templates/windows-7-professional-amd64/Autounattend.xml +0 -152
  358. data/templates/windows-7-professional-amd64/README.md +0 -171
  359. data/templates/windows-7-professional-amd64/definition.rb +0 -41
  360. data/templates/windows-7-professional-amd64/install-cygwin-sshd.bat +0 -40
  361. data/templates/windows-7-professional-amd64/install-winrm.bat +0 -14
  362. data/templates/windows-7-professional-amd64/oracle-cert.cer +0 -0
  363. data/templates/windows-7-professional-amd64/postinstall.sh +0 -74
  364. data/templates/windows-7-ultimate-amd64/Autounattend.xml +0 -152
  365. data/templates/windows-7-ultimate-amd64/README.md +0 -89
  366. data/templates/windows-7-ultimate-amd64/definition.rb +0 -41
  367. data/templates/windows-7-ultimate-amd64/install-cygwin-sshd.bat +0 -40
  368. data/templates/windows-7-ultimate-amd64/install-winrm.bat +0 -14
  369. data/templates/windows-7-ultimate-amd64/oracle-cert.cer +0 -0
  370. data/templates/windows-7-ultimate-amd64/postinstall.sh +0 -74
  371. data/templates/windows-7sp1-ultimate-amd64/Autounattend.xml +0 -152
  372. data/templates/windows-7sp1-ultimate-amd64/README.md +0 -89
  373. data/templates/windows-7sp1-ultimate-amd64/definition.rb +0 -42
  374. data/templates/windows-7sp1-ultimate-amd64/install-cygwin-sshd.bat +0 -40
  375. data/templates/windows-7sp1-ultimate-amd64/install-winrm.bat +0 -14
  376. data/templates/windows-7sp1-ultimate-amd64/oracle-cert.cer +0 -0
  377. data/templates/windows-7sp1-ultimate-amd64/postinstall.sh +0 -74
  378. data/templates/windows-8-preview-dev-amd64/Autounattend.xml +0 -140
  379. data/templates/windows-8-preview-dev-amd64/README.md +0 -134
  380. data/templates/windows-8-preview-dev-amd64/cygwin-setup.exe +0 -0
  381. data/templates/windows-8-preview-dev-amd64/definition.rb +0 -114
  382. data/templates/windows-8-preview-dev-amd64/install-cygwin-sshd.bat +0 -38
  383. data/templates/windows-8-preview-dev-amd64/install-winrm.bat +0 -11
  384. data/templates/windows-8-preview-dev-amd64/oracle-cert.cer +0 -0
  385. data/templates/windows-8-preview-dev-amd64/postinstall.sh +0 -122
  386. data/templates/windows-8-preview-dev-amd64/winrm.rb +0 -8
  387. data/trials/docu-vbox.txt +0 -83
  388. data/trials/f.rb +0 -29
  389. data/trials/t.rb +0 -15
data/.gitignore CHANGED
@@ -1,9 +1,11 @@
1
1
  .DS_Store
2
+ .bundle
2
3
  gems/*
3
4
  iso/*
4
5
  tmp/*
5
6
  definitions/*
6
7
  Vagrantfile
8
+ Vagrantfile.*
7
9
  cookbooks/*
8
10
  manifests/*
9
11
  boxes/*
@@ -11,3 +13,4 @@ pkg/*
11
13
  *.box
12
14
  .vagrant
13
15
  virtualfloppy.vfd
16
+ *.swp
data/Gemfile CHANGED
@@ -1,9 +1,8 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- #gem "veewee", :path => "."
3
+ gem "veewee", :path => "."
4
4
 
5
5
  group :test do
6
6
  gem "rake"
7
7
  end
8
-
9
8
  gemspec
@@ -1,68 +1,91 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- veewee (0.2.3)
5
- cucumber (>= 1.0.0)
4
+ veewee (0.3.0.alpha1)
5
+ CFPropertyList (~> 2.0.17)
6
+ ansi (~> 1.3.0)
7
+ cucumber (~> 1.0.2)
8
+ fog (~> 1.0.0)
6
9
  highline (~> 1.6.1)
7
- net-ssh (>= 2.1.0)
10
+ i18n
11
+ net-ssh (~> 2.1.0)
8
12
  popen4 (~> 0.1.2)
9
13
  progressbar
10
- rspec (~> 2.5)
14
+ rspec (~> 2.5.0)
15
+ ruby-vnc (~> 1.0.0)
11
16
  thor (~> 0.14.6)
12
- vagrant (>= 0.9.0)
13
- virtualbox (>= 0.9.2)
17
+ vagrant (~> 0.8.2)
14
18
 
15
19
  GEM
16
20
  remote: http://rubygems.org/
17
21
  specs:
22
+ CFPropertyList (2.0.17)
23
+ libxml-ruby (>= 1.1.0)
24
+ rake (>= 0.7.0)
18
25
  Platform (0.4.0)
26
+ ansi (1.3.0)
19
27
  archive-tar-minitar (0.5.2)
20
28
  builder (3.0.0)
21
- childprocess (0.3.1)
22
- ffi (~> 1.0.6)
23
- cucumber (1.1.4)
29
+ cucumber (1.0.6)
24
30
  builder (>= 2.1.2)
25
31
  diff-lcs (>= 1.1.2)
26
- gherkin (~> 2.7.1)
32
+ gherkin (~> 2.4.18)
27
33
  json (>= 1.4.6)
28
34
  term-ansicolor (>= 1.0.6)
29
35
  diff-lcs (1.1.3)
30
36
  erubis (2.7.0)
31
- ffi (1.0.11)
32
- gherkin (2.7.6)
37
+ excon (0.7.3)
38
+ ffi (1.0.9)
39
+ fog (1.0.0)
40
+ builder
41
+ excon (~> 0.7.3)
42
+ formatador (~> 0.2.0)
43
+ mime-types
44
+ multi_json (~> 1.0.3)
45
+ net-scp (~> 1.0.4)
46
+ net-ssh (~> 2.1.4)
47
+ nokogiri (~> 1.5.0)
48
+ ruby-hmac
49
+ formatador (0.2.1)
50
+ gherkin (2.4.21)
33
51
  json (>= 1.4.6)
34
- highline (1.6.11)
52
+ highline (1.6.2)
35
53
  i18n (0.6.0)
36
54
  json (1.5.4)
37
- log4r (1.1.10)
55
+ libxml-ruby (2.2.2)
56
+ mime-types (1.16)
57
+ multi_json (1.0.3)
38
58
  net-scp (1.0.4)
39
59
  net-ssh (>= 1.99.1)
40
- net-ssh (2.2.2)
41
- open4 (1.3.0)
60
+ net-ssh (2.1.4)
61
+ nokogiri (1.5.0)
62
+ open4 (1.1.0)
42
63
  popen4 (0.1.2)
43
64
  Platform (>= 0.4.0)
44
65
  open4 (>= 0.4.0)
45
- progressbar (0.10.0)
46
- rake (0.9.2.2)
47
- rspec (2.8.0)
48
- rspec-core (~> 2.8.0)
49
- rspec-expectations (~> 2.8.0)
50
- rspec-mocks (~> 2.8.0)
51
- rspec-core (2.8.0)
52
- rspec-expectations (2.8.0)
66
+ progressbar (0.9.1)
67
+ rake (0.9.2)
68
+ rspec (2.5.0)
69
+ rspec-core (~> 2.5.0)
70
+ rspec-expectations (~> 2.5.0)
71
+ rspec-mocks (~> 2.5.0)
72
+ rspec-core (2.5.2)
73
+ rspec-expectations (2.5.0)
53
74
  diff-lcs (~> 1.1.2)
54
- rspec-mocks (2.8.0)
55
- term-ansicolor (1.0.7)
75
+ rspec-mocks (2.5.0)
76
+ ruby-hmac (0.4.0)
77
+ ruby-vnc (1.0.1)
78
+ term-ansicolor (1.0.6)
56
79
  thor (0.14.6)
57
- vagrant (0.9.5)
80
+ vagrant (0.8.7)
58
81
  archive-tar-minitar (= 0.5.2)
59
- childprocess (~> 0.3.0)
60
82
  erubis (~> 2.7.0)
61
83
  i18n (~> 0.6.0)
62
84
  json (~> 1.5.1)
63
- log4r (~> 1.1.9)
64
85
  net-scp (~> 1.0.4)
65
- net-ssh (~> 2.2.2)
86
+ net-ssh (~> 2.1.4)
87
+ thor (~> 0.14.6)
88
+ virtualbox (~> 0.9.1)
66
89
  virtualbox (0.9.2)
67
90
  ffi (~> 1.0.9)
68
91
 
data/License ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2010-2011 Patrick Debois
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,2 @@
1
+ this version includes patches for both fission and ruby-vnc
2
+ As the gems are not yet released, they are currently included in the veewee gem
data/README.md CHANGED
@@ -32,66 +32,39 @@ If you don't use rvm, be sure to execute vagrant through bundle exec
32
32
 
33
33
  $ vagrant basebox templates
34
34
  The following templates are available:
35
- vagrant basebox define '<boxname>' 'CentOS-4.8-i386'
36
- vagrant basebox define '<boxname>' 'CentOS-5.5-x86_64-netboot'
37
- vagrant basebox define '<boxname>' 'CentOS-5.6-i386'
38
- vagrant basebox define '<boxname>' 'CentOS-5.6-i386-netboot'
39
- vagrant basebox define '<boxname>' 'CentOS-5.6-x86_64-netboot'
40
- vagrant basebox define '<boxname>' 'CentOS-5.7-i386-netboot'
41
- vagrant basebox define '<boxname>' 'CentOS-5.7-x86_64-netboot'
42
- vagrant basebox define '<boxname>' 'CentOS-6.0-i386'
43
- vagrant basebox define '<boxname>' 'CentOS-6.0-i386-netboot'
44
- vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64'
45
- vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64-minimal'
46
- vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64-netboot'
47
- vagrant basebox define '<boxname>' 'Debian-5.0.8-amd64-netboot'
48
- vagrant basebox define '<boxname>' 'Debian-5.0.8-i386-netboot'
49
- vagrant basebox define '<boxname>' 'Debian-6.0.3-amd64-netboot'
50
- vagrant basebox define '<boxname>' 'Debian-6.0.3-i386-netboot'
51
- vagrant basebox define '<boxname>' 'Fedora-14-amd64'
52
- vagrant basebox define '<boxname>' 'Fedora-14-amd64-netboot'
53
- vagrant basebox define '<boxname>' 'Fedora-14-i386'
54
- vagrant basebox define '<boxname>' 'Fedora-14-i386-netboot'
55
- vagrant basebox define '<boxname>' 'Fedora-15-i386'
56
- vagrant basebox define '<boxname>' 'Fedora-15-i386-netboot'
57
- vagrant basebox define '<boxname>' 'Fedora-15-x86_64'
58
- vagrant basebox define '<boxname>' 'Fedora-15-x86_64-netboot'
59
- vagrant basebox define '<boxname>' 'Sysrescuecd-2.0.0-experimental'
60
- vagrant basebox define '<boxname>' 'archlinux-i386'
61
- vagrant basebox define '<boxname>' 'archlinux-i386-netboot'
62
- vagrant basebox define '<boxname>' 'archlinux-x86_64'
63
- vagrant basebox define '<boxname>' 'archlinux-x86_64-netboot'
64
- vagrant basebox define '<boxname>' 'freebsd-8.2-experimental'
65
- vagrant basebox define '<boxname>' 'freebsd-8.2-pcbsd-i386'
66
- vagrant basebox define '<boxname>' 'freebsd-8.2-pcbsd-i386-netboot'
67
- vagrant basebox define '<boxname>' 'gentoo-latest-i386-experimental'
68
- vagrant basebox define '<boxname>' 'openSUSE-11.4-DVD-i586'
69
- vagrant basebox define '<boxname>' 'openSUSE-11.4-DVD-x86_64'
70
- vagrant basebox define '<boxname>' 'openSUSE-11.4-NET-i586'
71
- vagrant basebox define '<boxname>' 'openSUSE-11.4-NET-x86_64'
72
- vagrant basebox define '<boxname>' 'openindiana-148-ai-x86'
73
- vagrant basebox define '<boxname>' 'opensuse-11.4-i386-experimental'
74
- vagrant basebox define '<boxname>' 'scientificlinux-6.1-i386-netboot'
75
- vagrant basebox define '<boxname>' 'scientificlinux-6.1-x86_64-netboot'
76
- vagrant basebox define '<boxname>' 'solaris-11-express-i386'
77
- vagrant basebox define '<boxname>' 'ubuntu-10.04.2-amd64-netboot'
78
- vagrant basebox define '<boxname>' 'ubuntu-10.04.2-server-i386-netboot'
79
- vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-amd64'
80
- vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-amd64-alt'
81
- vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-i386'
82
- vagrant basebox define '<boxname>' 'ubuntu-10.10-server-amd64'
83
- vagrant basebox define '<boxname>' 'ubuntu-10.10-server-amd64-netboot'
84
- vagrant basebox define '<boxname>' 'ubuntu-10.10-server-i386'
85
- vagrant basebox define '<boxname>' 'ubuntu-10.10-server-i386-netboot'
86
- vagrant basebox define '<boxname>' 'ubuntu-11.04-server-amd64'
87
- vagrant basebox define '<boxname>' 'ubuntu-11.04-server-i386'
88
- vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64'
89
- vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64-ishaya'
90
- vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64-ruby192'
91
- vagrant basebox define '<boxname>' 'ubuntu-11.10-server-i386'
92
- vagrant basebox define '<boxname>' 'ubuntu-8.04.4-server-amd64'
93
- vagrant basebox define '<boxname>' 'ubuntu-8.04.4-server-i386'
94
- vagrant basebox define '<boxname>' 'windows-2008R2-amd64'
35
+ vagrant basebox define '<box_name>' 'ubuntu-10.10-server-i386-netboot'
36
+ vagrant basebox define '<box_name>' 'ubuntu-10.10-server-amd64-netboot'
37
+ vagrant basebox define '<box_name>' 'solaris-11-express-i386'
38
+ vagrant basebox define '<box_name>' 'freebsd-8.2-pcbsd-i386-netboot'
39
+ vagrant basebox define '<box_name>' 'Fedora-14-amd64-netboot'
40
+ vagrant basebox define '<box_name>' 'ubuntu-11.04-server-amd64'
41
+ vagrant basebox define '<box_name>' 'freebsd-8.2-experimental'
42
+ vagrant basebox define '<box_name>' 'archlinux-i686'
43
+ vagrant basebox define '<box_name>' 'CentOS-5.6-i386-netboot'
44
+ vagrant basebox define '<box_name>' 'openindiana-148-ai-x86'
45
+ vagrant basebox define '<box_name>' 'ubuntu-10.10-server-i386'
46
+ vagrant basebox define '<box_name>' 'ubuntu-10.04.2-server-i386'
47
+ vagrant basebox define '<box_name>' 'ubuntu-10.04.2-amd64-netboot'
48
+ vagrant basebox define '<box_name>' 'Sysrescuecd-2.0.0-experimental'
49
+ vagrant basebox define '<box_name>' 'Debian-6.0.1a-amd64-netboot'
50
+ vagrant basebox define '<box_name>' 'freebsd-8.2-pcbsd-i386'
51
+ vagrant basebox define '<box_name>' 'Fedora-14-i386'
52
+ vagrant basebox define '<box_name>' 'Fedora-14-amd64'
53
+ vagrant basebox define '<box_name>' 'ubuntu-10.04.2-server-i386-netboot'
54
+ vagrant basebox define '<box_name>' 'opensuse-11.4-i386-experimental'
55
+ vagrant basebox define '<box_name>' 'CentOS-4.8-i386'
56
+ vagrant basebox define '<box_name>' 'ubuntu-10.04.2-server-amd64'
57
+ vagrant basebox define '<box_name>' 'ubuntu-8.04.4-server-amd64'
58
+ vagrant basebox define '<box_name>' 'gentoo-latest-i386-experimental'
59
+ vagrant basebox define '<box_name>' 'ubuntu-8.04.4-server-i386'
60
+ vagrant basebox define '<box_name>' 'windows-2008R2-amd64'
61
+ vagrant basebox define '<box_name>' 'Fedora-14-i386-netboot'
62
+ vagrant basebox define '<box_name>' 'archlinux-64-experimental'
63
+ vagrant basebox define '<box_name>' 'Debian-6.0.1a-i386-netboot'
64
+ vagrant basebox define '<box_name>' 'ubuntu-10.10-server-amd64'
65
+ vagrant basebox define '<box_name>' 'archlinux-64-aif-experimental'
66
+ vagrant basebox define '<box_name>' 'ubuntu-11.04-server-i386'
67
+ vagrant basebox define '<box_name>' 'CentOS-5.6-i386'
95
68
 
96
69
 
97
70
  ## Define a new box
@@ -111,7 +84,7 @@ this is essentially making a copy based on the templates provided above.
111
84
 
112
85
  ## Optionally modify the definition.rb , postinstall.sh or preseed.cfg
113
86
 
114
- Veewee::Session.declare( {
87
+ Veewee::Definition.declare( {
115
88
  :cpu_count => '1', :memory_size=> '256',
116
89
  :disk_size => '10140', :disk_format => 'VDI',
117
90
  :os_type_id => 'Ubuntu',
@@ -158,7 +131,7 @@ Put your isofile inside the 'currentdir'/iso directory or if you don't run
158
131
  - Mount the ISO File :iso_file
159
132
  - Boot up the machine and wait for :boot_time
160
133
  - Send the keystrokes in :boot_cmd_sequence
161
- - Startup a webserver on :kickstart_port to wait for a request for the :kickstart_file (don't navigate to the file in your browser or the server will stop and the installer will not be able to find your preseed)
134
+ - Startup a webserver on :kickstart_port to wait for a request for the :kickstart_file
162
135
  - Wait for ssh login to work with :ssh_user , :ssh_password
163
136
  - Sudo execute the :postinstall_files
164
137
 
data/Rakefile CHANGED
@@ -1,97 +1,63 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
3
  require 'bundler/setup'
4
+ require 'veewee'
4
5
  Bundler::GemHelper.install_tasks
5
6
 
6
- #Setup some base variables to use
7
- veewee_dir = "."
8
- lib_dir = File.expand_path(File.join(veewee_dir, "lib"))
9
- box_dir = File.expand_path(File.join(veewee_dir, "boxes"))
10
- vbox_dir = File.expand_path(File.join(veewee_dir, "tmp"))
11
- tmp_dir = File.expand_path(File.join(veewee_dir, "tmp"))
12
- iso_dir = File.expand_path(File.join(veewee_dir, "iso"))
13
- definition_dir = File.expand_path(File.join(veewee_dir, "definitions"))
14
- template_dir = File.expand_path(File.join(veewee_dir, "templates"))
7
+ desc 'Default: run tests'
8
+ task :default => :test
15
9
 
10
+ require 'rake/testtask'
11
+ Bundler::GemHelper.install_tasks
16
12
 
17
- #Load Veewee::Session libraries
18
- Dir.glob(File.join(lib_dir, '**','*.rb')).each { |f| require f }
19
-
20
- #Initialize
21
- Veewee::Session.setenv({
22
- :veewee_dir => veewee_dir,
23
- :definition_dir => definition_dir,
24
- :template_dir => template_dir,
25
- :iso_dir => iso_dir,
26
- :box_dir => box_dir,
27
- :tmp_dir => tmp_dir
28
- })
29
-
30
- desc 'Default: list templates'
31
- task :default => [:templates]
32
-
33
- desc 'List templates'
34
- task :templates do
35
- Veewee::Session.list_templates
36
- end
37
-
38
- desc 'Define box'
39
- task :define, [:boxname,:template_name] do |t,args|
40
- if args.to_hash.size!=2
41
- puts "needs two arguments: rake define['boxname','template_name']"
42
- exit
43
- end
44
- Veewee::Session.define(args.boxname,args.template_name)
45
- end
46
-
47
- desc 'Undefine box'
48
- task :undefine, [:boxname] do |t,args|
49
- if args.to_hash.size!=1
50
- puts "needs one arguments: rake undefine[\"yourname\"]"
51
- exit
52
- end
53
- Veewee::Session.undefine(args.boxname)
54
- end
55
-
56
- desc 'List Definitions'
57
- task :definitions do
58
- Veewee::Session.list_definitions
59
- end
60
-
61
- desc 'Build box'
62
- task :build, [:boxname] do |t,args|
63
- if args.to_hash.size!=1
64
- puts "needs one arguments: rake build['boxname']"
65
- exit
66
- end
67
- Veewee::Session.build(args.boxname)
68
- end
69
-
70
- desc 'List boxes'
71
- task :boxes do
72
- Veewee::Session.list_boxes
73
- end
74
-
75
- desc 'Export box'
76
- task :export, [:boxname] do |t,args|
77
- if args.to_hash.size!=1
78
- puts "needs one arguments: rake export['boxname']"
79
- exit
13
+ desc 'Tests not requiring an real box'
14
+ Rake::TestTask.new do |t|
15
+ t.libs << "test"
16
+ t.pattern = 'test/**/*_test.rb'
17
+ end
18
+
19
+ desc 'Tests requiring an real box'
20
+ Rake::TestTask.new do |t|
21
+ t.name="realtest"
22
+ t.libs << "test"
23
+ t.pattern = 'test/**/*_realtest.rb'
24
+ end
25
+
26
+ desc 'Verify ISO'
27
+ task :iso, [:box_name] do |t,args|
28
+ require 'net/http'
29
+ #if args.to_hash.size!=1
30
+ #puts "needs one arguments: rake iso [\"yourname\"]"
31
+ #exit
32
+ #end
33
+ Dir.glob("templates/*").each do |name|
34
+ definition_name=File.basename(name)
35
+ definition=Veewee::Environment.new(:cwd => ".",:definition_dir => "templates",:definition_path => "templates").get_definition(definition_name)
36
+ next if definition.iso_src.nil? || definition.iso_src==""
37
+ begin
38
+ url=definition.iso_src
39
+ found=false
40
+ response = nil
41
+ while found==false
42
+ uri=URI.parse(url)
43
+ Net::HTTP.start(uri.host,uri.port) {|http|
44
+ response = http.head(uri.path)
45
+ }
46
+ unless response['location'].nil?
47
+ #puts "Redirecting to "+response['location']
48
+ url=response['location']
49
+ else
50
+ found=true
51
+ end
52
+ end
53
+ length=response['content-length']
54
+ if length.to_i < 10000
55
+ puts definition.iso_src
56
+ p response['content-type']
57
+ puts uri.host,uri.port, uri.path,response.code
58
+ end
59
+ rescue Exception => ex
60
+ puts "Error"+ex.to_s+definition.iso_src
61
+ end
80
62
  end
81
- Veewee::Session.export_box(args.boxname)
82
- end
83
-
84
- desc 'Remove box'
85
- task :remove_box, [:boxname] do |t,args|
86
- Veewee::Session.remove_box(args.boxname)
87
- end
88
-
89
- desc 'List ostypes available'
90
- task :list_ostypes do |t,args|
91
- Veewee::Session.list_ostypes
92
- end
93
-
94
- desc 'Clean all unfinished builds'
95
- task :clean do
96
- Veewee::Session.clean
97
63
  end
data/bin/veewee CHANGED
@@ -1,79 +1,22 @@
1
1
  #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
- require 'thor'
5
- require 'bundler'
6
- require 'virtualbox'
7
2
  require 'veewee'
8
3
 
4
+ env = Veewee::Environment.new
9
5
 
10
- #Setup some base variables to use
11
- veewee_dir= File.expand_path(File.join(File.dirname(__FILE__),".."))
12
- definition_dir= File.expand_path(File.join(".", "definitions"))
13
- lib_dir= File.expand_path(File.join(veewee_dir, "lib"))
14
- box_dir= File.expand_path(File.join(veewee_dir, "boxes"))
15
- template_dir=File.expand_path(File.join(veewee_dir, "templates"))
16
-
17
- #vbox_dir=File.expand_path(File.join(veewee_dir, "tmp"))
18
- tmp_dir=File.expand_path(File.join(veewee_dir, "tmp"))
19
-
20
- iso_dir=File.expand_path(File.join(veewee_dir, "iso"))
21
-
22
- #needs to be moved to the config files to be allowed override
23
- #ENV['VBOX_USER_HOME']=vbox_dir
24
-
25
- #Load Veewee::Session libraries
26
- Dir.glob(File.join(lib_dir, '**','*.rb')).each {|f|
27
- require f }
6
+ begin
7
+ # Begin logging
8
+ env.ui.info("veewee") { "`veewee` invoked: #{ARGV.inspect}" }
28
9
 
29
- #Initialize
30
- Veewee::Session.setenv({:veewee_dir => veewee_dir, :definition_dir => definition_dir,
31
- :template_dir => template_dir, :iso_dir => iso_dir, :box_dir => box_dir, :tmp_dir => tmp_dir})
32
-
33
-
34
-
35
- class VeeweeCLI < Thor
36
-
37
- desc "init [NAME] [TEMPLATE]", "initializes a box from a template"
38
- method_options :force => :boolean
39
- def init(boxname=nil, template=nil)
40
- if (boxname.nil?)
41
- puts "please provide a boxname"
42
- exit
43
- end
44
-
45
- puts "Init a new box #{boxname}, starting from template #{template}"
46
- Veewee::Session.define(boxname,template)
47
-
48
- end
49
-
50
- desc "templates", "list the template available"
51
- def templates
52
- Veewee::Session.list_templates
53
- end
54
-
55
- desc "build [NAME]", "build the box defined"
56
- method_options :force => :boolean
57
- def build(boxname)
58
- puts "Building box #{boxname}"
59
- Veewee::Session.build(boxname)
60
- end
61
-
62
- desc "export [NAME]", "export the box"
63
- method_options :force => :boolean
64
- def export(boxname)
65
- if (!boxname.nil?)
66
- Veewee::Session.export_box(boxname)
67
- end
68
- end
69
-
70
- end
10
+ # Disable color if the proper argument was passed
11
+ shell = ARGV.include?("--no-color") ? Thor::Shell::Basic.new : Thor::Base.shell.new
71
12
 
13
+ # Attach the UI
14
+ env.ui = ::Veewee::UI::Shell.new(env, shell)
15
+ env.load!
72
16
 
17
+ # Start the CLI
18
+ ::Veewee::CLI.start(ARGV,:env => env)
73
19
 
74
- version=VirtualBox.version
75
- if (version.match(/^4./))
76
- VeeweeCLI.start
77
- else
78
- puts "veewee only supports VirtualBox 4.x"
20
+ rescue Veewee::Error => e
21
+ puts "#{e}"
79
22
  end