From 13a2cfc148d697da3c8535179b9bc3b39ca3b2a3 Mon Sep 17 00:00:00 2001 From: Luan Nunes Utimura Date: Wed, 19 Apr 2023 12:02:32 -0300 Subject: [PATCH] Remove unnecessary targets from QEMU build This change updates the `0001-Customize-Debian-build-files-for-STX` deb_patch for QEMU build to better filter the list of targets even for the configure step. It also reduces the build time by avoiding the generation and linking of objects related to targets that won't be used by the package installed on StarlingX. Test Plan: PASS - Build qemu package PASS - Build/install image on AIO-SX PASS - Verify that the package is installed in the system PASS - Verify that stx-openstack sanity passes without new bugs Story: 2010317 Task: 47666 Signed-off-by: Thales Elero Cervi Signed-off-by: Luan Nunes Utimura Change-Id: I5ae5427271952d75f7d17b3a995d5bfdccbd803a --- ...Customize-Debian-build-files-for-STX.patch | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/qemu/debian/deb_patches/0001-Customize-Debian-build-files-for-STX.patch b/qemu/debian/deb_patches/0001-Customize-Debian-build-files-for-STX.patch index 188b2eb..a9a58cb 100644 --- a/qemu/debian/deb_patches/0001-Customize-Debian-build-files-for-STX.patch +++ b/qemu/debian/deb_patches/0001-Customize-Debian-build-files-for-STX.patch @@ -10,10 +10,11 @@ an output directory with 30 packages and ~1.1G in size. Removing the unnecessary packages resulted in a build that takes ~15min and in an output directory with only 10 needed packages and ~320M. -We mainly remove UI/Graphical modules and focus on building -qemu-system-x86 only. We do not need other qemu-system-* packages -for different architectures neither the build dependencies for -cross-compiling those packages. +This removes UI/Graphical modules and focus on building +qemu-system-x86 only. Other qemu-system-* packages for different +architectures are not required, neither the build dependencies for +cross-compiling those packages. Also, this reduces the configure +and build targets the ones that really matter for StarlingX. Removed packages: * qemu-system-gui @@ -25,8 +26,8 @@ Removed packages: Signed-off-by: Thales Elero Cervi --- debian/control | 215 +++---------------------------------------------- - debian/rules | 80 +----------------- - 2 files changed, 14 insertions(+), 281 deletions(-) + debian/rules | 86 ++------------------ + 2 files changed, 16 insertions(+), 285 deletions(-) diff --git a/debian/control b/debian/control index 6534765..7cc0fb4 100644 @@ -297,7 +298,7 @@ index 6534765..7cc0fb4 100644 Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32 Multi-Arch: foreign diff --git a/debian/rules b/debian/rules -index 9d9f18f..d6778c3 100755 +index 9d9f18f..1dc1e10 100755 --- a/debian/rules +++ b/debian/rules @@ -72,14 +72,11 @@ endif @@ -317,7 +318,27 @@ index 9d9f18f..d6778c3 100755 sysarch_arm = $(filter aarch64 arm,${system_targets}) sysarch_mips = $(filter mips mipsel mips64 mips64el,${system_targets}) sysarch_ppc = $(filter ppc ppc64,${system_targets}) -@@ -348,9 +345,11 @@ endif # enable_linux_user +@@ -99,10 +96,7 @@ ifeq (${enable_linux_user},enable) + + # list of linux-user targets, from ./configure + user_targets = \ +- i386 x86_64 alpha aarch64 aarch64_be arm armeb cris hppa m68k microblaze microblazeel \ +- mips mipsel mips64 mips64el mipsn32 mipsn32el nios2 or1k \ +- ppc ppc64 ppc64le riscv32 riscv64 sh4 sh4eb sparc sparc64 sparc32plus \ +- s390x xtensa xtensaeb ++ i386 x86_64 \ + + endif # enable_linux_user + +@@ -117,6 +111,7 @@ b/configure-stamp: configure + --${enable_linux_user}-linux-user \ + --enable-modules \ + --enable-module-upgrades \ ++ --target-list="$(addsuffix -softmmu,${system_targets})" \ + $(shell sh debian/extract-config-opts \ + $(DEB_HOST_ARCH_OS)-$(DEB_HOST_ARCH) debian/control) \ + $(QEMU_CONFIGURE_OPTIONS) || \ +@@ -348,9 +343,11 @@ endif # enable_linux_user dh_install -a dh_missing --list-missing @@ -329,7 +350,7 @@ index 9d9f18f..d6778c3 100755 dh_installman -a dh_installudev -a ifeq (${enable_system},enable) -@@ -393,35 +392,6 @@ debian/control: debian/control-in debian/rules +@@ -393,35 +390,6 @@ debian/control: debian/control-in debian/rules chmod -w $@ endif @@ -365,7 +386,7 @@ index 9d9f18f..d6778c3 100755 ### x86 optionrom build-x86-optionrom: b/optionrom/built b/optionrom/built: -@@ -471,48 +441,6 @@ install-palcode-clipper: b/qemu-palcode/palcode-clipper +@@ -471,48 +439,6 @@ install-palcode-clipper: b/qemu-palcode/palcode-clipper install -m 0644 $< ${sysdatadir}/palcode-clipper sysdata-components += palcode-clipper