1 Commits
Author SHA1 Message Date
Pedro Pinto caa02902ba Upgraded to 20.04 2020-05-17 11:17:38 -04:00
4 changed files with 39 additions and 88 deletions

No files matched your search

+39 -88
View File
@@ -1,30 +1,19 @@
FROM ubuntu:bionic
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
gnupg \
software-properties-common \
wget
FROM ubuntu:focal
RUN \
echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main" >> /etc/apt/sources.list && \
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key > llvm_key && apt-key add llvm_key
apt-get update && apt-get install -y software-properties-common
# Add Kitware repo to get latest cmake
RUN \
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add - && \
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \
apt update
RUN add-apt-repository universe && \
apt-get update && apt install -y python2 curl && \
curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py && \
python2 get-pip.py
RUN \
RUN \
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
libllvm-9-ocaml-dev libllvm9 llvm-9 llvm-9-dev llvm-9-doc llvm-9-examples llvm-9-runtime \
clang-9 clang-tools-9 clang-9-doc libclang-common-9-dev libclang-9-dev libclang1-9 clang-format-9 python-clang-9 clangd-9 \
libfuzzer-9-dev \
lldb-9 \
lld-9 \
libc++-9-dev libc++abi-9-dev \
clang \
clang-tools \
libclang-dev \
clangd clang-format \
autoconf \
automake \
bsdmainutils \
@@ -57,9 +46,6 @@ apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
ninja-build \
openssh-server \
pkg-config \
python-pip \
python3-pip \
python3-venv \
screen \
silversearcher-ag \
sudo \
@@ -86,34 +72,19 @@ apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
mono-runtime \
libfsharp-core4.3-cil \
libmono-system-net-http4.0-cil \
mono-reference-assemblies-4.0 \
mono-devel \
bash-completion \
libpq-dev \
libpqxx-dev \
zip \
parallel \
patchelf \
# aws tools
awscli \
ccache \
&& rm -rf /var/lig/apt/lists/*
run \
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-9 100; \
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-9 100; \
update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-9 100; \
update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-9 100; \
update-alternatives --config clang; \
update-alternatives --config clang++; \
update-alternatives --config clang-format; \
update-alternatives --config clangd
# this is done here so that ccache sees clang++ installed, not clang-9
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y ccache
run pip install pybars3 paramiko mkdocs
run pip3 install paramiko cryptography
run pip2 install pybars3 paramiko mkdocs
run npm install -g npx
# fix locale so we can run tmux
@@ -121,9 +92,12 @@ run sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
ENV LANG='en_US.utf8' LANGUAGE='en_US:en' LC_ALL='en_US.utf8' TZ='America/Chicago'
run locale-gen
# expand libc sources
# expand libc sources for ease fo debugging
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 && \
@@ -150,7 +124,7 @@ imap jj <Esc> \n\
# for netcore3 reference https://github.com/dotnet/dotnet-docker/blob/master/3.0/sdk/bionic/amd64/Dockerfile
# taken from https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install
RUN wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
RUN wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& sudo dpkg -i packages-microsoft-prod.deb \
&& sudo apt-get update \
&& sudo apt-get install apt-transport-https -y \
@@ -168,19 +142,19 @@ ENV DOTNET_RUNNING_IN_CONTAINER=true \
# Trigger first run experience by running arbitrary cmd
RUN dotnet help
# Install PowerShell global tool
ENV POWERSHELL_VERSION=7.0.0-preview.4 \
POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetCoreSDK-Ubuntu-18.04
# Install PowerShell global too# l
# ENV POWERSHELL_VERSION=7.0.0-preview.4 \
# POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetCoreSDK-Ubuntu-18.04
RUN curl -SL --output PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg https://pwshtool.blob.core.windows.net/tool/$POWERSHELL_VERSION/PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg \
&& powershell_sha512='0fb0167e13560371bffec38a4a87bf39377fa1a5cc39b3a078ddec8803212bede73e5821861036ba5c345bd55c74703134c9b55c49385f87dae9e2de9239f5d9' \
&& echo "$powershell_sha512 PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg" | sha512sum -c - \
&& mkdir -p /usr/share/powershell \
&& dotnet tool install --add-source / --tool-path /usr/share/powershell --version $POWERSHELL_VERSION PowerShell.Linux.x64 \
&& rm PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg \
&& ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \
# To reduce image size, remove the copy nupkg that nuget keeps.
&& find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm
# RUN curl -SL --output PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg https://pwshtool.blob.core.windows.net/tool/$POWERSHELL_VERSION/PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg \
# && powershell_sha512='0fb0167e13560371bffec38a4a87bf39377fa1a5cc39b3a078ddec8803212bede73e5821861036ba5c345bd55c74703134c9b55c49385f87dae9e2de9239f5d9' \
# && echo "$powershell_sha512 PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg" | sha512sum -c - \
# && mkdir -p /usr/share/powershell \
# && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $POWERSHELL_VERSION PowerShell.Linux.x64 \
# && rm PowerShell.Linux.x64.$POWERSHELL_VERSION.nupkg \
# && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \
# # To reduce image size, remove the copy nupkg that nuget keeps.
# && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm
#vsdbg for remote .net core debugging
RUN wget https://aka.ms/getvsdbgsh -O - 2>/dev/null | /bin/sh /dev/stdin -v latest -l ~/vsdbg
@@ -194,9 +168,9 @@ copy sqlite-version-3.26.0.zip extension-functions.c build_sqlite.sh /
run ./build_sqlite.sh && rm -rf /sqlite-version-3.26.0/
#git-lfs
copy git-lfs /usr/bin/
run chmod +x /usr/bin/git-lfs && git lfs install
# #git-lfs
# copy git-lfs /usr/bin/
# run chmod +x /usr/bin/git-lfs && git lfs install
##### Onload Stuff #####
@@ -222,18 +196,15 @@ RUN \
libpcap0.8-dev \
libtool-bin \
&& cd /tmp \
## && curl -fSL https://www.openonload.org/download/openonload-${ONLOAD_VERSION}.tgz -o /tmp/openonload-${ONLOAD_VERSION}.tgz \
&& curl -fSL https://github.com/rigtorp/openonload/archive/master.zip -o /tmp/openonload-${ONLOAD_VERSION}.zip \
## && echo "${ONLOAD_MD5SUM} openonload-${ONLOAD_VERSION}.tgz" | md5sum --check \
## && tar -zxf openonload-${ONLOAD_VERSION}.tgz \
&& unzip -a openonload-${ONLOAD_VERSION}.zip \
## && cd /tmp/openonload-${ONLOAD_VERSION} \
&& cd /tmp/openonload-master \
&& curl -fSL https://www.openonload.org/download/openonload-${ONLOAD_VERSION}.tgz -o /tmp/openonload-${ONLOAD_VERSION}.tgz \
&& echo "${ONLOAD_MD5SUM} openonload-${ONLOAD_VERSION}.tgz" | md5sum --check \
&& tar -zxf openonload-${ONLOAD_VERSION}.tgz \
&& cd /tmp/openonload-${ONLOAD_VERSION} \
&& cd scripts \
&& ./onload_build --user \
&& ./onload_install --userfiles --nobuild \
&& cd /tmp \
&& rm -rf openonload* \
&& rm -rf openonload-${ONLOAD_VERSION}.tgz openonload-${ONLOAD_VERSION} \
&& if [ -z ${ONLOAD_WITHZF} ] ; then rm -rf /usr/include/zf /usr/bin/zf_stackdump /usr/bin/zf_debug /usr/lib/x86_64-linux-gnu/zf /usr/lib/x86_64-linux-gnu/libonload_zf* ; fi \
&& DEBIAN_FRONTEND=noninteractive apt-get remove -y --purge \
curl \
@@ -241,23 +212,3 @@ RUN \
&& DEBIAN_FRONTEND=noninteractive apt-get autoremove -y
########################
# build rtags
run \
git clone --recursive https://github.com/Andersbakken/rtags.git && \
cd rtags && \
git submodule update && \
git checkout v2.38 && \
cmake . -DCMAKE_EXPORT_COMPILE_COMMANDS=1 . && \
make -j$(nproc) install && \
cd .. && \
rm -rf rtags
# build cgdb (the version shipped with ubuntu is too old)
run \
git clone https://github.com/cgdb/cgdb.git && \
cd cgdb && \
git checkout v0.7.1 && \
./autogen.sh && \
./configure && make -j$(nproc) && \
make install
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.