Improve MAC docs for MCS and docker for BuildKit usage See commits for details. The first one is for fixing an omission in !3281, the second to clarify docker build usage. Closes: #973
83 lines
2.9 KiB
Docker
83 lines
2.9 KiB
Docker
#/*
|
|
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
# * contributor license agreements. See the NOTICE file distributed with
|
|
# * this work for additional information regarding copyright ownership.
|
|
# * The OpenAirInterface Software Alliance licenses this file to You under
|
|
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
# * except in compliance with the License.
|
|
# * You may obtain a copy of the License at
|
|
# *
|
|
# * http://www.openairinterface.org/?page_id=698
|
|
# *
|
|
# * Unless required by applicable law or agreed to in writing, software
|
|
# * distributed under the License is distributed on an "AS IS" BASIS,
|
|
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# * See the License for the specific language governing permissions and
|
|
# * limitations under the License.
|
|
# *-------------------------------------------------------------------------------
|
|
# * For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
# * contact@openairinterface.org
|
|
# */
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# Dockerfile for the Open-Air-Interface BUILD service
|
|
# Valid for Ubuntu 24.04
|
|
#
|
|
#---------------------------------------------------------------------
|
|
|
|
|
|
FROM ubuntu:noble AS ran-base
|
|
ARG NEEDED_GIT_PROXY
|
|
ARG TARGETARCH
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV TZ=Europe/Paris
|
|
ENV BUILD_UHD_FROM_SOURCE=True
|
|
ENV UHD_VERSION=4.8.0.0
|
|
|
|
#install developers pkg/repo
|
|
RUN apt-get update && \
|
|
apt-get upgrade --yes && \
|
|
apt-get install --yes \
|
|
#gcc needed for build_oai
|
|
build-essential \
|
|
ccache \
|
|
psmisc \
|
|
git \
|
|
xxd \
|
|
libpcre2-dev \
|
|
python3-dev \
|
|
bison \
|
|
flex \
|
|
m4 \
|
|
# python3-pip for conf template generation
|
|
python3-pip \
|
|
wget && \
|
|
# --break-system-packages allows externally managed environment in pip
|
|
pip3 install --ignore-installed pyyaml --break-system-packages
|
|
|
|
# Add "Tini - A tiny but valid init for containers", https://github.com/krallin/tini
|
|
# it will be copied into target containers, to print exit numbers and handle signals properly
|
|
ENV TINI_VERSION=v0.19.0
|
|
RUN wget https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-${TARGETARCH} -O /tini && chmod +x /tini
|
|
|
|
# In some network environments, GIT proxy is required
|
|
RUN /bin/bash -c "if [[ -v NEEDED_GIT_PROXY ]]; then git config --global http.proxy $NEEDED_GIT_PROXY; fi"
|
|
|
|
# Copying only the needed files to create ran-base
|
|
WORKDIR /oai-ran/cmake_targets/tools
|
|
COPY cmake_targets/tools/build_helper \
|
|
cmake_targets/tools/uhd-4.x-tdd-patch.diff \
|
|
./
|
|
|
|
WORKDIR /oai-ran/cmake_targets
|
|
COPY cmake_targets/build_oai .
|
|
|
|
WORKDIR /oai-ran
|
|
COPY oaienv .
|
|
|
|
#run build_oai -I to get the builder image
|
|
RUN /bin/sh oaienv && \
|
|
cd cmake_targets && \
|
|
mkdir -p log && \
|
|
./build_oai -I -w USRP --install-optional-packages
|