From 80062cda9487582c17009b114daffb1b84a8df76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marvin=20Ha=CC=88user?= <8659494+mhaeuser@users.noreply.github.com> Date: Wed, 7 Jun 2023 21:42:16 +0200 Subject: [PATCH] Release QEMU 8.0.2 --- .github/workflows/build_qemu.yaml | 39 ++++ Dockerfiles/qemu-build/origin/Dockerfile | 35 +++ Dockerfiles/qemu-build/repro/Dockerfile | 284 +++++++++++++++++++++++ compose.yaml | 16 ++ 4 files changed, 374 insertions(+) create mode 100644 .github/workflows/build_qemu.yaml create mode 100644 Dockerfiles/qemu-build/origin/Dockerfile create mode 100644 Dockerfiles/qemu-build/repro/Dockerfile create mode 100644 compose.yaml diff --git a/.github/workflows/build_qemu.yaml b/.github/workflows/build_qemu.yaml new file mode 100644 index 00000000000..040aa2359ef --- /dev/null +++ b/.github/workflows/build_qemu.yaml @@ -0,0 +1,39 @@ +# +# Copyright (c) 2023 Marvin Häuser. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +name: Build QEMU 8.0.2 + +on: + push: + pull_request: + workflow_dispatch: + release: + types: [published] + +jobs: + build-qemu: + name: Build QEMU 8.0.2 + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + + - name: Use Docker in rootless mode. + uses: ScribeMD/rootless-docker@0.2.2 + + - name: Build QEMU 8.0.2 + run: docker compose run qemu-build + + - name: Upload to Artifacts + uses: actions/upload-artifact@v3 + with: + name: QEMU 8.0.2 Artifacts + path: qemu-8.0.2-bin.tar.xz + - name: Upload to Release + if: github.event_name == 'release' + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: qemu-8.0.2-bin.tar.xz + tag: ${{ github.ref }} diff --git a/Dockerfiles/qemu-build/origin/Dockerfile b/Dockerfiles/qemu-build/origin/Dockerfile new file mode 100644 index 00000000000..e90ad019453 --- /dev/null +++ b/Dockerfiles/qemu-build/origin/Dockerfile @@ -0,0 +1,35 @@ +# +# Copyright (c) 2023 Marvin Häuser. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +FROM --platform=linux/amd64 ubuntu:22.04 + +ARG DEBIAN_FRONTEND=noninteractive + +SHELL [ "/bin/bash", "-c" ] + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y wget && \ + wget https://download.qemu.org/qemu-8.0.2.tar.xz && \ + apt-get purge --auto-remove -y wget && \ + apt-get install -y build-essential \ + libglib2.0-dev \ + libfdt-dev \ + libpixman-1-dev \ + zlib1g-dev \ + ninja-build \ + flex \ + bison && \ + rm -rf /var/lib/apt/lists/* && \ + tar -xJf qemu-8.0.2.tar.xz && \ + rm -f qemu-8.0.2.tar.xz && \ + cd qemu-8.0.2/ && \ + ./configure --prefix=/opt/qemu-8.0.2/ --target-list=aarch64-softmmu,arm-softmmu,x86_64-softmmu --static --disable-gio --disable-tools --disable-docs && \ + make -j && \ + make install && \ + cd .. && \ + rm -rf qemu-8.0.2/ && \ + tar -C /opt/ -cJf qemu-8.0.2-bin.tar.xz qemu-8.0.2/ && \ + rm -rf /opt/qemu-8.0.2/ diff --git a/Dockerfiles/qemu-build/repro/Dockerfile b/Dockerfiles/qemu-build/repro/Dockerfile new file mode 100644 index 00000000000..d41e4ac7335 --- /dev/null +++ b/Dockerfiles/qemu-build/repro/Dockerfile @@ -0,0 +1,284 @@ +# syntax=docker.io/docker/dockerfile@sha256:966d40f9ba8366e74c2fa353fc0bc7bbc167d2a0f3ad2420db8b9e633049462d + +# +# Copyright (c) 2023 Marvin Häuser. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +FROM --platform=linux/amd64 ubuntu@sha256:2fdb1cf4995abb74c035e5f520c0f3a46f12b3377a59e86ecca66d8606ad64f9 + +ARG DEBIAN_FRONTEND=noninteractive + +SHELL [ "/bin/bash", "-c" ] + +RUN apt-get update && \ + apt-get install -y \ + wget=1.21.2-2ubuntu1 && \ + wget https://download.qemu.org/qemu-8.0.2.tar.xz && \ + apt-get purge --auto-remove -y wget && \ + apt-get install -y \ + adduser=3.118ubuntu5 \ + apt=2.4.9 \ + base-files=12ubuntu4.3 \ + base-passwd=3.5.52build1 \ + bash=5.1-6ubuntu1 \ + binutils-common=2.38-4ubuntu2.2 \ + binutils-x86-64-linux-gnu=2.38-4ubuntu2.2 \ + binutils=2.38-4ubuntu2.2 \ + bison=2:3.8.2+dfsg-1build1 \ + bsdutils=1:2.37.2-4ubuntu3 \ + build-essential=12.9ubuntu3 \ + bzip2=1.0.8-5build1 \ + ca-certificates=20230311ubuntu0.22.04.1 \ + coreutils=8.32-4.1ubuntu1 \ + cpp-11=11.3.0-1ubuntu1~22.04.1 \ + cpp=4:11.2.0-1ubuntu1 \ + dash=0.5.11+git20210903+057cd650a4ed-3build1 \ + debconf=1.5.79ubuntu1 \ + debianutils=5.5-1ubuntu2 \ + diffutils=1:3.8-0ubuntu2 \ + dirmngr=2.2.27-3ubuntu2.1 \ + dpkg-dev=1.21.1ubuntu2.2 \ + dpkg=1.21.1ubuntu2.2 \ + e2fsprogs=1.46.5-2ubuntu1.1 \ + fakeroot=1.28-1ubuntu1 \ + findutils=4.8.0-1ubuntu3 \ + flex=2.6.4-8build2 \ + fontconfig-config=2.13.1-4.2ubuntu5 \ + fonts-dejavu-core=2.37-2build1 \ + g++-11=11.3.0-1ubuntu1~22.04.1 \ + g++=4:11.2.0-1ubuntu1 \ + gcc-11-base=11.3.0-1ubuntu1~22.04.1 \ + gcc-11=11.3.0-1ubuntu1~22.04.1 \ + gcc-12-base=12.1.0-2ubuntu1~22.04 \ + gcc=4:11.2.0-1ubuntu1 \ + gnupg-l10n=2.2.27-3ubuntu2.1 \ + gnupg-utils=2.2.27-3ubuntu2.1 \ + gnupg=2.2.27-3ubuntu2.1 \ + gpg-agent=2.2.27-3ubuntu2.1 \ + gpg-wks-client=2.2.27-3ubuntu2.1 \ + gpg-wks-server=2.2.27-3ubuntu2.1 \ + gpg=2.2.27-3ubuntu2.1 \ + gpgconf=2.2.27-3ubuntu2.1 \ + gpgsm=2.2.27-3ubuntu2.1 \ + gpgv=2.2.27-3ubuntu2.1 \ + grep=3.7-1build1 \ + gzip=1.10-4ubuntu4.1 \ + hostname=3.23ubuntu2 \ + init-system-helpers=1.62 \ + libacl1=2.3.1-1 \ + libalgorithm-diff-perl=1.201-1 \ + libalgorithm-diff-xs-perl=0.04-6build3 \ + libalgorithm-merge-perl=0.08-3 \ + libapt-pkg6.0=2.4.9 \ + libasan6=11.3.0-1ubuntu1~22.04.1 \ + libassuan0=2.5.5-1build1 \ + libatomic1=12.1.0-2ubuntu1~22.04 \ + libattr1=1:2.5.1-1build1 \ + libaudit-common=1:3.0.7-1build1 \ + libaudit1=1:3.0.7-1build1 \ + libbinutils=2.38-4ubuntu2.2 \ + libblkid-dev=2.37.2-4ubuntu3 \ + libblkid1=2.37.2-4ubuntu3 \ + libbrotli1=1.0.9-2build6 \ + libbsd0=0.11.5-1 \ + libbz2-1.0=1.0.8-5build1 \ + libc-bin=2.35-0ubuntu3.1 \ + libc-dev-bin=2.35-0ubuntu3.1 \ + libc-devtools=2.35-0ubuntu3.1 \ + libc6-dev=2.35-0ubuntu3.1 \ + libc6=2.35-0ubuntu3.1 \ + libcap-ng0=0.7.9-2.2build3 \ + libcap2=1:2.44-1build3 \ + libcc1-0=12.1.0-2ubuntu1~22.04 \ + libcom-err2=1.46.5-2ubuntu1.1 \ + libcrypt-dev=1:4.4.27-1 \ + libcrypt1=1:4.4.27-1 \ + libctf-nobfd0=2.38-4ubuntu2.2 \ + libctf0=2.38-4ubuntu2.2 \ + libdb5.3=5.3.28+dfsg1-0.8ubuntu3 \ + libdebconfclient0=0.261ubuntu1 \ + libdeflate0=1.10-2 \ + libdpkg-perl=1.21.1ubuntu2.2 \ + libelf1=0.186-1build1 \ + libexpat1=2.4.7-1ubuntu0.2 \ + libext2fs2=1.46.5-2ubuntu1.1 \ + libfakeroot=1.28-1ubuntu1 \ + libfdt-dev=1.6.1-1 \ + libfdt1=1.6.1-1 \ + libffi-dev=3.4.2-4 \ + libffi8=3.4.2-4 \ + libfile-fcntllock-perl=0.22-3build7 \ + libfl-dev=2.6.4-8build2 \ + libfl2=2.6.4-8build2 \ + libfontconfig1=2.13.1-4.2ubuntu5 \ + libfreetype6=2.11.1+dfsg-1ubuntu0.2 \ + libgcc-11-dev=11.3.0-1ubuntu1~22.04.1 \ + libgcc-s1=12.1.0-2ubuntu1~22.04 \ + libgcrypt20=1.9.4-3ubuntu3 \ + libgd3=2.3.0-2ubuntu2 \ + libgdbm-compat4=1.23-1 \ + libgdbm6=1.23-1 \ + libglib2.0-0=2.72.4-0ubuntu2 \ + libglib2.0-bin=2.72.4-0ubuntu2 \ + libglib2.0-data=2.72.4-0ubuntu2 \ + libglib2.0-dev-bin=2.72.4-0ubuntu2 \ + libglib2.0-dev=2.72.4-0ubuntu2 \ + libgmp10=2:6.2.1+dfsg-3ubuntu1 \ + libgnutls30=3.7.3-4ubuntu1.2 \ + libgomp1=12.1.0-2ubuntu1~22.04 \ + libgpg-error0=1.43-3 \ + libgssapi-krb5-2=1.19.2-2ubuntu0.2 \ + libhogweed6=3.7.3-1build2 \ + libicu70=70.1-2 \ + libidn2-0=2.3.2-2build1 \ + libisl23=0.24-2build1 \ + libitm1=12.1.0-2ubuntu1~22.04 \ + libjbig0=2.1-3.1ubuntu0.22.04.1 \ + libjpeg-turbo8=2.1.2-0ubuntu1 \ + libjpeg8=8c-2ubuntu10 \ + libk5crypto3=1.19.2-2ubuntu0.2 \ + libkeyutils1=1.6.1-2ubuntu3 \ + libkrb5-3=1.19.2-2ubuntu0.2 \ + libkrb5support0=1.19.2-2ubuntu0.2 \ + libksba8=1.6.0-2ubuntu0.2 \ + libldap-2.5-0=2.5.14+dfsg-0ubuntu0.22.04.2 \ + libldap-common=2.5.14+dfsg-0ubuntu0.22.04.2 \ + liblocale-gettext-perl=1.07-4build3 \ + liblsan0=12.1.0-2ubuntu1~22.04 \ + liblz4-1=1.9.3-2build2 \ + liblzma5=5.2.5-2ubuntu1 \ + libmd0=1.0.4-1build1 \ + libmount-dev=2.37.2-4ubuntu3 \ + libmount1=2.37.2-4ubuntu3 \ + libmpc3=1.2.1-2build1 \ + libmpdec3=2.5.1-2build2 \ + libmpfr6=4.1.0-3build3 \ + libncurses6=6.3-2ubuntu0.1 \ + libncursesw6=6.3-2ubuntu0.1 \ + libnettle8=3.7.3-1build2 \ + libnpth0=1.6-3build2 \ + libnsl-dev=1.3.0-2build2 \ + libnsl2=1.3.0-2build2 \ + libp11-kit0=0.24.0-6build1 \ + libpam-modules-bin=1.4.0-11ubuntu2.3 \ + libpam-modules=1.4.0-11ubuntu2.3 \ + libpam-runtime=1.4.0-11ubuntu2.3 \ + libpam0g=1.4.0-11ubuntu2.3 \ + libpcre16-3=2:8.39-13ubuntu0.22.04.1 \ + libpcre2-16-0=10.39-3ubuntu0.1 \ + libpcre2-32-0=10.39-3ubuntu0.1 \ + libpcre2-8-0=10.39-3ubuntu0.1 \ + libpcre2-dev=10.39-3ubuntu0.1 \ + libpcre2-posix3=10.39-3ubuntu0.1 \ + libpcre3-dev=2:8.39-13ubuntu0.22.04.1 \ + libpcre32-3=2:8.39-13ubuntu0.22.04.1 \ + libpcre3=2:8.39-13ubuntu0.22.04.1 \ + libpcrecpp0v5=2:8.39-13ubuntu0.22.04.1 \ + libperl5.34=5.34.0-3ubuntu1.2 \ + libpixman-1-0=0.40.0-1ubuntu0.22.04.1 \ + libpixman-1-dev=0.40.0-1ubuntu0.22.04.1 \ + libpng16-16=1.6.37-3build5 \ + libprocps8=2:3.3.17-6ubuntu2 \ + libpython3-stdlib=3.10.6-1~22.04 \ + libpython3.10-minimal=3.10.6-1~22.04.2ubuntu1.1 \ + libpython3.10-stdlib=3.10.6-1~22.04.2ubuntu1.1 \ + libquadmath0=12.1.0-2ubuntu1~22.04 \ + libreadline8=8.1.2-1 \ + libsasl2-2=2.1.27+dfsg2-3ubuntu1.2 \ + libsasl2-modules-db=2.1.27+dfsg2-3ubuntu1.2 \ + libsasl2-modules=2.1.27+dfsg2-3ubuntu1.2 \ + libseccomp2=2.5.3-2ubuntu2 \ + libselinux1-dev=3.3-1build2 \ + libselinux1=3.3-1build2 \ + libsemanage-common=3.3-1build2 \ + libsemanage2=3.3-1build2 \ + libsepol-dev=3.3-1build1 \ + libsepol2=3.3-1build1 \ + libsigsegv2=2.13-1ubuntu3 \ + libsmartcols1=2.37.2-4ubuntu3 \ + libsqlite3-0=3.37.2-2ubuntu0.1 \ + libss2=1.46.5-2ubuntu1.1 \ + libssl3=3.0.2-0ubuntu1.10 \ + libstdc++-11-dev=11.3.0-1ubuntu1~22.04.1 \ + libstdc++6=12.1.0-2ubuntu1~22.04 \ + libsystemd0=249.11-0ubuntu3.9 \ + libtasn1-6=4.18.0-4build1 \ + libtiff5=4.3.0-6ubuntu0.4 \ + libtinfo6=6.3-2ubuntu0.1 \ + libtirpc-common=1.3.2-2ubuntu0.1 \ + libtirpc-dev=1.3.2-2ubuntu0.1 \ + libtirpc3=1.3.2-2ubuntu0.1 \ + libtsan0=11.3.0-1ubuntu1~22.04.1 \ + libubsan1=12.1.0-2ubuntu1~22.04 \ + libudev1=249.11-0ubuntu3.9 \ + libunistring2=1.0-1 \ + libuuid1=2.37.2-4ubuntu3 \ + libwebp7=1.2.2-2ubuntu0.22.04.1 \ + libx11-6=2:1.7.5-1 \ + libx11-data=2:1.7.5-1 \ + libxau6=1:1.0.9-1build5 \ + libxcb1=1.14-3ubuntu3 \ + libxdmcp6=1:1.1.3-0ubuntu5 \ + libxml2=2.9.13+dfsg-1ubuntu0.3 \ + libxpm4=1:3.5.12-1ubuntu0.22.04.1 \ + libxxhash0=0.8.1-1 \ + libzstd1=1.4.8+dfsg-3build1 \ + linux-libc-dev=5.15.0-73.80 \ + login=1:4.8.1-2ubuntu2.1 \ + logsave=1.46.5-2ubuntu1.1 \ + lsb-base=11.1.0ubuntu4 \ + lto-disabled-list=24 \ + m4=1.4.18-5ubuntu2 \ + make=4.3-4.1build1 \ + manpages-dev=5.10-1ubuntu1 \ + manpages=5.10-1ubuntu1 \ + mawk=1.3.4.20200120-3 \ + media-types=7.0.0 \ + mount=2.37.2-4ubuntu3 \ + ncurses-base=6.3-2ubuntu0.1 \ + ncurses-bin=6.3-2ubuntu0.1 \ + netbase=6.3 \ + ninja-build=1.10.1-1 \ + openssl=3.0.2-0ubuntu1.10 \ + passwd=1:4.8.1-2ubuntu2.1 \ + patch=2.7.6-7build2 \ + perl-base=5.34.0-3ubuntu1.2 \ + perl-modules-5.34=5.34.0-3ubuntu1.2 \ + perl=5.34.0-3ubuntu1.2 \ + pinentry-curses=1.1.1-1build2 \ + pkg-config=0.29.2-1ubuntu3 \ + procps=2:3.3.17-6ubuntu2 \ + python3-distutils=3.10.6-1~22.04 \ + python3-lib2to3=3.10.6-1~22.04 \ + python3-minimal=3.10.6-1~22.04 \ + python3.10-minimal=3.10.6-1~22.04.2ubuntu1.1 \ + python3.10=3.10.6-1~22.04.2ubuntu1.1 \ + python3=3.10.6-1~22.04 \ + readline-common=8.1.2-1 \ + rpcsvc-proto=1.4.2-0ubuntu6 \ + sed=4.8-1ubuntu2 \ + sensible-utils=0.0.17 \ + shared-mime-info=2.1-2 \ + sysvinit-utils=3.01-1ubuntu1 \ + tar=1.34+dfsg-1ubuntu0.1.22.04.1 \ + ubuntu-keyring=2021.03.26 \ + ucf=3.0043 \ + usrmerge=25ubuntu2 \ + util-linux=2.37.2-4ubuntu3 \ + uuid-dev=2.37.2-4ubuntu3 \ + xdg-user-dirs=0.17-2ubuntu4 \ + xz-utils=5.2.5-2ubuntu1 \ + zlib1g-dev=1:1.2.11.dfsg-2ubuntu9.2 \ + zlib1g=1:1.2.11.dfsg-2ubuntu9.2 && \ + rm -rf /var/lib/apt/lists/* && \ + tar -xJf qemu-8.0.2.tar.xz && \ + rm -f qemu-8.0.2.tar.xz && \ + cd qemu-8.0.2/ && \ + ./configure --prefix=/opt/qemu-8.0.2/ --target-list=aarch64-softmmu,arm-softmmu,x86_64-softmmu --static --disable-gio --disable-tools --disable-docs && \ + make -j && \ + make install && \ + cd .. && \ + rm -rf qemu-8.0.2/ && \ + tar -C /opt/ -cJf qemu-8.0.2-bin.tar.xz qemu-8.0.2/ && \ + rm -rf /opt/qemu-8.0.2/ diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 00000000000..6cb174d0df7 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,16 @@ +# +# Copyright (c) 2023 Marvin Häuser. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +name: qemu-build +services: + qemu-build: + build: + context: Dockerfiles/qemu-build/repro + volumes: + - ${PWD}:/com.docker.devenvironments.code + entrypoint: + - /bin/bash + - -c + - "cp qemu-8.0.2-bin.tar.xz /com.docker.devenvironments.code/"