4 # Vagrantfile API/syntax version.
5 VAGRANTFILE_API_VERSION = "2"
7 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
9 config.vm.define :centos do |centos|
10 # Configure VM RAM and CPU for VirtualBox. Change this to meet your needs.
11 centos.vm.provider :virtualbox do |virtualbox, override|
12 virtualbox.memory = 2048
14 override.vm.box = "centos/7"
17 # Configure VM RAM and CPU for LibVirt. Change this to meet your needs.
18 centos.vm.provider :libvirt do |libvirt, override|
21 override.vm.box = "centos/7"
24 centos.vm.provider "docker" do |docker, override|
25 docker.build_dir = "."
26 docker.remains_running = false
27 override.vm.synced_folder ".", "/build"
30 # NFS is fragile, use rsync
31 centos.vm.synced_folder ".", "/vagrant", type: "rsync"
32 centos.vm.synced_folder ".", "/home/vagrant/sync", disabled: true
34 # Add EPEL for access to fedora-packager and maybe others
35 centos.vm.provision "shell", inline: "yum install -y epel-release"
37 # Install required software
38 # fedora-packager: Basic RPM packaging software
39 centos.vm.provision "shell", inline: "yum install -y fedora-packager \
42 # Use the distribution's version of pip to upgrade to the latest pip
43 centos.vm.provision "shell", inline: "pip install --upgrade pip"
45 # Install Python dependences system-wide via pip.
46 centos.vm.provision "shell", inline: "pip install -r /vagrant/requirements.txt"
48 # Add vagrant user to mock group for rpmbuild
49 centos.vm.provision "shell", inline: "sudo usermod -a -G mock vagrant"
52 config.vm.define :debian do |debian|
53 debian.vm.provider :virtualbox do |virtualbox, override|
54 virtualbox.memory = 1024
55 # Two cores over default one for faster builds
57 override.vm.box = "debian/stretch64"
58 override.vm.box_version = "> 9.0.0"
61 # Configure VM RAM and CPU for LibVirt
62 debian.vm.provider :libvirt do |libvirt, override|
64 # Two cores over default one for faster builds
66 override.vm.box = "debian/stretch64"
67 override.vm.box_version = "> 9.0.0"
70 debian.vm.provider "docker" do |docker, override|
71 docker.build_dir = "."
72 docker.remains_running = false
73 override.vm.synced_folder ".", "/build"
76 # NFS is fragile, disable it and use rsync
77 debian.nfs.functional = false
79 # Sync folders /packaging/deb/ and /vagrant
80 debian.vm.synced_folder ".", "/vagrant"
82 # Update package info to prevent old info from causing 404s during install
83 debian.vm.provision "shell", inline: "apt-get update"
85 # Install pkg dev tools, Python libs for build scripts, gdebi to test install
86 debian.vm.provision "shell", inline: "apt-get install -y --force-yes \
95 # Use the distribution's version of pip to upgrade to the latest pip
96 debian.vm.provision "shell", inline: "pip install --upgrade pip"
98 # Install Python dependences system-wide via pip
99 debian.vm.provision "shell", inline: "pip install -r /vagrant/requirements.txt"
101 # Add jessie-oldstable repo for openjdk-7-jre-headless package
102 # Note openjdk-7-jre-headless requires tzdata (= 2017b-0+deb8u1) also present in jessie-oldstable
103 debian.vm.provision "shell", inline: <<-SHELL
104 echo "deb http://httpredir.debian.org/debian jessie main" > /etc/apt/sources.list.d/jessie-oldstable.list