From 21cb0e8febbab5a42cea5d1933f482587809e9e6 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Sun, 8 Dec 2019 19:00:34 +0100 Subject: [PATCH] docker-based debian package build --- build-debian-package.sh | 13 +++++++++++++ debian/control | 2 +- docker/Dockerfiles/Dockerfile-debian-builder | 13 +++++++++++++ docker/scripts/build-debian-package.sh | 16 ++++++++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 build-debian-package.sh create mode 100644 docker/Dockerfiles/Dockerfile-debian-builder create mode 100755 docker/scripts/build-debian-package.sh diff --git a/build-debian-package.sh b/build-debian-package.sh new file mode 100755 index 0000000..04bf6c4 --- /dev/null +++ b/build-debian-package.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +set -euo pipefail + +SIGN_KEY_ID=EC56CED77C05107E4C416EF8173873AE062F3A10 +SIGN_KEY=$(gpg --armor --export-secret-key $SIGN_KEY_ID) + +docker build --pull -t openwebrx-debian-builder:latest -f docker/Dockerfiles/Dockerfile-debian-builder . +docker run -it --name openwebrx-debian-builder -e SIGN_KEY="$SIGN_KEY" -e SIGN_KEY_ID="$SIGN_KEY_ID" openwebrx-debian-builder:latest +mkdir -p packages/buster +docker cp openwebrx-debian-builder:/packages.tar.gz . +tar xvfz packages.tar.gz -C packages/buster +rm packages.tar.gz +docker rm openwebrx-debian-builder diff --git a/debian/control b/debian/control index c1da24a..933f57b 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 10), dh-python, python3 (>= 3.6), dh-systemd (>= 1. Package: openwebrx Architecture: all -Depends: python3 (>= 3.6), csdr (>= 0.15), netcat, owrx-connector (>= 0.1) +Depends: python3 (>= 3.6), python3-pkg-resources, csdr (>= 0.15), netcat, owrx-connector (>= 0.1) Recommends: digiham (>= 0.2), dsd (>= 1.7) Description: multi-user web sdr Open source, multi-user SDR receiver with a web interface \ No newline at end of file diff --git a/docker/Dockerfiles/Dockerfile-debian-builder b/docker/Dockerfiles/Dockerfile-debian-builder new file mode 100644 index 0000000..e565624 --- /dev/null +++ b/docker/Dockerfiles/Dockerfile-debian-builder @@ -0,0 +1,13 @@ +FROM debian:buster + +RUN apt-get update && \ + apt-get install -y cmake build-essential devscripts debsigs dh-python python3 python3-setuptools dh-systemd git && \ + rm -rf /var/lib/apt/lists/* + +ADD docker/scripts/build-debian-package.sh / + +RUN git clone https://github.com/jketterl/openwebrx.git /openwebrx + +WORKDIR /openwebrx + +CMD ["/build-debian-package.sh"] diff --git a/docker/scripts/build-debian-package.sh b/docker/scripts/build-debian-package.sh new file mode 100755 index 0000000..5bc40dd --- /dev/null +++ b/docker/scripts/build-debian-package.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail + +debuild -uc -us + +cd .. + +export GPG_TTY=$(tty) +gpg --batch --import <(echo "$SIGN_KEY") +for DEB in `ls *.deb`; do + debsigs --sign=maint -k $SIGN_KEY_ID $DEB +done + +dpkg-deb -I *.deb + +tar cvfz packages.tar.gz *.deb \ No newline at end of file