mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-04 06:10:16 +03:00
Currently, our jobs on the gitlab-ci infra are running as root, which is
problematic for two reasons:
- this is not the usual way Buildroot is built;
- it may miss issues where running as non-root is problematic.
So, complement our Dockerfile with directives to add a new user and run
everything as that user, as demonstrated by this build job:
https://gitlab.com/ymorin/buildroot-ci/-/jobs/46929562
Additional, enforce an UTF-8 locale while running.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
38 lines
1.2 KiB
Docker
38 lines
1.2 KiB
Docker
# This Dockerfile generates the docker image that gets used by Gitlab CI
|
|
# To build it:
|
|
# sudo docker build -t buildroot/base support/docker
|
|
# sudo docker push buildroot/base
|
|
|
|
FROM debian:stable
|
|
LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
|
|
vendor="Buildroot" \
|
|
description="Container with everything needed to run Buildroot"
|
|
|
|
# Setup environment
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
RUN dpkg --add-architecture i386
|
|
# The container has no package lists, so need to update first
|
|
RUN apt-get update -y -qq
|
|
RUN apt-get install -y -qq --no-install-recommends \
|
|
build-essential cmake libc6:i386 gcc-multilib \
|
|
bc ca-certificates file locales rsync \
|
|
cvs bzr git mercurial subversion wget \
|
|
cpio unzip \
|
|
libncurses5-dev \
|
|
python-nose2 python-pexpect qemu-system-arm qemu-system-x86
|
|
RUN apt-get -q -y autoremove
|
|
RUN apt-get -q -y clean
|
|
|
|
# To be able to generate a toolchain with locales, enable one UTF-8 locale
|
|
RUN sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen
|
|
RUN /usr/sbin/locale-gen
|
|
|
|
RUN useradd -ms /bin/bash br-user
|
|
RUN chown -R br-user:br-user /home/br-user
|
|
|
|
USER br-user
|
|
WORKDIR /home/br-user
|
|
ENV HOME /home/br-user
|
|
ENV LC_ALL en_US.UTF-8
|