125 lines
2.7 KiB
Docker
125 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
|
|||
|
|
|||
|
# This repository can be a bit slow at times. Don't panic...
|
|||
|
COPY apt-sources.list /etc/apt/sources.list
|
|||
|
|
|||
|
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 \
|
|||
|
# 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 \
|
|||
|
#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 && \
|
|||
|
#
|
|||
|
# Create skeleton directories
|
|||
|
# mkdir -p /home/funkey/.buildroot-ccache \
|
|||
|
# /home/funkey/FunKey-OS/buildroot \
|
|||
|
# /home/funkey/FunKey-OS/FunKey/dl \
|
|||
|
# /home/funkey/FunKey-OS/FunKey/output/build \
|
|||
|
# /home/funkey/FunKey-OS/FunKey/output/host \
|
|||
|
# /home/funkey/FunKey-OS/FunKey/output/target && \
|
|||
|
#
|
|||
|
# Set file ownership
|
|||
|
chown -R funkey:funkey /home/funkey
|
|||
|
|
|||
|
# Set user
|
|||
|
USER funkey
|
|||
|
|
|||
|
# Set environment
|
|||
|
ENV \
|
|||
|
HOME=/home/funkey \
|
|||
|
LC_ALL=en_US.UTF-8 \
|
|||
|
BR2_EXTERNAL=../FunKey \
|
|||
|
O=../FunKey/output
|
|||
|
|
|||
|
# Set working directory
|
|||
|
WORKDIR /home/funkey/
|
|||
|
#WORKDIR /home/funkey/FunKey-OS
|
|||
|
|
|||
|
# VOLUME ["/home/funkey/.buildroot-ccache", \
|
|||
|
# "/home/funkey/FunKey-OS/buildroot", \
|
|||
|
# "/home/funkey/FunKey-OS/FunKey/dl", \
|
|||
|
# "/home/funkey/FunKey-OS/FunKey/output/build", \
|
|||
|
# "/home/funkey/FunKey-OS/FunKey/output/host", \
|
|||
|
# "/home/funkey/FunKey-OS/FunKey/output/target"]
|
|||
|
|
|||
|
#CMD ["/bin/bash"]
|