10eb7fadcSAlex Bennée# Copyright (c) 2021 Red Hat, Inc. 20eb7fadcSAlex Bennée# 30eb7fadcSAlex Bennée# Author: 40eb7fadcSAlex Bennée# Cleber Rosa <crosa@redhat.com> 50eb7fadcSAlex Bennée# 60eb7fadcSAlex Bennée# This work is licensed under the terms of the GNU GPL, version 2 or 70eb7fadcSAlex Bennée# later. See the COPYING file in the top-level directory. 80eb7fadcSAlex Bennée# 90eb7fadcSAlex Bennée# This is an ansible playbook file. Run it to set up systems with the 100eb7fadcSAlex Bennée# environment needed to build QEMU. 110eb7fadcSAlex Bennée--- 120eb7fadcSAlex Bennée- name: Installation of basic packages to build QEMU 130eb7fadcSAlex Bennée hosts: all 140eb7fadcSAlex Bennée tasks: 150eb7fadcSAlex Bennée - name: Check for suitable ansible version 160eb7fadcSAlex Bennée delegate_to: localhost 170eb7fadcSAlex Bennée assert: 180eb7fadcSAlex Bennée that: 190eb7fadcSAlex Bennée - '((ansible_version.major == 2) and (ansible_version.minor >= 8)) or (ansible_version.major >= 3)' 200eb7fadcSAlex Bennée msg: "Unsuitable ansible version, please use version 2.8.0 or later" 210eb7fadcSAlex Bennée 220eb7fadcSAlex Bennée - name: Add armhf foreign architecture to aarch64 hosts 230eb7fadcSAlex Bennée command: dpkg --add-architecture armhf 240eb7fadcSAlex Bennée when: 250eb7fadcSAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 260eb7fadcSAlex Bennée - ansible_facts['architecture'] == 'aarch64' 270eb7fadcSAlex Bennée 280eb7fadcSAlex Bennée - name: Update apt cache / upgrade packages via apt 290eb7fadcSAlex Bennée apt: 300eb7fadcSAlex Bennée update_cache: yes 310eb7fadcSAlex Bennée upgrade: yes 320eb7fadcSAlex Bennée when: 330eb7fadcSAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 340eb7fadcSAlex Bennée 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" 390eb7fadcSAlex Bennée when: 400eb7fadcSAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 410eb7fadcSAlex Bennée - ansible_facts['distribution_version'] == '22.04' 42*c99064d0SAlex Bennée - ansible_facts['architecture'] == 'aarch64' or ansible_facts['architecture'] == 'x86_64' 430eb7fadcSAlex Bennée 44*c99064d0SAlex Bennée - name: Install packages for QEMU on Ubuntu 22.04 450eb7fadcSAlex Bennée package: 46*c99064d0SAlex Bennée name: "{{ packages }}" 470eb7fadcSAlex Bennée when: 480eb7fadcSAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 490eb7fadcSAlex Bennée - ansible_facts['distribution_version'] == '22.04' 500eb7fadcSAlex Bennée - ansible_facts['architecture'] == 'aarch64' or ansible_facts['architecture'] == 'x86_64' 510eb7fadcSAlex Bennée 520eb7fadcSAlex Bennée - name: Install armhf cross-compile packages to build QEMU on AArch64 Ubuntu 22.04 530eb7fadcSAlex Bennée package: 540eb7fadcSAlex Bennée name: 550eb7fadcSAlex Bennée - binutils-arm-linux-gnueabihf 560eb7fadcSAlex Bennée - gcc-arm-linux-gnueabihf 570eb7fadcSAlex Bennée - libblkid-dev:armhf 580eb7fadcSAlex Bennée - libc6-dev:armhf 590eb7fadcSAlex Bennée - libffi-dev:armhf 600eb7fadcSAlex Bennée - libglib2.0-dev:armhf 610eb7fadcSAlex Bennée - libmount-dev:armhf 620eb7fadcSAlex Bennée - libpcre2-dev:armhf 630eb7fadcSAlex Bennée - libpixman-1-dev:armhf 640eb7fadcSAlex Bennée - zlib1g-dev:armhf 650eb7fadcSAlex Bennée when: 660eb7fadcSAlex Bennée - ansible_facts['distribution'] == 'Ubuntu' 670eb7fadcSAlex Bennée - ansible_facts['distribution_version'] == '22.04' 680eb7fadcSAlex Bennée - ansible_facts['architecture'] == 'aarch64' 690eb7fadcSAlex Bennée 70