veewee 0.1.22 → 0.1.23

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 (62) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile.lock +1 -1
  3. data/lib/java/README.txt +5 -0
  4. data/lib/java/dir2floppy.jar +0 -0
  5. data/lib/java/dir2floppy.java +137 -0
  6. data/lib/veewee/session.rb +57 -10
  7. data/lib/veewee/version.rb +1 -1
  8. data/lib/veewee/web.rb +1 -1
  9. data/templates/CentOS-4.8-i386/definition.rb +2 -1
  10. data/templates/CentOS-4.8-i386/postinstall.sh +1 -1
  11. data/templates/{CentOS-5.5-i386-netboot → CentOS-5.6-i386-netboot}/definition.rb +4 -4
  12. data/templates/{CentOS-5.5-i386-netboot → CentOS-5.6-i386-netboot}/ks.cfg +0 -0
  13. data/templates/{CentOS-5.5-i386-netboot → CentOS-5.6-i386-netboot}/postinstall.sh +1 -1
  14. data/templates/{CentOS-5.5-i386 → CentOS-5.6-i386}/definition.rb +4 -2
  15. data/templates/{CentOS-5.5-i386 → CentOS-5.6-i386}/ks.cfg +0 -0
  16. data/templates/{CentOS-5.5-i386 → CentOS-5.6-i386}/postinstall.sh +1 -1
  17. data/templates/Debian-6.0.1a-amd64-netboot/postinstall.sh +1 -1
  18. data/templates/Fedora-14-amd64-netboot/definition.rb +1 -1
  19. data/templates/Fedora-14-amd64-netboot/postinstall.sh +1 -1
  20. data/templates/Fedora-14-amd64/definition.rb +1 -1
  21. data/templates/Fedora-14-amd64/postinstall.sh +1 -1
  22. data/templates/Fedora-14-i386-netboot/definition.rb +1 -1
  23. data/templates/Fedora-14-i386-netboot/postinstall.sh +1 -1
  24. data/templates/Fedora-14-i386/definition.rb +1 -1
  25. data/templates/Fedora-14-i386/postinstall.sh +1 -1
  26. data/templates/gentoo-latest-i386-experimental/definition.rb +29 -0
  27. data/templates/gentoo-latest-i386-experimental/postinstall.sh +182 -0
  28. data/templates/opensuse-11.4-i386-experimental/README +11 -0
  29. data/templates/opensuse-11.4-i386-experimental/autoinst.xml +1269 -0
  30. data/templates/opensuse-11.4-i386-experimental/autoinst.xml.generated +1269 -0
  31. data/templates/opensuse-11.4-i386-experimental/autoinst.xml.tweaked +1269 -0
  32. data/templates/opensuse-11.4-i386-experimental/definition.rb +31 -0
  33. data/templates/opensuse-11.4-i386-experimental/postinstall.sh +89 -0
  34. data/templates/solaris-11-express-i386/postinstall.sh +5 -5
  35. data/templates/ubuntu-10.04.2-server-amd64/postinstall.sh +44 -15
  36. data/templates/ubuntu-10.04.2-server-i386/postinstall.sh +46 -16
  37. data/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +46 -16
  38. data/templates/ubuntu-10.10-server-amd64/postinstall.sh +45 -15
  39. data/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +45 -15
  40. data/templates/ubuntu-10.10-server-i386/postinstall.sh +45 -15
  41. data/templates/ubuntu-11.04-server-amd64/definition.rb +24 -0
  42. data/templates/ubuntu-11.04-server-amd64/postinstall.sh +73 -0
  43. data/templates/ubuntu-11.04-server-amd64/preseed.cfg +87 -0
  44. data/templates/ubuntu-11.04-server-i386/definition.rb +24 -0
  45. data/templates/ubuntu-11.04-server-i386/postinstall.sh +73 -0
  46. data/templates/ubuntu-11.04-server-i386/preseed.cfg +87 -0
  47. data/templates/windows-2008R2-amd64-experimental/Autounattend.xml +132 -0
  48. data/templates/windows-2008R2-amd64-experimental/README.md +33 -0
  49. data/templates/windows-2008R2-amd64-experimental/cygwin-setup.exe +0 -0
  50. data/templates/windows-2008R2-amd64-experimental/cygwin-sshd.bat +38 -0
  51. data/templates/windows-2008R2-amd64-experimental/definition.rb +17 -0
  52. data/templates/windows-2008R2-amd64-experimental/install-winrm.bat +6 -0
  53. data/templates/windows-2008R2-amd64-experimental/note-virtualbox-additions.txt +23 -0
  54. data/templates/windows-2008R2-amd64-experimental/postinstall.sh +48 -0
  55. data/templates/windows-2008R2-amd64-experimental/setup.exe +0 -0
  56. data/templates/windows-2008R2-amd64-experimental/winrm.rb +8 -0
  57. metadata +37 -15
  58. data/templates/ubuntu-10.04.2-server-i386/postinstall2.sh +0 -9
  59. data/templates/ubuntu-10.10-server-amd64-netboot/postinstall2.sh +0 -9
  60. data/templates/ubuntu-10.10-server-amd64/postinstall2.sh +0 -9
  61. data/templates/ubuntu-10.10-server-i386-netboot/postinstall2.sh +0 -9
  62. data/templates/ubuntu-10.10-server-i386/postinstall2.sh +0 -9
@@ -0,0 +1,31 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1', :memory_size=> '384',
3
+ :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
4
+ :os_type_id => 'OpenSUSE',
5
+ :iso_file => "openSUSE-11.4-DVD-i586.iso",
6
+ :iso_src => "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso",
7
+ #:iso_src => "http://ftp.belnet.be/mirror/ftp.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso",
8
+ :iso_md5 => "5f6d6d67c3e256b2513311f4ed650515",
9
+ :iso_download_timeout => "1000",
10
+ :boot_wait => "10", :boot_cmd_sequence => [
11
+ '<Esc><Enter>',
12
+ 'linux',
13
+ #'/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
14
+ ' netdevice=eth0',
15
+ ' netsetup=dhcp',
16
+ ' instmode=dvd',
17
+ #' install=file://mnt/suse',
18
+ ' textmode=1 autoyast=http://%IP%:%PORT%/autoinst.xml',
19
+ #'hostname=%NAME% ',
20
+ #'initrd=/install/initrd.gz -- <Enter>'
21
+ '<Enter>'
22
+ ],
23
+ :kickstart_port => "7122", :kickstart_timeout => "10000",
24
+ #We need this twice, as it is read twice
25
+ :kickstart_file => ["autoinst.xml","autoinst.xml"],
26
+ :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
27
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
28
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
29
+ :shutdown_cmd => "shutdown -P now",
30
+ :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"
31
+ })
@@ -0,0 +1,89 @@
1
+ #Inspired by https://github.com/fnichol/wiki-notes/wiki/Creating-An-openSUSE-11.3-x32-Vagrant-Box
2
+
3
+
4
+ zypper --non-interactive refresh
5
+ # zypper --non-interactive up
6
+
7
+ # /sbin/shutdown -r now && exit
8
+ # Install VirtualBox Guest Additions
9
+ # Install some pre-requisites needed for the Guest Additions package and remove the system-installed package:
10
+ zypper --non-interactive install make gcc
11
+ zypper --non-interactive install kernel-default-devel
12
+ zypper --non-interactive remove virtualbox-ose-guest-kmp-default \
13
+ virtualbox-ose-guest-tools xorg-x11-driver-virtualbox-ose
14
+
15
+ # Fix remote login
16
+ echo 'UseDNS no' >> /etc/ssh/sshd_config
17
+
18
+ #install ruby
19
+ zypper --non-interactive install ruby ruby-devel rubygems
20
+ gem install chef --no-ri --no-rdoc
21
+ gem install puppet --no-ri --no-rdoc
22
+ sudo zypper --non-interactive refresh
23
+ sudo zypper --non-interactive up
24
+ #
25
+ #/sbin/shutdown -hP now && exit
26
+
27
+
28
+ #Installing vagrant keys
29
+ zypper --non-interactive install wget
30
+ mkdir /home/vagrant/.ssh
31
+ chmod 700 /home/vagrant/.ssh
32
+ cd /home/vagrant/.ssh
33
+ wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
34
+ chown -R vagrant /home/vagrant/.ssh
35
+
36
+ #Installing the virtualbox guest additions
37
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
38
+ cd /tmp
39
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
40
+ mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
41
+ sh /mnt/VBoxLinuxAdditions.run
42
+ umount /mnt
43
+
44
+ rm VBoxGuestAdditions_$VBOX_VERSION.iso
45
+ exit
46
+
47
+
48
+
49
+ sudo zypper --non-interactive refresh
50
+ sudo zypper --non-interactive up
51
+ sudo /sbin/shutdown -r now && exit
52
+ Install VirtualBox Guest Additions
53
+ Install some pre-requisites needed for the Guest Additions package and remove the system-installed package:
54
+ sudo zypper --non-interactive install make gcc
55
+ sudo zypper --non-interactive install kernel-default-devel
56
+ sudo zypper --non-interactive remove virtualbox-ose-guest-kmp-default \
57
+ virtualbox-ose-guest-tools xorg-x11-driver-virtualbox-ose
58
+ Now mount the Guest Additions from the Devices -> Install Guest Additions VirtualBox menu. Next, mount the iso and install the additions:
59
+ sudo mkdir -p /media/cdrom
60
+ sudo mount /dev/cdrom /media/cdrom
61
+ (cd /media/cdrom && sudo sh VBoxLinuxAdditions.run)
62
+ sudo umount /media/cdrom
63
+ Note: The installer will complain about not finding "the X.Org or XFree86 Window System" which is fine and expected.
64
+ Remove the disk from the virtual drive by clicking the CD-ROM icon and choosing from the flyout menu.
65
+ Prepare SSH Configuration
66
+ Install the public key that Vagrant uses when SSHing into the virtual machine:
67
+ sudo zypper --non-interactive install curl
68
+ mkdir -p ~/.ssh
69
+ chmod 0700 ~/.ssh
70
+ curl -o ~/.ssh/authorized_keys \
71
+ https://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub
72
+ chmod 0600 ~/.ssh/authorized_keys
73
+ Edit the sshd configuration to prevent DNS resolution (speedup logins):
74
+ sudo bash -c "echo 'UseDNS no' >> /etc/ssh/sshd_config"
75
+ Install Ruby, Chef, And Puppet
76
+ Thankfully, openSUSE comes with a decently up to date ruby (1.8.7) and a non-crippled rubygems (currently 1.3.7), so this is straight forward:
77
+ sudo zypper --non-interactive install ruby ruby-devel rubygems
78
+ Install the chef and puppet gems so they are ready for the provisioners:
79
+ sudo gem install chef --no-ri --no-rdoc
80
+ sudo gem install puppet --no-ri --no-rdoc
81
+ Update Message Of The Day
82
+ Modify the message of the day (to match the default Vagrant box):
83
+ sudo bash -c "echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd"
84
+ Final Cleanup
85
+ Run one last update and cleanup:
86
+ sudo zypper --non-interactive refresh
87
+ sudo zypper --non-interactive up
88
+ Finally, shutdown the virtual machine:
89
+ sudo /sbin/shutdown -hP now && exit
@@ -1,7 +1,7 @@
1
1
  # http://projects.puppetlabs.com/projects/1/wiki/Puppet_Solaris
2
2
 
3
3
  # Add the opencsw package site
4
- export PATH=/usr/bin/:/usr/sbin:$PATH
4
+ export PATH=/usr/bin:/usr/sbin:$PATH
5
5
 
6
6
  yes|/usr/sbin/pkgadd -d http://mirror.opencsw.org/opencsw/pkgutil-`uname -p`.pkg all
7
7
 
@@ -19,8 +19,8 @@ yes|/usr/sbin/pkgadd -d http://mirror.opencsw.org/opencsw/pkgutil-`uname -p`.pkg
19
19
 
20
20
  # These are needed to get a compiler working
21
21
  # Mainly because chef depends on compiling some native gems
22
- export PATH=/opt/csw/bin/:$PATH
23
- export PATH=/opt/csw/gcc4/bin/:$PATH
22
+ export PATH=/opt/csw/bin:$PATH
23
+ export PATH=/opt/csw/gcc4/bin:$PATH
24
24
 
25
25
  /opt/csw/bin/pkgutil -y -i CSWgcc4core
26
26
 
@@ -66,8 +66,8 @@ yes|/usr/sbin/pkgadd -d . SUNWvbox
66
66
 
67
67
  # Fix the shells to include the /opt/csw directories
68
68
 
69
- echo "export PATH=/opt/csw/bin:/opt/csw/sbin/:$PATH" >> /root/.profile
70
- echo "export PATH=/opt/csw/bin:/opt/csw/sbin/:$PATH" >> /export/home/vagrant/.profile
69
+ echo "export PATH=/opt/csw/bin:/opt/csw/sbin:$PATH" >> /root/.profile
70
+ echo "export PATH=/opt/csw/bin:/opt/csw/sbin:$PATH" >> /export/home/vagrant/.profile
71
71
 
72
72
  puts "Note: validation of this box wil fail, as it's not linux based, working on that"
73
73
 
@@ -1,35 +1,58 @@
1
- #http://adrianbravo.tumblr.com/post/644860401
1
+ # postinstall.sh created from Mitchell's official lucid32/64 baseboxes
2
2
 
3
- #Updating the box
3
+ # Apt-install various things necessary for Ruby, guest additions,
4
+ # etc., and remove optional things to trim down the machine.
4
5
  apt-get -y update
6
+ apt-get -y upgrade
5
7
  apt-get -y install linux-headers-$(uname -r) build-essential
6
8
  apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
7
9
  apt-get clean
8
10
 
9
- #Setting up sudo
11
+ # Setup sudo to allow no-password sudo for "admin"
10
12
  cp /etc/sudoers /etc/sudoers.orig
13
+ sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
11
14
  sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
12
15
 
13
- #Installing ruby
14
- wget http://rubyforge.org/frs/download.php/71096/ruby-enterprise-1.8.7-2010.02.tar.gz
15
- tar xzvf ruby-enterprise-1.8.7-2010.02.tar.gz
16
- ./ruby-enterprise-1.8.7-2010.02/installer -a /opt/ruby --no-dev-docs --dont-install-useful-gems
17
- echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/rubyenterprise.sh
18
- rm -rf ./ruby-enterprise-1.8.7-2010.02/
19
- rm ruby-enterprise-1.8.7-2010.02.tar.gz
16
+ # Install NFS client
17
+ apt-get -y install nfs-common
20
18
 
21
- #Installing chef & Puppet
19
+ # Install Ruby from source in /opt so that users of Vagrant
20
+ # can install their own Rubies using packages or however.
21
+ # We must install the 1.8.x series since Puppet doesn't support
22
+ # Ruby 1.9 yet.
23
+ wget http://ftp.ruby-lang.org/pub/ruby/ruby-1.8.7-p334.tar.gz
24
+ tar xvzf ruby-1.8.7-p334.tar.gz
25
+ cd ruby-1.8.7-p334
26
+ ./configure --prefix=/opt/ruby
27
+ make
28
+ make install
29
+ cd ..
30
+ rm -rf ruby-1.8.7-p334*
31
+
32
+ # Install RubyGems 1.7.2
33
+ wget http://production.cf.rubygems.org/rubygems/rubygems-1.7.2.tgz
34
+ tar xzf rubygems-1.7.2.tgz
35
+ cd rubygems-1.7.2
36
+ /opt/ruby/bin/ruby setup.rb
37
+ cd ..
38
+ rm -rf rubygems-1.7.2*
39
+
40
+ # Installing chef & Puppet
22
41
  /opt/ruby/bin/gem install chef --no-ri --no-rdoc
23
42
  /opt/ruby/bin/gem install puppet --no-ri --no-rdoc
24
43
 
25
- #Installing vagrant keys
44
+ # Add /opt/ruby/bin to the global path as the last resort so
45
+ # Ruby, RubyGems, and Chef/Puppet are visible
46
+ echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
47
+
48
+ # Installing vagrant keys
26
49
  mkdir /home/vagrant/.ssh
27
50
  chmod 700 /home/vagrant/.ssh
28
51
  cd /home/vagrant/.ssh
29
52
  wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
30
53
  chown -R vagrant /home/vagrant/.ssh
31
54
 
32
- #Installing the virtualbox guest additions
55
+ # Installing the virtualbox guest additions
33
56
  VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
34
57
  cd /tmp
35
58
  wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
@@ -37,8 +60,14 @@ mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
37
60
  sh /mnt/VBoxLinuxAdditions.run
38
61
  umount /mnt
39
62
 
63
+ rm VBoxGuestAdditions_$VBOX_VERSION.iso
64
+
65
+ # Remove items used for building, since they aren't needed anymore
40
66
  apt-get -y remove linux-headers-$(uname -r) build-essential
41
67
  apt-get -y autoremove
42
68
 
43
- rm VBoxGuestAdditions_$VBOX_VERSION.iso
44
- exit
69
+ # Zero out the free space to save space in the final image:
70
+ dd if=/dev/zero of=/EMPTY bs=1M
71
+ rm -f /EMPTY
72
+
73
+ exit
@@ -1,37 +1,58 @@
1
- #http://adrianbravo.tumblr.com/post/644860401
1
+ # postinstall.sh created from Mitchell's official lucid32/64 baseboxes
2
2
 
3
- #Updating the box
3
+ # Apt-install various things necessary for Ruby, guest additions,
4
+ # etc., and remove optional things to trim down the machine.
4
5
  apt-get -y update
5
- #apt-get -y upgrade
6
- apt-get -y remove apparmor
6
+ apt-get -y upgrade
7
7
  apt-get -y install linux-headers-$(uname -r) build-essential
8
8
  apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
9
9
  apt-get clean
10
10
 
11
- #Setting up sudo
11
+ # Setup sudo to allow no-password sudo for "admin"
12
12
  cp /etc/sudoers /etc/sudoers.orig
13
+ sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
13
14
  sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
14
15
 
15
- #Installing ruby
16
- wget http://rubyforge.org/frs/download.php/71096/ruby-enterprise-1.8.7-2010.02.tar.gz
17
- tar xzvf ruby-enterprise-1.8.7-2010.02.tar.gz
18
- ./ruby-enterprise-1.8.7-2010.02/installer -a /opt/ruby --no-dev-docs --dont-install-useful-gems
19
- echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/rubyenterprise.sh
20
- rm -rf ./ruby-enterprise-1.8.7-2010.02/
21
- rm ruby-enterprise-1.8.7-2010.02.tar.gz
16
+ # Install NFS client
17
+ apt-get -y install nfs-common
22
18
 
23
- #Installing chef & Puppet
19
+ # Install Ruby from source in /opt so that users of Vagrant
20
+ # can install their own Rubies using packages or however.
21
+ # We must install the 1.8.x series since Puppet doesn't support
22
+ # Ruby 1.9 yet.
23
+ wget http://ftp.ruby-lang.org/pub/ruby/ruby-1.8.7-p334.tar.gz
24
+ tar xvzf ruby-1.8.7-p334.tar.gz
25
+ cd ruby-1.8.7-p334
26
+ ./configure --prefix=/opt/ruby
27
+ make
28
+ make install
29
+ cd ..
30
+ rm -rf ruby-1.8.7-p334*
31
+
32
+ # Install RubyGems 1.7.2
33
+ wget http://production.cf.rubygems.org/rubygems/rubygems-1.7.2.tgz
34
+ tar xzf rubygems-1.7.2.tgz
35
+ cd rubygems-1.7.2
36
+ /opt/ruby/bin/ruby setup.rb
37
+ cd ..
38
+ rm -rf rubygems-1.7.2*
39
+
40
+ # Installing chef & Puppet
24
41
  /opt/ruby/bin/gem install chef --no-ri --no-rdoc
25
42
  /opt/ruby/bin/gem install puppet --no-ri --no-rdoc
26
43
 
27
- #Installing vagrant keys
44
+ # Add /opt/ruby/bin to the global path as the last resort so
45
+ # Ruby, RubyGems, and Chef/Puppet are visible
46
+ echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
47
+
48
+ # Installing vagrant keys
28
49
  mkdir /home/vagrant/.ssh
29
50
  chmod 700 /home/vagrant/.ssh
30
51
  cd /home/vagrant/.ssh
31
52
  wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
32
53
  chown -R vagrant /home/vagrant/.ssh
33
54
 
34
- #Installing the virtualbox guest additions
55
+ # Installing the virtualbox guest additions
35
56
  VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
36
57
  cd /tmp
37
58
  wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
@@ -40,4 +61,13 @@ sh /mnt/VBoxLinuxAdditions.run
40
61
  umount /mnt
41
62
 
42
63
  rm VBoxGuestAdditions_$VBOX_VERSION.iso
43
- exit
64
+
65
+ # Remove items used for building, since they aren't needed anymore
66
+ apt-get -y remove linux-headers-$(uname -r) build-essential
67
+ apt-get -y autoremove
68
+
69
+ # Zero out the free space to save space in the final image:
70
+ dd if=/dev/zero of=/EMPTY bs=1M
71
+ rm -f /EMPTY
72
+
73
+ exit
@@ -1,37 +1,58 @@
1
- #http://adrianbravo.tumblr.com/post/644860401
1
+ # postinstall.sh created from Mitchell's official lucid32/64 baseboxes
2
2
 
3
- #Updating the box
3
+ # Apt-install various things necessary for Ruby, guest additions,
4
+ # etc., and remove optional things to trim down the machine.
4
5
  apt-get -y update
5
- #apt-get -y upgrade
6
- apt-get -y remove apparmor
6
+ apt-get -y upgrade
7
7
  apt-get -y install linux-headers-$(uname -r) build-essential
8
8
  apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
9
9
  apt-get clean
10
10
 
11
- #Setting up sudo
11
+ # Setup sudo to allow no-password sudo for "admin"
12
12
  cp /etc/sudoers /etc/sudoers.orig
13
+ sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
13
14
  sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
14
15
 
15
- #Installing ruby
16
- wget http://rubyforge.org/frs/download.php/71096/ruby-enterprise-1.8.7-2010.02.tar.gz
17
- tar xzvf ruby-enterprise-1.8.7-2010.02.tar.gz
18
- ./ruby-enterprise-1.8.7-2010.02/installer -a /opt/ruby --no-dev-docs --dont-install-useful-gems
19
- echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/rubyenterprise.sh
20
- rm -rf ./ruby-enterprise-1.8.7-2010.02/
21
- rm ruby-enterprise-1.8.7-2010.02.tar.gz
16
+ # Install NFS client
17
+ apt-get -y install nfs-common
22
18
 
23
- #Installing chef & Puppet
19
+ # Install Ruby from source in /opt so that users of Vagrant
20
+ # can install their own Rubies using packages or however.
21
+ # We must install the 1.8.x series since Puppet doesn't support
22
+ # Ruby 1.9 yet.
23
+ wget http://ftp.ruby-lang.org/pub/ruby/ruby-1.8.7-p334.tar.gz
24
+ tar xvzf ruby-1.8.7-p334.tar.gz
25
+ cd ruby-1.8.7-p334
26
+ ./configure --prefix=/opt/ruby
27
+ make
28
+ make install
29
+ cd ..
30
+ rm -rf ruby-1.8.7-p334*
31
+
32
+ # Install RubyGems 1.7.2
33
+ wget http://production.cf.rubygems.org/rubygems/rubygems-1.7.2.tgz
34
+ tar xzf rubygems-1.7.2.tgz
35
+ cd rubygems-1.7.2
36
+ /opt/ruby/bin/ruby setup.rb
37
+ cd ..
38
+ rm -rf rubygems-1.7.2*
39
+
40
+ # Installing chef & Puppet
24
41
  /opt/ruby/bin/gem install chef --no-ri --no-rdoc
25
42
  /opt/ruby/bin/gem install puppet --no-ri --no-rdoc
26
43
 
27
- #Installing vagrant keys
44
+ # Add /opt/ruby/bin to the global path as the last resort so
45
+ # Ruby, RubyGems, and Chef/Puppet are visible
46
+ echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
47
+
48
+ # Installing vagrant keys
28
49
  mkdir /home/vagrant/.ssh
29
50
  chmod 700 /home/vagrant/.ssh
30
51
  cd /home/vagrant/.ssh
31
52
  wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
32
53
  chown -R vagrant /home/vagrant/.ssh
33
54
 
34
- #Installing the virtualbox guest additions
55
+ # Installing the virtualbox guest additions
35
56
  VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
36
57
  cd /tmp
37
58
  wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
@@ -40,4 +61,13 @@ sh /mnt/VBoxLinuxAdditions.run
40
61
  umount /mnt
41
62
 
42
63
  rm VBoxGuestAdditions_$VBOX_VERSION.iso
43
- exit
64
+
65
+ # Remove items used for building, since they aren't needed anymore
66
+ apt-get -y remove linux-headers-$(uname -r) build-essential
67
+ apt-get -y autoremove
68
+
69
+ # Zero out the free space to save space in the final image:
70
+ dd if=/dev/zero of=/EMPTY bs=1M
71
+ rm -f /EMPTY
72
+
73
+ exit
@@ -1,37 +1,58 @@
1
- #http://adrianbravo.tumblr.com/post/644860401
1
+ # postinstall.sh created from Mitchell's official lucid32/64 baseboxes
2
2
 
3
- #Updating the box
3
+ # Apt-install various things necessary for Ruby, guest additions,
4
+ # etc., and remove optional things to trim down the machine.
4
5
  apt-get -y update
5
- #apt-get -y upgrade
6
- apt-get -y remove apparmor
6
+ apt-get -y upgrade
7
7
  apt-get -y install linux-headers-$(uname -r) build-essential
8
8
  apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
9
9
  apt-get clean
10
10
 
11
- #Setting up sudo
11
+ # Setup sudo to allow no-password sudo for "admin"
12
12
  cp /etc/sudoers /etc/sudoers.orig
13
+ sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
13
14
  sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
14
15
 
15
- #Installing ruby
16
- wget http://rubyforge.org/frs/download.php/71096/ruby-enterprise-1.8.7-2010.02.tar.gz
17
- tar xzvf ruby-enterprise-1.8.7-2010.02.tar.gz
18
- ./ruby-enterprise-1.8.7-2010.02/installer -a /opt/ruby --no-dev-docs --dont-install-useful-gems
19
- echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/rubyenterprise.sh
20
- rm -rf ./ruby-enterprise-1.8.7-2010.02/
21
- rm ruby-enterprise-1.8.7-2010.02.tar.gz
16
+ # Install NFS client
17
+ apt-get -y install nfs-common
22
18
 
23
- #Installing chef & Puppet
19
+ # Install Ruby from source in /opt so that users of Vagrant
20
+ # can install their own Rubies using packages or however.
21
+ # We must install the 1.8.x series since Puppet doesn't support
22
+ # Ruby 1.9 yet.
23
+ wget http://ftp.ruby-lang.org/pub/ruby/ruby-1.8.7-p334.tar.gz
24
+ tar xvzf ruby-1.8.7-p334.tar.gz
25
+ cd ruby-1.8.7-p334
26
+ ./configure --prefix=/opt/ruby
27
+ make
28
+ make install
29
+ cd ..
30
+ rm -rf ruby-1.8.7-p334*
31
+
32
+ # Install RubyGems 1.7.2
33
+ wget http://production.cf.rubygems.org/rubygems/rubygems-1.7.2.tgz
34
+ tar xzf rubygems-1.7.2.tgz
35
+ cd rubygems-1.7.2
36
+ /opt/ruby/bin/ruby setup.rb
37
+ cd ..
38
+ rm -rf rubygems-1.7.2*
39
+
40
+ # Installing chef & Puppet
24
41
  /opt/ruby/bin/gem install chef --no-ri --no-rdoc
25
42
  /opt/ruby/bin/gem install puppet --no-ri --no-rdoc
26
43
 
27
- #Installing vagrant keys
44
+ # Add /opt/ruby/bin to the global path as the last resort so
45
+ # Ruby, RubyGems, and Chef/Puppet are visible
46
+ echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
47
+
48
+ # Installing vagrant keys
28
49
  mkdir /home/vagrant/.ssh
29
50
  chmod 700 /home/vagrant/.ssh
30
51
  cd /home/vagrant/.ssh
31
52
  wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
32
53
  chown -R vagrant /home/vagrant/.ssh
33
54
 
34
- #Installing the virtualbox guest additions
55
+ # Installing the virtualbox guest additions
35
56
  VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
36
57
  cd /tmp
37
58
  wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
@@ -40,4 +61,13 @@ sh /mnt/VBoxLinuxAdditions.run
40
61
  umount /mnt
41
62
 
42
63
  rm VBoxGuestAdditions_$VBOX_VERSION.iso
64
+
65
+ # Remove items used for building, since they aren't needed anymore
66
+ apt-get -y remove linux-headers-$(uname -r) build-essential
67
+ apt-get -y autoremove
68
+
69
+ # Zero out the free space to save space in the final image:
70
+ dd if=/dev/zero of=/EMPTY bs=1M
71
+ rm -f /EMPTY
72
+
43
73
  exit