diff options
| author | Egor Tensin <egor@tensin.name> | 2026-10-04 21:38:14 +0500 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2026-10-04 21:38:14 +0500 |
| commit | eb71c13f3bb0ca9ae2084a2b986f915d15f0ac65 (patch) | |
| tree | a6ac5789a715ca475d7911c10d13cf611ea3b259 /debian/Vagrantfile | |
| parent | workflows: add some comments (diff) | |
| download | linux-status-eb71c13f3bb0ca9ae2084a2b986f915d15f0ac65.tar.gz linux-status-eb71c13f3bb0ca9ae2084a2b986f915d15f0ac65.zip | |
debian: ditch Vagrant, switch to Docker
Diffstat (limited to 'debian/Vagrantfile')
| -rw-r--r-- | debian/Vagrantfile | 101 |
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 |
