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