Commit d8595da9 authored by Emanuele Aina's avatar Emanuele Aina

x86-build-infrastructure: Address packages that can't build on qemu

Discuss what to do with packages that fail to build on a emulated environment.
Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
parent e556569d
......@@ -214,6 +214,8 @@ Apertis build infrastructure on x84-64 machines:
* Test a selected set of packages by building them for `armhf` and `aarch64`
* Set up other `x86-64` workers and test a rebuild of the whole archive,
ensuring that all the packages can be build from using the emulated approach
* Devise mitigations in case some packages fail to build in the emulated
environment
* Measure and evaluate performance impact comparing build times with those on
the native workers currently in use in Apertis, to decide whether scaling the
number of workers is sufficient to compensate the impact
......@@ -223,3 +225,17 @@ Apertis build infrastructure on x84-64 machines:
* Refine and deploy the chosen mitigation approaches to, for instance, ensure
that the injected native binaries are kept synchronized with the emulated
ones they replace
There's a risk that no mitigation end up being effective on some packages so
they keep failing in the emulated approach. In the short term those packages
will be required to be built on the native workers in a hybrid set up, but they
would be more problematic in a hypotetic downstream setup with no native
workers as they can't be built there. In that case, pre-built binaries coming
from an upstream with native workers will have to be injected in the archive.
Alternatively, it may be possible to mix [type 3 and 4
crossbuilds](https://en.opensuse.org/openSUSE:Build_Service_Concept_CrossDevelopment#Types_of_crossbuild)
by modifying the failing packages to make them buildable with a real cross-compiler.
This solution requires a much higher maintenance cost as packages do not
generally support being built in that way, but it may be an option to be able to
do full builds on x86-64 in the few cases where emulation fails.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment