-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathDockerfile.centos
45 lines (33 loc) · 1.27 KB
/
Dockerfile.centos
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
# Copyright 2025 The MathWorks, Inc.
# This Dockerfile is still a work in progress and may not work
ARG BUILD_ROOT=/root/
ARG RPM_DIR=${BUILD_ROOT}/rpmbuild/RPMS/x86_64/
ARG ARCH=
ARG DIST_BASE=centos
ARG DIST_TAG=centos7.9.2009
FROM ${DIST_BASE}:${DIST_TAG} AS build-stage
RUN sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/CentOS-*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/CentOS-*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/CentOS-*.repo
RUN yum install -y epel-release && \
yum install -y dnf
RUN dnf install -y --nodocs dnf-plugins-core && \
dnf install -y rpm-build make
ARG BUILD_ROOT
WORKDIR ${BUILD_ROOT}
RUN dnf download --source glibc && \
dnf builddep -y --nodocs glibc-*.src.rpm && \
rpm -ivh glibc-*.src.rpm
ARG GLIBC_VERSION=2.17
COPY scripts/update-specfile.sh ${BUILD_ROOT}
COPY patches/rhel/${GLIBC_VERSION} ${BUILD_ROOT}/patches
RUN cp patches/* rpmbuild/SOURCES && \
./update-specfile.sh
RUN rpmbuild --nocheck -bb rpmbuild/SPECS/glibc.spec
ARG RPM_DIR
WORKDIR ${RPM_DIR}
RUN tar -czf all-packages.tar.gz *.rpm
FROM scratch AS release-stage
ARG RPM_DIR
COPY --from=build-stage ${RPM_DIR}/*.rpm /build/
COPY --from=build-stage ${RPM_DIR}/all-packages.tar.gz /build/