FunKey-OS/docker/Dockerfile

123 lines
2.7 KiB
Docker
Raw Normal View History

2020-06-13 09:57:02 +01:00
FROM debian:buster-20200514-slim
LABEL \
maintainer="Michel Stempin <michel.stempin@funkey-project.com>" \
vendor="FunKey Project" \
description="Container with everything needed to build FunKey-OS"
# Setup environment
ENV DEBIAN_FRONTEND noninteractive
RUN \
# Install dependencies
# See https://buildroot.org/downloads/manual/manual.html#requirement
apt-get update && \
apt-get install -y -q --no-install-recommends \
# MANDATORY build tools
#which \
#sed \
make \
binutils \
build-essential \
gcc \
g++ \
#bash \
patch \
#gzip \
bzip2 \
perl \
#tar \
cpio \
unzip \
rsync \
file \
bc \
# MANDATORY source fetching tools
wget \
# OPTIONAL recommended dependencies
python \
python-dev \
xxd \
2020-06-13 09:57:02 +01:00
# OPTIONAL configuration interface dependencies
libncurses5-dev \
#libqt5-dev \
#libglib2.0-dev libgtk2.0-dev libglade2-dev \
# OPTIONAL source fetching tools
#bazaar \
# bzr \
cvs \
git \
mercurial \
rsync \
liblscp-dev \
subversion \
# OPTIONAL java related packages
#javacc \
#jarwrapper \
# OPTIONAL documentation generation tools
#asciidoc \
#w3m \
python3 \
python3-dev \
python3-distutils \
python3-setuptools \
2020-06-13 09:57:02 +01:00
#dblatex \
# OPTIONAL graph generation tools
#graphviz \
#python-matplotlib \
#
# ADDITIONAL dependency to get root certificates
ca-certificates \
# ADDITIONAL dependency to get client ssh
openssh-client \
# ADDITIONAL dependency to get unbuffer
expect \
# ADDITIONAL dependency to get locale-gen
locales \
# ADDITIONAL nice to have dependencies
sudo \
procps \
&& \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/* && \
#
# Set locale
sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen && \
locale-gen --purge --lang en_US.UTF-8 && \
#
# Add user
useradd -ms /bin/bash funkey && \
usermod -a -G sudo funkey && \
echo "funkey:funkey" | chpasswd && \
#
# Clone the FunKey-OS repository
git clone https://github.com/FunKey-Project/FunKey-OS.git /home/funkey/FunKey-OS && \
2020-06-13 09:57:02 +01:00
#
# Set file ownership
chown -R funkey:funkey /home/funkey
# Set user
USER funkey
# Set working directory
WORKDIR /home/funkey/FunKey-OS
2020-06-13 09:57:02 +01:00
# Set environment
ENV \
HOME=/home/funkey \
LC_ALL=en_US.UTF-8
2020-06-13 09:57:02 +01:00
# VOLUME ["/home/funkey/.buildroot-ccache", \
# "/home/funkey/FunKey-OS/buildroot", \
# "/home/funkey/FunKey-OS/dowload", \
# "/home/funkey/FunKey-OS/images", \
# "/home/funkey/FunKey-OS/Recovery/output/build", \
# "/home/funkey/FunKey-OS/Recovery/output/host", \
# "/home/funkey/FunKey-OS/Recovery/output/target", \
2020-06-13 09:57:02 +01:00
# "/home/funkey/FunKey-OS/FunKey/output/host", \
# "/home/funkey/FunKey-OS/FunKey/output/build", \
2020-06-13 09:57:02 +01:00
# "/home/funkey/FunKey-OS/FunKey/output/target"]
CMD ["/usr/bin/make", "sdk", "all", "-C", "/home/funkey/FunKey-OS"]