HeSYINUvSBZfxqA-veewee 0.2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. data/.gitignore +15 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +69 -0
  4. data/HeSYINUvSBZfxqA-veewee.gemspec +33 -0
  5. data/README.md +198 -0
  6. data/Rakefile +92 -0
  7. data/bin/veewee +79 -0
  8. data/lib/java/README.txt +5 -0
  9. data/lib/java/dir2floppy.jar +0 -0
  10. data/lib/java/dir2floppy.java +137 -0
  11. data/lib/vagrant_init.rb +6 -0
  12. data/lib/veewee/command.rb +82 -0
  13. data/lib/veewee/config.rb +5 -0
  14. data/lib/veewee/export.rb +81 -0
  15. data/lib/veewee/scancode.rb +151 -0
  16. data/lib/veewee/session.rb +783 -0
  17. data/lib/veewee/shell.rb +54 -0
  18. data/lib/veewee/ssh.rb +193 -0
  19. data/lib/veewee/transaction.rb +122 -0
  20. data/lib/veewee/utils.rb +26 -0
  21. data/lib/veewee/version.rb +3 -0
  22. data/lib/veewee/web.rb +48 -0
  23. data/lib/veewee.rb +2 -0
  24. data/templates/CentOS-4.8-i386/definition.rb +14 -0
  25. data/templates/CentOS-4.8-i386/ks.cfg +45 -0
  26. data/templates/CentOS-4.8-i386/postinstall.sh +55 -0
  27. data/templates/CentOS-5.6-i386/definition.rb +17 -0
  28. data/templates/CentOS-5.6-i386/ks.cfg +45 -0
  29. data/templates/CentOS-5.6-i386/postinstall.sh +50 -0
  30. data/templates/CentOS-5.6-i386-netboot/definition.rb +16 -0
  31. data/templates/CentOS-5.6-i386-netboot/ks.cfg +45 -0
  32. data/templates/CentOS-5.6-i386-netboot/postinstall.sh +52 -0
  33. data/templates/CentOS-5.6-x86_64-netboot/definition.rb +16 -0
  34. data/templates/CentOS-5.6-x86_64-netboot/ks.cfg +45 -0
  35. data/templates/CentOS-5.6-x86_64-netboot/postinstall.sh +60 -0
  36. data/templates/CentOS-6.0-i386/definition.rb +17 -0
  37. data/templates/CentOS-6.0-i386/ks.cfg +47 -0
  38. data/templates/CentOS-6.0-i386/postinstall.sh +48 -0
  39. data/templates/CentOS-6.0-i386-netboot/definition.rb +16 -0
  40. data/templates/CentOS-6.0-i386-netboot/ks.cfg +52 -0
  41. data/templates/CentOS-6.0-i386-netboot/postinstall.sh +30 -0
  42. data/templates/CentOS-6.0-x86_64/definition.rb +17 -0
  43. data/templates/CentOS-6.0-x86_64/ks.cfg +47 -0
  44. data/templates/CentOS-6.0-x86_64/postinstall.sh +48 -0
  45. data/templates/CentOS-6.0-x86_64-netboot/definition.rb +16 -0
  46. data/templates/CentOS-6.0-x86_64-netboot/ks.cfg +52 -0
  47. data/templates/CentOS-6.0-x86_64-netboot/postinstall.sh +30 -0
  48. data/templates/Debian-5.0.8-amd64-netboot/definition.rb +39 -0
  49. data/templates/Debian-5.0.8-amd64-netboot/postinstall.sh +60 -0
  50. data/templates/Debian-5.0.8-amd64-netboot/preseed.cfg +312 -0
  51. data/templates/Debian-5.0.8-i386-netboot/definition.rb +39 -0
  52. data/templates/Debian-5.0.8-i386-netboot/postinstall.sh +60 -0
  53. data/templates/Debian-5.0.8-i386-netboot/preseed.cfg +312 -0
  54. data/templates/Debian-6.0.2-amd64-netboot/definition.rb +39 -0
  55. data/templates/Debian-6.0.2-amd64-netboot/postinstall.sh +71 -0
  56. data/templates/Debian-6.0.2-amd64-netboot/preseed.cfg +312 -0
  57. data/templates/Debian-6.0.2-i386-netboot/definition.rb +41 -0
  58. data/templates/Debian-6.0.2-i386-netboot/postinstall.sh +83 -0
  59. data/templates/Debian-6.0.2-i386-netboot/preseed.cfg +312 -0
  60. data/templates/Fedora-14-amd64/definition.rb +16 -0
  61. data/templates/Fedora-14-amd64/ks.cfg +41 -0
  62. data/templates/Fedora-14-amd64/postinstall.sh +54 -0
  63. data/templates/Fedora-14-amd64-netboot/definition.rb +16 -0
  64. data/templates/Fedora-14-amd64-netboot/ks.cfg +40 -0
  65. data/templates/Fedora-14-amd64-netboot/postinstall.sh +54 -0
  66. data/templates/Fedora-14-i386/definition.rb +16 -0
  67. data/templates/Fedora-14-i386/ks.cfg +41 -0
  68. data/templates/Fedora-14-i386/postinstall.sh +54 -0
  69. data/templates/Fedora-14-i386-netboot/definition.rb +16 -0
  70. data/templates/Fedora-14-i386-netboot/ks.cfg +40 -0
  71. data/templates/Fedora-14-i386-netboot/postinstall.sh +54 -0
  72. data/templates/Fedora-15-i386/definition.rb +17 -0
  73. data/templates/Fedora-15-i386/ks.cfg +64 -0
  74. data/templates/Fedora-15-i386/postinstall.sh +33 -0
  75. data/templates/Fedora-15-i386-netboot/definition.rb +17 -0
  76. data/templates/Fedora-15-i386-netboot/ks.cfg +82 -0
  77. data/templates/Fedora-15-i386-netboot/postinstall.sh +18 -0
  78. data/templates/Sysrescuecd-2.0.0-experimental/autorun0 +3 -0
  79. data/templates/Sysrescuecd-2.0.0-experimental/definition.rb +20 -0
  80. data/templates/archlinux-i386/aif.cfg +33 -0
  81. data/templates/archlinux-i386/definition.rb +29 -0
  82. data/templates/archlinux-i386/postinstall.sh +95 -0
  83. data/templates/archlinux-x86_64/aif.cfg +33 -0
  84. data/templates/archlinux-x86_64/definition.rb +29 -0
  85. data/templates/archlinux-x86_64/postinstall.sh +95 -0
  86. data/templates/freebsd-8.2-experimental/definition.rb +19 -0
  87. data/templates/freebsd-8.2-experimental/postinstall.sh +191 -0
  88. data/templates/freebsd-8.2-pcbsd-i386/definition.rb +31 -0
  89. data/templates/freebsd-8.2-pcbsd-i386/pcinstall.fbg.cfg +57 -0
  90. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +93 -0
  91. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +34 -0
  92. data/templates/freebsd-8.2-pcbsd-i386-netboot/pcinstall.fbg.cfg +58 -0
  93. data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +93 -0
  94. data/templates/gentoo-latest-i386-experimental/definition.rb +29 -0
  95. data/templates/gentoo-latest-i386-experimental/postinstall.sh +184 -0
  96. data/templates/openindiana-148-ai-x86/auto_install/ai.dtd +58 -0
  97. data/templates/openindiana-148-ai-x86/auto_install/ai_manifest.xml +241 -0
  98. data/templates/openindiana-148-ai-x86/auto_install/configuration.dtd +44 -0
  99. data/templates/openindiana-148-ai-x86/auto_install/default.xml +121 -0
  100. data/templates/openindiana-148-ai-x86/auto_install/default.xml.orig +124 -0
  101. data/templates/openindiana-148-ai-x86/auto_install/sc_profiles/static_network.xml +105 -0
  102. data/templates/openindiana-148-ai-x86/auto_install/software.dtd +105 -0
  103. data/templates/openindiana-148-ai-x86/auto_install/target.dtd +196 -0
  104. data/templates/openindiana-148-ai-x86/default.xml +121 -0
  105. data/templates/openindiana-148-ai-x86/definition.rb +59 -0
  106. data/templates/openindiana-148-ai-x86/postinstall.sh +103 -0
  107. data/templates/opensuse-11.4-i386-experimental/README +11 -0
  108. data/templates/opensuse-11.4-i386-experimental/autoinst.xml +1269 -0
  109. data/templates/opensuse-11.4-i386-experimental/autoinst.xml.generated +1269 -0
  110. data/templates/opensuse-11.4-i386-experimental/autoinst.xml.tweaked +1269 -0
  111. data/templates/opensuse-11.4-i386-experimental/definition.rb +31 -0
  112. data/templates/opensuse-11.4-i386-experimental/postinstall.sh +90 -0
  113. data/templates/solaris-11-express-i386/auto_install/ai.dtd +58 -0
  114. data/templates/solaris-11-express-i386/auto_install/ai_manifest.xml +241 -0
  115. data/templates/solaris-11-express-i386/auto_install/configuration.dtd +44 -0
  116. data/templates/solaris-11-express-i386/auto_install/default.xml +124 -0
  117. data/templates/solaris-11-express-i386/auto_install/default.xml.orig +124 -0
  118. data/templates/solaris-11-express-i386/auto_install/sc_profiles/static_network.xml +105 -0
  119. data/templates/solaris-11-express-i386/auto_install/software.dtd +105 -0
  120. data/templates/solaris-11-express-i386/auto_install/target.dtd +196 -0
  121. data/templates/solaris-11-express-i386/default.xml +121 -0
  122. data/templates/solaris-11-express-i386/definition.rb +65 -0
  123. data/templates/solaris-11-express-i386/postinstall.sh +98 -0
  124. data/templates/ubuntu-10.04.2-amd64-netboot/definition.rb +23 -0
  125. data/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh +90 -0
  126. data/templates/ubuntu-10.04.2-amd64-netboot/preseed.cfg +89 -0
  127. data/templates/ubuntu-10.04.2-server-amd64/definition.rb +57 -0
  128. data/templates/ubuntu-10.04.2-server-amd64/postinstall.sh +90 -0
  129. data/templates/ubuntu-10.04.2-server-amd64/preseed.cfg +87 -0
  130. data/templates/ubuntu-10.04.2-server-amd64-alt/definition.rb +57 -0
  131. data/templates/ubuntu-10.04.2-server-amd64-alt/postinstall.sh +249 -0
  132. data/templates/ubuntu-10.04.2-server-amd64-alt/preseed.cfg +124 -0
  133. data/templates/ubuntu-10.04.2-server-i386/definition.rb +24 -0
  134. data/templates/ubuntu-10.04.2-server-i386/postinstall.sh +91 -0
  135. data/templates/ubuntu-10.04.2-server-i386/preseed.cfg +87 -0
  136. data/templates/ubuntu-10.04.2-server-i386-netboot/definition.rb +23 -0
  137. data/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh +90 -0
  138. data/templates/ubuntu-10.04.2-server-i386-netboot/preseed.cfg +89 -0
  139. data/templates/ubuntu-10.10-server-amd64/definition.rb +24 -0
  140. data/templates/ubuntu-10.10-server-amd64/postinstall.sh +90 -0
  141. data/templates/ubuntu-10.10-server-amd64/preseed.cfg +87 -0
  142. data/templates/ubuntu-10.10-server-amd64-netboot/definition.rb +24 -0
  143. data/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +90 -0
  144. data/templates/ubuntu-10.10-server-amd64-netboot/preseed.cfg +89 -0
  145. data/templates/ubuntu-10.10-server-i386/definition.rb +24 -0
  146. data/templates/ubuntu-10.10-server-i386/postinstall.sh +90 -0
  147. data/templates/ubuntu-10.10-server-i386/preseed.cfg +87 -0
  148. data/templates/ubuntu-10.10-server-i386-netboot/definition.rb +24 -0
  149. data/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +90 -0
  150. data/templates/ubuntu-10.10-server-i386-netboot/preseed.cfg +89 -0
  151. data/templates/ubuntu-11.04-server-amd64/definition.rb +24 -0
  152. data/templates/ubuntu-11.04-server-amd64/postinstall.sh +90 -0
  153. data/templates/ubuntu-11.04-server-amd64/preseed.cfg +87 -0
  154. data/templates/ubuntu-11.04-server-i386/definition.rb +24 -0
  155. data/templates/ubuntu-11.04-server-i386/postinstall.sh +90 -0
  156. data/templates/ubuntu-11.04-server-i386/preseed.cfg +87 -0
  157. data/templates/ubuntu-8.04.4-server-amd64/definition.rb +25 -0
  158. data/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +68 -0
  159. data/templates/ubuntu-8.04.4-server-amd64/preseed.cfg +88 -0
  160. data/templates/ubuntu-8.04.4-server-i386/definition.rb +25 -0
  161. data/templates/ubuntu-8.04.4-server-i386/postinstall.sh +47 -0
  162. data/templates/ubuntu-8.04.4-server-i386/preseed.cfg +87 -0
  163. data/templates/windows-2008R2-amd64/Autounattend.xml +132 -0
  164. data/templates/windows-2008R2-amd64/README.md +68 -0
  165. data/templates/windows-2008R2-amd64/cygwin-setup.exe +0 -0
  166. data/templates/windows-2008R2-amd64/definition.rb +16 -0
  167. data/templates/windows-2008R2-amd64/install-cygwin-sshd.bat +38 -0
  168. data/templates/windows-2008R2-amd64/install-winrm.bat +6 -0
  169. data/templates/windows-2008R2-amd64/oracle-cert.cer +0 -0
  170. data/templates/windows-2008R2-amd64/postinstall.sh +122 -0
  171. data/templates/windows-2008R2-amd64/winrm.rb +8 -0
  172. data/trials/docu-vbox.txt +83 -0
  173. data/trials/f.rb +29 -0
  174. data/trials/t.rb +15 -0
  175. data/validation/features/steps/ssh_steps.rb +170 -0
  176. data/validation/support/env.rb +1 -0
  177. data/validation/vagrant-private.key +27 -0
  178. data/validation/vagrant.feature +52 -0
  179. data/validation/vagrant.pub +1 -0
  180. data/veewee.gemspec +33 -0
  181. data/vendor/cache/Platform-0.4.0.gem +0 -0
  182. data/vendor/cache/archive-tar-minitar-0.5.2.gem +0 -0
  183. data/vendor/cache/builder-3.0.0.gem +0 -0
  184. data/vendor/cache/cucumber-1.0.2.gem +0 -0
  185. data/vendor/cache/diff-lcs-1.1.2.gem +0 -0
  186. data/vendor/cache/erubis-2.7.0.gem +0 -0
  187. data/vendor/cache/ffi-1.0.9.gem +0 -0
  188. data/vendor/cache/gherkin-2.4.6.gem +0 -0
  189. data/vendor/cache/highline-1.6.2.gem +0 -0
  190. data/vendor/cache/i18n-0.5.0.gem +0 -0
  191. data/vendor/cache/json-1.5.3.gem +0 -0
  192. data/vendor/cache/net-scp-1.0.4.gem +0 -0
  193. data/vendor/cache/net-ssh-2.1.4.gem +0 -0
  194. data/vendor/cache/open4-1.1.0.gem +0 -0
  195. data/vendor/cache/popen4-0.1.2.gem +0 -0
  196. data/vendor/cache/progressbar-0.9.1.gem +0 -0
  197. data/vendor/cache/rspec-2.5.0.gem +0 -0
  198. data/vendor/cache/rspec-core-2.5.2.gem +0 -0
  199. data/vendor/cache/rspec-expectations-2.5.0.gem +0 -0
  200. data/vendor/cache/rspec-mocks-2.5.0.gem +0 -0
  201. data/vendor/cache/term-ansicolor-1.0.6.gem +0 -0
  202. data/vendor/cache/thor-0.14.6.gem +0 -0
  203. data/vendor/cache/vagrant-0.8.2.gem +0 -0
  204. data/vendor/cache/virtualbox-0.9.1.gem +0 -0
  205. metadata +417 -0
@@ -0,0 +1,249 @@
1
+ #!/bin/bash
2
+ # postinstall.sh created from Mitchell's official lucid32/64 baseboxes
3
+ # Extended by hedgehog consistent with the designation - alternate
4
+ # Provides:
5
+ # - 1.9.2-p180 (system installed as root, managed via update-alternatives)
6
+ # - 1.8.7-p352 (system installed as root, managed via update-alternatives)
7
+ # - 1.9.2-p180 (user installed as $VEEWEE_USER, managed via rvm)
8
+ #
9
+ # NOTES:
10
+ # - package update and upgrade are done in the preseed.cfg via the late_command
11
+ #
12
+
13
+ date > /etc/vagrant_box_build_time
14
+
15
+ set -x
16
+ #set -e
17
+
18
+ export DEBIAN_FRONTEND=noninteractive
19
+ export VEEWEE_USER="vagrant"
20
+ export VBOX_VERSION=$(cat /home/${VEEWEE_USER}/.vbox_version)
21
+
22
+ ### Install packages
23
+ #
24
+ # Necessary for full Ruby 1.9.2, guest additions etc.
25
+ # Remove optional packages to trim VM size.
26
+ aptitude -y install python-software-properties
27
+ add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
28
+ apt-add-repository ppa:git-core/ppa
29
+ add-apt-repository ppa:byobu
30
+ aptitude -y purge apparmor apparmor-utils
31
+ aptitude -y install byobu \
32
+ git-core
33
+
34
+
35
+ ### Setup sudo
36
+ # Allow no-password sudo for "admin"
37
+ cp --archive /etc/sudoers /etc/sudoers.orig
38
+ sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
39
+ sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
40
+
41
+ ### Install NFS client
42
+ #
43
+ # This is likely a Vagrant specific package so we keep it separated.
44
+ apt-get -y install nfs-common
45
+
46
+ ### Install ruby 1.9.2-p180 from source
47
+ #
48
+ # Puppet 2.7 now supports 1.9.2
49
+ #
50
+ export RUBY_ROOT=/usr/bin/ruby
51
+ export RUBY_VER=1.9.2
52
+ export RUBY_BUILD_VER=${RUBY_VER}-p180
53
+
54
+ ##########################################
55
+ #
56
+ # ENSURE System RUBY and RUBYGEM, etc variables point to non version paths
57
+ #
58
+ ##########################################
59
+
60
+ cd /usr/local/src
61
+ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-${RUBY_BUILD_VER}.tar.gz
62
+ tar -xzf ruby-${RUBY_BUILD_VER}.tar.gz
63
+ cd ruby-${RUBY_BUILD_VER}
64
+ ./configure --with-ruby-version=$RUBY_BUILD_VER --prefix=/usr --program-suffix=$RUBY_BUILD_VER
65
+ /usr/bin/make
66
+ /usr/bin/make install
67
+ cd ..
68
+ rm -rf ./ruby-${RUBY_BUILD_VER}/
69
+ rm ruby-${RUBY_BUILD_VER}.tar.gz
70
+ echo 'gem: --no-ri --no-rdoc' >>~/.gemrc
71
+
72
+ DIR_PATH=`readlink -f "/usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin"` # get rid of symlinks and get abs path
73
+ if test ! -d "${DIR_PATH}" ; then # now you're testing
74
+ mkdir -p /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin
75
+ fi
76
+ RUBY_PRIORITY=`echo -n ${RUBY_VER}|sed -e 's/\.//g'`
77
+ update-alternatives \
78
+ --install ${RUBY_ROOT} ruby ${RUBY_ROOT}${RUBY_BUILD_VER} ${RUBY_PRIORITY} \
79
+ --slave /usr/bin/ri ri /usr/bin/ri${RUBY_BUILD_VER} \
80
+ --slave /usr/bin/erb erb /usr/bin/erb${RUBY_BUILD_VER} \
81
+ --slave /usr/bin/rake rake /usr/bin/rake${RUBY_BUILD_VER} \
82
+ --slave /usr/bin/rdoc rdoc /usr/bin/rdoc${RUBY_BUILD_VER} \
83
+ --slave /usr/bin/gem gem /usr/bin/gem${RUBY_BUILD_VER} \
84
+ --slave /usr/bin/testrb testrb /usr/bin/testrb${RUBY_BUILD_VER} \
85
+ --slave /usr/bin/irb irb /usr/bin/irb${RUBY_BUILD_VER} \
86
+ --slave /usr/lib/ruby/gems/bin gem-bin /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin \
87
+ --slave /usr/share/man/man1/ruby.1 ruby.1 \
88
+ /usr/share/man/man1/ruby${RUBY_BUILD_VER}.1 \
89
+ --slave /usr/share/man/man1/erb.1 erb.1 \
90
+ /usr/share/man/man1/erb${RUBY_BUILD_VER}.1 \
91
+ --slave /usr/share/man/man1/irb.1 irb.1 \
92
+ /usr/share/man/man1/irb${RUBY_BUILD_VER}.1 \
93
+ --slave /usr/share/man/man1/ri.1 ri.1 \
94
+ /usr/share/man/man1/ri${RUBY_BUILD_VER}.1 \
95
+ --slave /usr/share/man/man1/rake.1 rake.1 \
96
+ /usr/share/man/man1/rake${RUBY_BUILD_VER}.1
97
+
98
+ ### Update PATH
99
+ #
100
+ # Make binaries from gems installed to system Ruby(above) available system wide
101
+ #
102
+ echo PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/ruby/gems/bin" >>/etc/environment
103
+ /usr/bin/gem update --system
104
+
105
+ ### Install Chef & Puppet
106
+ #
107
+ /usr/bin/gem install chef --no-ri --no-rdoc
108
+ /usr/bin/gem install puppet --no-ri --no-rdoc
109
+
110
+ ### Install Ruby 1.8.7
111
+ #
112
+ export RUBY_ROOT=/usr/bin/ruby
113
+ export RUBY_VER=1.8.7
114
+ export RUBY_BUILD_VER=${RUBY_VER}-p352
115
+
116
+ wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-${RUBY_BUILD_VER}.tar.gz
117
+ tar -xzf ruby-${RUBY_BUILD_VER}.tar.gz
118
+ cd ruby-${RUBY_BUILD_VER}
119
+ ./configure --with-ruby-version=$RUBY_BUILD_VER --prefix=/usr --program-suffix=$RUBY_BUILD_VER
120
+ /usr/bin/make
121
+ /usr/bin/make install
122
+ cd ..
123
+ rm -rf ruby-${RUBY_BUILD_VER}
124
+ rm ruby-${RUBY_BUILD_VER}.tar.gz
125
+
126
+ ### Install RubyGems 1.8.5
127
+ #
128
+ wget http://rubyforge.org/frs/download.php/74954/rubygems-1.8.5.tgz
129
+ tar -xzf rubygems-1.8.5.tgz
130
+ cd rubygems-1.8.5
131
+ /usr/bin/ruby${RUBY_BUILD_VER} setup.rb --format-executable
132
+ cd ..
133
+ rm -rf rubygems-1.8.5
134
+ rm rubygems-1.8.5.tgz
135
+
136
+ DIR_PATH=`/bin/readlink -f "/usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin"` # get rid of symlinks and get abs path
137
+ if test ! -d "${DIR_PATH}" || -n "${DIR_PATH}" ; then # now you're testing
138
+ mkdir -p /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin
139
+ fi
140
+ RUBY_PRIORITY=`echo -n ${RUBY_VER}|sed -e 's/\.//g'`
141
+ update-alternatives \
142
+ --install ${RUBY_ROOT} ruby ${RUBY_ROOT}${RUBY_BUILD_VER} ${RUBY_PRIORITY} \
143
+ --slave /usr/bin/ri ri /usr/bin/ri${RUBY_BUILD_VER} \
144
+ --slave /usr/bin/erb erb /usr/bin/erb${RUBY_BUILD_VER} \
145
+ --slave /usr/bin/rdoc rdoc /usr/bin/rdoc${RUBY_BUILD_VER} \
146
+ --slave /usr/bin/gem gem /usr/bin/gem${RUBY_BUILD_VER} \
147
+ --slave /usr/bin/irb irb /usr/bin/irb${RUBY_BUILD_VER} \
148
+ --slave /usr/bin/testrb testrb /usr/bin/testrb${RUBY_BUILD_VER} \
149
+ --slave /usr/lib/ruby/gems/bin gem-bin /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin \
150
+ --slave /usr/share/man/man1/ruby.1 ruby.1 \
151
+ /usr/share/man/man1/ruby${RUBY_BUILD_VER}.1 \
152
+
153
+ DIR_PATH=`readlink -f "/var/www"` # get rid of symlinks and get abs path
154
+ if test ! -d "${DIR_PATH}" ; then # now you're testing
155
+ mkdir -p $DIR_PATH
156
+ fi
157
+ chown ${VEEWEE_USER}:${VEEWEE_USER} /var/www
158
+
159
+ ### Install RVM
160
+ #
161
+ # Install 1.9.2-p180, under vagrant user account
162
+ # Set default RVM to the system Ruby 1.9.2 installed above.
163
+ cat <<'EOP' > /tmp/install_rvm.sh
164
+ #!/bin/bash
165
+ set -x
166
+ bash < <(curl -sk https://rvm.beginrescueend.com/install/rvm)
167
+ #-C --with-openssl-dir=$rvm_usr_dir,--with-libyaml-dir=$rvm_usr_dir,--with-readline-dir=$rvm_usr_dir
168
+ echo 'test -s "$HOME/.rvm/scripts/rvm" && source "$HOME/.rvm/scripts/rvm" # Load RVM function' >> $HOME/.bashrc
169
+ echo 'test -r $rvm_path/scripts/completion && source $rvm_path/scripts/completion # Load RVM bash completion' >> $HOME/.bashrc
170
+ echo 'test -s "$HOME/.rvm/scripts/rvm" && source "$HOME/.rvm/scripts/rvm" # Load RVM function' >> $HOME/.profile
171
+ echo 'test -r $rvm_path/scripts/completion && source $rvm_path/scripts/completion # Load RVM bash completion' >> $HOME/.profile
172
+ source "$HOME/.rvm/scripts/rvm"
173
+ type rvm | head -1
174
+ rvm install ruby-1.9.2-p180
175
+ cat <<'RVMRC_CONTENTS' > $HOME/.rvmrc
176
+ rvm_install_on_use_flag=1
177
+ rvm_trust_rvmrcs_flag=1
178
+ rvm_gemset_create_on_use_flag=1
179
+ RVMRC_CONTENTS
180
+ EOP
181
+
182
+ chmod a+x /tmp/install_rvm.sh
183
+ su --login - $VEEWEE_USER -c '/tmp/install_rvm.sh'
184
+
185
+ ### Install Vagrant public key
186
+ #
187
+ DIR_PATH=`readlink -f "/home/${VEEWEE_USER}/.ssh"` # get rid of symlinks and get abs path
188
+ if test ! -d "${DIR_PATH}" ; then
189
+ mkdir -p /home/${VEEWEE_USER}/.ssh
190
+ fi
191
+ chmod 700 /home/${VEEWEE_USER}/.ssh
192
+ cd /home/${VEEWEE_USER}/.ssh
193
+ wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
194
+ chmod 0600 /home/${VEEWEE_USER}/.ssh/*
195
+ chown -R ${VEEWEE_USER} /home/${VEEWEE_USER}/.ssh
196
+ cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
197
+ chmod a-w /etc/ssh/sshd_config.original
198
+ echo PubkeyAuthentication yes >>/etc/ssh/sshd_config
199
+ echo RSAAuthentication yes >>/etc/ssh/sshd_config
200
+ echo PasswordAuthentication no >>/etc/ssh/sshd_config
201
+ echo ChallengeResponseAuthentication no >>/etc/ssh/sshd_config
202
+ /etc/init.d/ssh restart
203
+
204
+ ### Install Virtualbox guest additions
205
+ #
206
+ cd /tmp
207
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
208
+ mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
209
+ sh /mnt/VBoxLinuxAdditions.run
210
+ umount /mnt
211
+
212
+ rm VBoxGuestAdditions_$VBOX_VERSION.iso
213
+
214
+ ### Package Cleanup
215
+ #
216
+ # Remove items that aren't needed anymore
217
+ apt-get -y autoremove
218
+ apt-get clean
219
+
220
+
221
+ ### Improve VM disk compression
222
+ #
223
+ # Zero out the free space to save space in the final image:
224
+ dd if=/dev/zero of=/EMPTY bs=1M
225
+ rm -f /EMPTY
226
+
227
+ ### Network fixes
228
+ #
229
+ # Removing leftover leases and persistent rules
230
+ echo "cleaning up dhcp leases"
231
+ rm /var/lib/dhcp3/*
232
+
233
+ # Make sure Udev doesn't block our network
234
+ # http://6.ptmc.org/?p=164
235
+ echo "cleaning up udev rules"
236
+ DIR_PATH=`readlink -f "/etc/udev/rules.d/70-persistent-net.rules"` # get rid of symlinks and get abs path
237
+ rm -rf /etc/udev/rules.d/70-persistent-net.rules
238
+ if test ! -d "${DIR_PATH}" ; then
239
+ mkdir -p /etc/udev/rules.d/70-persistent-net.rules
240
+ fi
241
+ rm -rf /dev/.udev/
242
+ rm -rf /lib/udev/rules.d/75-persistent-net-generator.rules
243
+
244
+ echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
245
+ echo "pre-up sleep 2" >> /etc/network/interfaces
246
+
247
+ ### Exit
248
+ #
249
+ exit 0
@@ -0,0 +1,124 @@
1
+ ## Options to set on the command line
2
+ d-i debian-installer/locale string en_US
3
+ d-i console-setup/ask_detect boolean false
4
+ d-i console-setup/layout string Belgium
5
+
6
+ #d-i netcfg/get_hostname string dummy
7
+ d-i netcfg/get_hostname string unassigned-hostname
8
+ d-i netcfg/get_domain string unassigned-domain
9
+
10
+ # Continue without a default route
11
+ # Not working , specify a dummy in the DHCP
12
+ #d-i netcfg/no_default_route boolean
13
+
14
+ d-i time/zone string Europe/Brussels
15
+ d-i clock-setup/utc-auto boolean true
16
+ d-i clock-setup/utc boolean true
17
+
18
+ d-i kbd-chooser/method select Belgian
19
+
20
+ d-i netcfg/wireless_wep string
21
+
22
+ d-i base-installer/kernel/override-image string linux-server
23
+ #d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic
24
+
25
+ # Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
26
+ d-i debconf debconf/frontend select Noninteractive
27
+
28
+ d-i pkgsel/install-language-support boolean false
29
+ tasksel tasksel/first multiselect standard, ubuntu-server
30
+
31
+ #d-i partman-auto/method string regular
32
+ d-i partman-auto/method string lvm
33
+ #d-i partman-auto/purge_lvm_from_device boolean true
34
+
35
+ d-i partman-lvm/confirm boolean true
36
+ d-i partman-lvm/device_remove_lvm boolean true
37
+ d-i partman-auto/choose_recipe select atomic
38
+
39
+ d-i partman/confirm_write_new_label boolean true
40
+ d-i partman/confirm_nooverwrite boolean true
41
+ d-i partman/choose_partition select finish
42
+ d-i partman/confirm boolean true
43
+
44
+ #http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883
45
+ #Message: "write the changes to disk and configure lvm preseed"
46
+ #http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input
47
+ #preseed partman-lvm/confirm_nooverwrite boolean true
48
+
49
+ # Write the changes to disks and configure LVM?
50
+ d-i partman-lvm/confirm boolean true
51
+ d-i partman-lvm/confirm_nooverwrite boolean true
52
+ d-i partman-auto-lvm/guided_size string max
53
+
54
+ ## Default user, we can get away with a recipe to change this
55
+ d-i passwd/user-fullname string vagrant
56
+ d-i passwd/username string vagrant
57
+ d-i passwd/user-password password vagrant
58
+ d-i passwd/user-password-again password vagrant
59
+ d-i user-setup/encrypt-home boolean false
60
+ d-i user-setup/allow-password-weak boolean true
61
+
62
+ ## minimum is puppet and ssh and ntp
63
+ # Individual additional packages to install
64
+ d-i pkgsel/include string acpid \
65
+ autoconf \
66
+ bison \
67
+ curl \
68
+ dkms \
69
+ gcc \
70
+ libbsd-dev \
71
+ libc6-dev \
72
+ libcurl4-openssl-dev \
73
+ libreadline6 \
74
+ libreadline6-dev \
75
+ libsqlite3-0 \
76
+ libsqlite3-dev \
77
+ libssl-dev \
78
+ libxml2 \
79
+ libxml2-dev \
80
+ libxslt-dev \
81
+ libxslt1-dev \
82
+ libyaml-dev \
83
+ ncurses-dev \
84
+ ntp \
85
+ openssh-server \
86
+ openssl \
87
+ readline-common \
88
+ rsyslog \
89
+ sqlite3 \
90
+ zlib1g \
91
+ zlib1g-dev
92
+
93
+ # Whether to upgrade packages after debootstrap.
94
+ # Allowed values: none, safe-upgrade, full-upgrade
95
+ d-i pkgsel/upgrade select full-upgrade
96
+
97
+ d-i grub-installer/only_debian boolean true
98
+ d-i grub-installer/with_other_os boolean true
99
+
100
+ #For the update
101
+ d-i pkgsel/update-policy select none
102
+
103
+ # debconf-get-selections --install
104
+ #Use mirror
105
+ #d-i apt-setup/use_mirror boolean true
106
+ #d-i mirror/country string manual
107
+ #choose-mirror-bin mirror/protocol string http
108
+ #choose-mirror-bin mirror/http/hostname string 192.168.4.150
109
+ #choose-mirror-bin mirror/http/directory string /ubuntu
110
+ #choose-mirror-bin mirror/suite select maverick
111
+ #d-i debian-installer/allow_unauthenticated string true
112
+
113
+ choose-mirror-bin mirror/http/proxy string
114
+
115
+ # This command, and you can only have one, is run just before the install
116
+ # finishes, but when there is still a usable /target directory.
117
+ # You can chroot to /target and use it directly, or use the apt-install
118
+ # and in-target commands to easily install packages and run commands in
119
+ # the target system.
120
+ #
121
+ d-i preseed/late_command string in-target /usr/bin/aptitude -q -y update; in-target /usr/bin/aptitude -q -y safe-upgrade; in-target /usr/bin/aptitude -q -y clean;
122
+
123
+ # Avoid that last message about the install being complete.
124
+ d-i finish-install/reboot_in_progress note
@@ -0,0 +1,24 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1', :memory_size=> '384',
3
+ :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
4
+ :os_type_id => 'Ubuntu',
5
+ :iso_file => "ubuntu-10.04.2-server-i386.iso",
6
+ :iso_src => "http://releases.ubuntu.com/10.04.2/ubuntu-10.04.2-server-i386.iso",
7
+ :iso_md5 => "9807160b8935289096df8160832e358e",
8
+ :iso_download_timeout => "1000",
9
+ :boot_wait => "10", :boot_cmd_sequence => [
10
+ '<Esc><Esc><Enter>',
11
+ '/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
12
+ 'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
13
+ 'hostname=%NAME% ',
14
+ 'fb=false debconf/frontend=noninteractive ',
15
+ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ',
16
+ 'initrd=/install/initrd.gz -- <Enter>'
17
+ ],
18
+ :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg",
19
+ :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
20
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
21
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
22
+ :shutdown_cmd => "shutdown -P now",
23
+ :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"
24
+ })
@@ -0,0 +1,91 @@
1
+ # postinstall.sh created from Mitchell's official lucid32/64 baseboxes
2
+
3
+ date > /etc/vagrant_box_build_time
4
+
5
+ # Apt-install various things necessary for Ruby, guest additions,
6
+ # etc., and remove optional things to trim down the machine.
7
+ apt-get -y update
8
+ apt-get -y upgrade
9
+ apt-get -y install linux-headers-$(uname -r) build-essential
10
+ apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
11
+ apt-get clean
12
+
13
+ # Setup sudo to allow no-password sudo for "admin"
14
+ cp /etc/sudoers /etc/sudoers.orig
15
+ sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
16
+ sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
17
+
18
+ # Install NFS client
19
+ apt-get -y install nfs-common
20
+
21
+ # Install Ruby from source in /opt so that users of Vagrant
22
+ # can install their own Rubies using packages or however.
23
+ # We must install the 1.8.x series since Puppet doesn't support
24
+ # Ruby 1.9 yet.
25
+ wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p334.tar.gz
26
+ tar xvzf ruby-1.8.7-p334.tar.gz
27
+ cd ruby-1.8.7-p334
28
+ ./configure --prefix=/opt/ruby
29
+ make
30
+ make install
31
+ cd ..
32
+ rm -rf ruby-1.8.7-p334*
33
+
34
+ # Install RubyGems 1.7.2
35
+ wget http://production.cf.rubygems.org/rubygems/rubygems-1.7.2.tgz
36
+ tar xzf rubygems-1.7.2.tgz
37
+ cd rubygems-1.7.2
38
+ /opt/ruby/bin/ruby setup.rb
39
+ cd ..
40
+ rm -rf rubygems-1.7.2*
41
+
42
+ # Installing chef & Puppet
43
+ /opt/ruby/bin/gem install chef --no-ri --no-rdoc
44
+ /opt/ruby/bin/gem install puppet --no-ri --no-rdoc
45
+
46
+ # Add /opt/ruby/bin to the global path as the last resort so
47
+ # Ruby, RubyGems, and Chef/Puppet are visible
48
+ echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
49
+
50
+ # Installing vagrant keys
51
+ mkdir /home/vagrant/.ssh
52
+ chmod 700 /home/vagrant/.ssh
53
+ cd /home/vagrant/.ssh
54
+ wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
55
+ chmod 600 /home/vagrant/.ssh/authorized_keys
56
+ chown -R vagrant /home/vagrant/.ssh
57
+
58
+ # Installing the virtualbox guest additions
59
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
60
+ cd /tmp
61
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
62
+ mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
63
+ sh /mnt/VBoxLinuxAdditions.run
64
+ umount /mnt
65
+
66
+ rm VBoxGuestAdditions_$VBOX_VERSION.iso
67
+
68
+ # Remove items used for building, since they aren't needed anymore
69
+ apt-get -y remove linux-headers-$(uname -r) build-essential
70
+ apt-get -y autoremove
71
+
72
+ # Zero out the free space to save space in the final image:
73
+ dd if=/dev/zero of=/EMPTY bs=1M
74
+ rm -f /EMPTY
75
+
76
+ # Removing leftover leases and persistent rules
77
+ echo "cleaning up dhcp leases"
78
+ rm /var/lib/dhcp3/*
79
+
80
+ # Make sure Udev doesn't block our network
81
+ # http://6.ptmc.org/?p=164
82
+ echo "cleaning up udev rules"
83
+ rm /etc/udev/rules.d/70-persistent-net.rules
84
+ mkdir /etc/udev/rules.d/70-persistent-net.rules
85
+ rm -rf /dev/.udev/
86
+ rm /lib/udev/rules.d/75-persistent-net-generator.rules
87
+
88
+ echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
89
+ echo "pre-up sleep 2" >> /etc/network/interfaces
90
+ exit
91
+ exit
@@ -0,0 +1,87 @@
1
+ ## Options to set on the command line
2
+ d-i debian-installer/locale string en_US
3
+ d-i console-setup/ask_detect boolean false
4
+ d-i console-setup/layout string Belgium
5
+
6
+ #d-i netcfg/get_hostname string dummy
7
+ d-i netcfg/get_hostname string unassigned-hostname
8
+ d-i netcfg/get_domain string unassigned-domain
9
+
10
+ # Continue without a default route
11
+ # Not working , specify a dummy in the DHCP
12
+ #d-i netcfg/no_default_route boolean
13
+
14
+ d-i time/zone string Europe/Brussels
15
+ d-i clock-setup/utc-auto boolean true
16
+ d-i clock-setup/utc boolean true
17
+
18
+ d-i kbd-chooser/method select Belgian
19
+
20
+ d-i netcfg/wireless_wep string
21
+
22
+ d-i base-installer/kernel/override-image string linux-server
23
+ #d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic
24
+
25
+ # Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
26
+ d-i debconf debconf/frontend select Noninteractive
27
+
28
+ d-i pkgsel/install-language-support boolean false
29
+ tasksel tasksel/first multiselect standard, ubuntu-server
30
+
31
+ #d-i partman-auto/method string regular
32
+ d-i partman-auto/method string lvm
33
+ #d-i partman-auto/purge_lvm_from_device boolean true
34
+
35
+ d-i partman-lvm/confirm boolean true
36
+ d-i partman-lvm/device_remove_lvm boolean true
37
+ d-i partman-auto/choose_recipe select atomic
38
+
39
+ d-i partman/confirm_write_new_label boolean true
40
+ d-i partman/confirm_nooverwrite boolean true
41
+ d-i partman/choose_partition select finish
42
+ d-i partman/confirm boolean true
43
+
44
+ #http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883
45
+ #Message: "write the changes to disk and configure lvm preseed"
46
+ #http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input
47
+ #preseed partman-lvm/confirm_nooverwrite boolean true
48
+
49
+ # Write the changes to disks and configure LVM?
50
+ d-i partman-lvm/confirm boolean true
51
+ d-i partman-lvm/confirm_nooverwrite boolean true
52
+ d-i partman-auto-lvm/guided_size string max
53
+
54
+ ## Default user, we can get away with a recipe to change this
55
+ d-i passwd/user-fullname string vagrant
56
+ d-i passwd/username string vagrant
57
+ d-i passwd/user-password password vagrant
58
+ d-i passwd/user-password-again password vagrant
59
+ d-i user-setup/encrypt-home boolean false
60
+ d-i user-setup/allow-password-weak boolean true
61
+
62
+ ## minimum is puppet and ssh and ntp
63
+ # Individual additional packages to install
64
+ d-i pkgsel/include string openssh-server ntp
65
+
66
+ # Whether to upgrade packages after debootstrap.
67
+ # Allowed values: none, safe-upgrade, full-upgrade
68
+ d-i pkgsel/upgrade select full-upgrade
69
+
70
+ d-i grub-installer/only_debian boolean true
71
+ d-i grub-installer/with_other_os boolean true
72
+ d-i finish-install/reboot_in_progress note
73
+
74
+ #For the update
75
+ d-i pkgsel/update-policy select none
76
+
77
+ # debconf-get-selections --install
78
+ #Use mirror
79
+ #d-i apt-setup/use_mirror boolean true
80
+ #d-i mirror/country string manual
81
+ #choose-mirror-bin mirror/protocol string http
82
+ #choose-mirror-bin mirror/http/hostname string 192.168.4.150
83
+ #choose-mirror-bin mirror/http/directory string /ubuntu
84
+ #choose-mirror-bin mirror/suite select maverick
85
+ #d-i debian-installer/allow_unauthenticated string true
86
+
87
+ choose-mirror-bin mirror/http/proxy string
@@ -0,0 +1,23 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1', :memory_size=> '384',
3
+ :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
4
+ :os_type_id => 'Ubuntu',
5
+ :iso_file => "ubuntu-10.04.x-server-i386-netboot.iso",
6
+ :iso_src => "http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/mini.iso",
7
+ :iso_md5 => "d260ca4ad6d0c81bf5cf38a63fa63b5b",
8
+ :iso_download_timeout => "1000",
9
+ :boot_wait => "10", :boot_cmd_sequence => [
10
+ 'linux noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
11
+ 'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
12
+ 'hostname=%NAME% ',
13
+ 'fb=false debconf/frontend=noninteractive ',
14
+ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ',
15
+ 'initrd=initrd.gz -- <Enter>'
16
+ ],
17
+ :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg",
18
+ :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
19
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
20
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
21
+ :shutdown_cmd => "shutdown -P now",
22
+ :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"
23
+ })