summaryrefslogtreecommitdiff
path: root/contrib/vagrant/Vagrantfile
diff options
context:
space:
mode:
authorAntonio Ojea <aojea@midokura.com>2017-02-24 14:22:28 +0100
committerChristian Grothoff <christian@grothoff.org>2017-02-25 01:53:16 +0100
commitc4942479309a40c09c4659fa3e26280d3a121058 (patch)
tree91a38332aa89dd2f6b7047171cd286e88f6d6341 /contrib/vagrant/Vagrantfile
parentb92a2992b013a8a27f2ca3b5d5e183c0f1df54a1 (diff)
Add Vagrant file for development
This patch adds a vagranfile that installs the required dependencies to compile gnunet. To be able to use it you need to cd to the contrib/vagrant directory, run "vagrant up" and wait until the VM is provisioned. Once it finish the provisioning you can login in the VM with "vagrant ssh" The VM mounts the source code of gnunet in the folder /gnunet, thus you can edit your code in the host and compile it in the VM. Signed-off-by: Antonio Ojea <aojea@midokura.com>
Diffstat (limited to 'contrib/vagrant/Vagrantfile')
-rw-r--r--contrib/vagrant/Vagrantfile55
1 files changed, 55 insertions, 0 deletions
diff --git a/contrib/vagrant/Vagrantfile b/contrib/vagrant/Vagrantfile
new file mode 100644
index 000000000..d6b671b24
--- /dev/null
+++ b/contrib/vagrant/Vagrantfile
@@ -0,0 +1,55 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+#
+# Source https://github.com/alxn/vpp/blob/master/build-root/vagrant/Vagrantfile
+
+Vagrant.configure(2) do |config|
+
+ config.vm.box = "bento/ubuntu-16.04"
+ config.vm.box_version = "2.2.9"
+ config.vm.provision 'shell', path: 'bootstrap.ubuntu.sh'
+
+ # Add .gnupg dir in so folks can sign patches
+ # Note, as gnupg puts socket files in that dir, we have
+ # to be cautious and make sure we are dealing with a plain file
+ homedir = File.expand_path("~/")
+ Dir["#{homedir}/.gnupg/**/*"].each do |fname|
+ if File.file?(fname)
+ destname = fname.sub(Regexp.escape("#{homedir}/"),'')
+ config.vm.provision "file", source: fname, destination: destname
+ end
+ end
+
+ # Copy in the .gitconfig if it exists
+ if File.file?(File.expand_path("~/.gitconfig"))
+ config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
+ end
+
+ # vagrant-cachier caches apt/yum etc to speed subsequent
+ # vagrant up
+ # to enable, run
+ # vagrant plugin install vagrant-cachier
+ #
+ if Vagrant.has_plugin?("vagrant-cachier")
+ config.cache.scope = :box
+ end
+
+ # use http proxy if avaiable
+ if ENV['http_proxy'] && Vagrant.has_plugin?("vagrant-proxyconf")
+ config.proxy.http = "$http_proxy"
+ config.proxy.https = "$https_proxy"
+ config.proxy.no_proxy = "localhost,127.0.0.1"
+ end
+
+ config.vm.synced_folder "../../", "/gnunet", disabled: false
+ config.vm.provider "virtualbox" do |vb|
+ vb.memory = "4096"
+ end
+ config.vm.provider "vmware_fusion" do |fusion,override|
+ fusion.vmx["memsize"] = "4096"
+ end
+ config.vm.provider "vmware_workstation" do |vws,override|
+ vws.vmx["memsize"] = "4096"
+ vws.vmx["numvcpus"] = "4"
+ end
+end