Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

For testing / future - Ubuntu 24.04 Dockerfile #953

Merged
merged 4 commits into from
Dec 15, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 10 additions & 41 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:22.04 AS builder
FROM ubuntu:24.04 AS builder

# Install docker for passing the socket to allow for intercontainer exec
RUN apt-get update && \
Expand All @@ -11,6 +11,8 @@ RUN apt-get update && \
curl \
git \
gnuradio-dev \
gr-osmosdr \
libosmosdr-dev \
libairspy-dev \
libairspyhf-dev \
libbladerf-dev \
Expand All @@ -22,6 +24,7 @@ RUN apt-get update && \
libmirisdr-dev \
liborc-0.4-dev \
libpthread-stubs0-dev \
librtlsdr-dev \
libsndfile1-dev \
libsoapysdr-dev \
libssl-dev \
Expand All @@ -33,41 +36,6 @@ RUN apt-get update && \
wget \
python3-six

# Compile librtlsdr-dev 2.0 for SDR-Blog v4 support and other updates
# Ubuntu 22.04 LTS has librtlsdr 0.6.0
RUN cd /tmp && \
git clone https://github.com/steve-m/librtlsdr.git && \
cd librtlsdr && \
mkdir build && \
cd build && \
cmake .. && \
make -j$(nproc) && \
make install && \
# We need to install both in / and /newroot to use in this image
# and to copy over to the final image
make install && \
make DESTDIR=/newroot install && \
ldconfig && \
cd /tmp && \
rm -rf librtlsdr

# Compile gr-osmosdr ourselves using a fork with various patches included
RUN cd /tmp && \
git clone https://github.com/racerxdl/gr-osmosdr.git && \
cd gr-osmosdr && \
mkdir build && \
cd build && \
cmake -DENABLE_NONFREE=TRUE .. && \
make -j$(nproc) && \
make install && \
# We need to install both in / and /newroot to use in this image
# and to copy over to the final image
make DESTDIR=/newroot install && \
ldconfig && \
cd /tmp && \
rm -rf gr-osmosdr


WORKDIR /src

COPY . .
Expand All @@ -77,11 +45,12 @@ WORKDIR /src/build
RUN cmake .. && make -j$(nproc) && make DESTDIR=/newroot install

#Stage 2 build
FROM ubuntu:22.04
RUN apt-get update && apt-get install --no-install-recommends -y ca-certificates gr-funcube gr-iqbal curl wget rsync libboost-log1.74.0 \
libboost-chrono1.74.0 libgnuradio-digital3.10.1 libgnuradio-analog3.10.1 libgnuradio-filter3.10.1 libgnuradio-network3.10.1 \
libgnuradio-uhd3.10.1 libsoapysdr0.8 soapysdr0.8-module-all libairspyhf1 libfreesrp0 libxtrx0 sox fdkaac docker.io && \
rm -rf /var/lib/apt/lists/*
FROM ubuntu:24.04
RUN apt-get update && apt-get -y upgrade && apt-get install --no-install-recommends -y ca-certificates gr-funcube gr-iqbal curl wget libboost-log1.83.0 \
libboost-chrono1.83.0t64 libgnuradio-digital3.10.9t64 libgnuradio-analog3.10.9t64 libgnuradio-filter3.10.9t64 libgnuradio-network3.10.9t64 \
libgnuradio-uhd3.10.9t64 libgnuradio-osmosdr0.2.0t64 libsoapysdr0.8 soapysdr0.8-module-all libairspyhf1 libfreesrp0 librtlsdr2 libxtrx0 sox fdkaac docker.io && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /usr/share/{doc,man,info} && rm -rf /usr/local/share/{doc,man,info}

COPY --from=builder /newroot /

Expand Down
Loading