From 2218902e7f2b85285a1f5f110af131442cb66747 Mon Sep 17 00:00:00 2001 From: Dongsu Park Date: Wed, 6 Dec 2023 12:58:21 +0100 Subject: [PATCH] overlay afterburn: reduce binary size for release profile In the release profile of Cargo.toml, add `codegen-units = 1`, `strip = true`, and remove `debug = true`, to reduce binary size of afterburn included in production images. --- .../afterburn/afterburn-9999.ebuild | 1 + ...duce-binary-size-for-release-profile.patch | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0004-cargo-reduce-binary-size-for-release-profile.patch diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild index 39903886e3..faf92b007d 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild @@ -313,6 +313,7 @@ PATCHES=( "${FILESDIR}"/0001-Revert-remove-cl-legacy-feature.patch "${FILESDIR}"/0002-util-cmdline-Handle-the-cmdline-flags-as-list-of-sup.patch "${FILESDIR}"/0003-vmware-arm64-unsupported.patch + "${FILESDIR}"/0004-cargo-reduce-binary-size-for-release-profile.patch ) src_unpack() { diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0004-cargo-reduce-binary-size-for-release-profile.patch b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0004-cargo-reduce-binary-size-for-release-profile.patch new file mode 100644 index 0000000000..6fe1e6d433 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0004-cargo-reduce-binary-size-for-release-profile.patch @@ -0,0 +1,33 @@ +From c47aa98230e7b540c88a4551a54fd9348f60b6a9 Mon Sep 17 00:00:00 2001 +Message-Id: +From: Dongsu Park +Date: Wed, 6 Dec 2023 12:36:24 +0100 +Subject: [PATCH] Cargo: reduce binary size for release profile + +In the release profile of Cargo.toml, add `codegen-units = 1`, +`strip = true`, and remove `debug = true`, to reduce binary size of +afterburn included in production images. +--- + Cargo.toml | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Cargo.toml b/Cargo.toml +index da74d909..1cf3213c 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -30,8 +30,10 @@ name = "afterburn" + path = "src/main.rs" + + [profile.release] +-# We assume we're being delivered via e.g. RPM which supports split debuginfo +-debug = true ++# Flatcar: Reduce binary size for prod images by using one codegen unit, ++# stripping binary, and removing debug = true. ++codegen-units = 1 ++strip = true + + [features] + cl-legacy = [] +-- +2.34.1 +