diff --git a/Vagrantfile b/Vagrantfile index eac5ce7..96c62cc 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,17 +1,45 @@ +uid = Process::UID.rid + $script = <<-SCRIPT -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -echo 'source "$HOME/.cargo/env"' > ~/.bashrc +pw user add -n sparse-build -s /usr/local/bin/bash -m -u #{uid} +cat - < /usr/local/etc/sudoers.d/sparse-build +Defaults:sparse-build !fqdn +Defaults:sparse-build !requiretty +sparse-build ALL=(ALL) NOPASSWD: ALL +EOD + +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sudo -u sparse-build sh -s -- -y + +pkg install -y git cmake +sudo -u sparse-build git clone https://github.com/the-tcpdump-group/libpcap /home/sparse-build/libpcap + +cat - < /home/sparse-build/.bashrc +source /home/sparse-build/.cargo/env +export SPARSE_BUILD_LIBPCAP=/home/sparse-build/libpcap +EOD +chown sparse-build /home/sparse-build/.bashrc + +cat - <<'EOD' > /usr/local/bin/sparse-build +cd /vagrant +exec sudo -u sparse-build bash -i -c "/home/sparse-build/.cargo/bin/cargo build --target=x86_64-unknown-freebsd -p sparse-05-server $@" +EOD +chmod +x /usr/local/bin/sparse-build SCRIPT Vagrant.configure("2") do |config| config.vm.box = "generic/freebsd14" config.vm.network "private_network", ip: "192.168.56.198" - config.vm.provision "shell", inline: $script + config.vm.synced_folder ".", "/vagrant", type: "nfs", nfs_version: 4, map_uid: uid, linux__nfs_options: ['rw'] config.vm.provider "virtualbox" do |vb| - vb.memory = 8192 - vb.cpus = 8 + vb.memory = 8192 + vb.cpus = 8 + end + + config.vm.provider "libvirt" do |lv| + lv.cpus = 8 + lv.memory = 8192 end end