-
Notifications
You must be signed in to change notification settings - Fork 20
/
Vagrantfile-FreeBSD
49 lines (41 loc) · 1.54 KB
/
Vagrantfile-FreeBSD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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 py37 py37-six gmake lftp
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