1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

core: taint if /usr is unmerged

9afd5e7b97 introduced a build-time
taint, introduce a runtime one as well, in preparation for
removing support for unmerged-usr in a future release
This commit is contained in:
Luca Boccassi 2022-04-05 20:37:59 +01:00 committed by Luca Boccassi
parent 124d293268
commit 31cd2dd906
2 changed files with 12 additions and 1 deletions

7
README
View File

@ -353,6 +353,13 @@ WARNINGS and TAINT FLAGS:
For more information on this issue consult
https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
systemd will warn if the filesystem is not usr-merged (i.e.: /bin, /sbin
and /lib* are not symlinks to their counterparts under /usr). Taint flag
'unmerged-usr' will be set when this condition is detected.
For more information on this issue consult
https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge
systemd requires that the /run mount point exists. systemd also
requires that /var/run is a symlink to /run. Taint flag 'var-run-bad'
will be set when this condition is detected.

View File

@ -4377,12 +4377,16 @@ char* manager_taint_string(const Manager *m) {
assert(m);
const char* stage[11] = {};
const char* stage[12] = {};
size_t n = 0;
if (m->taint_usr)
stage[n++] = "split-usr";
_cleanup_free_ char *usrbin = NULL;
if (readlink_malloc("/bin", &usrbin) < 0 || !PATH_IN_SET(usrbin, "usr/bin", "/usr/bin"))
stage[n++] = "unmerged-usr";
if (access("/proc/cgroups", F_OK) < 0)
stage[n++] = "cgroups-missing";