This repository was archived by the owner on Oct 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 60
/
Copy pathDockerfile.almalinux_8ch
75 lines (70 loc) · 2.68 KB
/
Dockerfile.almalinux_8ch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# ch-test-scope: standard
FROM almalinux:8
# This image has three purposes: (1) demonstrate we can build a AlmaLinux 8
# image, (2) provide a build environment for Charliecloud EPEL 8 RPMs, and (3)
# provide image packages necessary for Obspy and Paraview.
#
# Quirks:
#
# 1. Install the dnf ovl plugin to work around RPMDB corruption when
# building images with Docker and the OverlayFS storage driver.
#
# 2. Enable PowerTools repo, because some packages in EPEL depend on it.
#
# 3. Install packages needed to build el8 rpms.
#
# 4. Issue #1103: Install libarchive to resolve cmake bug
#
# 5. AlmaLinux lost their GPG key, so manual intervention is required to
# install current packages [1].
#
# [1]: https://almalinux.org/blog/2023-12-20-almalinux-8-key-update/
RUN rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
RUN dnf install -y --setopt=install_weak_deps=false \
epel-release \
'dnf-command(config-manager)'
RUN dnf config-manager --enable powertools
RUN dnf install -y --setopt=install_weak_deps=false \
dnf-plugin-ovl \
autoconf \
automake \
bats \
gcc \
git \
libarchive \
libpng-devel \
make \
python3 \
python3-devel \
python3-lark-parser \
python3-requests \
python3-sphinx \
python3-sphinx_rtd_theme \
rpm-build \
rpmlint \
rsync \
wget \
which \
&& dnf clean all
# Need wheel to install bundled Lark, and the RPM version doesn’t work.
RUN pip3 install wheel
# AlmaLinux's linker doesn’t search these paths by default; add them because we
# will install stuff later into /usr/local.
RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/usrlocal.conf \
&& echo "/usr/local/lib64" >> /etc/ld.so.conf.d/usrlocal.conf \
&& ldconfig
# Install ImageMagick
# The latest, 7.1.0, fails to install with a cryptic libtool error. ¯\_(ツ)_/¯
ARG MAGICK_VERSION=7.0.11-14
RUN wget -nv -O ImageMagick-${MAGICK_VERSION}.tar.gz \
"https://github.com/ImageMagick/ImageMagick/archive/refs/tags/${MAGICK_VERSION}.tar.gz" \
&& tar xf ImageMagick-${MAGICK_VERSION}.tar.gz \
&& cd ImageMagick-${MAGICK_VERSION} \
&& ./configure --prefix=/usr/local \
&& make -j $(getconf _NPROCESSORS_ONLN) install \
&& rm -Rf ../ImageMagick-${MAGICK_VERSION}
# Add mount points for files and directories for paraview and obspy comparison
# tests.
RUN mkdir /diff \
&& echo "example bind mount file" > /a.png \
&& echo "example bind mount file" > /b.png