diff --git a/scripts/ci/org.centos/stream/8/build-environment.yml b/scripts/ci/org.centos/stream/8/build-environment.yml index 42b0471634..0d094d70c3 100644 --- a/scripts/ci/org.centos/stream/8/build-environment.yml +++ b/scripts/ci/org.centos/stream/8/build-environment.yml @@ -10,6 +10,14 @@ check_mode: yes register: centos_stream_8 + - name: Enable EPEL repo on CentOS Stream 8 + dnf: + name: + - epel-release + state: present + when: + - centos_stream_8 + - name: Enable PowerTools repo on CentOS Stream 8 ini_file: path: /etc/yum.repos.d/CentOS-Stream-PowerTools.repo @@ -17,19 +25,31 @@ option: enabled value: "1" when: - - ansible_facts['distribution'] == 'CentOS' - - ansible_facts['distribution_major_version'] == '8' - centos_stream_8 - name: Install basic packages to build QEMU on CentOS Stream 8 dnf: name: + - bzip2 + - bzip2-devel + - capstone-devel + - dbus-daemon - device-mapper-multipath-devel + - diffutils + - gcc + - gcc-c++ + - genisoimage + - gettext + - git + - glib2-devel - glusterfs-api-devel - gnutls-devel + - libaio-devel - libcap-ng-devel - libcurl-devel + - libepoxy-devel - libfdt-devel + - libgcrypt-devel - libiscsi-devel - libpmem-devel - librados-devel @@ -37,15 +57,25 @@ - libseccomp-devel - libssh-devel - libxkbcommon-devel + - lzo-devel + - make + - mesa-libEGL-devel + - nettle-devel - ninja-build + - nmap-ncat - numactl-devel + - pixman-devel + - python38 - python3-sphinx + - rdma-core-devel - redhat-rpm-config - snappy-devel + - spice-glib-devel - spice-server-devel - systemd-devel + - systemtap-sdt-devel + - tar + - zlib-devel state: present when: - - ansible_facts['distribution'] == 'CentOS' - - ansible_facts['distribution_major_version'] == '8' - centos_stream_8 diff --git a/scripts/ci/org.centos/stream/8/x86_64/configure b/scripts/ci/org.centos/stream/8/x86_64/configure index 75882faa9c..65eacf3c56 100755 --- a/scripts/ci/org.centos/stream/8/x86_64/configure +++ b/scripts/ci/org.centos/stream/8/x86_64/configure @@ -16,6 +16,7 @@ # that patches adding downstream specific devices are not available. # ../configure \ +--python=/usr/bin/python3.8 \ --prefix="/usr" \ --libdir="/usr/lib64" \ --datadir="/usr/share" \ diff --git a/scripts/ci/setup/build-environment.yml b/scripts/ci/setup/build-environment.yml index 58438008ee..78b1021cd4 100644 --- a/scripts/ci/setup/build-environment.yml +++ b/scripts/ci/setup/build-environment.yml @@ -46,6 +46,7 @@ - libbrlapi-dev - libbz2-dev - libcacard-dev + - libcapstone-dev - libcap-ng-dev - libcurl4-gnutls-dev - libdrm-dev @@ -130,6 +131,25 @@ - ansible_facts['distribution_version'] == '20.04' - ansible_facts['architecture'] == 'aarch64' + - name: Enable EPEL repo on EL8 + dnf: + name: + - epel-release + state: present + when: + - ansible_facts['distribution_file_variety'] in ['RedHat', 'CentOS'] + - ansible_facts['distribution_major_version'] == '8' + + - name: Enable PowerTools repo on CentOS 8 + ini_file: + path: /etc/yum.repos.d/CentOS-Stream-PowerTools.repo + section: powertools + option: enabled + value: "1" + when: + - ansible_facts['distribution_file_variety'] == 'CentOS' + - ansible_facts['distribution_major_version'] == '8' + - name: Install basic packages to build QEMU on EL8 dnf: # This list of packages start with tests/docker/dockerfiles/centos8.docker @@ -138,7 +158,9 @@ name: - bzip2 - bzip2-devel + - capstone-devel - dbus-daemon + - device-mapper-multipath-devel - diffutils - gcc - gcc-c++ @@ -146,25 +168,42 @@ - gettext - git - glib2-devel + - glusterfs-api-devel + - gnutls-devel - libaio-devel + - libcap-ng-devel + - libcurl-devel - libepoxy-devel + - libfdt-devel - libgcrypt-devel + - libiscsi-devel + - libpmem-devel + - librados-devel + - librbd-devel + - libseccomp-devel + - libssh-devel + - libxkbcommon-devel - lzo-devel - make - mesa-libEGL-devel - nettle-devel - ninja-build - nmap-ncat + - numactl-devel - pixman-devel - - python36 + - python38 + - python3-sphinx - rdma-core-devel + - redhat-rpm-config + - snappy-devel - spice-glib-devel + - systemd-devel - systemtap-sdt-devel - tar - zlib-devel state: present when: - - ansible_facts['distribution_file_variety'] == 'RedHat' + - ansible_facts['distribution_file_variety'] in ['RedHat', 'CentOS'] - ansible_facts['distribution_version'] == '8' - name: Install packages only available on x86 and aarch64 @@ -172,8 +211,21 @@ # Spice server not available in ppc64le name: - spice-server + - spice-server-devel state: present when: - - ansible_facts['distribution_file_variety'] == 'RedHat' + - ansible_facts['distribution_file_variety'] in ['RedHat', 'CentOS'] - ansible_facts['distribution_version'] == '8' - ansible_facts['architecture'] == 'aarch64' or ansible_facts['architecture'] == 'x86_64' + + - name: Check whether the Python runtime version is managed by alternatives + stat: + path: /etc/alternatives/python3 + register: python3 + + - name: Set default Python runtime to 3.8 on EL8 + command: alternatives --set python3 /usr/bin/python3.8 + when: + - ansible_facts['distribution_file_variety'] in ['RedHat', 'CentOS'] + - ansible_facts['distribution_version'] == '8' + - python3.stat.islnk and python3.stat.lnk_target != '/usr/bin/python3.8'