From 2d3dae0ec4a99c73d80e31dd0e16c3db42b9a4f8 Mon Sep 17 00:00:00 2001 From: Barb Cutler Date: Wed, 28 May 2025 00:22:18 -0400 Subject: [PATCH 1/4] add ubuntu22 --- dockerfiles/autograding-default/metadata.json | 2 +- .../ubuntu-22.04/Dockerfile | 91 +++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 dockerfiles/autograding-default/ubuntu-22.04/Dockerfile diff --git a/dockerfiles/autograding-default/metadata.json b/dockerfiles/autograding-default/metadata.json index dfe61ca..1b3402d 100644 --- a/dockerfiles/autograding-default/metadata.json +++ b/dockerfiles/autograding-default/metadata.json @@ -1,4 +1,4 @@ { "pushLatest": true, - "latestTag": "ubuntu-20.04" + "latestTag": "ubuntu-22.04" } diff --git a/dockerfiles/autograding-default/ubuntu-22.04/Dockerfile b/dockerfiles/autograding-default/ubuntu-22.04/Dockerfile new file mode 100644 index 0000000..4c05abd --- /dev/null +++ b/dockerfiles/autograding-default/ubuntu-22.04/Dockerfile @@ -0,0 +1,91 @@ +# Note: This Dockerfile represents the original "Ubuntu" build image +# that Submitty included inside the main repo. As such, it does +# not have the same conventions as the other images and does not have +# any metadata.json file or is made up of components parts. Have to edit +# this file directly. + +FROM ubuntu:22.04 + +RUN apt-get update +RUN apt-get install -y python3 +RUN apt-get install -y libpython3.10 +RUN apt-get install -y python3-dev +RUN apt-get install -y clang lld lldb +RUN apt-get install -y gcc g++ +#RUN apt-get install -y gdb + +RUN apt-get install -y autoconf automake autotools-dev +RUN apt-get install -y diffstat +RUN apt-get install -y finger sed +RUN apt-get -y install locales + +RUN apt-get install -y git +RUN apt-get install -y git-man +RUN apt-get install -y dpkg-dev +RUN apt-get install -y p7zip-full +RUN apt-get install -y patchutils +RUN apt-get install -y libpq-dev +RUN apt-get install -y unzip zip +#RUN apt-get install -y valgrind +RUN apt-get install -y libmagic-ocaml-dev +RUN apt-get install -y javascript-common +RUN apt-get install -y libfile-mmagic-perl libgnupg-interface-perl libbsd-resource-perl libarchive-zip-perl +RUN apt-get install -y jq libseccomp-dev libseccomp2 seccomp +#RUN apt-get install -y junit +RUN apt-get install -y flex +RUN apt-get install -y bison +RUN apt-get install -y spim +RUN apt-get install -y poppler-utils +#RUN apt-get install -y imagemagick +RUN apt-get install -y cloc + +ENV LANG C.UTF-8 +ENV LC_ALL C.UTF-8 +ENV LANGUAGE en_US.UTF-8 +ENV LC_CTYPE=en_US.UTF-8 + +ENV DRMEMORY_TAG release_2.6.0 +ENV DRMEMORY_VERSION 2.6.0 +ENV AnalysisTools_Version v22.03.00 +ENV AnalysisToolsTS_Version v23.10.00 +ENV SUBMITTY_INSTALL_DIR /usr/local/submitty + + +RUN apt-get update \ + && apt-get install -y --no-install-recommends wget ca-certificates rsync \ + && mkdir -p ${SUBMITTY_INSTALL_DIR}/drmemory \ + && cd /tmp \ + && wget https://github.com/DynamoRIO/drmemory/releases/download/${DRMEMORY_TAG}/DrMemory-Linux-${DRMEMORY_VERSION}.tar.gz \ + && tar -xpzf DrMemory-Linux-${DRMEMORY_VERSION}.tar.gz \ + && rsync --delete -a /tmp/DrMemory-Linux-${DRMEMORY_VERSION}/ ${SUBMITTY_INSTALL_DIR}/drmemory \ + && rm -rf /tmp/DrMemory* \ + && chown -R root:${COURSE_BUILDERS_GROUP} ${SUBMITTY_INSTALL_DIR}/drmemory \ + && chmod -R 755 ${SUBMITTY_INSTALL_DIR}/drmemory \ + && mkdir -p ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools \ + && wget -nv "https://github.com/Submitty/AnalysisTools/releases/download/${AnalysisTools_Version}/count" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools/count \ + && wget -nv "https://github.com/Submitty/AnalysisTools/releases/download/${AnalysisTools_Version}/plagiarism" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools/plagiarism \ + && wget -nv "https://github.com/Submitty/AnalysisTools/releases/download/${AnalysisTools_Version}/diagnostics" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools/diagnostics \ + && mkdir -p ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS/build \ + && wget -nv "https://github.com/Submitty/AnalysisToolsTS/releases/download/${AnalysisToolsTS_Version}/submitty_count_ts" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS/build/submitty_count_ts \ + && wget -nv "https://github.com/Submitty/AnalysisToolsTS/releases/download/${AnalysisToolsTS_Version}/submitty_diagnostics_ts" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS/build/submitty_diagnostics_ts \ + && chmod -R 755 ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS + + +RUN mkdir -p ${SUBMITTY_INSTALL_DIR}/bin +RUN wget -nv https://raw.githubusercontent.com/Submitty/Submitty/refs/heads/main/bin/comment_count.py -O ${SUBMITTY_INSTALL_DIR}/bin/comment_count.py +RUN chmod -R 755 ${SUBMITTY_INSTALL_DIR}/bin/ +RUN chmod -R 755 ${SUBMITTY_INSTALL_DIR}/bin/comment_count.py + +RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen + + +RUN apt-get purge -y --auto-remove wget +RUN rm -rf /var/lib/apt/lists/* + + + + +#RUN locale-gen +#RUN dpkg-reconfigure locales + + From c818d304d599b8e859fd4b026cbed432fcff1806 Mon Sep 17 00:00:00 2001 From: Barb Cutler Date: Thu, 29 May 2025 23:47:42 -0400 Subject: [PATCH 2/4] fix gcc symlink --- dockerfiles/gcc/11/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dockerfiles/gcc/11/Dockerfile b/dockerfiles/gcc/11/Dockerfile index 44f1df4..dd72467 100644 --- a/dockerfiles/gcc/11/Dockerfile +++ b/dockerfiles/gcc/11/Dockerfile @@ -6,5 +6,5 @@ RUN apt-get install -y gcc-11 g++-11 RUN rm -rf /var/lib/apt/lists/* # symlinks -RUN ln -s /usr/bin/aarch64-linux-gnu-gcc-11 /usr/bin/gcc -RUN ln -s /usr/bin/aarch64-linux-gnu-g++-11 /usr/bin/g++ +RUN if test -e /usr/bin/aarch64-linux-gnu-gcc-11; then ln -s /usr/bin/aarch64-linux-gnu-gcc-11 /usr/bin/gcc; fi +RUN if test -e /usr/bin/aarch64-linux-gnu-g++-11; then ln -s /usr/bin/aarch64-linux-gnu-g++-11 /usr/bin/g++; fi From 77da8ff41642a750360eee78c80b94e8e9a6441f Mon Sep 17 00:00:00 2001 From: Barb Cutler Date: Tue, 3 Jun 2025 13:24:43 -0400 Subject: [PATCH 3/4] dockerfile for julia --- dockerfiles/julia/1.11.5/Dockerfile | 33 +++++++++++++++++++++++++++++ dockerfiles/julia/metadata.json | 4 ++++ 2 files changed, 37 insertions(+) create mode 100644 dockerfiles/julia/1.11.5/Dockerfile create mode 100644 dockerfiles/julia/metadata.json diff --git a/dockerfiles/julia/1.11.5/Dockerfile b/dockerfiles/julia/1.11.5/Dockerfile new file mode 100644 index 0000000..16b5c35 --- /dev/null +++ b/dockerfiles/julia/1.11.5/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu:22.04 + +RUN apt-get update +RUN apt-get install -y wget + +ARG TARGETARCH + +ARG TARGETARCH + RUN if [ "$TARGETARCH" = "amd64" ]; then \ + echo "Setting up for amd64"; \ + elif [ "$TARGETARCH" = "arm64" ]; then \ + echo "Setting up for arm64"; \ + fi + +# x86 +RUN if [ $TARGETARCH = "amd64" ]; then \ + wget https://julialang-s3.julialang.org/bin/linux/x64/1.11/julia-1.11.5-linux-x86_64.tar.gz ; \ + tar zxvf julia-1.11.1-linux-x86_64.tar.gz ; \ + ln -s /julia-1.11.1/bin/julia /usr/bin/julia ; \ +fi + + +# arm +RUN if [ $TARGETARCH = "arm64" ]; then \ + wget https://julialang-s3.julialang.org/bin/linux/aarch64/1.11/julia-1.11.5-linux-aarch64.tar.gz ; \ + tar zxvf julia-1.11.5-linux-aarch64.tar.gz ; \ + ln -s /julia-1.11.5/bin/julia /usr/bin/julia ; \ +fi + +# for debugging system call filtering +RUN apt-get install strace + +RUN rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/dockerfiles/julia/metadata.json b/dockerfiles/julia/metadata.json new file mode 100644 index 0000000..040985a --- /dev/null +++ b/dockerfiles/julia/metadata.json @@ -0,0 +1,4 @@ +{ + "pushLatest": true, + "latestTag": "1.11.5" +} From c6933e185f0ae844a1c8c4801527036fd54bdf0e Mon Sep 17 00:00:00 2001 From: Barb Cutler Date: Tue, 3 Jun 2025 13:34:23 -0400 Subject: [PATCH 4/4] typo --- dockerfiles/julia/1.11.5/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/julia/1.11.5/Dockerfile b/dockerfiles/julia/1.11.5/Dockerfile index 16b5c35..110fef1 100644 --- a/dockerfiles/julia/1.11.5/Dockerfile +++ b/dockerfiles/julia/1.11.5/Dockerfile @@ -28,6 +28,6 @@ RUN if [ $TARGETARCH = "arm64" ]; then \ fi # for debugging system call filtering -RUN apt-get install strace +RUN apt-get install -y strace RUN rm -rf /var/lib/apt/lists/* \ No newline at end of file