Skip to content

Commit

Permalink
Merge pull request #120 from emqx/add-el9-for-4.4
Browse files Browse the repository at this point in the history
Add el9 for 4.4
  • Loading branch information
zmstone authored Oct 8, 2024
2 parents 2963320 + 052adce commit 5dbeead
Show file tree
Hide file tree
Showing 30 changed files with 1,304 additions and 464 deletions.
5 changes: 1 addition & 4 deletions .github/workflows/base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,12 @@ jobs:
- [ubuntu22.04 , "linux/amd64,linux/arm64"]
- [ubuntu20.04 , "linux/amd64,linux/arm64"]
- [ubuntu18.04 , "linux/amd64,linux/arm64"]
- [ubuntu16.04 , "linux/amd64,linux/arm64"]
- [debian11 , "linux/amd64,linux/arm64"]
- [debian10 , "linux/amd64,linux/arm64"]
- [debian9 , "linux/amd64,linux/arm64"]
- [el9 , "linux/amd64,linux/arm64"]
- [el8 , "linux/amd64,linux/arm64"]
- [el7 , "linux/amd64,linux/arm64"]
- [amzn2 , "linux/amd64,linux/arm64"]
- [raspbian10 , "linux/arm64"]
- [raspbian9 , "linux/arm64"]
- [alpine3.15.1, "linux/amd64,linux/arm64"]

steps:
Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,12 @@ jobs:
- [ubuntu22.04 , "linux/amd64,linux/arm64"]
- [ubuntu20.04 , "linux/amd64,linux/arm64"]
- [ubuntu18.04 , "linux/amd64,linux/arm64"]
- [ubuntu16.04 , "linux/amd64,linux/arm64"]
- [debian11 , "linux/amd64,linux/arm64"]
- [debian10 , "linux/amd64,linux/arm64"]
- [debian9 , "linux/amd64,linux/arm64"]
- [el9 , "linux/amd64,linux/arm64"]
- [el8 , "linux/amd64,linux/arm64"]
- [el7 , "linux/amd64,linux/arm64"]
- [amzn2 , "linux/amd64,linux/arm64"]
- [raspbian10 , "linux/arm64"]
- [raspbian9 , "linux/arm64"]
- [alpine3.15.1, "linux/amd64,linux/arm64"]

steps:
Expand Down Expand Up @@ -97,15 +94,12 @@ jobs:
- [ubuntu22.04 , "linux/amd64,linux/arm64"]
- [ubuntu20.04 , "linux/amd64,linux/arm64"]
- [ubuntu18.04 , "linux/amd64,linux/arm64"]
- [ubuntu16.04 , "linux/amd64,linux/arm64"]
- [debian11 , "linux/amd64,linux/arm64"]
- [debian10 , "linux/amd64,linux/arm64"]
- [debian9 , "linux/amd64,linux/arm64"]
- [el9 , "linux/amd64,linux/arm64"]
- [el8 , "linux/amd64,linux/arm64"]
- [el7 , "linux/amd64,linux/arm64"]
- [amzn2 , "linux/amd64,linux/arm64"]
- [raspbian10 , "linux/arm64"]
- [raspbian9 , "linux/arm64"]
- [alpine3.15.1, "linux/amd64,linux/arm64"]

steps:
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,9 @@ jobs:
- [ubuntu22.04 , "linux/amd64,linux/arm64"]
- [ubuntu20.04 , "linux/amd64,linux/arm64"]
- [ubuntu18.04 , "linux/amd64,linux/arm64"]
- [ubuntu16.04 , "linux/amd64,linux/arm64"]
- [debian11 , "linux/amd64,linux/arm64"]
- [debian10 , "linux/amd64,linux/arm64"]
- [debian9 , "linux/amd64,linux/arm64"]
- [el9 , "linux/amd64,linux/arm64"]
- [el8 , "linux/amd64,linux/arm64"]
- [el7 , "linux/amd64,linux/arm64"]
- [amzn2 , "linux/amd64,linux/arm64"]
Expand Down
44 changes: 22 additions & 22 deletions debian10/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG BUILD_FROM=debian:10
ARG BUILD_FROM=public.ecr.aws/debian/debian:10
FROM ${BUILD_FROM}

# Avoid getting asked questions during installation (tzdata)
Expand All @@ -12,11 +12,15 @@ RUN apt-get update && apt-get install -y \
build-essential \
curl \
debhelper \
expect \
flex \
g++ \
gcc \
git \
jq \
krb5-admin-server \
krb5-kdc \
libcurl4-openssl-dev \
libffi-dev \
libkrb5-3 \
libkrb5-dev \
Expand All @@ -27,45 +31,41 @@ RUN apt-get update && apt-get install -y \
libssl-dev \
libtool \
make \
make \
procps \
unixodbc \
unixodbc-dev \
unzip \
vim \
wget \
zip \
zlib1g-dev
zlib1g-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# The following is not necessary for Kerberos authentication but makes testing
# https://github.com/kafka4beam/sasl_auth easier
RUN apt-get install -y \
krb5-kdc \
krb5-admin-server \
expect

RUN apt-get install -y gcc make zlib1g-dev libffi-dev libssl-dev \
&& wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz \
&& tar xvf Python-3.7.4.tgz \
&& cd Python-3.7.4 \
ARG PYTHON_VERSION=3.9.2
RUN wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
&& tar xvf Python-${PYTHON_VERSION}.tgz \
&& cd Python-${PYTHON_VERSION} \
&& echo "_socket socketmodule.c" >> Modules/Setup.dist \
&& echo "_ssl _ssl.c -DUSE_SSL -I/usr/local/ssl/include -I/usr/local/ssl/include/openssl -L/usr/local/ssl/lib -lssl -lcrypto" >> Modules/Setup.dist \
&& ./configure --prefix=/usr/local/python3.7.4 \
&& ./configure --prefix=/usr/local/python${PYTHON_VERSION} \
&& make \
&& make install \
&& rm -rf /usr/bin/python3 /usr/bin/python \
&& ln -s /usr/local/python3.7.4/bin/python3.7 /usr/bin/python3 \
&& ln -s /usr/local/python3.7.4/bin/python3.7 /usr/bin/python
&& ln -s /usr/local/python${PYTHON_VERSION}/bin/python${PYTHON_VERSION%.*} /usr/bin/python3 \
&& ln -s /usr/local/python${PYTHON_VERSION}/bin/python${PYTHON_VERSION%.*} /usr/bin/python

RUN curl -k -L -o /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py \
&& python /tmp/get-pip.py \
&& python3 /tmp/get-pip.py
ENV PATH=/usr/local/python3.7.4/bin:$PATH

COPY get-cmake.sh /get-cmake.sh
RUN /get-cmake.sh build
ENV PATH=/usr/local/python${PYTHON_VERSION}/bin:$PATH

ADD get-git.sh get-cmake.sh /

RUN /get-git.sh && git --version && rm /get-git.sh

# cleanup
RUN apt-get clean\
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN /get-cmake.sh build && rm /get-cmake.sh

# Elixir complains if runs without UTF-8
ENV LC_ALL=C.UTF-8
Expand Down
2 changes: 1 addition & 1 deletion debian11/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG BUILD_FROM=debian:11
ARG BUILD_FROM=public.ecr.aws/debian/debian:11
FROM ${BUILD_FROM}

# Avoid getting asked questions during installation (tzdata)
Expand Down
94 changes: 0 additions & 94 deletions debian9/Dockerfile

This file was deleted.

83 changes: 38 additions & 45 deletions el7/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
ARG BUILD_FROM=centos:7
FROM ${BUILD_FROM}
ARG TARGETPLATFORM

RUN yum install epel-release -y && yum update -y
RUN yum install -y autoconf \
COPY el7/RPM-GPG-KEY-CentOS-SIG-SCLo /etc/pki/rpm-gpg/
COPY el7/yum.repos.d/${TARGETPLATFORM}/* /etc/yum.repos.d/

RUN yum clean all && \
yum makecache && \
yum install epel-release -y && yum update -y

RUN yum groupinstall -y "Development Tools" && \
yum install -y autoconf \
bison-devel \
centos-release-scl \
curl \
cyrus-sasl \
cyrus-sasl-devel \
cyrus-sasl-gssapi \
devtoolset-8-gcc \
devtoolset-8-gcc-c++ \
expect \
flex-devel \
jq \
krb5-server \
krb5-workstation \
libatomic \
libtool \
ncurses-devel \
Expand All @@ -21,59 +38,34 @@ RUN yum install -y autoconf \
zip \
zlib-devel

RUN yum install -y \
krb5-workstation \
cyrus-sasl-devel \
cyrus-sasl \
cyrus-sasl-gssapi


# The following is not necessary for Kerberos authentication but makes testing
# https://github.com/kafka4beam/sasl_auth easier
RUN yum install -y \
krb5-server \
expect

RUN yum groupinstall -y "Development Tools"

RUN yum install -y centos-release-scl
RUN yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++

ADD install-openssl11.sh /install-openssl11.sh
RUN /install-openssl11.sh
ADD install-openssl11.sh get-git.sh get-automake.sh get-cmake.sh /

WORKDIR /

ENV GIT_VERSION=2.38.1 DEVELOPER_CFLAGS='-std=gnu99'
# We need git >= 2.18 otherwise actions/checkout@v3 in github
# workflows will use REST API to download source code archive without
# .git directory instead of normal git clone. And if release is
# configured to take it's version from git tag, rebar3 will not be
# able to resolve the version correctly and will fallback to 0.0.0,
# like it happened with emqtt-bench.
# The error from actions/checkout@v3 is as follows:
# > The repository will be downloaded using the GitHub REST API
# > To create a local Git repository instead, add Git 2.18 or higher to the PATH

# - have to uninstall stock git to cleanup all git backend files,
# otherwise git from the newer version may encounter
# an error like "bogus format in GIT_CONFIG_PARAMETERS"
# - gnu99 flag is to address https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/5948
# - libcurl-devel is needed to support clone from https remotes
RUN yum remove -y git \
RUN yum remove -y git* \
&& yum install -y libcurl-devel \
&& curl -L -o /tmp/git.tar.gz "https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz" \
&& tar zxf /tmp/git.tar.gz -C /tmp \
&& cd "/tmp/git-${GIT_VERSION}/" \
&& make configure \
&& ./configure --prefix=/usr \
&& make all \
&& make install \
&& cd / \
&& rm -rf /tmp/git.tar.gz "/tmp/git-${GIT_VERSION}/" \
&& env DEVELOPER_CFLAGS='-std=gnu99' /get-git.sh \
&& git --version

RUN curl -L -o /tmp/automake-1.14.tar.gz http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz \
&& tar -zxvf /tmp/automake-1.14.tar.gz -C /tmp \
&& cd /tmp/automake-1.14 \
&& ./bootstrap.sh \
&& ./configure \
&& make \
&& make install \
&& automake --version

COPY get-cmake.sh /get-cmake.sh
RUN env OPENSSL_ROOT_DIR=/usr/local/openssl /get-cmake.sh build
RUN /get-automake.sh
RUN /install-openssl11.sh
ENV OPENSSL_ROOT_DIR=/usr/local/openssl
RUN /get-cmake.sh build

# We have to reinstall `glibc-common` after removing the override just
# for the `arm64` platform build of CentOS 7. While just setting the
Expand All @@ -93,7 +85,8 @@ RUN alternatives --install /usr/bin/python python /usr/bin/python2 1 && \
# cleanup
RUN yum clean packages && \
rm -rf /tmp/* && \
rm -rf /var/tmp/*
rm -rf /var/tmp/* && \
rm /install-openssl11.sh /get-git.sh /get-automake.sh /get-cmake.sh

ENV BASH_ENV=/opt/rh/devtoolset-8/enable \
ENV=/opt/rh/devtoolset-8/enable \
Expand Down
20 changes: 20 additions & 0 deletions el7/RPM-GPG-KEY-CentOS-SIG-SCLo
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)

mQENBFYM/AoBCADR9Q5cb+H5ndx+QkzNBQ88wcD+g112yvnHNlSiBMOnNEGHuKPJ
tujZ+eWXP3K6ucJckT91WxfQ2fxPr9jQ0xpZytcHcZdTfn3vKL9+OwR0npp+qmcz
rK8/EzVz/SWSgBQ5xT/HUvaeoVAbzBHSng0r2njnBAqABKAoTxgyRGKSCWduKD32
7PF2ZpqeDFFhd99Ykt6ar8SlV8ToqH6F7An0ILeejINVbHUxd6+wsbpcOwQ4mGAa
/CPXeqqLGj62ASBv36xQr34hlN/9zQMViaKkacl8zkuvwhuHf4b4VlGVCe6VILpQ
8ytKMV/lcg7YpMfRq4KVWBjCwkvk6zg6KxaHABEBAAG0aENlbnRPUyBTb2Z0d2Fy
ZUNvbGxlY3Rpb25zIFNJRyAoaHR0cHM6Ly93aWtpLmNlbnRvcy5vcmcvU3BlY2lh
bEludGVyZXN0R3JvdXAvU0NMbykgPHNlY3VyaXR5QGNlbnRvcy5vcmc+iQE5BBMB
CgAjAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AFAmIgbg0ACgkQTrhOcfLu
nVUzkAgAgJSl++PWo69OGI8eUn53whhfJ6ZyKCOyI9+Flghtfwq1mdcP4dIoAubw
nlQcvEsE4Erob2I1S+n/dXYh9y2+Si3HdXRreKzC1rCSG5ebYRrEqeMoJhBoDFSd
xydtxi03l+Dh2iWtLtXpAM85qHvgIrPfdUnLRVbDBT52Ph5igZl8ux2ooJ94CPm4
yTG/0aPIebNQsLP8LEpa2wad2WJfIeFgjEHranWIzhzapGgwyf2Iu9Sz3L8ljiz2
2HixHpI2es3IqgLyRsTBo2/EdbvMJWlFwiESe1UQIW6ObKNnVabIHUAxZgOlj59o
JhPOzTBG+Ma2fLs+ZFBV88cpKdctFQ==
=+Gr2
-----END PGP PUBLIC KEY BLOCK-----
Loading

0 comments on commit 5dbeead

Please sign in to comment.