On Mon, 28 Nov 2022 at 04:28, Thomas Huth <thuth@redhat.com> wrote:
Our current release tarballs are huge and caused already some trouble
with the server traffic in the past. However, the biggest chunk (~80%)
of the tarball is caused by the firmware sources - which most users
don't need anyway (assuming that they just want to compile QEMU itself
on their own). So we can certainly safe a lot of traffic by moving
the firmware sources into a separate tarball, so that only people who
really want to rebuild the firmware images on their own have to
download it.
This decreases the size of the main QEMU xz tarball from ca. 116 MiB
to only 27 MiB!
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
scripts/make-release | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/scripts/make-release b/scripts/make-release
index febeb6cb36..44408c24a2 100755
--- a/scripts/make-release
+++ b/scripts/make-release
@@ -42,6 +42,19 @@ git submodule update --init --single-branch
CryptoPkg/Library/OpensslLib/openssl \
MdeModulePkg/Library/BrotliCustomDecompressLib/brotli)
+tar --exclude=".git*" -cjf ../qemu-rom-sources-${version}.tar.bz2 roms
+rm -r roms/*
+
+cat > roms/README.rst <<EOF
+Please download the qemu-rom-sources-${version}.tar.bz2 tarball
+and unpack it in the topmost directory of the QEMU sources in
+case you want to recompile the QEMU ROM images.
+EOF
+cat > roms/Makefile <<EOF
+%:
+ @cat README.rst
+EOF
Replacing files with different content worries me a little. If someone
is trying to match a git tree with a release these files will be
different and require manual inspection.
How about having no roms/ directory in the main sources tarball and
including a check for an empty directory in the build scripts?