summaryrefslogtreecommitdiff
path: root/Vagrantfile-FreeBSD
diff options
context:
space:
mode:
authorWilliam Tu <u9012063@gmail.com>2016-06-29 10:35:00 -0700
committerBen Pfaff <blp@ovn.org>2016-07-03 10:27:20 -0700
commitef9c432c22a777a22097428253a6d44d99824be7 (patch)
tree52c423a2b0fd0b715b0eefc182048d62541db7b9 /Vagrantfile-FreeBSD
parent43898d4c72219eb9c0d4e7ee5c421380251f080d (diff)
downloadopenvswitch-ef9c432c22a777a22097428253a6d44d99824be7.tar.gz
vagrant: Add FreeBSD 10.2 box support.
Add FreeBSD 10.2 vagrant file "Vagrantfile-FreeBSD". Users can run 'VAGRANT_VAGRANTFILE=Vagrantfile-FreeBSD vagrant up' to test basic OVS configure, build, and check. Signed-off-by: William Tu <u9012063@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
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