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 May 25, 2015
2 parents b712e3e + bdb0a7a commit fb591ab
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 3 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -247,3 +247,6 @@
*.pdb
/Debug/
/Release/
/.vagrant/
/vagrant2[0-9][0-9][0-9]*-*-*
/d2[0-9][0-9][0-9]*-*-*
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2259,9 +2259,9 @@ LN_OR_CP_BUILT_IN_BINDIR = \
cp "$$bindir/git$X" "$$bindir/$$p" || exit;
LN_OR_CP_BUILT_IN_EXECDIR = \
test -z "$(NO_INSTALL_HARDLINKS)" && \
ln "$$exectir/git$X" "$$exectir/$$p" 2>/dev/null || \
ln -s "git$X" "$$exectir/$$p" 2>/dev/null || \
cp "$$exectir/git$X" "$$exectir/$$p" || exit;
ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
cp "$$execdir/git$X" "$$execdir/$$p" || exit;
else
LN_OR_CP_BUILT_IN_BINDIR = \
cp "$(BUILT_IN_WRAPPER)" "$$bindir/$$p" || exit;
Expand Down
58 changes: 58 additions & 0 deletions Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# -*- 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|
# Start with a 64-bit Ubuntu 12.04 "Precise Penguin" box
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 fb591ab

Please sign in to comment.