120 lines
2.8 KiB
Docker
120 lines
2.8 KiB
Docker
FROM ubuntu:bionic
|
|
|
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
autoconf \
|
|
automake \
|
|
bsdmainutils \
|
|
ccache \
|
|
clang-format \
|
|
clang \
|
|
cmake \
|
|
curl \
|
|
flex \
|
|
bison \
|
|
autopoint \
|
|
gettext \
|
|
g++ \
|
|
gcc \
|
|
gdb \
|
|
git \
|
|
glibc-source \
|
|
htop \
|
|
iputils-ping \
|
|
libc6-dbg \
|
|
libclang-dev \
|
|
liblttng-ust-dev \
|
|
libncurses5-dev \
|
|
libreadline-dev \
|
|
libtool \
|
|
libz-dev \
|
|
llvm \
|
|
locales \
|
|
lttng-modules-dkms \
|
|
lttng-tools \
|
|
make \
|
|
nano \
|
|
net-tools \
|
|
ninja-build \
|
|
openssh-server \
|
|
pkg-config \
|
|
python-pip \
|
|
screen \
|
|
silversearcher-ag \
|
|
sudo \
|
|
tcl \
|
|
tcsh \
|
|
texinfo \
|
|
tmux \
|
|
tree \
|
|
unzip \
|
|
uuid-dev \
|
|
vim \
|
|
tcpdump \
|
|
valgrind \
|
|
tzdata \
|
|
npm \
|
|
nodejs \
|
|
rsync \
|
|
datamash \
|
|
hwloc \
|
|
# temporary mono dependency until .net core 2.1
|
|
mono-runtime \
|
|
libfsharp-core4.3-cil \
|
|
libmono-system-net-http4.0-cil \
|
|
mono-reference-assemblies-4.0
|
|
|
|
|
|
run pip install pybars3 paramiko mkdocs
|
|
run npm install -g npx
|
|
|
|
# fix locale so we can run tmux
|
|
run sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
|
|
run locale-gen
|
|
|
|
# expand libc sources
|
|
run cd /usr/src/glibc ; tar xvf glibc-*.tar.xz
|
|
|
|
# build cgdb (the version shipped with ubuntu is too old)
|
|
copy cgdb-0.7.0.tar.gz /externals/
|
|
run cd /externals/ && tar -xvzf cgdb-0.7.0.tar.gz && cd cgdb-0.7.0 && ./configure && make -j$(nproc) && make install
|
|
|
|
# setup ssh
|
|
RUN mkdir /var/run/sshd && echo 'root:root' | chpasswd && \
|
|
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
|
|
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
|
|
# SSH login fix. Otherwise user is kicked off after login
|
|
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
|
|
|
|
#taken from https://hub.docker.com/r/microsoft/dotnet/~/dockerfile/
|
|
# region .net core
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
libunwind8 \
|
|
curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install .NET Core SDK
|
|
ENV DOTNET_SDK_VERSION 2.1.500
|
|
ENV DOTNET_SDK_DOWNLOAD_URL https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz
|
|
ENV DOTNET_SDK_DOWNLOAD_SHA 85055728e2433dfde41d15c85475f2dc6cfdd30242b4b23065b63cb12cc846acb93c09c000b02b722890ceac8ac382b40871c78660716ca2339c71052fe52f4e
|
|
ENV NUGET_XMLDOC_MODE skip
|
|
|
|
RUN curl -SL $DOTNET_SDK_DOWNLOAD_URL --output dotnet.tar.gz \
|
|
&& echo "$DOTNET_SDK_DOWNLOAD_SHA dotnet.tar.gz" | sha512sum -c - \
|
|
&& mkdir -p /usr/share/dotnet \
|
|
&& tar -zxf dotnet.tar.gz -C /usr/share/dotnet \
|
|
&& rm dotnet.tar.gz \
|
|
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
|
|
|
|
copy sqlite-version-3.26.0.zip extension-functions.c build_sqlite.sh /
|
|
run ./build_sqlite.sh
|
|
|
|
|
|
|
|
#git-lfs
|
|
copy git-lfs /usr/bin/
|
|
run chmod +x /usr/bin/git-lfs && git lfs install
|
|
|
|
|