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 2293c9aeedSAlex Bennée - name: Add armhf foreign architecture to aarch64 hosts 2393c9aeedSAlex Bennée command: dpkg --add-architecture armhf 2493c9aeedSAlex Bennée when: 2593c9aeedSAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 2693c9aeedSAlex Bennée - ansible_facts['architecture'] == 'aarch64' 2793c9aeedSAlex Bennée 28159c5d17SCleber Rosa - name: Update apt cache / upgrade packages via apt 29159c5d17SCleber Rosa apt: 30159c5d17SCleber Rosa update_cache: yes 31159c5d17SCleber Rosa upgrade: yes 32159c5d17SCleber Rosa when: 33159c5d17SCleber Rosa - ansible_facts['distribution'] == 'Ubuntu' 34159c5d17SCleber Rosa 35*c99064d0SAlex Bennée # the package lists are updated by "make lcitool-refresh" 36*c99064d0SAlex Bennée - name: Include package lists based on OS and architecture 37*c99064d0SAlex Bennée include_vars: 38*c99064d0SAlex Bennée file: "ubuntu-2204-{{ ansible_facts['architecture'] }}.yaml" 39159c5d17SCleber Rosa when: 40159c5d17SCleber Rosa - ansible_facts['distribution'] == 'Ubuntu' 41c1924cdeSAlex Bennée - ansible_facts['distribution_version'] == '22.04' 42159c5d17SCleber Rosa 43*c99064d0SAlex Bennée - name: Install packages for QEMU on Ubuntu 22.04 4483561896SAlex Bennée package: 45*c99064d0SAlex Bennée name: "{{ packages }}" 4683561896SAlex Bennée when: 4783561896SAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 4883561896SAlex Bennée - ansible_facts['distribution_version'] == '22.04' 4983561896SAlex Bennée 50c1924cdeSAlex Bennée - name: Install armhf cross-compile packages to build QEMU on AArch64 Ubuntu 22.04 5193c9aeedSAlex Bennée package: 5293c9aeedSAlex Bennée name: 5393c9aeedSAlex Bennée - binutils-arm-linux-gnueabihf 5493c9aeedSAlex Bennée - gcc-arm-linux-gnueabihf 5593c9aeedSAlex Bennée - libblkid-dev:armhf 5693c9aeedSAlex Bennée - libc6-dev:armhf 5793c9aeedSAlex Bennée - libffi-dev:armhf 5893c9aeedSAlex Bennée - libglib2.0-dev:armhf 5993c9aeedSAlex Bennée - libmount-dev:armhf 6093c9aeedSAlex Bennée - libpcre2-dev:armhf 6193c9aeedSAlex Bennée - libpixman-1-dev:armhf 6293c9aeedSAlex Bennée - zlib1g-dev:armhf 6393c9aeedSAlex Bennée when: 6493c9aeedSAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 65c1924cdeSAlex Bennée - ansible_facts['distribution_version'] == '22.04' 6693c9aeedSAlex Bennée - ansible_facts['architecture'] == 'aarch64' 6793c9aeedSAlex Bennée 68