Compare commits
11
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
26de8f7b3b | ||
|
|
30707087b8 | ||
|
|
7258a028d7 | ||
|
|
588a157d18 | ||
|
|
e2d7f231d5 | ||
|
|
a850049f40 | ||
|
|
78ed1605aa | ||
|
|
6f0dd9324b | ||
|
|
296f277d40 | ||
|
|
95189976be | ||
|
|
405c15413c |
No files matched your search
+88
-39
@@ -1,19 +1,30 @@
|
||||
FROM ubuntu:focal
|
||||
FROM ubuntu:bionic
|
||||
|
||||
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
gnupg \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
RUN \
|
||||
apt-get update && apt-get install -y software-properties-common
|
||||
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
|
||||
|
||||
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
|
||||
# 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 \
|
||||
RUN \
|
||||
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
clang \
|
||||
clang-tools \
|
||||
libclang-dev \
|
||||
clangd clang-format \
|
||||
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 \
|
||||
autoconf \
|
||||
automake \
|
||||
bsdmainutils \
|
||||
@@ -46,6 +57,9 @@ 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 \
|
||||
@@ -72,19 +86,34 @@ apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
mono-runtime \
|
||||
libfsharp-core4.3-cil \
|
||||
libmono-system-net-http4.0-cil \
|
||||
mono-devel \
|
||||
mono-reference-assemblies-4.0 \
|
||||
bash-completion \
|
||||
libpq-dev \
|
||||
libpqxx-dev \
|
||||
zip \
|
||||
parallel \
|
||||
patchelf \
|
||||
# aws tools
|
||||
awscli \
|
||||
ccache \
|
||||
&& rm -rf /var/lig/apt/lists/*
|
||||
|
||||
|
||||
run pip2 install pybars3 paramiko mkdocs
|
||||
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 npm install -g npx
|
||||
|
||||
# fix locale so we can run tmux
|
||||
@@ -92,12 +121,9 @@ 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 for ease fo debugging
|
||||
# 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 && \
|
||||
@@ -124,7 +150,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/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
|
||||
RUN wget -q https://packages.microsoft.com/config/ubuntu/18.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 \
|
||||
@@ -142,19 +168,19 @@ ENV DOTNET_RUNNING_IN_CONTAINER=true \
|
||||
# Trigger first run experience by running arbitrary cmd
|
||||
RUN dotnet help
|
||||
|
||||
# Install PowerShell global too# l
|
||||
# ENV POWERSHELL_VERSION=7.0.0-preview.4 \
|
||||
# POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetCoreSDK-Ubuntu-18.04
|
||||
# Install PowerShell global tool
|
||||
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
|
||||
@@ -168,9 +194,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 #####
|
||||
|
||||
@@ -196,15 +222,18 @@ 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 \
|
||||
&& echo "${ONLOAD_MD5SUM} openonload-${ONLOAD_VERSION}.tgz" | md5sum --check \
|
||||
&& tar -zxf openonload-${ONLOAD_VERSION}.tgz \
|
||||
&& cd /tmp/openonload-${ONLOAD_VERSION} \
|
||||
## && 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 \
|
||||
&& cd scripts \
|
||||
&& ./onload_build --user \
|
||||
&& ./onload_install --userfiles --nobuild \
|
||||
&& cd /tmp \
|
||||
&& rm -rf openonload-${ONLOAD_VERSION}.tgz openonload-${ONLOAD_VERSION} \
|
||||
&& rm -rf openonload* \
|
||||
&& 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 \
|
||||
@@ -212,3 +241,23 @@ 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
|
||||
Binary file not shown.
Reference in new issue
Block a user