@cryptotaxi247 / netdata-1 / commits / 524fc5606

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.

Austin S. Hemmelgarn committed Jun 6, 2022 at 07:30 UTC 524fc560633a0d1f9077aa93b9d91992ee987e6e
6 files changed +55 -10
.github/data/distros.yml
+11 -4
@@ -27,17 +27,24 @@ include:
27 env_prep: |
28 pacman --noconfirm -Syu && pacman --noconfirm -Sy grep libffi
29
30 - - distro: almalinux
31 - version: "8"
30 + - &alma
31 + distro: almalinux
32 + version: "9"
33 base_image: almalinux
34 jsonc_removal: |
35 dnf remove -y json-c-devel
35 - packages:
36 + packages: &alma_packages
37 type: rpm
37 - repo_distro: el/8
38 + repo_distro: el/9
39 arches:
40 - amd64
41 - arm64
42 + - <<: *alma
43 + version: "8"
44 + packages:
45 + <<: *alma_packages
46 + repo_distro: el/8
47 +
48 - distro: centos
49 version: "7"
50 packages:
.github/scripts/pkg-test.sh
+5 -1
@@ -36,6 +36,10 @@ install_centos() {
36
37 pkg_version="$(echo "${VERSION}" | tr - .)"
38
39 + if [ "${PKGMGR}" = "dnf" ]; then
40 + opts="--allowerasing"
41 + fi
42 +
43 # Install EPEL (needed for `jq`
44 "$PKGMGR" install -y epel-release || exit 1
45
@@ -43,7 +47,7 @@ install_centos() {
47 "$PKGMGR" install -y /netdata/artifacts/netdata-"${pkg_version}"-*.rpm
48
49 # Install testing tools
46 - "$PKGMGR" install -y curl nc jq || exit 1
50 + "$PKGMGR" install -y ${opts} curl nc jq || exit 1
51 }
52
53 install_suse_like() {
netdata.spec.in
+2
@@ -127,8 +127,10 @@ BuildRequires: git-core
127 BuildRequires: autoconf
128 %if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
129 BuildRequires: autoconf-archive
130 +%if 0%{?rhel} <= 8
131 BuildRequires: autogen
132 %endif
133 +%endif
134 BuildRequires: automake
135 BuildRequires: cmake
136 BuildRequires: pkgconfig
packaging/PLATFORM_SUPPORT.md
+3 -1
@@ -51,6 +51,7 @@ to work on these platforms with minimal user effort.
51 | Platform | Version | Official Native Packages | Notes |
52 | -------- | ------- | ------------------------ | ----- |
53 | 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 |
54 +| Alma Linux | 9.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives |
55 | Alma Linux | 8.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives |
56 | CentOS | 7.x | x86\_64 | |
57 | 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.
63 | Fedora | 34 | x86\_64, ARMv7, AArch64 | |
64 | openSUSE | Leap 15.3 | x86\_64, AArch64 | |
65 | Oracle Linux | 8.x | x86\_64, AArch64 | |
65 -| Red Hat Enterprise Linux | 7.x | x86\_64 | |
66 +| Red Hat Enterprise Linux | 9.x | x86\_64, AArch64 | |
67 | Red Hat Enterprise Linux | 8.x | x86\_64, AArch64 | |
68 +| Red Hat Enterprise Linux | 7.x | x86\_64 | |
69 | Ubuntu | 22.04 | x86\_64, ARMv7, AArch64 | |
70 | Ubuntu | 21.10 | x86\_64, i386, ARMv7, AArch64 | |
71 | Ubuntu | 20.04 | x86\_64, i386, ARMv7, AArch64 | |
packaging/installer/dependencies/centos.sh
+17 -3
@@ -10,7 +10,6 @@ declare -a package_tree=(
10 make
11 autoconf
12 autoconf-archive
13 - autogen
13 automake
14 libatomic
15 libtool
@@ -106,7 +105,22 @@ validate_tree_centos() {
105
106 echo >&2 " > CentOS Version: $(os_version) ..."
107
109 - if [[ $(os_version) =~ ^8(\..*)?$ ]]; then
108 + if [[ $(os_version) =~ ^9(\..*)?$ ]]; then
109 + package_manager=dnf
110 + echo >&2 " > Checking for config-manager ..."
111 + if ! dnf config-manager --help &> /dev/null; then
112 + if prompt "config-manager not found, shall I install it?"; then
113 + dnf ${opts} install 'dnf-command(config-manager)'
114 + fi
115 + fi
116 +
117 + echo >&2 " > Checking for CRB ..."
118 + if ! dnf repolist | grep CRB; then
119 + if prompt "CRB not found, shall I install it?"; then
120 + dnf ${opts} config-manager --set-enabled crb
121 + fi
122 + fi
123 + elif [[ $(os_version) =~ ^8(\..*)?$ ]]; then
124 package_manager=dnf
125 echo >&2 " > Checking for config-manager ..."
126 if ! dnf config-manager --help &> /dev/null; then
@@ -128,7 +142,7 @@ validate_tree_centos() {
142 echo >&2 " > Installing Judy-devel directly ..."
143 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
144 dnf makecache --refresh
131 -elif [[ $(os_version) =~ ^7(\..*)?$ ]]; then
145 + elif [[ $(os_version) =~ ^7(\..*)?$ ]]; then
146 package_manager=yum
147 echo >&2 " > Checking for EPEL ..."
148 if ! rpm -qa | grep epel-release > /dev/null; then
packaging/installer/install-required-packages.sh
+17 -1
@@ -660,6 +660,8 @@ declare -A pkg_autogen=(
660 # exceptions
661 ['centos-6']="WARNING|"
662 ['rhel-6']="WARNING|"
663 + ['centos-9']="NOTREQUIRED|"
664 + ['rhel-9']="NOTREQUIRED|"
665 )
666
667 declare -A pkg_automake=(
@@ -1601,7 +1603,21 @@ validate_tree_centos() {
1603
1604 echo >&2 " > CentOS Version: ${version} ..."
1605
1604 - if [[ "${version}" =~ ^8(\..*)?$ ]]; then
1606 + if [[ "${version}" =~ ^9(\..*)?$ ]]; then
1607 + echo >&2 " > Checking for config-manager ..."
1608 + if ! run ${sudo} dnf config-manager --help; then
1609 + if prompt "config-manager not found, shall I install it?"; then
1610 + run ${sudo} dnf ${opts} install 'dnf-command(config-manager)'
1611 + fi
1612 + fi
1613 +
1614 + echo >&2 " > Checking for CRB ..."
1615 + if ! run dnf ${sudo} repolist | grep CRB; then
1616 + if prompt "CRB not found, shall I install it?"; then
1617 + run ${sudo} dnf ${opts} config-manager --set-enabled crb
1618 + fi
1619 + fi
1620 + elif [[ "${version}" =~ ^8(\..*)?$ ]]; then
1621 echo >&2 " > Checking for config-manager ..."
1622 if ! run ${sudo} yum config-manager --help; then
1623 if prompt "config-manager not found, shall I install it?"; then