From 16c1ca0db4cf6dd33cff1239df8dd9c366cee914 Mon Sep 17 00:00:00 2001 From: Kai Lueke Date: Tue, 9 Aug 2022 17:07:20 +0200 Subject: sysext: introduce ARCHITECTURE field to match host architecture When an extension image has binaries they should match the host architecture. Currently there is no way to specify this requirement. Introduce an ARCHITECTURE field in the extension's release file that may be set to prevent loading on the wrong host architecture. Since this new field is introduced late, we don't want to make specifying it mandatory as it would break existing sysext images. See https://github.com/systemd/systemd/issues/24061 --- man/systemd-sysext.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'man/systemd-sysext.xml') diff --git a/man/systemd-sysext.xml b/man/systemd-sysext.xml index c2cf87c9cb..8da6bd26ad 100644 --- a/man/systemd-sysext.xml +++ b/man/systemd-sysext.xml @@ -118,10 +118,14 @@ file: the contained ID= fields have to match unless _any is set for the extension. If the extension ID= is not _any, the SYSEXT_LEVEL= field (if defined) has to match. If the latter is not defined, the - VERSION_ID= field has to match instead. System extensions should not ship a - /usr/lib/os-release file (as that would be merged into the host - /usr/ tree, overriding the host OS version data, which is not desirable). The - extension-release file follows the same format and semantics, and carries the same + VERSION_ID= field has to match instead. If the extension defines the + ARCHITECTURE= field and the value is not _any it has to match the kernel's + architecture reported by uname2 + but the used architecture identifiers are the same as for ConditionArchitecture= + described in systemd.unit5. + System extensions should not ship a /usr/lib/os-release file (as that would be merged + into the host /usr/ tree, overriding the host OS version data, which is not desirable). + The extension-release file follows the same format and semantics, and carries the same content, as the os-release file of the OS, but it describes the resources carried in the extension image. -- cgit v1.2.1