Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Deprecate builds with split-usr, prepare for removal
There is no technical reason to support systems with split-usr, except for
backwards compatibility. Even though systemd itself makes an effort to support
this, many other tools aren't as careful. Despite those efforts, we
(collectively) get it wrong often, because doing it "wrong" on systems with
merged-usr has no consequences. Since almost all developers are on such
systems, any issues are only discovered late. Supporting this split-usr mode
makes both code and documentation more complicated. The split is purely
artificial and has no justification except to allow old installation to not
update. Mechanisms to update existing systems are available though: Fedora
did that in https://fedoraproject.org/wiki/Features/UsrMove, Debian has
the usrmerge package.

The next version of Debian will only support systems with split-usr=false,
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=978636#178:

  The Technical Committee resolves that Debian 'bookworm' should
  support only the merged-usr root filesystem layout, dropping support
  for the non-merged-usr layout.

Let's start warning if split-usr mode is used, in preparation to removing the
split in one of the future releases.
  • Loading branch information
keszybz authored and bluca committed Feb 3, 2021
1 parent 33e71ad commit 9afd5e7
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README
Expand Up @@ -219,9 +219,10 @@ REQUIREMENTS:
Note that the build prefix for systemd must be /usr. (Moreover,
packages systemd relies on — such as D-Bus — really should use the same
prefix, otherwise you are on your own.) -Dsplit-usr=false (which is the
default and does not need to be specified) is the recommended setting,
and -Dsplit-usr=true should be used on systems which have /usr on a
separate partition.
default and does not need to be specified) is the recommended setting.
-Dsplit-usr=true can be used to give a semblance of support for systems
with programs installed split between / and /usr. Moving everything
under /usr is strongly encouraged.

Additional packages are necessary to run some tests:
- busybox (used by test/TEST-13-NSPAWN-SMOKE)
Expand Down
5 changes: 5 additions & 0 deletions meson.build
Expand Up @@ -68,6 +68,11 @@ if get_option('split-usr') == 'auto'
else
split_usr = get_option('split-usr') == 'true'
endif
if split_usr
warning('\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n'
+ ' split-usr mode is going to be removed\n' +
'\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
endif
conf.set10('HAVE_SPLIT_USR', split_usr,
description : '/usr/bin and /bin directories are separate')

Expand Down

0 comments on commit 9afd5e7

Please sign in to comment.