feat: add more automation to set up FreeBSD builds
This commit is contained in:
parent
cd1f73bc86
commit
ee49644ce2
38
Vagrantfile
vendored
38
Vagrantfile
vendored
@ -1,17 +1,45 @@
|
|||||||
|
uid = Process::UID.rid
|
||||||
|
|
||||||
$script = <<-SCRIPT
|
$script = <<-SCRIPT
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
pw user add -n sparse-build -s /usr/local/bin/bash -m -u #{uid}
|
||||||
echo 'source "$HOME/.cargo/env"' > ~/.bashrc
|
cat - <<EOD > /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 - <<EOD > /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
|
SCRIPT
|
||||||
|
|
||||||
Vagrant.configure("2") do |config|
|
Vagrant.configure("2") do |config|
|
||||||
config.vm.box = "generic/freebsd14"
|
config.vm.box = "generic/freebsd14"
|
||||||
|
|
||||||
config.vm.network "private_network", ip: "192.168.56.198"
|
config.vm.network "private_network", ip: "192.168.56.198"
|
||||||
|
|
||||||
config.vm.provision "shell", inline: $script
|
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|
|
config.vm.provider "virtualbox" do |vb|
|
||||||
vb.memory = 8192
|
vb.memory = 8192
|
||||||
vb.cpus = 8
|
vb.cpus = 8
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.provider "libvirt" do |lv|
|
||||||
|
lv.cpus = 8
|
||||||
|
lv.memory = 8192
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user