Skip to content

Commit

Permalink
vagrant: Add FreeBSD 10.2 box support.
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
  • Loading branch information
williamtu authored and blp committed Jul 3, 2016
1 parent 43898d4 commit ef9c432
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
3 changes: 2 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ EXTRA_DIST = \
build-aux/xml2nroff \
$(MAN_FRAGMENTS) \
$(MAN_ROOTS) \
Vagrantfile
Vagrantfile \
Vagrantfile-FreeBSD
bin_PROGRAMS =
sbin_PROGRAMS =
bin_SCRIPTS =
Expand Down
49 changes: 49 additions & 0 deletions Vagrantfile-FreeBSD
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit ef9c432

Please sign in to comment.