xref: /OK3568_Linux_fs/buildroot/support/docker/Dockerfile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# This Dockerfile generates the docker image that gets used by Gitlab CI
2*4882a593Smuzhiyun# To build it (YYYYMMDD.HHMM is the current date and time in UTC):
3*4882a593Smuzhiyun#   docker build -t registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM support/docker
4*4882a593Smuzhiyun#   docker push registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun# We use a specific tag for the base image *and* the corresponding date
7*4882a593Smuzhiyun# for the repository., so do not forget to update the apt-sources.list
8*4882a593Smuzhiyun# file that is shipped next to this Dockerfile.
9*4882a593SmuzhiyunFROM debian:bullseye-20210902
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunLABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
12*4882a593Smuzhiyun      vendor="Buildroot" \
13*4882a593Smuzhiyundescription="Container with everything needed to run Buildroot"
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun# Setup environment
16*4882a593SmuzhiyunENV DEBIAN_FRONTEND noninteractive
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun# This repository can be a bit slow at times. Don't panic...
19*4882a593SmuzhiyunCOPY apt-sources.list /etc/apt/sources.list
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun# The container has no package lists, so need to update first
22*4882a593SmuzhiyunRUN dpkg --add-architecture i386 && \
23*4882a593Smuzhiyun    apt-get update -y
24*4882a593SmuzhiyunRUN apt-get install -y --no-install-recommends \
25*4882a593Smuzhiyun        bc \
26*4882a593Smuzhiyun        build-essential \
27*4882a593Smuzhiyun        bzr \
28*4882a593Smuzhiyun        ca-certificates \
29*4882a593Smuzhiyun        cmake \
30*4882a593Smuzhiyun        cpio \
31*4882a593Smuzhiyun        cvs \
32*4882a593Smuzhiyun        file \
33*4882a593Smuzhiyun        g++-multilib \
34*4882a593Smuzhiyun        git \
35*4882a593Smuzhiyun        libc6:i386 \
36*4882a593Smuzhiyun        libncurses5-dev \
37*4882a593Smuzhiyun        locales \
38*4882a593Smuzhiyun        mercurial \
39*4882a593Smuzhiyun        python3 \
40*4882a593Smuzhiyun        python3-flake8 \
41*4882a593Smuzhiyun        python3-nose2 \
42*4882a593Smuzhiyun        python3-pexpect \
43*4882a593Smuzhiyun        qemu-system-arm \
44*4882a593Smuzhiyun        qemu-system-x86 \
45*4882a593Smuzhiyun        rsync \
46*4882a593Smuzhiyun        subversion \
47*4882a593Smuzhiyun        unzip \
48*4882a593Smuzhiyun        wget \
49*4882a593Smuzhiyun        && \
50*4882a593Smuzhiyun    apt-get -y autoremove && \
51*4882a593Smuzhiyun    apt-get -y clean
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun# To be able to generate a toolchain with locales, enable one UTF-8 locale
54*4882a593SmuzhiyunRUN sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen && \
55*4882a593Smuzhiyun    /usr/sbin/locale-gen
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunRUN useradd -ms /bin/bash br-user && \
58*4882a593Smuzhiyun    chown -R br-user:br-user /home/br-user
59*4882a593Smuzhiyun
60*4882a593SmuzhiyunUSER br-user
61*4882a593SmuzhiyunWORKDIR /home/br-user
62*4882a593SmuzhiyunENV HOME /home/br-user
63*4882a593SmuzhiyunENV LC_ALL en_US.UTF-8
64