Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update builds for deprecated CentOS 7 #56

Merged
merged 1 commit into from
Jan 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 23 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,18 +70,35 @@ Alternatively, DSS can be built natively, but all dependencies must be installed

DSS build and runtime is presently supported on CentOS 7.8.

#### Note about CentOS 7 Deprecation

[CentOS 7 has reached end-of-life.](https://www.redhat.com/en/topics/linux/centos-linux-eol#:~:text=Hat%20Enterprise%20Linux%3F-,Overview,can%20help%20ease%20your%20migration.)

As such, the YUM repositories that enable dependency download on CentOS 7 are no longer available.

However, you may work around this situation with the following steps:

```bash
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
```

When installing some dependencies, this process may need to be repeated to ensure you have access to the archived dependencies.

#### Build package dependencies

Install the following packages / modules to build DSS and its external dependencies:

```bash
sudo yum install epel-release centos-release-scl-rh -y
sudo yum install bc bison boost-devel cmake cmake3 CUnit-devel devtoolset-11 dpkg elfutils-libelf-devel \
flex gcc gcc-c++ git glibc-devel gmp-devel jemalloc-devel Judy-devel libaio-devel libcurl-devel libmpc-devel \
libuuid-devel make man-db meson mpfr-devel ncurses-devel numactl-devel openssl openssl-devel patch \
pulseaudio-libs-devel python3 python3-devel python3-pip rdma-core-devel redhat-lsb-core rpm-build \
sudo yum install bc bison boost-devel cmake cmake3 cppunit-devel CUnit-devel devtoolset-11 dpkg \
iso-p marked this conversation as resolved.
Show resolved Hide resolved
elfutils-libelf-devel flex gcc gcc-c++ git glibc-devel gmp-devel golang jemalloc-devel Judy-devel \
libaio-devel libcurl-devel libmpc-devel libuuid-devel make man-db meson mpfr-devel ncurses-devel \
numactl-devel openssl openssl-devel patch pulseaudio-libs-devel python3 python3-devel python3-pip \
rdma-core-devel redhat-lsb-core rpm-build \
snappy-devel tbb-devel wget zlib-devel -y
sudo python3 -m pip install pybind11 gcovr==5.0
sudo python3 -m pip install pybind11==2.11.1 gcovr==5.0
```

**NOTE: User-built AWS-SDK-CPP RPM must be installed on the build machine.**
Expand All @@ -103,6 +120,7 @@ DSS Dependency build scripts:
- Build aws-sdk-cpp: `./scripts/build_aws-sdk.sh`
- Build kernel: `./scripts/build_kernel.sh`
- Build mlnx-tools: `./scripts/build_mlnx-tools.sh`
- Install aws-sdk-cpp: `yum install dss-ansible/artifacts/aws-sdk-cpp-1.9-0.x86_64.rpm -y`

DSS individual components:

Expand Down
12 changes: 9 additions & 3 deletions scripts/docker/DSS.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,16 @@ ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8

COPY dss-ansible/artifacts/aws-sdk-cpp-*.rpm ./
RUN set -eux \
&& yum install -y \
RUN set -eux && \
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo && \
yum install -y \
epel-release \
centos-release-scl-rh && \
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo && \
yum install -y \
bc \
bison \
Expand Down Expand Up @@ -63,7 +69,7 @@ RUN set -eux \
"ansible>=2.9,<2.10" \
ansible-lint==5.3.2 \
gcovr==5.0 \
pybind11==2.11.1 \
pybind11==2.11.1 \
pycodestyle==2.8.0 \
shellcheck-py==0.8.0.3 \
yamllint==1.26.3 && \
Expand Down
10 changes: 8 additions & 2 deletions scripts/docker/aws-sdk.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# syntax=docker/dockerfile:1

FROM centos:centos7.8.2003
RUN set -eux \
&& yum install -y \
RUN set -eux && \
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo && \
yum install -y \
epel-release \
centos-release-scl-rh && \
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo && \
yum install -y \
boost-devel \
cmake3 \
Expand Down
7 changes: 5 additions & 2 deletions scripts/docker/gcc.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# syntax=docker/dockerfile:1

FROM centos:centos7.8.2003
RUN set -eux \
&& yum install -y \
RUN set -eux && \
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo && \
yum install -y \
epel-release && \
yum install -y \
gcc \
Expand Down
7 changes: 5 additions & 2 deletions scripts/docker/kernel.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# syntax=docker/dockerfile:1

FROM centos:centos7.8.2003
RUN set -eux \
&& yum install -y \
RUN set -eux && \
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo && \
yum install -y \
epel-release && \
yum install -y \
bc \
Expand Down
7 changes: 5 additions & 2 deletions scripts/docker/mlnx.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# syntax=docker/dockerfile:1

FROM centos:centos7.8.2003
RUN set -eux \
&& yum install -y \
RUN set -eux && \
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo && \
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo && \
yum install -y \
git \
make \
python3-devel \
Expand Down
Loading