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
|