123 lines
2.7 KiB
Docker
123 lines
2.7 KiB
Docker
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 \
|
||
# 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 \
|
||
#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 && \
|
||
#
|
||
# Set file ownership
|
||
chown -R funkey:funkey /home/funkey
|
||
|
||
# Set user
|
||
USER funkey
|
||
|
||
# Set working directory
|
||
WORKDIR /home/funkey/FunKey-OS
|
||
|
||
# Set environment
|
||
ENV \
|
||
HOME=/home/funkey \
|
||
LC_ALL=en_US.UTF-8
|
||
|
||
# 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", \
|
||
# "/home/funkey/FunKey-OS/FunKey/output/host", \
|
||
# "/home/funkey/FunKey-OS/FunKey/output/build", \
|
||
# "/home/funkey/FunKey-OS/FunKey/output/target"]
|
||
|
||
CMD ["/usr/bin/make", "sdk", "all", "-C", "/home/funkey/FunKey-OS"]
|