Skip to content

Commit

Permalink
Update docker files for 3.4.1 (#19406)
Browse files Browse the repository at this point in the history
* Update docker files for 3.4.1

* Update Release notes.
  • Loading branch information
biagas committed Mar 21, 2024
1 parent db225a6 commit dd6abc4
Show file tree
Hide file tree
Showing 17 changed files with 775 additions and 466 deletions.
17 changes: 17 additions & 0 deletions scripts/docker/CreateDebian12Release.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
REM Script to create a VisIt release tarball from a container end-to-end.
REM This example is for debian12 version of VisIt 3.4.1
REM Place it in the same directory as the Docker file being used along with
REM the other scripts needed.

REM Can be modified for other containers, as long as the Dockerfile is known
REM to work without intervention, building TP libs, and building, installing,
REM and testing VisIt.
REM The extracted visit0000.png should be inspected for a valid image.

docker build -f Dockerfile-debian12 -t visitdev:3.4.1-debian12 .

docker create --name dummy visitdev:3.4.1-debian12
docker cp dummy:/home/visit/visit3_4_1.linux-x86_64.tar.gz ./visit3_4_1.linux-x86_64-debian12.tar.gz
docker cp dummy:/home/visit/visit0000.png .
docker rm -f dummy

30 changes: 30 additions & 0 deletions scripts/docker/CreateUbuntu22Release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Script to create a VisIt release tarball from a container.
#
# It must be in the same directory as the Docker file and supporting
# scripts for building TP libs, and building, installing and testing VisIt.
#
# For use on LC.
#
# You must run this script on an allocated node, so first run:
# salloc -N 1 -t 300 --userns
#
# Note: the five hours requested for the allocation might be overkill,
# but you don't want to run out of allocation before all the steps
# are completed, because the container will be deleted.
#
# The script can be used with other docker files as long as they are known
# to work from end-to-end. Just modify the necessary docker file name
# and image tags.

/collab/usr/gapps/lcweg/containers/scripts/enable-podman.sh
podman build -f Dockerfile-ubuntu22 -t visitdev:3.4.1-ubuntu22

podman save visitdev:3.4.1-ubuntu22 > visitdev3.4.1-ubuntu22.tar

podman create --name dummy visitdev:3.4.1-ubuntu22

podman cp dummy:/home/visit/visit3_4_1.linux-x86_64.tar.gz ./visit3_4_1.linux-x86_64-ubuntu22.tar.gz
podman cp dummy:/home/visit/visit0000.png .

podman rm -f dummy

171 changes: 105 additions & 66 deletions scripts/docker/Dockerfile-debian10
Original file line number Diff line number Diff line change
@@ -1,66 +1,105 @@
FROM debian:buster
MAINTAINER Eric Brugger <brugger1@llnl.gov>

# fetch build env
ENV TZ=America/Los_Angeles
RUN apt-get update && apt-get install -y \
git \
wget \
curl \
unzip \
subversion \
build-essential \
gcc \
g++ \
gfortran \
zlib1g-dev \
python \
libsm-dev \
libice-dev \
libssl-dev \
libx11-xcb-dev \
libxcb-dri2-0-dev \
libxcb-xfixes0-dev \
libxkbcommon-dev \
xutils-dev \
xorg-dev \
libfreetype6-dev \
autoconf \
libtool \
m4 \
automake \
libxml2 \
libxml2-dev \
vim \
emacs \
bison \
flex \
cpio \
libegl1-mesa \
libegl1-mesa-dev \
&& rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y libffi-dev && rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

RUN cd /usr/include && ln -s freetype2 freetype

RUN cd /usr && ln -s lib lib64

RUN groupadd -r visit && useradd -ms /bin/bash --no-log-init -r -g visit visit
USER visit
WORKDIR /home/visit

# Create the third-party directory
RUN mkdir /home/visit/third-party
# Copy build_visit and the script to run it
COPY build_visit3_3_3 /home/visit
COPY run_build_visit.sh /home/visit
COPY build_visit_docker_cleanup.py /home/visit
COPY build_test_visit.sh /home/visit
COPY test_visit.py /home/visit
# Build the third party libraries
RUN /bin/bash run_build_visit.sh
FROM debian:buster
MAINTAINER Kathleen Biagas <biagas2@llnl.gov>

# fetch build env
ENV TZ=America/Los_Angeles
RUN apt-get update && apt-get install -y \
git \
wget \
curl \
unzip \
build-essential \
gcc \
g++ \
gfortran \
zlib1g-dev \
python3 \
libsm-dev \
libice-dev \
fontconfig \
libfreetype6 \
libxrender1 \
libxcb-render0 \
libxcb-render-util0 \
libxcb-shape0 \
libxcb-randr0 \
libxcb-xfixes0 \
libxcb-xkb1 \
libxcb-sync1 \
libxcb-shm0 \
libxcb-icccm4 \
libxcb-keysyms1 \
libxcb-image0 \
libxcb-util0 \
libxcb-cursor0 \
libxkbcommon0 \
libxkbcommon-x11-0 \
libfontconfig1-dev \
libfreetype6-dev \
libx11-dev \
libx11-xcb-dev \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxrender-dev \
libxcb-cursor-dev \
libxcb-glx0-dev \
libxcb-keysyms1-dev \
libxcb-image0-dev \
libxcb-shm0-dev \
libxcb-icccm4-dev \
libxcb-sync-dev \
libxcb-xfixes0-dev \
libxcb-shape0-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev \
libxcb-util0-dev \
libxcb-xinerama0-dev \
libxcb-xkb-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxcb-dri2-0 \
libxcb-dri2-0-dev \
libssl-dev \
xutils-dev \
xorg-dev \
autoconf \
libtool \
m4 \
automake \
libxml2 \
libxml2-dev \
vim \
emacs \
cpio \
libegl1-mesa \
libegl1-mesa-dev \
&& rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y libffi-dev && rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

RUN cd /usr/include && ln -s freetype2 freetype

RUN groupadd -r visit && useradd -ms /bin/bash --no-log-init -r -g visit visit
USER visit
WORKDIR /home/visit

# Create the third-party directory
RUN mkdir /home/visit/third-party
# Copy build_visit and the script to run it
COPY --chown=visit:visit build_visit3_4_1 /home/visit
COPY --chown=visit:visit run_build_visit.sh /home/visit
COPY --chown=visit:visit build_visit_docker_cleanup.py /home/visit
# Build the third party libraries
RUN /bin/bash run_build_visit.sh

# Copy necesary files build visit install and test
COPY --chown=visit:visit visit3.4.1.tar.gz /home/visit
COPY --chown=visit:visit build_test_visit.sh /home/visit
COPY --chown=visit:visit test_visit.py /home/visit
RUN /bin/bash build_test_visit.sh -v 3.4.1

169 changes: 105 additions & 64 deletions scripts/docker/Dockerfile-debian11
Original file line number Diff line number Diff line change
@@ -1,64 +1,105 @@
FROM debian:bullseye
MAINTAINER Eric Brugger <brugger1@llnl.gov>

# fetch build env
ENV TZ=America/Los_Angeles
RUN apt-get update && apt-get install -y \
git \
wget \
curl \
unzip \
subversion \
build-essential \
gcc \
g++ \
gfortran \
zlib1g-dev \
python \
libsm-dev \
libice-dev \
libssl-dev \
libx11-xcb-dev \
libxcb-dri2-0-dev \
libxcb-xfixes0-dev \
libxkbcommon-dev \
xutils-dev \
xorg-dev \
libfreetype6-dev \
autoconf \
libtool \
m4 \
automake \
libxml2 \
libxml2-dev \
vim \
emacs \
bison \
flex \
cpio \
libegl1-mesa \
libegl1-mesa-dev \
&& rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y libffi-dev && rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

RUN cd /usr/include && ln -s freetype2 freetype

RUN groupadd -r visit && useradd -ms /bin/bash --no-log-init -r -g visit visit
USER visit
WORKDIR /home/visit

# Create the third-party directory
RUN mkdir /home/visit/third-party
# Copy build_visit and the script to run it
COPY build_visit3_3_3 /home/visit
COPY run_build_visit.sh /home/visit
COPY build_visit_docker_cleanup.py /home/visit
COPY build_test_visit.sh /home/visit
COPY test_visit.py /home/visit
# Build the third party libraries
RUN /bin/bash run_build_visit.sh
FROM debian:bullseye
MAINTAINER Kathleen Biagas <biagas2@llnl.gov>

# fetch build env
ENV TZ=America/Los_Angeles
RUN apt-get update && apt-get install -y \
git \
wget \
curl \
unzip \
build-essential \
gcc \
g++ \
gfortran \
zlib1g-dev \
python3 \
libsm-dev \
libice-dev \
fontconfig \
libfreetype6 \
libxrender1 \
libxcb-render0 \
libxcb-render-util0 \
libxcb-shape0 \
libxcb-randr0 \
libxcb-xfixes0 \
libxcb-xkb1 \
libxcb-sync1 \
libxcb-shm0 \
libxcb-icccm4 \
libxcb-keysyms1 \
libxcb-image0 \
libxcb-util1 \
libxcb-cursor0 \
libxkbcommon0 \
libxkbcommon-x11-0 \
libfontconfig1-dev \
libfreetype6-dev \
libx11-dev \
libx11-xcb-dev \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxrender-dev \
libxcb-cursor-dev \
libxcb-glx0-dev \
libxcb-keysyms1-dev \
libxcb-image0-dev \
libxcb-shm0-dev \
libxcb-icccm4-dev \
libxcb-sync-dev \
libxcb-xfixes0-dev \
libxcb-shape0-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev \
libxcb-util-dev \
libxcb-xinerama0-dev \
libxcb-xkb-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxcb-dri2-0 \
libxcb-dri2-0-dev \
libssl-dev \
xutils-dev \
xorg-dev \
autoconf \
libtool \
m4 \
automake \
libxml2 \
libxml2-dev \
vim \
emacs \
cpio \
libegl1-mesa \
libegl1-mesa-dev \
&& rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y libffi-dev && rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

RUN cd /usr/include && ln -s freetype2 freetype

RUN groupadd -r visit && useradd -ms /bin/bash --no-log-init -r -g visit visit
USER visit
WORKDIR /home/visit

# Create the third-party directory
RUN mkdir /home/visit/third-party
# Copy build_visit and the script to run it
COPY --chown=visit:visit build_visit3_4_1 /home/visit
COPY --chown=visit:visit run_build_visit.sh /home/visit
COPY --chown=visit:visit build_visit_docker_cleanup.py /home/visit
# Build the third party libraries
RUN /bin/bash run_build_visit.sh

# Copy necesary files build visit install and test
COPY --chown=visit:visit visit3.4.1.tar.gz /home/visit
COPY --chown=visit:visit build_test_visit.sh /home/visit
COPY --chown=visit:visit test_visit.py /home/visit
RUN /bin/bash build_test_visit.sh -v 3.4.1

0 comments on commit dd6abc4

Please sign in to comment.