--- - name: Update apt cache. apt: update_cache=yes cache_valid_time=86400 - name: Add snapshot soures for gcc-11-powerpc/riscv64 when: ansible_distribution == 'Debian' and ansible_distribution_major_version == '12' block: - ansible.builtin.copy: dest: /etc/apt/preferences.d/snapshot.pref content: "Package: *\nPin: origin \"snapshot.debian.org\"\nPin-Priority: 400\n" when: cross_compilers_debian_bookworm_snapshot - ansible.builtin.apt_repository: repo: 'deb [check-valid-until=no] https://snapshot.debian.org/archive/debian/20230109T091852Z/ bookworm main' state: "{{cross_compilers_debian_bookworm_snapshot|ternary('present', 'absent')}}" - ansible.builtin.apt: update_cache: true - name: Ensure cross-compilers packages are installed. ansible.builtin.apt: name: "{{ cross_compilers_packages | difference(lookup('vars', 'cross_compilers_packages_exclude_{{ansible_userspace_architecture|default(ansible_architecture)}}', default=[]))}}" - name: Install legacy cross compilers when: ansible_distribution == 'Debian' and ansible_architecture == 'x86_64' and compilers_legacy_install block: # This step needs to happen after the cross compiler packages are installed # so the libgcc cross libraries can be copied - name: Copy gcc-cross libs ansible.builtin.command: argv: ['cp', '-r', "/usr/lib/gcc-cross/{{item}}/12/", "/usr/lib/gcc-cross/{{item}}/4.8.5"] creates: "/usr/lib/gcc-cross/{{item}}/4.8.5" with_items: - aarch64-linux-gnu - arm-linux-gnueabihf - i686-linux-gnu - powerpc64le-linux-gnu - powerpc-linux-gnu - riscv64-linux-gnu - s390x-linux-gnu - name: Download gcc-4.8 cross compiler binaries # These binaries built from files/Containerfile ansible.builtin.get_url: url: https://obj.internal.efficios.com/jenkins/gcc-4.8-x86_64-linux-gnu-cross.tgz dest: /root/gcc-4.8-x86_64-linux-gnu-cross.tgz register: cross_gcc48_download - name: Extract gcc-4.8 cross compiler binaries when: cross_gcc48_download.changed ansible.builtin.command: argv: ['tar', '-C', '/', '-xzf', '/root/gcc-4.8-x86_64-linux-gnu-cross.tgz'] - name: Download gcc-5.5 cross compiler binaries ansible.builtin.get_url: url: https://obj.internal.efficios.com/jenkins/gcc-5.5-x86_64-linux-gnu-cross.tgz dest: /root/gcc-5.5-x86_64-linux-gnu-cross.tgz register: cross_gcc55_download - name: Extract gcc-5.5 cross compiler binaries when: cross_gcc55_download.changed ansible.builtin.command: argv: ['tar', '-xzf', '/root/gcc-5.5-x86_64-linux-gnu-cross.tgz', '-C', '/']