From 0c6ac2d66a8c00d8bbea774e4d57783e6bde65a3 Mon Sep 17 00:00:00 2001 From: Earle Lowe Date: Wed, 18 Mar 2026 14:24:02 -0700 Subject: [PATCH 1/2] Fix DEB and RPM package compression for smaller installer sizes DEB packages were using poor compression defaults: the GUI DEB used electron-builder's 7-Zip xz with a 4 MiB dictionary, and the CLI DEB used the build host's default zstd level 3. Both RPMs lacked explicit single-threaded xz settings. All four packages now use xz level 6 (64 MiB dictionary) for consistent, well-compressed output. Made-with: Cursor --- build_scripts/build_linux_deb-2-installer.sh | 2 +- build_scripts/build_linux_rpm-2-installer.sh | 2 +- build_scripts/electron-builder.json | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/build_scripts/build_linux_deb-2-installer.sh b/build_scripts/build_linux_deb-2-installer.sh index 809ba216ac6c..a4a1de4b934b 100644 --- a/build_scripts/build_linux_deb-2-installer.sh +++ b/build_scripts/build_linux_deb-2-installer.sh @@ -69,7 +69,7 @@ cp assets/systemd/*.service "dist/$CLI_DEB_BASE/etc/systemd/system/" cp -r dist/daemon/* "dist/$CLI_DEB_BASE/opt/chia/" ln -s ../../opt/chia/chia "dist/$CLI_DEB_BASE/usr/bin/chia" -dpkg-deb --build --root-owner-group "dist/$CLI_DEB_BASE" +dpkg-deb -Zxz -z6 --build --root-owner-group "dist/$CLI_DEB_BASE" # CLI only .deb done cp -r dist/daemon ../chia-blockchain-gui/packages/gui diff --git a/build_scripts/build_linux_rpm-2-installer.sh b/build_scripts/build_linux_rpm-2-installer.sh index 8d26c445af40..a434bb81b27b 100644 --- a/build_scripts/build_linux_rpm-2-installer.sh +++ b/build_scripts/build_linux_rpm-2-installer.sh @@ -87,7 +87,7 @@ fpm -s dir -t rpm \ --rpm-tag '%undefine _missing_build_ids_terminate_build' \ --before-install=assets/rpm/before-install.sh \ --rpm-tag 'Requires(pre): findutils' \ - --rpm-compression xzmt \ + --rpm-compression xz \ --rpm-compression-level 6 \ . # CLI only rpm done diff --git a/build_scripts/electron-builder.json b/build_scripts/electron-builder.json index bca846e8b419..ed22059d253c 100644 --- a/build_scripts/electron-builder.json +++ b/build_scripts/electron-builder.json @@ -78,6 +78,7 @@ "deb": { "afterInstall": "../../../build_scripts/assets/deb/postinst.sh", "afterRemove": "../../../build_scripts/assets/deb/prerm.sh", + "fpm": ["--deb-compression", "xz", "--deb-compression-level", "6"], "depends": [ "libgbm1", "libgtk-3-0", @@ -103,7 +104,9 @@ "--rpm-tag=Recommends: libxcrypt-compat", "--directories=/opt/chia", "--rpm-tag=Requires(pre): findutils", - "--before-install=../../../build_scripts/assets/rpm/before-install.sh" + "--before-install=../../../build_scripts/assets/rpm/before-install.sh", + "--rpm-compression=xz", + "--rpm-compression-level=6" ] } } From 5e4a58d54f16eabd9e4ce5063d41092741631edd Mon Sep 17 00:00:00 2001 From: Earle Lowe Date: Wed, 18 Mar 2026 15:11:52 -0700 Subject: [PATCH 2/2] Bump compression level to 9 for 64 MiB xz dictionary Level 6 only gives an 8 MiB dictionary. Level 9 gives 64 MiB, matching the compression ratio seen in the existing GUI RPM. Made-with: Cursor --- build_scripts/build_linux_deb-2-installer.sh | 2 +- build_scripts/build_linux_rpm-2-installer.sh | 2 +- build_scripts/electron-builder.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build_scripts/build_linux_deb-2-installer.sh b/build_scripts/build_linux_deb-2-installer.sh index a4a1de4b934b..d74487dc9831 100644 --- a/build_scripts/build_linux_deb-2-installer.sh +++ b/build_scripts/build_linux_deb-2-installer.sh @@ -69,7 +69,7 @@ cp assets/systemd/*.service "dist/$CLI_DEB_BASE/etc/systemd/system/" cp -r dist/daemon/* "dist/$CLI_DEB_BASE/opt/chia/" ln -s ../../opt/chia/chia "dist/$CLI_DEB_BASE/usr/bin/chia" -dpkg-deb -Zxz -z6 --build --root-owner-group "dist/$CLI_DEB_BASE" +dpkg-deb -Zxz -z9 --build --root-owner-group "dist/$CLI_DEB_BASE" # CLI only .deb done cp -r dist/daemon ../chia-blockchain-gui/packages/gui diff --git a/build_scripts/build_linux_rpm-2-installer.sh b/build_scripts/build_linux_rpm-2-installer.sh index a434bb81b27b..3843c165fa64 100644 --- a/build_scripts/build_linux_rpm-2-installer.sh +++ b/build_scripts/build_linux_rpm-2-installer.sh @@ -88,7 +88,7 @@ fpm -s dir -t rpm \ --before-install=assets/rpm/before-install.sh \ --rpm-tag 'Requires(pre): findutils' \ --rpm-compression xz \ - --rpm-compression-level 6 \ + --rpm-compression-level 9 \ . # CLI only rpm done cp -r dist/daemon ../chia-blockchain-gui/packages/gui diff --git a/build_scripts/electron-builder.json b/build_scripts/electron-builder.json index ed22059d253c..458036636207 100644 --- a/build_scripts/electron-builder.json +++ b/build_scripts/electron-builder.json @@ -78,7 +78,7 @@ "deb": { "afterInstall": "../../../build_scripts/assets/deb/postinst.sh", "afterRemove": "../../../build_scripts/assets/deb/prerm.sh", - "fpm": ["--deb-compression", "xz", "--deb-compression-level", "6"], + "fpm": ["--deb-compression", "xz", "--deb-compression-level", "9"], "depends": [ "libgbm1", "libgtk-3-0", @@ -106,7 +106,7 @@ "--rpm-tag=Requires(pre): findutils", "--before-install=../../../build_scripts/assets/rpm/before-install.sh", "--rpm-compression=xz", - "--rpm-compression-level=6" + "--rpm-compression-level=9" ] } }