From 60bb6caaae48c646219645c207b2692a6e12a871 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Mon, 11 Jan 2021 23:00:58 +0000 Subject: sysext: use parse_extension_release and reject extension if not found --- man/systemd-sysext.xml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'man') diff --git a/man/systemd-sysext.xml b/man/systemd-sysext.xml index 14aab94dc9..6bda5f4fc6 100644 --- a/man/systemd-sysext.xml +++ b/man/systemd-sysext.xml @@ -55,10 +55,9 @@ Files and directories contained in the extension images outside of the /usr/ and /opt/ hierarchies are not merged, and hence have no effect - when included in a system extension image (with the exception of /etc/os-release, - see below). In particular, files in the /etc/ and /var/ - included in a system extension image will not appear in the respective hierarchies - after activation. + when included in a system extension image. In particular, files in the /etc/ and + /var/ included in a system extension image will not appear in + the respective hierarchies after activation. System extension images are strictly read-only, and the host /usr/ and /opt/ hierarchies become read-only too while they are activated. @@ -111,13 +110,17 @@ Note that there is no concept of enabling/disabling installed system extension images: all installed extension images are automatically activated at boot. - A simple mechanism for version compatibility is enforced: a system extension image may carry an - /etc/os-release file that is compared with the host os-release + A simple mechanism for version compatibility is enforced: a system extension image must carry a + /usr/lib/extension-release.d/extension-release.$name + file, which must match its image name, that is compared with the host os-release file: the contained ID= fields have to match, as well as the - SYSEXT_LEVEL= field (if defined). If the latter is not defined the + SYSEXT_LEVEL= field (if defined). 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). + /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.3