coreboot-kgpe-d16/util/docker/coreboot-sdk/Dockerfile
Martin Roth b0fe89d31b util/docker: work around toolchain autotools issue
The patches added to `make` require that we use automake & aclocal
to rebuild the configuration, but version 1.15 of autotools is
expected. After debian sid updated to autotools 1.16, the tools can't
be located.

We'll just pretend to have version 1.15 with symbolic links. This
doesn't seem to be a good solution but gets the job done.

Change-Id: I9f616b96e728106e7adf321325caa06808e064c2
Signed-off-by: Martin Roth <martinr@coreboot.org>
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/28544
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2019-04-04 14:56:24 +00:00

106 lines
2.5 KiB
Docker

# This dockerfile is not meant to be used directly by docker. The
# {{}} variables are replaced with values by the makefile. Please generate
# the docker image for this file by running:
#
# make coreboot-sdk
#
# Variables can be updated on the make command line or left blank to use
# the default values set by the makefile.
#
# SDK_VERSION is used to name the version of the coreboot sdk to use.
# Typically, this corresponds to the toolchain version. This
# is used to identify this docker image.
# DOCKER_COMMIT is the coreboot Commit-ID to build the toolchain from.
FROM debian:sid
MAINTAINER Martin Roth <martin@coreboot.org>
RUN \
useradd -p locked -m coreboot && \
apt-get -qq update && \
apt-get -qqy install \
bc \
bison \
bzip2 \
ccache \
cmake \
curl \
device-tree-compiler \
dh-autoreconf \
diffutils \
doxygen \
flex \
g++ \
gawk \
gcc \
git \
gnat \
graphviz \
libfreetype6-dev \
libftdi-dev \
libftdi1-dev \
libglib2.0-dev \
libgmp-dev \
libjaylink-dev \
liblzma-dev \
libncurses5-dev \
libpci-dev \
libreadline-dev \
libssl1.0-dev \
libusb-1.0-0-dev \
libusb-dev \
libxml2-dev \
libyaml-dev \
m4 \
make \
msitools \
nasm \
openssl \
patch \
pkg-config \
python \
qemu \
rsync \
shellcheck \
subversion \
unifont \
uuid-dev \
vim-common \
wget \
xz-utils \
zlib1g-dev \
&& apt-get clean \
&& ln -s /usr/bin/automake /usr/bin/automake-1.15 \
&& ln -s /usr/bin/aclocal /usr/bin/aclocal-1.15
RUN \
cd /root && \
git clone https://review.coreboot.org/coreboot && \
cd coreboot && \
git checkout {{DOCKER_COMMIT}}
RUN \
if echo {{CROSSGCC_PARAM}} | grep -q ^all; then \
make -C/root/coreboot/util/crossgcc/ build_clang \
BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc; \
fi
RUN \
make -C/root/coreboot/util/crossgcc/ {{CROSSGCC_PARAM}} \
BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc && \
rm -rf /root/coreboot
RUN mkdir /home/coreboot/.ccache && \
chown coreboot:coreboot /home/coreboot/.ccache && \
mkdir /home/coreboot/cb_build && \
chown coreboot:coreboot /home/coreboot/cb_build && \
echo "export PATH=$PATH:/opt/xgcc/bin" >> /home/coreboot/.bashrc && \
echo "export SDK_VERSION={{SDK_VERSION}}" >> /home/coreboot/.bashrc && \
echo "export SDK_COMMIT={{DOCKER_COMMIT}}" >> /home/coreboot/.bashrc
VOLUME /home/coreboot/.ccache
ENV PATH $PATH:/opt/xgcc/bin
ENV SDK_VERSION={{SDK_VERSION}}
ENV SDK_COMMIT={{DOCKER_COMMIT}}
USER coreboot