Skip to content

Commit

Permalink
Merge pull request #159 from dscho/vagrant
Browse files Browse the repository at this point in the history
Add Vagrant support (easy Linux VM setup)
  • Loading branch information
dscho committed Sep 10, 2015
2 parents f36a63f + 3c564db commit 1570105
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -249,3 +249,6 @@
*.pdb
/Debug/
/Release/
/.vagrant/
/vagrant2[0-9][0-9][0-9]*-*-*
/d2[0-9][0-9][0-9]*-*-*
57 changes: 57 additions & 0 deletions Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

# This Vagrantfile defines the requirements of a Linux development environment
# to develop/run Git. This environment can be set up conveniently by installing
# Vagrant and VirtualBox and calling "vagrant up" in the /usr/src/git directory.
#
# See https://github.com/git-for-windows/git/wiki/Vagrant for details.

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

$provision = <<PROVISION
apt-get update
apt-get install -y make gcc libexpat-dev libcurl4-openssl-dev gettext tk8.6 libsvn-perl
# clean .profile in case we're re-provisioning
n="$(grep -n 'cd /vagrant' < /home/vagrant/.profile 2> /dev/null |
sed 's/:.*//')"
test -z "$n" || {
head -n $(($n-1)) < /home/vagrant/.profile > /tmp/.profile
mv /tmp/.profile /home/vagrant/.profile
}
# add a nice greeting
cat >> /home/vagrant/.profile << \EOF
cd /vagrant/
export PATH=/home/vagrant/bin:$PATH
cat << \TOOEOF
Welcome to the Vagrant setup for Git!
--------------------------------------
To build & install Git, just execute
make -j NO_PERL_MAKEMAKER=t install
For more information, see https://github.com/git-for-windows/git/wiki/Vagrant
TOOEOF
EOF
cat << EOF
Now that everything is set up, connect to the Vagrant machine with the command:
vagrant ssh
EOF
PROVISION

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.box_url = "https://atlas.hashicorp.com/ubuntu/boxes/trusty64"

config.vm.provision :shell, :inline => $provision
end

0 comments on commit 1570105

Please sign in to comment.