Rogerio Ferraz f3883b3e71 OPAE tools in container image stx-debian-tools-dev
The Open Programmable Acceleration Engine (OPAE) tools, and its
required dependencies, are introduced in the stx-debian-tools-dev
container, for the vRAN enablement with Intel hardware.

The OPAE tools deliverables consist of the following packages, which are
derived from the same source, but handled as individual packages. The
OPAE Intel FGPA driver is not required in the container, because it is
already supported in StarlingX kernel.

  - opae-sdk-1.3.7-5
  - python3-opae.admin-1.0.3
  - python3-opae.pacsign-1.0.4
  - opae-intel-fpga-driver-2.0.1

When building OPAE from upstream source code, binaries are installed in
bin directory, though privileged commands should be located in sbin.
According to the upstream documentation, most OPAE commands need to be
run in privileged mode, but the description is not always clear.
Hence, in order to provide a consistent CLI interface in StarlingX, the
OPAE binaries are installed in the proper standard directories.

Test Plan:
  - Container image is built successfully on Debian (PASS)
  - OPAE packages are successfully installed (PASS)
  - Run time testing of the OPAE tools (WIP)

Story: 2010138
Task: 46170

Depends-On: https://review.opendev.org/c/starlingx/tools/+/862743

Signed-off-by: Rogerio Ferraz <RogerioOliveira.Ferraz@windriver.com>
Change-Id: I9430fb34362ee487b0de76b4dbef78331446f5f3
2022-11-02 16:35:50 +00:00

105 lines
2.7 KiB
Docker

ARG BASE
FROM ${BASE}
# Install stx-dev repo (StarlingX-Debian CENGN repo)
COPY stx-dev.list /etc/apt/sources.list.d/stx-dev.list.disabled
#
# repos:
# /etc/apt/sources.list.d/
# debian.list.disabled - vanilla debian repo
# stx-x.list.disabled - starlingx binary & build repos
#
# To enable a repo list:
# cp /etc/apt/sources.list.d/$repo_list.disabled \
# /etc/apt/sources.list.d/$repo_list
#
# To disable a repo list:
# rm -f /etc/apt/sources.list.d/$repo_list
#
# Upgrade base packages to versions in managed repos
RUN set -ex && \
cp -f /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list && \
apt-get update -y && \
apt-get upgrade -y && \
rm -f /etc/apt/sources.list.d/stx.list && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Install packages provided only by Debian.
RUN set -ex && \
cp -f /etc/apt/sources.list.d/debian.list.disabled /etc/apt/sources.list.d/debian.list && \
cp -f /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list && \
apt-get update -y && \
apt-get install -y \
autoconf-archive \
autogen \
cmake \
doxygen \
dwarves \
git \
git-review \
libcap-dev \
libjson-c-dev \
linux-perf-5.10 \
ncurses-dev \
sphinx-doc \
unzip \
uuid-dev \
&& \
rm -f /etc/apt/sources.list.d/debian.list && \
rm -f /etc/apt/sources.list.d/stx.list && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Enable stx repo only. Packages installs below this point will use
# only the managed locally-built & 3rd-party repos.
RUN set -ex && \
cp /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list
# Install required packages
RUN set -ex && \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y \
automake \
bash \
bc \
bison \
curl \
fakeroot \
flex \
gcc \
g++ \
gettext \
isomd5sum \
libelf-dev \
libhwloc-dev=1.11.12-3 \
libssl-dev \
linux-headers-5.10.0-6 \
make \
mkisofs \
python3-yaml \
rsync \
sphinx-common \
sudo \
vim \
wget \
xz-utils \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Enable StarlingX-Debian CENGN repo
# Packages installs below this point will use DEB packages on CENGN repo.
RUN set -ex && \
cp -f /etc/apt/sources.list.d/stx-dev.list.disabled /etc/apt/sources.list.d/stx.list && \
apt-get update && \
apt-get clean && \
rm -rf \
/var/lib/apt/lists/* \
/var/log/* \
/var/tmp/* \
/tmp/*