summaryrefslogtreecommitdiff
path: root/Vagrantfile-FreeBSD
diff options
context:
space:
mode:
Diffstat (limited to 'Vagrantfile-FreeBSD')
-rw-r--r--Vagrantfile-FreeBSD49
1 files changed, 49 insertions, 0 deletions
diff --git a/Vagrantfile-FreeBSD b/Vagrantfile-FreeBSD
new file mode 100644
index 000000000..8f00abe8d
--- /dev/null
+++ b/Vagrantfile-FreeBSD
@@ -0,0 +1,49 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# All Vagrant configuration is done below. The "2" in Vagrant.configure
+# configures the configuration version (we support older styles for
+# backwards compatibility). Please don't change it unless you know what
+# you're doing.
+
+VAGRANTFILE_API_VERSION = "2"
+Vagrant.require_version ">=1.7.0"
+
+$bootstrap_freebsd = <<SCRIPT
+sed -e 's/\#DEFAULT_ALWAYS_YES = false/DEFAULT_ALWAYS_YES = true/g' -e 's/\#ASSUME_ALWAYS_YES = false/ASSUME_ALWAYS_YES = true/g' /usr/local/etc/pkg.conf > /tmp/pkg.conf
+mv -f /tmp/pkg.conf /usr/local/etc/pkg.conf
+pkg install automake libtool wget python py27-six gmake
+SCRIPT
+
+$configure_ovs = <<SCRIPT
+cd /vagrant
+./boot.sh
+mkdir -p ~/build
+cd ~/build
+sudo /vagrant/configure --disable-libcapng --enable-silent-rules
+SCRIPT
+
+$build_ovs = <<SCRIPT
+cd ~/build
+gmake
+SCRIPT
+
+$test_userspace = <<SCRIPT
+cd ~/build
+gmake check
+SCRIPT
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+ # Use NFS due to capability 'mount_virtualbox_shared_folder'
+ # does not work on FreeBSD.
+ config.vm.network :private_network, ip: "10.0.0.2"
+ config.vm.synced_folder ".", "/vagrant", :nfs => true
+
+ config.vm.define "freebsd-10.2" do |freebsd|
+ freebsd.vm.box = "bento/freebsd-10.2"
+ freebsd.vm.provision "bootstrap", type: "shell", inline: $bootstrap_freebsd
+ freebsd.vm.provision "configure_ovs", type: "shell", inline: $configure_ovs
+ freebsd.vm.provision "build_ovs", type: "shell", inline: $build_ovs
+ freebsd.vm.provision "test_userspace", type: "shell", inline: $test_userspace
+ end
+end