1# syntax=docker/dockerfile:1
2FROM debian:testing
3
4COPY .github/zephyr-packages.txt /
5
6COPY .github/zephyr-files.txt /
7
8COPY .github/zephyr-setup /
9
10RUN apt-get update && \
11    apt-get install -y --no-install-recommends ca-certificates wget gnupg && \
12    (apt-get update || apt-get update || apt-get update) && \
13    (apt-get upgrade -y || apt-get upgrade -y || apt-get upgrade -y) && \
14    (xargs -a zephyr-packages.txt apt-get install -y --no-install-recommends || \
15     xargs -a zephyr-packages.txt apt-get install -y --no-install-recommends || \
16     xargs -a zephyr-packages.txt apt-get install -y --no-install-recommends || \
17     xargs -a zephyr-packages.txt apt-get install -y --no-install-recommends) && \
18    mkdir -p /opt && \
19    (cd /opt && \
20     for file in `cat /zephyr-files.txt`; do \
21	echo "Fetching $file"; \
22	wget "$file" || exit 1; \
23	echo "Unpacking $file"; \
24	tar xf `basename "$file"`; \
25	echo "Removing $file"; \
26	rm `basename "$file"`; \
27     done) && \
28    if [ -f /opt/zephyr-sdk-*-hosttools*.sh ]; then \
29	echo "Unpacking host tools"; \
30	/opt/zephyr-sdk-*-hosttools*.sh -y -d /opt/zephyr-sdk-hosttools; \
31	rm /opt/zephyr-sdk-*-hosttools*.sh; \
32    else \
33	echo "No host tools found"; \
34    fi && \
35    apt-get clean && \
36    rm -rf /var/lib/apt/lists/*
37
38ADD --checksum=sha256:0b33f39766fe9db67f40418aed6a5b3d7b2f4f7fab025a8213264b77a2d0e1b1 https://github.com/ccache/ccache/releases/download/v4.8.2/ccache-4.8.2-linux-x86_64.tar.xz /
39RUN tar xf ccache-4.8.2-linux-x86_64.tar.xz -C /usr/bin --strip-components=1 --no-same-owner ccache-4.8.2-linux-x86_64/ccache && \
40    rm -f ccache-*-linux-x86_64.tar.xz
41