1159c5d17SCleber Rosa# Copyright (c) 2021 Red Hat, Inc. 2159c5d17SCleber Rosa# 3159c5d17SCleber Rosa# Author: 4159c5d17SCleber Rosa# Cleber Rosa <crosa@redhat.com> 5159c5d17SCleber Rosa# 6159c5d17SCleber Rosa# This work is licensed under the terms of the GNU GPL, version 2 or 7159c5d17SCleber Rosa# later. See the COPYING file in the top-level directory. 8159c5d17SCleber Rosa# 9159c5d17SCleber Rosa# This is an ansible playbook file. Run it to set up systems with the 10159c5d17SCleber Rosa# environment needed to build QEMU. 11159c5d17SCleber Rosa--- 12159c5d17SCleber Rosa- name: Installation of basic packages to build QEMU 13159c5d17SCleber Rosa hosts: all 14159c5d17SCleber Rosa tasks: 15159c5d17SCleber Rosa - name: Check for suitable ansible version 16159c5d17SCleber Rosa delegate_to: localhost 17159c5d17SCleber Rosa assert: 18159c5d17SCleber Rosa that: 19159c5d17SCleber Rosa - '((ansible_version.major == 2) and (ansible_version.minor >= 8)) or (ansible_version.major >= 3)' 20159c5d17SCleber Rosa msg: "Unsuitable ansible version, please use version 2.8.0 or later" 21159c5d17SCleber Rosa 22159c5d17SCleber Rosa - name: Update apt cache / upgrade packages via apt 23159c5d17SCleber Rosa apt: 24159c5d17SCleber Rosa update_cache: yes 25159c5d17SCleber Rosa upgrade: yes 26159c5d17SCleber Rosa when: 27159c5d17SCleber Rosa - ansible_facts['distribution'] == 'Ubuntu' 28159c5d17SCleber Rosa 29159c5d17SCleber Rosa - name: Install basic packages to build QEMU on Ubuntu 18.04/20.04 30159c5d17SCleber Rosa package: 31159c5d17SCleber Rosa name: 32159c5d17SCleber Rosa # Originally from tests/docker/dockerfiles/ubuntu1804.docker 33159c5d17SCleber Rosa - ccache 34159c5d17SCleber Rosa - gcc 35159c5d17SCleber Rosa - gettext 36159c5d17SCleber Rosa - git 37159c5d17SCleber Rosa - glusterfs-common 38159c5d17SCleber Rosa - libaio-dev 39159c5d17SCleber Rosa - libattr1-dev 40159c5d17SCleber Rosa - libbrlapi-dev 41159c5d17SCleber Rosa - libbz2-dev 42159c5d17SCleber Rosa - libcacard-dev 43159c5d17SCleber Rosa - libcap-ng-dev 44159c5d17SCleber Rosa - libcurl4-gnutls-dev 45159c5d17SCleber Rosa - libdrm-dev 46159c5d17SCleber Rosa - libepoxy-dev 47159c5d17SCleber Rosa - libfdt-dev 48159c5d17SCleber Rosa - libgbm-dev 49159c5d17SCleber Rosa - libgtk-3-dev 50159c5d17SCleber Rosa - libibverbs-dev 51159c5d17SCleber Rosa - libiscsi-dev 52159c5d17SCleber Rosa - libjemalloc-dev 53159c5d17SCleber Rosa - libjpeg-turbo8-dev 54159c5d17SCleber Rosa - liblzo2-dev 55159c5d17SCleber Rosa - libncurses5-dev 56159c5d17SCleber Rosa - libncursesw5-dev 57159c5d17SCleber Rosa - libnfs-dev 58159c5d17SCleber Rosa - libnss3-dev 59159c5d17SCleber Rosa - libnuma-dev 60159c5d17SCleber Rosa - libpixman-1-dev 61159c5d17SCleber Rosa - librados-dev 62159c5d17SCleber Rosa - librbd-dev 63159c5d17SCleber Rosa - librdmacm-dev 64159c5d17SCleber Rosa - libsasl2-dev 65159c5d17SCleber Rosa - libsdl2-dev 66159c5d17SCleber Rosa - libseccomp-dev 67159c5d17SCleber Rosa - libsnappy-dev 68159c5d17SCleber Rosa - libspice-protocol-dev 69159c5d17SCleber Rosa - libssh-dev 70159c5d17SCleber Rosa - libusb-1.0-0-dev 71159c5d17SCleber Rosa - libusbredirhost-dev 72159c5d17SCleber Rosa - libvdeplug-dev 73159c5d17SCleber Rosa - libvte-2.91-dev 74159c5d17SCleber Rosa - libzstd-dev 75159c5d17SCleber Rosa - make 76159c5d17SCleber Rosa - python3-yaml 77159c5d17SCleber Rosa - python3-sphinx 78159c5d17SCleber Rosa - python3-sphinx-rtd-theme 79159c5d17SCleber Rosa - ninja-build 80159c5d17SCleber Rosa - sparse 81159c5d17SCleber Rosa - xfslibs-dev 82159c5d17SCleber Rosa state: present 83159c5d17SCleber Rosa when: 84159c5d17SCleber Rosa - ansible_facts['distribution'] == 'Ubuntu' 85159c5d17SCleber Rosa 86159c5d17SCleber Rosa - name: Install packages to build QEMU on Ubuntu 18.04/20.04 on non-s390x 87159c5d17SCleber Rosa package: 88159c5d17SCleber Rosa name: 89159c5d17SCleber Rosa - libspice-server-dev 90159c5d17SCleber Rosa - libxen-dev 91159c5d17SCleber Rosa state: present 92159c5d17SCleber Rosa when: 93159c5d17SCleber Rosa - ansible_facts['distribution'] == 'Ubuntu' 94159c5d17SCleber Rosa - ansible_facts['architecture'] != 's390x' 95159c5d17SCleber Rosa 96159c5d17SCleber Rosa - name: Install basic packages to build QEMU on Ubuntu 18.04 97159c5d17SCleber Rosa package: 98159c5d17SCleber Rosa name: 99159c5d17SCleber Rosa # Originally from tests/docker/dockerfiles/ubuntu1804.docker 100159c5d17SCleber Rosa - clang 101159c5d17SCleber Rosa when: 102159c5d17SCleber Rosa - ansible_facts['distribution'] == 'Ubuntu' 103159c5d17SCleber Rosa - ansible_facts['distribution_version'] == '18.04' 104159c5d17SCleber Rosa 105159c5d17SCleber Rosa - name: Install basic packages to build QEMU on Ubuntu 20.04 106159c5d17SCleber Rosa package: 107159c5d17SCleber Rosa name: 108159c5d17SCleber Rosa # Originally from tests/docker/dockerfiles/ubuntu2004.docker 109159c5d17SCleber Rosa - clang-10 110159c5d17SCleber Rosa - genisoimage 111159c5d17SCleber Rosa - liblttng-ust-dev 112159c5d17SCleber Rosa - libslirp-dev 113159c5d17SCleber Rosa - netcat-openbsd 114159c5d17SCleber Rosa when: 115159c5d17SCleber Rosa - ansible_facts['distribution'] == 'Ubuntu' 116159c5d17SCleber Rosa - ansible_facts['distribution_version'] == '20.04' 117