diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..27c47fbb843d46ae6d614cec4a483a6bc861e89d
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,14 @@
+AGPL-3+
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program.  If not, see <https://www.gnu.org/licenses/>.
diff --git a/build.gradle.kts b/build.gradle.kts
index 43f6374f6a272ffd358f91f98d7760a3cfdad533..d06b30d4933f1a4eb1973d6faa0da9ad7e08a272 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -99,6 +99,8 @@ compose.desktop {
             packageVersion = "0.0.1"
             description = "Secure messaging, anywhere"
             vendor = "The Briar Project"
+            copyright = "2021-2022 The Briar Project"
+            licenseFile.set(project.file("LICENSE.txt"))
             // As described at https://github.com/JetBrains/compose-jb/tree/master/tutorials/Native_distributions_and_local_execution#configuring-included-jdk-modules
             // the Gradle plugin does not automatically determine necessary JDK modules to ship
             // so that we need to define required modules here:
diff --git a/utils/extract-deb.sh b/utils/extract-deb.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2449d22f0ff5af1bcd960f30753a106b4853d789
--- /dev/null
+++ b/utils/extract-deb.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# A script for extracting the deb artifact to a local directory for
+# debugging its content.
+
+set -e
+
+DIR=$(dirname $0)
+REPO="$DIR/.."
+OUTPUT="$REPO/deb"
+
+echo "Creating output directory"
+mkdir -p "$OUTPUT"
+
+echo "Extracting debian archive"
+ar --output "$OUTPUT" x "$REPO/build/compose/binaries/main/deb"/briar-desktop*.deb
+
+echo "Extracting control.tar.xz"
+mkdir -p "$OUTPUT/control"
+tar xv --directory "$OUTPUT/control" -f "$OUTPUT/control.tar.xz"
+
+echo "Extracting data.tar.xz"
+mkdir -p "$OUTPUT/data"
+tar xv --directory "$OUTPUT/data" -f "$OUTPUT/data.tar.xz"
diff --git a/utils/package-deb.sh b/utils/package-deb.sh
new file mode 100755
index 0000000000000000000000000000000000000000..544b33178e2f2340e3b85952a501734b2b7bcbcf
--- /dev/null
+++ b/utils/package-deb.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# A script for building a deb package on Debian based distributions.
+# Expects JDKs 11 and 17 to be installed at /usr/lib/jvm/java-11-openjdk-amd64/
+# and /usr/lib/jvm/java-17-openjdk-amd64/ respectively.
+
+set -e
+
+DIR=$(dirname $0)
+REPO="$DIR/.."
+
+cd "$REPO"
+./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64/ kaptKotlin
+./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64/ -x kaptKotlin packageDeb