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

Add el9 for 4.4 #120

Merged
merged 12 commits into from
Oct 8, 2024
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
Loading