summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAustin S. Hemmelgarn <austin@netdata.cloud>2022-06-06 07:30:57 -0400
committerGitHub <noreply@github.com>2022-06-06 07:30:57 -0400
commit524fc560633a0d1f9077aa93b9d91992ee987e6e (patch)
tree90a255b6522df9d0b751c0ad1b5ba96ba9898b90
parent123e923f76ad2cc458dd98b01ba8b29f2306bee2 (diff)
Added Alma Linux 9 and RHEL 9 support to CI and packaging. (#13058)
* Added Alma Linux 9 and RHEL 9 support to CI and packaging. * Fix RPM deps for Alma 9. * Fix package testing code for Alma 9.
-rw-r--r--.github/data/distros.yml15
-rwxr-xr-x.github/scripts/pkg-test.sh6
-rw-r--r--netdata.spec.in2
-rw-r--r--packaging/PLATFORM_SUPPORT.md4
-rwxr-xr-xpackaging/installer/dependencies/centos.sh20
-rwxr-xr-xpackaging/installer/install-required-packages.sh18
6 files changed, 55 insertions, 10 deletions
diff --git a/.github/data/distros.yml b/.github/data/distros.yml
index e249b2dcd4..b21d702602 100644
--- a/.github/data/distros.yml
+++ b/.github/data/distros.yml
@@ -27,17 +27,24 @@ include:
env_prep: |
pacman --noconfirm -Syu && pacman --noconfirm -Sy grep libffi
- - distro: almalinux
- version: "8"
+ - &alma
+ distro: almalinux
+ version: "9"
base_image: almalinux
jsonc_removal: |
dnf remove -y json-c-devel
- packages:
+ packages: &alma_packages
type: rpm
- repo_distro: el/8
+ repo_distro: el/9
arches:
- amd64
- arm64
+ - <<: *alma
+ version: "8"
+ packages:
+ <<: *alma_packages
+ repo_distro: el/8
+
- distro: centos
version: "7"
packages:
diff --git a/.github/scripts/pkg-test.sh b/.github/scripts/pkg-test.sh
index 4b64343f5f..e307ee65fd 100755
--- a/.github/scripts/pkg-test.sh
+++ b/.github/scripts/pkg-test.sh
@@ -36,6 +36,10 @@ install_centos() {
pkg_version="$(echo "${VERSION}" | tr - .)"
+ if [ "${PKGMGR}" = "dnf" ]; then
+ opts="--allowerasing"
+ fi
+
# Install EPEL (needed for `jq`
"$PKGMGR" install -y epel-release || exit 1
@@ -43,7 +47,7 @@ install_centos() {
"$PKGMGR" install -y /netdata/artifacts/netdata-"${pkg_version}"-*.rpm
# Install testing tools
- "$PKGMGR" install -y curl nc jq || exit 1
+ "$PKGMGR" install -y ${opts} curl nc jq || exit 1
}
install_suse_like() {
diff --git a/netdata.spec.in b/netdata.spec.in
index 10abbc8b28..8f11a1d7a9 100644
--- a/netdata.spec.in
+++ b/netdata.spec.in
@@ -127,8 +127,10 @@ BuildRequires: git-core
BuildRequires: autoconf
%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
BuildRequires: autoconf-archive
+%if 0%{?rhel} <= 8
BuildRequires: autogen
%endif
+%endif
BuildRequires: automake
BuildRequires: cmake
BuildRequires: pkgconfig
diff --git a/packaging/PLATFORM_SUPPORT.md b/packaging/PLATFORM_SUPPORT.md
index fcb3691f83..9476989095 100644
--- a/packaging/PLATFORM_SUPPORT.md
+++ b/packaging/PLATFORM_SUPPORT.md
@@ -51,6 +51,7 @@ to work on these platforms with minimal user effort.
| Platform | Version | Official Native Packages | Notes |
| -------- | ------- | ------------------------ | ----- |
| Alpine Linux | 3.16 | No | The latest release of Alpine Linux is guaranteed to remain at **Core** tier due to usage for our Docker images |
+| Alma Linux | 9.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives |
| Alma Linux | 8.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives |
| CentOS | 7.x | x86\_64 | |
| Docker | 19.03 or newer | x86\_64, i386, ARMv7, AArch64, POWER8+ | See our [Docker documentation](/packaging/docker/README.md) for more info on using Netdata on Docker |
@@ -62,8 +63,9 @@ to work on these platforms with minimal user effort.
| Fedora | 34 | x86\_64, ARMv7, AArch64 | |
| openSUSE | Leap 15.3 | x86\_64, AArch64 | |
| Oracle Linux | 8.x | x86\_64, AArch64 | |
-| Red Hat Enterprise Linux | 7.x | x86\_64 | |
+| Red Hat Enterprise Linux | 9.x | x86\_64, AArch64 | |
| Red Hat Enterprise Linux | 8.x | x86\_64, AArch64 | |
+| Red Hat Enterprise Linux | 7.x | x86\_64 | |
| Ubuntu | 22.04 | x86\_64, ARMv7, AArch64 | |
| Ubuntu | 21.10 | x86\_64, i386, ARMv7, AArch64 | |
| Ubuntu | 20.04 | x86\_64, i386, ARMv7, AArch64 | |
diff --git a/packaging/installer/dependencies/centos.sh b/packaging/installer/dependencies/centos.sh
index 738a0ce75b..eea71ca325 100755
--- a/packaging/installer/dependencies/centos.sh
+++ b/packaging/installer/dependencies/centos.sh
@@ -10,7 +10,6 @@ declare -a package_tree=(
make
autoconf
autoconf-archive
- autogen
automake
libatomic
libtool
@@ -106,7 +105,22 @@ validate_tree_centos() {
echo >&2 " > CentOS Version: $(os_version) ..."
- if [[ $(os_version) =~ ^8(\..*)?$ ]]; then
+ if [[ $(os_version) =~ ^9(\..*)?$ ]]; then
+ package_manager=dnf
+ echo >&2 " > Checking for config-manager ..."
+ if ! dnf config-manager --help &> /dev/null; then
+ if prompt "config-manager not found, shall I install it?"; then
+ dnf ${opts} install 'dnf-command(config-manager)'
+ fi
+ fi
+
+ echo >&2 " > Checking for CRB ..."
+ if ! dnf repolist | grep CRB; then
+ if prompt "CRB not found, shall I install it?"; then
+ dnf ${opts} config-manager --set-enabled crb
+ fi
+ fi
+ elif [[ $(os_version) =~ ^8(\..*)?$ ]]; then
package_manager=dnf
echo >&2 " > Checking for config-manager ..."
if ! dnf config-manager --help &> /dev/null; then
@@ -128,7 +142,7 @@ validate_tree_centos() {
echo >&2 " > Installing Judy-devel directly ..."
dnf ${opts} install http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/Judy-devel-1.0.5-18.module_el8.3.0+757+d382997d.x86_64.rpm
dnf makecache --refresh
-elif [[ $(os_version) =~ ^7(\..*)?$ ]]; then
+ elif [[ $(os_version) =~ ^7(\..*)?$ ]]; then
package_manager=yum
echo >&2 " > Checking for EPEL ..."
if ! rpm -qa | grep epel-release > /dev/null; then
diff --git a/packaging/installer/install-required-packages.sh b/packaging/installer/install-required-packages.sh
index 7c48e9bc38..8855acebdb 100755
--- a/packaging/installer/install-required-packages.sh
+++ b/packaging/installer/install-required-packages.sh
@@ -660,6 +660,8 @@ declare -A pkg_autogen=(
# exceptions
['centos-6']="WARNING|"
['rhel-6']="WARNING|"
+ ['centos-9']="NOTREQUIRED|"
+ ['rhel-9']="NOTREQUIRED|"
)
declare -A pkg_automake=(
@@ -1601,7 +1603,21 @@ validate_tree_centos() {
echo >&2 " > CentOS Version: ${version} ..."
- if [[ "${version}" =~ ^8(\..*)?$ ]]; then
+ if [[ "${version}" =~ ^9(\..*)?$ ]]; then
+ echo >&2 " > Checking for config-manager ..."
+ if ! run ${sudo} dnf config-manager --help; then
+ if prompt "config-manager not found, shall I install it?"; then
+ run ${sudo} dnf ${opts} install 'dnf-command(config-manager)'
+ fi
+ fi
+
+ echo >&2 " > Checking for CRB ..."
+ if ! run dnf ${sudo} repolist | grep CRB; then
+ if prompt "CRB not found, shall I install it?"; then
+ run ${sudo} dnf ${opts} config-manager --set-enabled crb
+ fi
+ fi
+ elif [[ "${version}" =~ ^8(\..*)?$ ]]; then
echo >&2 " > Checking for config-manager ..."
if ! run ${sudo} yum config-manager --help; then
if prompt "config-manager not found, shall I install it?"; then