From b521e17e74df65e745570317a3ce724b4f388ce8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Tue, 18 Jan 2022 16:30:26 +0100
Subject: [PATCH] Create vagrant setup for testing installability

---
 briar-desktop/build.gradle.kts       | 24 +++++++++++++++---------
 vagrant/.gitignore                   |  1 +
 vagrant/debian-bullseye/README.md    | 19 +++++++++++++++++++
 vagrant/debian-bullseye/Vagrantfile  | 17 +++++++++++++++++
 vagrant/debian-bullseye/bootstrap.sh |  7 +++++++
 vagrant/ubuntu-bionic/README.md      | 19 +++++++++++++++++++
 vagrant/ubuntu-bionic/Vagrantfile    | 17 +++++++++++++++++
 vagrant/ubuntu-bionic/bootstrap.sh   |  8 ++++++++
 vagrant/ubuntu-focal/README.md       | 19 +++++++++++++++++++
 vagrant/ubuntu-focal/Vagrantfile     | 17 +++++++++++++++++
 vagrant/ubuntu-focal/bootstrap.sh    |  7 +++++++
 vagrant/ubuntu-jammy/README.md       | 19 +++++++++++++++++++
 vagrant/ubuntu-jammy/Vagrantfile     | 17 +++++++++++++++++
 vagrant/ubuntu-jammy/bootstrap.sh    |  7 +++++++
 14 files changed, 189 insertions(+), 9 deletions(-)
 create mode 100644 vagrant/.gitignore
 create mode 100644 vagrant/debian-bullseye/README.md
 create mode 100644 vagrant/debian-bullseye/Vagrantfile
 create mode 100644 vagrant/debian-bullseye/bootstrap.sh
 create mode 100644 vagrant/ubuntu-bionic/README.md
 create mode 100644 vagrant/ubuntu-bionic/Vagrantfile
 create mode 100644 vagrant/ubuntu-bionic/bootstrap.sh
 create mode 100644 vagrant/ubuntu-focal/README.md
 create mode 100644 vagrant/ubuntu-focal/Vagrantfile
 create mode 100644 vagrant/ubuntu-focal/bootstrap.sh
 create mode 100644 vagrant/ubuntu-jammy/README.md
 create mode 100644 vagrant/ubuntu-jammy/Vagrantfile
 create mode 100644 vagrant/ubuntu-jammy/bootstrap.sh

diff --git a/briar-desktop/build.gradle.kts b/briar-desktop/build.gradle.kts
index 1e1d42036e..dbdbb8384f 100644
--- a/briar-desktop/build.gradle.kts
+++ b/briar-desktop/build.gradle.kts
@@ -179,27 +179,33 @@ pinpit.desktop {
                     qualifier = "ubuntu-20.04"
                     arch = "x64"
                     depends(
-                        "libc6", "libexpat1", "libgcc-s1", "libpcre3", "libuuid1", "xdg-utils",
-                        "zlib1g", "libnotify4"
+                        // determined by pinpitSuggestDebDependencies
+                        "libc6", "libexpat1", "libuuid1", "zlib1g",
+                        // manually added
+                        "xdg-utils", "libnotify4"
                     )
                 }
                 deb("UbuntuBionicX64") {
                     qualifier = "ubuntu-18.04"
                     arch = "x64"
                     depends(
-                        "libasound2", "libc6", "libexpat1", "libfontconfig1", "libfreetype6", "libgcc1",
-                        "libglib2.0-0", "libgraphite2-3", "libharfbuzz0b", "libjpeg-turbo8", "liblcms2-2",
-                        "libpcre3", "libpng16-16", "libstdc++6", "xdg-utils", "zlib1g", "libnotify4"
+                        // determined by pinpitSuggestDebDependencies
+                        "libasound2", "libbsd0", "libc6", "libexpat1", "libfontconfig1",
+                        "libfreetype6", "libgl1", "libglvnd0", "libglx0", "libpng16-16",
+                        "libx11-6", "libxau6", "libxcb1", "libxdmcp6", "libxext6",
+                        "libxi6", "libxrender1", "libxtst6", "zlib1g",
+                        // manually added
+                        "xdg-utils", "libnotify4"
                     )
                 }
                 deb("DebianBullseyeX64") {
                     qualifier = "debian-bullseye"
                     arch = "x64"
                     depends(
-                        "libasound2", "libbrotli1", "libc6", "libexpat1", "libfontconfig1", "libfreetype6",
-                        "libgcc-s1", "libglib2.0-0", "libgraphite2-3", "libharfbuzz0b", "libjpeg62-turbo",
-                        "liblcms2-2", "libpcre3", "libpng16-16", "libstdc++6", "libuuid1", "xdg-utils", "zlib1g",
-                        "libnotify4"
+                        // determined by pinpitSuggestDebDependencies
+                        "libc6", "libexpat1", "zlib1g",
+                        // manually added
+                        "xdg-utils", "libnotify4"
                     )
                 }
             }
diff --git a/vagrant/.gitignore b/vagrant/.gitignore
new file mode 100644
index 0000000000..8000dd9db4
--- /dev/null
+++ b/vagrant/.gitignore
@@ -0,0 +1 @@
+.vagrant
diff --git a/vagrant/debian-bullseye/README.md b/vagrant/debian-bullseye/README.md
new file mode 100644
index 0000000000..8ad988c4d4
--- /dev/null
+++ b/vagrant/debian-bullseye/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install git openjdk-17-jdk binutils ca-certificates
diff --git a/vagrant/debian-bullseye/Vagrantfile b/vagrant/debian-bullseye/Vagrantfile
new file mode 100644
index 0000000000..de480048ed
--- /dev/null
+++ b/vagrant/debian-bullseye/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "debian/bullseye64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/debian-bullseye/bootstrap.sh b/vagrant/debian-bullseye/bootstrap.sh
new file mode 100644
index 0000000000..9b3c9aff01
--- /dev/null
+++ b/vagrant/debian-bullseye/bootstrap.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-debian-bullseye.deb?job=b_package_linux"
+sudo dpkg -i briar.deb
diff --git a/vagrant/ubuntu-bionic/README.md b/vagrant/ubuntu-bionic/README.md
new file mode 100644
index 0000000000..8c14ac92c9
--- /dev/null
+++ b/vagrant/ubuntu-bionic/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install openjdk-17-jdk binutils ca-certificates
diff --git a/vagrant/ubuntu-bionic/Vagrantfile b/vagrant/ubuntu-bionic/Vagrantfile
new file mode 100644
index 0000000000..014a165c3d
--- /dev/null
+++ b/vagrant/ubuntu-bionic/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "ubuntu/bionic64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/ubuntu-bionic/bootstrap.sh b/vagrant/ubuntu-bionic/bootstrap.sh
new file mode 100644
index 0000000000..49c6e01863
--- /dev/null
+++ b/vagrant/ubuntu-bionic/bootstrap.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# Install gedit as a random package that ensures `/usr/share/metainfo` is available
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2 gedit
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-ubuntu-18.04.deb?job=b_package_linux"
+sudo dpkg -i briar.deb
diff --git a/vagrant/ubuntu-focal/README.md b/vagrant/ubuntu-focal/README.md
new file mode 100644
index 0000000000..8c14ac92c9
--- /dev/null
+++ b/vagrant/ubuntu-focal/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install openjdk-17-jdk binutils ca-certificates
diff --git a/vagrant/ubuntu-focal/Vagrantfile b/vagrant/ubuntu-focal/Vagrantfile
new file mode 100644
index 0000000000..488535428f
--- /dev/null
+++ b/vagrant/ubuntu-focal/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "ubuntu/focal64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/ubuntu-focal/bootstrap.sh b/vagrant/ubuntu-focal/bootstrap.sh
new file mode 100644
index 0000000000..63a3458319
--- /dev/null
+++ b/vagrant/ubuntu-focal/bootstrap.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-ubuntu-20.04.deb?job=b_package_linux"
+sudo dpkg -i briar.deb
diff --git a/vagrant/ubuntu-jammy/README.md b/vagrant/ubuntu-jammy/README.md
new file mode 100644
index 0000000000..d2b93573ba
--- /dev/null
+++ b/vagrant/ubuntu-jammy/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install openjdk-17-jdk
diff --git a/vagrant/ubuntu-jammy/Vagrantfile b/vagrant/ubuntu-jammy/Vagrantfile
new file mode 100644
index 0000000000..89f7171a4e
--- /dev/null
+++ b/vagrant/ubuntu-jammy/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "ubuntu/jammy64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/ubuntu-jammy/bootstrap.sh b/vagrant/ubuntu-jammy/bootstrap.sh
new file mode 100644
index 0000000000..63a3458319
--- /dev/null
+++ b/vagrant/ubuntu-jammy/bootstrap.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-ubuntu-20.04.deb?job=b_package_linux"
+sudo dpkg -i briar.deb
-- 
GitLab