aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/debian/Vagrantfile
diff options
context:
space:
mode:
Diffstat (limited to 'debian/Vagrantfile')
-rw-r--r--debian/Vagrantfile101
1 files changed, 0 insertions, 101 deletions
diff --git a/debian/Vagrantfile b/debian/Vagrantfile
deleted file mode 100644
index 2b38b0f..0000000
--- a/debian/Vagrantfile
+++ /dev/null
@@ -1,101 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-NAME = 'Egor Tensin'
-EMAIL = 'egor@tensin.name'
-GPG_KEY = '09AEA2BAD52882A1AF9D6042F218DB829A9905B5'
-UID = Process.euid
-
-REQUIRED_PLUGINS = %w(
- vagrant-libvirt
- vagrant-reload
-)
-exit unless REQUIRED_PLUGINS.all? do |plugin|
- Vagrant.has_plugin?(plugin) || (
- puts "The #{plugin} plugin is required. Please install it with:"
- puts " vagrant plugin install #{plugin}"
- false
- )
-end
-
-Vagrant.configure("2") do |config|
- config.vm.box = "generic/ubuntu2004"
-
- # Weirdly enough, VirtualBox's shared folders didn't quite work for me.
- # gbp buildpackage would just exit with FileExistsError, which doesn't
- # happen with NFS shares.
- config.vm.synced_folder "../", "/vagrant",
- type: "nfs",
- nfs_udp: false,
- nfs_version: "4"
-
- config.vm.provider "libvirt" do |v|
- v.cpus = 2
- v.memory = 4096
- end
-
- # Working with the git repository:
- config.vm.provision "shell", privileged: false, inline: <<-SHELL
-#!/usr/bin/env bash
-set -o errexit -o nounset -o pipefail
-git config --global user.name '#{NAME}'
-git config --global user.email '#{EMAIL}'
- SHELL
- config.ssh.forward_agent = true
-
- # Set DEB* environment variables:
- config.vm.provision "shell", privileged: false, inline: <<-SHELL
-#!/usr/bin/env bash
-set -o errexit -o nounset -o pipefail
-tee -a ~/.bashrc <<'EOF'
-export DEBFULLNAME='#{NAME}'
-export DEBEMAIL='#{EMAIL}'
-EOF
- SHELL
-
- # gpg-agent forwarding (https://wiki.gnupg.org/AgentForwarding):
- config.vm.provision "shell", privileged: false, inline: <<-SHELL
-#!/usr/bin/env bash
-set -o errexit -o nounset -o pipefail
-gpg --keyserver hkp://keyserver.ubuntu.com/ --recv-keys '0x#{GPG_KEY}'
-gpg --import-ownertrust <<'EOF'
-#{GPG_KEY}:6:
-EOF
- SHELL
- config.vm.provision "shell", inline: <<-SHELL
-#!/usr/bin/env bash
-set -o errexit -o nounset -o pipefail
-echo 'StreamLocalBindUnlink yes' >> /etc/ssh/sshd_config
- SHELL
- # "agent-extra-socket" on the host.
- local_gpg_socket = one_line(run('gpgconf', '--list-dirs', 'agent-extra-socket'))
- # "agent-socket" on the VM.
- remote_gpg_socket = "/run/user/#{UID}/gnupg/S.gpg-agent"
- config.ssh.extra_args = ['-R', "#{remote_gpg_socket}:#{local_gpg_socket}"]
-
- # Install the required packages:
- config.vm.provision "shell", inline: <<-SHELL
-#!/usr/bin/env bash
-set -o errexit -o nounset -o pipefail
-apt update
-DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends make
-cd /vagrant/debian
-make deps
- SHELL
-
- config.vm.provision :reload
-end
-
-require "open3"
-
-def run(*cmd)
- stdout, stderr, status = Open3.capture3(*cmd)
- abort stderr unless status.success?
- stdout
-end
-
-def one_line(output)
- lines = output.lines.map(&:chomp)
- abort "Must be a single line: #{lines}" unless lines.length == 1
- lines.first
-end