Update CentOS 8 playbook and CI configuration to Python 3.8

The playbook has already been run by Cleber on the machine.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmPiN6MUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroN1Xwf+IPCNoE0kRY4Ne6Rk6wa6HuKs72yW
 zCd1k9jAvy5trroKxbaoqLYaZlh+R+s4KNIifsVmMjtAI57LfI8+5SW0AhnQLWCO
 4MXwI96tscR2lw7nYZcjwEx7hW+MElTgmTiz+FrqrXKkcwBYveu+f2nOfVGzcC+w
 d4aGnpoaPcnqHs5TxIhxedbxXCNXHMhSYPAThSKVAtrnUxH7pYHGHjU0WbRFlEkV
 oDIpSsbut+zwNxVWwaL9j6TiNNgKU2JSyZ8YA+sylUMjrPSVFs9K3p9sQnuGA08I
 uhKGPVUOsIoagshe41wBxEN4dMyQBNUWODOcngkrOwNJZ1mzgCumKPLJBg==
 =0wnj
 -----END PGP SIGNATURE-----

Merge tag 'for-upstream-py38' of https://gitlab.com/bonzini/qemu into staging

Update CentOS 8 playbook and CI configuration to Python 3.8

The playbook has already been run by Cleber on the machine.

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmPiN6MUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroN1Xwf+IPCNoE0kRY4Ne6Rk6wa6HuKs72yW
# zCd1k9jAvy5trroKxbaoqLYaZlh+R+s4KNIifsVmMjtAI57LfI8+5SW0AhnQLWCO
# 4MXwI96tscR2lw7nYZcjwEx7hW+MElTgmTiz+FrqrXKkcwBYveu+f2nOfVGzcC+w
# d4aGnpoaPcnqHs5TxIhxedbxXCNXHMhSYPAThSKVAtrnUxH7pYHGHjU0WbRFlEkV
# oDIpSsbut+zwNxVWwaL9j6TiNNgKU2JSyZ8YA+sylUMjrPSVFs9K3p9sQnuGA08I
# uhKGPVUOsIoagshe41wBxEN4dMyQBNUWODOcngkrOwNJZ1mzgCumKPLJBg==
# =0wnj
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 07 Feb 2023 11:36:03 GMT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* tag 'for-upstream-py38' of https://gitlab.com/bonzini/qemu:
  scripts/ci: bump CentOS Python to 3.8
  scripts/ci: unify package lists for CentOS in build-environment files
  scripts/ci: add capstone development packages
  scripts/ci: support CentOS Stream 8 in build-environment.yaml
  scripts/ci: remove unnecessary checks from CentOS playbook

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2023-02-07 22:11:14 +00:00
commit 6b433719ea
3 changed files with 90 additions and 7 deletions

View file

@ -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

View file

@ -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" \

View file

@ -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'