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/"