1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
FROM debian:bookworm
# Add backports for pkcs11-provider
RUN echo "deb http://deb.debian.org/debian bookworm-backports main" \
> /etc/apt/sources.list.d/backports.list
# Required for building
RUN apt-get update -q && apt-get install -q -y --no-install-recommends \
gcc \
g++ \
meson \
libtool \
libglib2.0-dev \
libcurl3-dev \
libssl-dev \
libdbus-1-dev \
libjson-glib-dev \
libfdisk-dev \
libnl-genl-3-dev
# Required for building the cgi example
RUN apt-get install -q -y --no-install-recommends \
autoconf \
automake \
make \
xz-utils
# Required for testing
RUN apt-get install -q -y --no-install-recommends \
acl \
squashfs-tools \
dosfstools \
lcov \
slirp \
python3-pyasn1 \
python3-pyasn1-modules \
python3-pytest \
python3-pydbus \
python3-dasbus \
python3-sphinx \
python3-sphinx-rtd-theme \
dbus \
dbus-x11 \
grub-common \
opensc \
opensc-pkcs11 \
libengine-pkcs11-openssl \
pkcs11-provider \
fakeroot \
faketime \
pseudo \
time \
tree \
kmod \
uncrustify \
casync \
qemu-system-x86 \
procps \
mtd-utils \
mmc-utils \
python3-aiohttp \
python3-requests \
nginx-light \
fdisk
# Required for test environment setup
RUN apt-get install -q -y --no-install-recommends \
sudo \
python3-pip \
git \
curl && \
curl -sLo /usr/bin/codecov https://codecov.io/bash && \
chmod +x /usr/bin/codecov
# Install softhsm2 only on working architectures (32 bit arm seems broken)
RUN test "$(uname -m)" = "armv7l" && exit 0; \
apt-get install -q -y --no-install-recommends softhsm2
# Build and install the optional desync (pinned to version 0.9.3) only on x86_64
ENV GOPATH=/go
RUN test "$(uname -m)" != "x86_64" && exit 0; \
apt-get install -q -y --no-install-recommends golang && \
git clone https://github.com/folbricht/desync.git /tmp/desync && \
cd /tmp/desync/cmd/desync && \
git checkout c508eeb0865a5a7c2c9b1158a5f0414265d869df && \
go install && \
cp /go/bin/desync /usr/bin/desync && \
rm -rf /tmp/desync /go
# Create required directories for bind mounts
RUN mkdir -p /lib/modules /var/run/dbus
# Remove apt lists
RUN rm -rf /var/lib/apt/lists/*
RUN adduser --disabled-password --comment "" rauc-ci && \
echo "rauc-ci ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/rauc-ci
USER rauc-ci
|