mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-08 20:58:20 +03:00
os-util: allow missing VERSION_ID on the host
Rolling releases, like ArchLinux, do not set VERSION_ID in their os-release files, so allow matching simply on ID if the host does not provide anything.
This commit is contained in:
parent
7eda2d7fa5
commit
d335f4c583
@ -205,7 +205,6 @@ int extension_release_validate(
|
||||
|
||||
assert(name);
|
||||
assert(!isempty(host_os_release_id));
|
||||
assert(!isempty(host_os_release_version_id) || !isempty(host_os_release_sysext_level));
|
||||
|
||||
/* Now that we can look into the extension image, let's see if the OS version is compatible */
|
||||
if (strv_isempty(extension_release)) {
|
||||
@ -226,6 +225,12 @@ int extension_release_validate(
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Rolling releases do not typically set VERSION_ID (eg: ArchLinux) */
|
||||
if (isempty(host_os_release_version_id) && isempty(host_os_release_sysext_level)) {
|
||||
log_debug("No version info on the host (rolling release?), but ID in %s matched.", name);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* If the extension has a sysext API level declared, then it must match the host API
|
||||
* level. Otherwise, compare OS version as a whole */
|
||||
extension_release_sysext_level = strv_env_pairs_get(extension_release, "SYSEXT_LEVEL");
|
||||
|
Loading…
x
Reference in New Issue
Block a user