From 79ab37e6a05e595f33ed8322f2c7c589bd2a8c9b Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Fri, 17 Jan 2020 12:58:26 +0100 Subject: [PATCH] add rtlsdr via soapy to the docker builds; clean up --- build.sh | 1 + docker/Dockerfiles/Dockerfile-airspy | 2 ++ docker/Dockerfiles/Dockerfile-base | 1 + docker/Dockerfiles/Dockerfile-full | 3 ++ docker/Dockerfiles/Dockerfile-hackrf | 1 + docker/Dockerfiles/Dockerfile-rtlsdr | 2 ++ docker/Dockerfiles/Dockerfile-rtlsdr-soapy | 10 ++++++ docker/Dockerfiles/Dockerfile-sdrplay | 2 ++ docker/Dockerfiles/Dockerfile-soapysdr | 1 + .../install-dependencies-rtlsdr-soapy.sh | 32 +++++++++++++++++++ push.sh | 6 ++-- 11 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 docker/Dockerfiles/Dockerfile-rtlsdr-soapy create mode 100755 docker/scripts/install-dependencies-rtlsdr-soapy.sh diff --git a/build.sh b/build.sh index 9ef2d4b..5a991a7 100755 --- a/build.sh +++ b/build.sh @@ -12,4 +12,5 @@ docker build --build-arg ARCHTAG=$ARCHTAG -t openwebrx-soapysdr-base:$ARCHTAG -f docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-sdrplay:$ARCHTAG -f docker/Dockerfiles/Dockerfile-sdrplay . docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-hackrf:$ARCHTAG -f docker/Dockerfiles/Dockerfile-hackrf . docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-airspy:$ARCHTAG -f docker/Dockerfiles/Dockerfile-airspy . +docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-rtlsdr-soapy:$ARCHTAG -f docker/Dockerfiles/Dockerfile-rtlsdr-soapy . docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-full:$ARCHTAG -t jketterl/openwebrx:$ARCHTAG -f docker/Dockerfiles/Dockerfile-full . diff --git a/docker/Dockerfiles/Dockerfile-airspy b/docker/Dockerfiles/Dockerfile-airspy index 4d0a9c7..4383d0d 100644 --- a/docker/Dockerfiles/Dockerfile-airspy +++ b/docker/Dockerfiles/Dockerfile-airspy @@ -3,6 +3,8 @@ FROM openwebrx-soapysdr-base:$ARCHTAG ADD docker/scripts/install-dependencies-airspy.sh / RUN /install-dependencies-airspy.sh +RUN rm /install-dependencies-airspy.sh ADD docker/scripts/install-connectors.sh / RUN /install-connectors.sh +RUN rm /install-connectors.sh diff --git a/docker/Dockerfiles/Dockerfile-base b/docker/Dockerfiles/Dockerfile-base index 3333140..566f9d1 100644 --- a/docker/Dockerfiles/Dockerfile-base +++ b/docker/Dockerfiles/Dockerfile-base @@ -7,6 +7,7 @@ RUN ln -s /usr/local/lib /usr/local/lib64 ADD docker/scripts/direwolf-1.5.patch / ADD docker/scripts/install-dependencies.sh / RUN /install-dependencies.sh +RUN rm /install-dependencies.sh ADD . /opt/openwebrx diff --git a/docker/Dockerfiles/Dockerfile-full b/docker/Dockerfiles/Dockerfile-full index 5a9fa76..5d59e6a 100644 --- a/docker/Dockerfiles/Dockerfile-full +++ b/docker/Dockerfiles/Dockerfile-full @@ -9,6 +9,9 @@ RUN /install-dependencies-hackrf.sh RUN /install-dependencies-soapysdr.sh RUN /install-dependencies-sdrplay.sh RUN /install-dependencies-airspy.sh +RUN /install-dependencies-rtlsdr-soapy.sh +RUN rm /install-dependencies-*.sh ADD docker/scripts/install-connectors.sh / RUN /install-connectors.sh +RUN rm /install-connectors.sh diff --git a/docker/Dockerfiles/Dockerfile-hackrf b/docker/Dockerfiles/Dockerfile-hackrf index 0b3aa00..57643ab 100644 --- a/docker/Dockerfiles/Dockerfile-hackrf +++ b/docker/Dockerfiles/Dockerfile-hackrf @@ -3,4 +3,5 @@ FROM openwebrx-base:$ARCHTAG ADD docker/scripts/install-dependencies-hackrf.sh / RUN /install-dependencies-hackrf.sh +RUN rm /install-dependencies-hackrf.sh diff --git a/docker/Dockerfiles/Dockerfile-rtlsdr b/docker/Dockerfiles/Dockerfile-rtlsdr index e0c82bd..b0726da 100644 --- a/docker/Dockerfiles/Dockerfile-rtlsdr +++ b/docker/Dockerfiles/Dockerfile-rtlsdr @@ -3,6 +3,8 @@ FROM openwebrx-base:$ARCHTAG ADD docker/scripts/install-dependencies-rtlsdr.sh / RUN /install-dependencies-rtlsdr.sh +RUN rm /install-dependencies-rtlsdr.sh ADD docker/scripts/install-connectors.sh / RUN /install-connectors.sh +RUN rm /install-connectors.sh diff --git a/docker/Dockerfiles/Dockerfile-rtlsdr-soapy b/docker/Dockerfiles/Dockerfile-rtlsdr-soapy new file mode 100644 index 0000000..7989a6a --- /dev/null +++ b/docker/Dockerfiles/Dockerfile-rtlsdr-soapy @@ -0,0 +1,10 @@ +ARG ARCHTAG +FROM openwebrx-soapysdr-base:$ARCHTAG + +ADD docker/scripts/install-dependencies-rtlsdr-soapy.sh / +RUN /install-dependencies-rtlsdr-soapy.sh +RUN rm /install-dependencies-rtlsdr-soapy.sh + +ADD docker/scripts/install-connectors.sh / +RUN /install-connectors.sh +RUN rm /install-connectors.sh diff --git a/docker/Dockerfiles/Dockerfile-sdrplay b/docker/Dockerfiles/Dockerfile-sdrplay index 453ea00..f44f53b 100644 --- a/docker/Dockerfiles/Dockerfile-sdrplay +++ b/docker/Dockerfiles/Dockerfile-sdrplay @@ -4,6 +4,8 @@ FROM openwebrx-soapysdr-base:$ARCHTAG ADD docker/scripts/install-dependencies-sdrplay.sh / ADD docker/scripts/install-lib.*.patch / RUN /install-dependencies-sdrplay.sh +RUN rm /install-dependencies-sdrplay.sh ADD docker/scripts/install-connectors.sh / RUN /install-connectors.sh +RUN rm /install-connectors.sh diff --git a/docker/Dockerfiles/Dockerfile-soapysdr b/docker/Dockerfiles/Dockerfile-soapysdr index a4921e3..82b93e9 100644 --- a/docker/Dockerfiles/Dockerfile-soapysdr +++ b/docker/Dockerfiles/Dockerfile-soapysdr @@ -3,4 +3,5 @@ FROM openwebrx-base:$ARCHTAG ADD docker/scripts/install-dependencies-soapysdr.sh / RUN /install-dependencies-soapysdr.sh +RUN rm /install-dependencies-soapysdr.sh diff --git a/docker/scripts/install-dependencies-rtlsdr-soapy.sh b/docker/scripts/install-dependencies-rtlsdr-soapy.sh new file mode 100755 index 0000000..11a0cd1 --- /dev/null +++ b/docker/scripts/install-dependencies-rtlsdr-soapy.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -euo pipefail + +function cmakebuild() { + cd $1 + if [[ ! -z "${2:-}" ]]; then + git checkout $2 + fi + mkdir build + cd build + cmake .. + make + make install + cd ../.. + rm -rf $1 +} + +cd /tmp + +STATIC_PACKAGES="libusb" +BUILD_PACKAGES="git libusb-dev cmake make gcc musl-dev g++ linux-headers" + +apk add --no-cache $STATIC_PACKAGES +apk add --no-cache --virtual .build-deps $BUILD_PACKAGES + +git clone https://github.com/osmocom/rtl-sdr.git +cmakebuild rtl-sdr b5af355b1d833b3c898a61cf1e072b59b0ea3440 + +git clone https://github.com/pothosware/SoapyRTLSDR.git +cmakebuild SoapyRTLSDR 5c5d9503337c6d1c34b496dec6f908aab9478b0f + +apk del .build-deps diff --git a/push.sh b/push.sh index 2edb72a..1bb5fde 100755 --- a/push.sh +++ b/push.sh @@ -7,11 +7,13 @@ ALL_ARCHS="x86_64 armv7l aarch64" TAG="latest" ARCHTAG="$TAG-$ARCH" -for image in openwebrx-rtlsdr openwebrx-sdrplay openwebrx-hackrf openwebrx-airspy openwebrx-full openwebrx; do +IMAGES="openwebrx-rtlsdr openwebrx-sdrplay openwebrx-hackrf openwebrx-airspy openwebrx-rtlsdr-soapy openwebrx-full openwebrx" + +for image in ${IMAGES}; do docker push jketterl/$image:$ARCHTAG done -for image in openwebrx-rtlsdr openwebrx-sdrplay openwebrx-hackrf openwebrx-airspy openwebrx-full openwebrx; do +for image in ${IMAGES}; do # there's no docker manifest rm command, and the create --amend does not work, so we have to clean up manually rm -rf "${HOME}/.docker/manifests/docker.io_jketterl_${image}-${TAG}" IMAGE_LIST=""