@@ -9,22 +9,34 @@ COMPONENTS=${3-}
99set -e
1010
1111case $( < /etc/redhat-release) in
12- CentOS* \ 6* ) OS=centos6 ;;
1312 CentOS* \ 7* ) OS=centos7 ;;
13+ CentOS\ Stream* \ 8* ) OS=centos-stream-8;;
14+ CentOS\ Stream* \ 9* ) OS=centos-stream-9;;
1415 Rocky\ Linux* \ 8* ) OS=rockylinux8 ;;
1516 * ) OS=unknown ;;
1617esac
1718
1819# EPEL required for UDT
1920case $OS in
20- centos6) yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
21- ;;
22- centos7) yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
21+ # from `https://docs.fedoraproject.org/en-US/epel/#_quickstart`
22+ centos7) yum -y install epel-release
2323 ;;
2424 rockylinux8)
25- yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
2625 dnf -y install dnf-plugins-core
2726 dnf config-manager --set-enabled powertools
27+ dnf -y install epel-release
28+ ;;
29+ centos-stream-8)
30+ dnf -y install dnf-plugins-core
31+ dnf config-manager --set-enabled powertools
32+ dnf -y install epel-release epel-next-release
33+ ;;
34+ centos-stream-9)
35+ dnf -y install dnf-plugins-core
36+ dnf config-manager --set-enabled crb
37+ dnf -y install \
38+ https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
39+ https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
2840 ;;
2941esac
3042
@@ -35,12 +47,19 @@ packages=(gcc gcc-c++ make autoconf automake libtool \
3547 libtool-ltdl-devel openssl openssl-devel git \
3648 ' perl(Test)' ' perl(Test::More)' ' perl(File::Spec)' \
3749 ' perl(URI)' file sudo bison patch curl \
38- pam pam-devel libedit libedit-devel)
50+ pam pam-devel libedit libedit-devel )
3951
40- if [[ $OS == rockylinux8 ]]; then
52+ if [[ $OS != centos7 ]]; then
4153
4254 # provides `cmp` used by `packaging/git-dirt-filter`
4355 packages+=(diffutils)
56+ if [[ $OS == centos-stream-9 ]]; then
57+
58+ # also install "zlib zlib-devel" because it's needed for `configure`ing gridftp/server/src
59+ packages+=(zlib zlib-devel)
60+ # "English.pm" isn't installed by default, so install it explicitly
61+ packages+=(Perl(english.pm))
62+ fi
4463fi
4564
4665if [[ $TASK == tests ]]; then
@@ -71,8 +90,11 @@ elif [[ $TASK == *rpms ]]; then
7190 packages+=(pam libedit libedit-devel)
7291fi
7392
74-
75- yum -y -d1 install " ${packages[@]} "
93+ if [[ $OS == centos7 ]]; then
94+ yum -y -d1 install " ${packages[@]} "
95+ else
96+ dnf --allowerasing -y -d1 install " ${packages[@]} "
97+ fi
7698
7799# UID of travis user inside needs to match UID of travis user outside
78100getent passwd travis > /dev/null || useradd travis -u $TRAVISUID -o
0 commit comments