diff --git a/docker/Dockerfiles/Dockerfile-base b/docker/Dockerfiles/Dockerfile-base index c065768..3ea8aae 100644 --- a/docker/Dockerfiles/Dockerfile-base +++ b/docker/Dockerfiles/Dockerfile-base @@ -1,17 +1,11 @@ -FROM alpine:3.10 +FROM debian:buster-slim -RUN apk add --no-cache bash - -RUN ln -s /usr/local/lib /usr/local/lib64 - -ADD docker/scripts/direwolf-1.5.patch / +ADD docker/scripts/js8call-hamlib.patch / ADD docker/scripts/install-dependencies.sh / RUN /install-dependencies.sh && \ rm /install-dependencies.sh -WORKDIR /opt/openwebrx - VOLUME /etc/openwebrx -ENTRYPOINT [ "/opt/openwebrx/docker/scripts/run.sh" ] +ENTRYPOINT [ "/usr/bin/openwebrx" ] EXPOSE 8073 diff --git a/docker/scripts/direwolf-1.5.patch b/docker/scripts/direwolf-1.5.patch deleted file mode 100644 index 4a63915..0000000 --- a/docker/scripts/direwolf-1.5.patch +++ /dev/null @@ -1,241 +0,0 @@ -diff --git a/Makefile.linux b/Makefile.linux -index 5010833..3f61de9 100644 ---- a/Makefile.linux -+++ b/Makefile.linux -@@ -585,102 +585,102 @@ install : $(APPS) direwolf.conf tocalls.txt symbols-new.txt symbolsX.txt dw-icon - # Applications, not installed with package manager, normally go in /usr/local/bin. - # /usr/bin is used instead when installing from .DEB or .RPM package. - # -- $(INSTALL) -D --mode=755 direwolf $(DESTDIR)/bin/direwolf -- $(INSTALL) -D --mode=755 decode_aprs $(DESTDIR)/bin/decode_aprs -- $(INSTALL) -D --mode=755 text2tt $(DESTDIR)/bin/text2tt -- $(INSTALL) -D --mode=755 tt2text $(DESTDIR)/bin/tt2text -- $(INSTALL) -D --mode=755 ll2utm $(DESTDIR)/bin/ll2utm -- $(INSTALL) -D --mode=755 utm2ll $(DESTDIR)/bin/utm2ll -- $(INSTALL) -D --mode=755 aclients $(DESTDIR)/bin/aclients -- $(INSTALL) -D --mode=755 log2gpx $(DESTDIR)/bin/log2gpx -- $(INSTALL) -D --mode=755 gen_packets $(DESTDIR)/bin/gen_packets -- $(INSTALL) -D --mode=755 atest $(DESTDIR)/bin/atest -- $(INSTALL) -D --mode=755 ttcalc $(DESTDIR)/bin/ttcalc -- $(INSTALL) -D --mode=755 kissutil $(DESTDIR)/bin/kissutil -- $(INSTALL) -D --mode=755 cm108 $(DESTDIR)/bin/cm108 -- $(INSTALL) -D --mode=755 dwespeak.sh $(DESTDIR)/bin/dwspeak.sh -+ $(INSTALL) -D -m=755 direwolf $(DESTDIR)/bin/direwolf -+ $(INSTALL) -D -m=755 decode_aprs $(DESTDIR)/bin/decode_aprs -+ $(INSTALL) -D -m=755 text2tt $(DESTDIR)/bin/text2tt -+ $(INSTALL) -D -m=755 tt2text $(DESTDIR)/bin/tt2text -+ $(INSTALL) -D -m=755 ll2utm $(DESTDIR)/bin/ll2utm -+ $(INSTALL) -D -m=755 utm2ll $(DESTDIR)/bin/utm2ll -+ $(INSTALL) -D -m=755 aclients $(DESTDIR)/bin/aclients -+ $(INSTALL) -D -m=755 log2gpx $(DESTDIR)/bin/log2gpx -+ $(INSTALL) -D -m=755 gen_packets $(DESTDIR)/bin/gen_packets -+ $(INSTALL) -D -m=755 atest $(DESTDIR)/bin/atest -+ $(INSTALL) -D -m=755 ttcalc $(DESTDIR)/bin/ttcalc -+ $(INSTALL) -D -m=755 kissutil $(DESTDIR)/bin/kissutil -+ $(INSTALL) -D -m=755 cm108 $(DESTDIR)/bin/cm108 -+ $(INSTALL) -D -m=755 dwespeak.sh $(DESTDIR)/bin/dwspeak.sh - # - # Telemetry Toolkit executables. Other .conf and .txt files will go into doc directory. - # -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-balloon.pl $(DESTDIR)/bin/telem-balloon.pl -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-bits.pl $(DESTDIR)/bin/telem-bits.pl -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-data.pl $(DESTDIR)/bin/telem-data.pl -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-data91.pl $(DESTDIR)/bin/telem-data91.pl -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-eqns.pl $(DESTDIR)/bin/telem-eqns.pl -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-parm.pl $(DESTDIR)/bin/telem-parm.pl -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-seq.sh $(DESTDIR)/bin/telem-seq.sh -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-unit.pl $(DESTDIR)/bin/telem-unit.pl -- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-volts.py $(DESTDIR)/bin/telem-volts.py -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-balloon.pl $(DESTDIR)/bin/telem-balloon.pl -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-bits.pl $(DESTDIR)/bin/telem-bits.pl -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-data.pl $(DESTDIR)/bin/telem-data.pl -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-data91.pl $(DESTDIR)/bin/telem-data91.pl -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-eqns.pl $(DESTDIR)/bin/telem-eqns.pl -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-parm.pl $(DESTDIR)/bin/telem-parm.pl -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-seq.sh $(DESTDIR)/bin/telem-seq.sh -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-unit.pl $(DESTDIR)/bin/telem-unit.pl -+ $(INSTALL) -D -m=755 telemetry-toolkit/telem-volts.py $(DESTDIR)/bin/telem-volts.py - # - # Misc. data such as "tocall" to system mapping. - # -- $(INSTALL) -D --mode=644 tocalls.txt $(DESTDIR)/share/direwolf/tocalls.txt -- $(INSTALL) -D --mode=644 symbols-new.txt $(DESTDIR)/share/direwolf/symbols-new.txt -- $(INSTALL) -D --mode=644 symbolsX.txt $(DESTDIR)/share/direwolf/symbolsX.txt -+ $(INSTALL) -D -m=644 tocalls.txt $(DESTDIR)/share/direwolf/tocalls.txt -+ $(INSTALL) -D -m=644 symbols-new.txt $(DESTDIR)/share/direwolf/symbols-new.txt -+ $(INSTALL) -D -m=644 symbolsX.txt $(DESTDIR)/share/direwolf/symbolsX.txt - # - # For desktop icon. - # -- $(INSTALL) -D --mode=644 dw-icon.png $(DESTDIR)/share/direwolf/pixmaps/dw-icon.png -- $(INSTALL) -D --mode=644 direwolf.desktop $(DESTDIR)/share/applications/direwolf.desktop -+ $(INSTALL) -D -m=644 dw-icon.png $(DESTDIR)/share/direwolf/pixmaps/dw-icon.png -+ $(INSTALL) -D -m=644 direwolf.desktop $(DESTDIR)/share/applications/direwolf.desktop - # - # Documentation. Various plain text files and PDF. - # -- $(INSTALL) -D --mode=644 CHANGES.md $(DESTDIR)/share/doc/direwolf/CHANGES.md -- $(INSTALL) -D --mode=644 LICENSE-dire-wolf.txt $(DESTDIR)/share/doc/direwolf/LICENSE-dire-wolf.txt -- $(INSTALL) -D --mode=644 LICENSE-other.txt $(DESTDIR)/share/doc/direwolf/LICENSE-other.txt -+ $(INSTALL) -D -m=644 CHANGES.md $(DESTDIR)/share/doc/direwolf/CHANGES.md -+ $(INSTALL) -D -m=644 LICENSE-dire-wolf.txt $(DESTDIR)/share/doc/direwolf/LICENSE-dire-wolf.txt -+ $(INSTALL) -D -m=644 LICENSE-other.txt $(DESTDIR)/share/doc/direwolf/LICENSE-other.txt - # - # ./README.md is an overview for the project main page. - # Maybe we could stick it in some other place. - # doc/README.md contains an overview of the PDF file contents and is more useful here. - # -- $(INSTALL) -D --mode=644 doc/README.md $(DESTDIR)/share/doc/direwolf/README.md -- $(INSTALL) -D --mode=644 doc/2400-4800-PSK-for-APRS-Packet-Radio.pdf $(DESTDIR)/share/doc/direwolf/2400-4800-PSK-for-APRS-Packet-Radio.pdf -- $(INSTALL) -D --mode=644 doc/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf $(DESTDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf -- $(INSTALL) -D --mode=644 doc/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf $(DESTDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf -- $(INSTALL) -D --mode=644 doc/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf $(DESTDIR)/share/doc/direwolf/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf -- $(INSTALL) -D --mode=644 doc/APRS-Telemetry-Toolkit.pdf $(DESTDIR)/share/doc/direwolf/APRS-Telemetry-Toolkit.pdf -- $(INSTALL) -D --mode=644 doc/APRStt-Implementation-Notes.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Implementation-Notes.pdf -- $(INSTALL) -D --mode=644 doc/APRStt-interface-for-SARTrack.pdf $(DESTDIR)/share/doc/direwolf/APRStt-interface-for-SARTrack.pdf -- $(INSTALL) -D --mode=644 doc/APRStt-Listening-Example.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Listening-Example.pdf -- $(INSTALL) -D --mode=644 doc/Bluetooth-KISS-TNC.pdf $(DESTDIR)/share/doc/direwolf/Bluetooth-KISS-TNC.pdf -- $(INSTALL) -D --mode=644 doc/Going-beyond-9600-baud.pdf $(DESTDIR)/share/doc/direwolf/Going-beyond-9600-baud.pdf -- $(INSTALL) -D --mode=644 doc/Raspberry-Pi-APRS.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS.pdf -- $(INSTALL) -D --mode=644 doc/Raspberry-Pi-APRS-Tracker.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS-Tracker.pdf -- $(INSTALL) -D --mode=644 doc/Raspberry-Pi-SDR-IGate.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-SDR-IGate.pdf -- $(INSTALL) -D --mode=644 doc/Successful-APRS-IGate-Operation.pdf $(DESTDIR)/share/doc/direwolf/Successful-APRS-IGate-Operation.pdf -- $(INSTALL) -D --mode=644 doc/User-Guide.pdf $(DESTDIR)/share/doc/direwolf/User-Guide.pdf -- $(INSTALL) -D --mode=644 doc/WA8LMF-TNC-Test-CD-Results.pdf $(DESTDIR)/share/doc/direwolf/WA8LMF-TNC-Test-CD-Results.pdf -+ $(INSTALL) -D -m=644 doc/README.md $(DESTDIR)/share/doc/direwolf/README.md -+ $(INSTALL) -D -m=644 doc/2400-4800-PSK-for-APRS-Packet-Radio.pdf $(DESTDIR)/share/doc/direwolf/2400-4800-PSK-for-APRS-Packet-Radio.pdf -+ $(INSTALL) -D -m=644 doc/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf $(DESTDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf -+ $(INSTALL) -D -m=644 doc/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf $(DESTDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf -+ $(INSTALL) -D -m=644 doc/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf $(DESTDIR)/share/doc/direwolf/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf -+ $(INSTALL) -D -m=644 doc/APRS-Telemetry-Toolkit.pdf $(DESTDIR)/share/doc/direwolf/APRS-Telemetry-Toolkit.pdf -+ $(INSTALL) -D -m=644 doc/APRStt-Implementation-Notes.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Implementation-Notes.pdf -+ $(INSTALL) -D -m=644 doc/APRStt-interface-for-SARTrack.pdf $(DESTDIR)/share/doc/direwolf/APRStt-interface-for-SARTrack.pdf -+ $(INSTALL) -D -m=644 doc/APRStt-Listening-Example.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Listening-Example.pdf -+ $(INSTALL) -D -m=644 doc/Bluetooth-KISS-TNC.pdf $(DESTDIR)/share/doc/direwolf/Bluetooth-KISS-TNC.pdf -+ $(INSTALL) -D -m=644 doc/Going-beyond-9600-baud.pdf $(DESTDIR)/share/doc/direwolf/Going-beyond-9600-baud.pdf -+ $(INSTALL) -D -m=644 doc/Raspberry-Pi-APRS.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS.pdf -+ $(INSTALL) -D -m=644 doc/Raspberry-Pi-APRS-Tracker.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS-Tracker.pdf -+ $(INSTALL) -D -m=644 doc/Raspberry-Pi-SDR-IGate.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-SDR-IGate.pdf -+ $(INSTALL) -D -m=644 doc/Successful-APRS-IGate-Operation.pdf $(DESTDIR)/share/doc/direwolf/Successful-APRS-IGate-Operation.pdf -+ $(INSTALL) -D -m=644 doc/User-Guide.pdf $(DESTDIR)/share/doc/direwolf/User-Guide.pdf -+ $(INSTALL) -D -m=644 doc/WA8LMF-TNC-Test-CD-Results.pdf $(DESTDIR)/share/doc/direwolf/WA8LMF-TNC-Test-CD-Results.pdf - # - # Various sample config and other files go into examples under the doc directory. - # When building from source, these can be put in home directory with "make install-conf". - # When installed from .DEB or .RPM package, the user will need to copy these to - # the home directory or other desired location. - # -- $(INSTALL) -D --mode=644 direwolf.conf $(DESTDIR)/share/doc/direwolf/examples/direwolf.conf -- $(INSTALL) -D --mode=755 dw-start.sh $(DESTDIR)/share/doc/direwolf/examples/dw-start.sh -- $(INSTALL) -D --mode=644 sdr.conf $(DESTDIR)/share/doc/direwolf/examples/sdr.conf -- $(INSTALL) -D --mode=644 telemetry-toolkit/telem-m0xer-3.txt $(DESTDIR)/share/doc/direwolf/examples/telem-m0xer-3.txt -- $(INSTALL) -D --mode=644 telemetry-toolkit/telem-balloon.conf $(DESTDIR)/share/doc/direwolf/examples/telem-balloon.conf -- $(INSTALL) -D --mode=644 telemetry-toolkit/telem-volts.conf $(DESTDIR)/share/doc/direwolf/examples/telem-volts.conf -+ $(INSTALL) -D -m=644 direwolf.conf $(DESTDIR)/share/doc/direwolf/examples/direwolf.conf -+ $(INSTALL) -D -m=755 dw-start.sh $(DESTDIR)/share/doc/direwolf/examples/dw-start.sh -+ $(INSTALL) -D -m=644 sdr.conf $(DESTDIR)/share/doc/direwolf/examples/sdr.conf -+ $(INSTALL) -D -m=644 telemetry-toolkit/telem-m0xer-3.txt $(DESTDIR)/share/doc/direwolf/examples/telem-m0xer-3.txt -+ $(INSTALL) -D -m=644 telemetry-toolkit/telem-balloon.conf $(DESTDIR)/share/doc/direwolf/examples/telem-balloon.conf -+ $(INSTALL) -D -m=644 telemetry-toolkit/telem-volts.conf $(DESTDIR)/share/doc/direwolf/examples/telem-volts.conf - # - # "man" pages - # -- $(INSTALL) -D --mode=644 man1/aclients.1 $(DESTDIR)/share/man/man1/aclients.1 -- $(INSTALL) -D --mode=644 man1/atest.1 $(DESTDIR)/share/man/man1/atest.1 -- $(INSTALL) -D --mode=644 man1/decode_aprs.1 $(DESTDIR)/share/man/man1/decode_aprs.1 -- $(INSTALL) -D --mode=644 man1/direwolf.1 $(DESTDIR)/share/man/man1/direwolf.1 -- $(INSTALL) -D --mode=644 man1/gen_packets.1 $(DESTDIR)/share/man/man1/gen_packets.1 -- $(INSTALL) -D --mode=644 man1/kissutil.1 $(DESTDIR)/share/man/man1/kissutil.1 -- $(INSTALL) -D --mode=644 man1/ll2utm.1 $(DESTDIR)/share/man/man1/ll2utm.1 -- $(INSTALL) -D --mode=644 man1/log2gpx.1 $(DESTDIR)/share/man/man1/log2gpx.1 -- $(INSTALL) -D --mode=644 man1/text2tt.1 $(DESTDIR)/share/man/man1/text2tt.1 -- $(INSTALL) -D --mode=644 man1/tt2text.1 $(DESTDIR)/share/man/man1/tt2text.1 -- $(INSTALL) -D --mode=644 man1/utm2ll.1 $(DESTDIR)/share/man/man1/utm2ll.1 -+ $(INSTALL) -D -m=644 man1/aclients.1 $(DESTDIR)/share/man/man1/aclients.1 -+ $(INSTALL) -D -m=644 man1/atest.1 $(DESTDIR)/share/man/man1/atest.1 -+ $(INSTALL) -D -m=644 man1/decode_aprs.1 $(DESTDIR)/share/man/man1/decode_aprs.1 -+ $(INSTALL) -D -m=644 man1/direwolf.1 $(DESTDIR)/share/man/man1/direwolf.1 -+ $(INSTALL) -D -m=644 man1/gen_packets.1 $(DESTDIR)/share/man/man1/gen_packets.1 -+ $(INSTALL) -D -m=644 man1/kissutil.1 $(DESTDIR)/share/man/man1/kissutil.1 -+ $(INSTALL) -D -m=644 man1/ll2utm.1 $(DESTDIR)/share/man/man1/ll2utm.1 -+ $(INSTALL) -D -m=644 man1/log2gpx.1 $(DESTDIR)/share/man/man1/log2gpx.1 -+ $(INSTALL) -D -m=644 man1/text2tt.1 $(DESTDIR)/share/man/man1/text2tt.1 -+ $(INSTALL) -D -m=644 man1/tt2text.1 $(DESTDIR)/share/man/man1/tt2text.1 -+ $(INSTALL) -D -m=644 man1/utm2ll.1 $(DESTDIR)/share/man/man1/utm2ll.1 - # - # Set group and mode of HID devices corresponding to C-Media USB Audio adapters. - # This will allow us to use the CM108/CM119 GPIO pins for PTT. - # -- $(INSTALL) -D --mode=644 99-direwolf-cmedia.rules /etc/udev/rules.d/99-direwolf-cmedia.rules -+ $(INSTALL) -D -m=644 99-direwolf-cmedia.rules /etc/udev/rules.d/99-direwolf-cmedia.rules - # - @echo " " - @echo "If this is your first install, not an upgrade, type this to put a copy" -diff --git a/cdigipeater.c b/cdigipeater.c -index 9c40d95..94112e9 100644 ---- a/cdigipeater.c -+++ b/cdigipeater.c -@@ -49,7 +49,7 @@ - #include - #include /* for isdigit, isupper */ - #include "regex.h" --#include -+#include - - #include "ax25_pad.h" - #include "cdigipeater.h" -diff --git a/decode_aprs.c b/decode_aprs.c -index 35c186b..a620cb3 100644 ---- a/decode_aprs.c -+++ b/decode_aprs.c -@@ -3872,11 +3872,7 @@ static void decode_tocall (decode_aprs_t *A, char *dest) - * models before getting to the more generic APY. - */ - --#if defined(__WIN32__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__APPLE__) - qsort (tocalls, num_tocalls, sizeof(struct tocalls_s), tocall_cmp); --#else -- qsort (tocalls, num_tocalls, sizeof(struct tocalls_s), (__compar_fn_t)tocall_cmp); --#endif - } - else { - if ( ! A->g_quiet) { -diff --git a/digipeater.c b/digipeater.c -index 36970d7..5195582 100644 ---- a/digipeater.c -+++ b/digipeater.c -@@ -62,7 +62,7 @@ - #include - #include /* for isdigit, isupper */ - #include "regex.h" --#include -+#include - - #include "ax25_pad.h" - #include "digipeater.h" -diff --git a/direwolf.h b/direwolf.h -index 514bcc5..52f5ae9 100644 ---- a/direwolf.h -+++ b/direwolf.h -@@ -274,7 +274,7 @@ char *strtok_r(char *str, const char *delim, char **saveptr); - char *strcasestr(const char *S, const char *FIND); - - --#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__APPLE__) -+#if 1 - - // strlcpy and strlcat should be in string.h and the C library. - -diff --git a/multi_modem.c b/multi_modem.c -index 5d96c79..24261b9 100644 ---- a/multi_modem.c -+++ b/multi_modem.c -@@ -80,7 +80,7 @@ - #include - #include - #include --#include -+#include - - #include "ax25_pad.h" - #include "textcolor.h" diff --git a/docker/scripts/install-dependencies.sh b/docker/scripts/install-dependencies.sh index 1b1c87b..9f18cda 100755 --- a/docker/scripts/install-dependencies.sh +++ b/docker/scripts/install-dependencies.sh @@ -18,11 +18,11 @@ function cmakebuild() { cd /tmp -STATIC_PACKAGES="sox fftw python3 netcat-openbsd libsndfile lapack libusb qt5-qtbase qt5-qtmultimedia qt5-qtserialport qt5-qttools alsa-lib" -BUILD_PACKAGES="git libsndfile-dev fftw-dev cmake ca-certificates make gcc musl-dev g++ lapack-dev linux-headers autoconf automake libtool texinfo gfortran libusb-dev qt5-qtbase-dev qt5-qtmultimedia-dev qt5-qtserialport-dev qt5-qttools-dev asciidoctor asciidoc alsa-lib-dev linux-headers pkgconf" +STATIC_PACKAGES="sox libfftw3-bin python3 python3-setuptools netcat-openbsd libsndfile1 liblapack3 libusb-1.0.0 libqt5serialport5 libqt5multimedia5-plugins libqt5widgets5 libqt5sql5-sqlite libqt5core5a libqt5gui5 libqt5multimedia5 libqt5network5 libqt5printsupport5 libqt5serialport5 libqt5sql5 libqt5widgets5 libreadline7 libgfortran4 libgomp1 libasound2 libudev1 libhamlib2 libhamlib2++c2" +BUILD_PACKAGES="wget git libsndfile1-dev libfftw3-dev cmake ca-certificates make gcc g++ liblapack-dev autoconf automake libtool texinfo gfortran libusb-1.0.0-dev qtbase5-dev qtmultimedia5-dev qttools5-dev libqt5serialport5-dev qttools5-dev-tools asciidoctor asciidoc libasound2-dev pkg-config libudev-dev libhamlib-dev libhamlib++-dev" -apk add --no-cache $STATIC_PACKAGES -apk add --no-cache --virtual .build-deps $BUILD_PACKAGES +apt-get update +apt-get -y install $STATIC_PACKAGES $BUILD_PACKAGES git clone https://github.com/jketterl/js8py.git pushd js8py @@ -52,21 +52,26 @@ cmakebuild digiham 95206501be89b38d0267bf6c29a6898e7c65656f git clone https://github.com/f4exb/dsd.git cmakebuild dsd f6939f9edbbc6f66261833616391a4e59cb2b3d7 -git clone https://github.com/Hamlib/Hamlib.git -pushd Hamlib -git checkout 301ebb92eaa538dfa75c06821f46715f40dd7673 -./bootstrap -./configure -make -make install -popd -rm -rf Hamlib +#git clone https://github.com/Hamlib/Hamlib.git +#pushd Hamlib +#git checkout 301ebb92eaa538dfa75c06821f46715f40dd7673 +#./bootstrap +#./configure +#make +#ake install +#popd +#rm -rf Hamlib JS8CALL_VERSION=2.1.1 JS8CALL_DIR=js8call-${JS8CALL_VERSION} JS8CALL_TGZ=${JS8CALL_DIR}.tgz wget http://files.js8call.com/${JS8CALL_VERSION}/${JS8CALL_TGZ} tar xfz ${JS8CALL_TGZ} +#cp ${JS8CALL_DIR}/CMakeLists.txt ./CMakeLists.orig.txt +#sed "s/set (hamlib_STATIC 1)/set (hamlib_STATIC 0)/" < ./CMakeLists.orig.txt > ${JS8CALL_DIR}/CMakeLists.txt +#rm ./CMakeLists.orig.txt +patch -Np1 -d ${JS8CALL_DIR} < /js8call-hamlib.patch +rm /js8call-hamlib.patch CMAKE_ARGS="-D CMAKE_CXX_FLAGS=-DJS8_USE_LEGACY_HAMLIB" cmakebuild ${JS8CALL_DIR} rm ${JS8CALL_TGZ} @@ -79,7 +84,6 @@ rm ${WSJT_TGZ} git clone --depth 1 -b 1.5 https://github.com/wb2osz/direwolf.git cd direwolf -patch -Np1 < /direwolf-1.5.patch make make install cd .. @@ -90,4 +94,6 @@ pushd /opt/aprs-symbols git checkout 5c2abe2658ee4d2563f3c73b90c6f59124839802 popd -apk del .build-deps +apt-get -y purge --autoremove $BUILD_PACKAGES +apt-get clean +rm -rf /var/lib/apt/lists/* diff --git a/docker/scripts/js8call-hamlib.patch b/docker/scripts/js8call-hamlib.patch new file mode 100644 index 0000000..68c1e70 --- /dev/null +++ b/docker/scripts/js8call-hamlib.patch @@ -0,0 +1,43 @@ +diff -ur js8call-2.1.1-orig/CMake/Modules/Findhamlib.cmake js8call-2.1.1/CMake/Modules/Findhamlib.cmake +--- js8call-2.1.1-orig/CMake/Modules/Findhamlib.cmake 2020-05-23 15:38:20.730349612 +0000 ++++ js8call-2.1.1/CMake/Modules/Findhamlib.cmake 2020-05-23 15:39:28.829772207 +0000 +@@ -78,4 +78,4 @@ + # Handle the QUIETLY and REQUIRED arguments and set HAMLIB_FOUND to + # TRUE if all listed variables are TRUE + include (FindPackageHandleStandardArgs) +-find_package_handle_standard_args (hamlib DEFAULT_MSG hamlib_INCLUDE_DIRS hamlib_LIBRARIES hamlib_LIBRARY_DIRS) ++find_package_handle_standard_args (hamlib DEFAULT_MSG hamlib_INCLUDE_DIRS hamlib_LIBRARIES) +diff -ur js8call-2.1.1-orig/CMakeLists.txt js8call-2.1.1/CMakeLists.txt +--- js8call-2.1.1-orig/CMakeLists.txt 2020-05-23 15:38:20.730349612 +0000 ++++ js8call-2.1.1/CMakeLists.txt 2020-05-23 15:52:46.103389553 +0000 +@@ -683,7 +683,7 @@ + # + # libhamlib setup + # +-set (hamlib_STATIC 1) ++set (hamlib_STATIC 0) + find_package (hamlib 3 REQUIRED) + find_program (RIGCTL_EXE rigctl) + find_program (RIGCTLD_EXE rigctld) +@@ -1106,20 +1106,6 @@ + BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime + ) + +-install (PROGRAMS +- ${RIGCTL_EXE} +- DESTINATION ${CMAKE_INSTALL_BINDIR} +- #COMPONENT runtime +- RENAME rigctl-local${CMAKE_EXECUTABLE_SUFFIX} +- ) +- +-install (PROGRAMS +- ${RIGCTLD_EXE} +- DESTINATION ${CMAKE_INSTALL_BINDIR} +- #COMPONENT runtime +- RENAME rigctld-local${CMAKE_EXECUTABLE_SUFFIX} +- ) +- + install (FILES + README + COPYING +Only in js8call-2.1.1/: hamlib.patch