veewee 0.2.3 → 0.3.0.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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