summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.semaphore/semaphore-runner.sh2
-rw-r--r--README35
-rw-r--r--TODO2
-rw-r--r--catalog/meson.build2
-rw-r--r--catalog/systemd.bg.catalog.in2
-rw-r--r--catalog/systemd.catalog.in2
-rw-r--r--catalog/systemd.fr.catalog.in2
-rw-r--r--catalog/systemd.it.catalog.in1
-rw-r--r--catalog/systemd.pl.catalog.in2
-rw-r--r--catalog/systemd.ru.catalog.in2
-rw-r--r--docs/DISTRO_PORTING.md1
-rw-r--r--hwdb.d/meson.build2
-rw-r--r--man/org.freedesktop.systemd1.xml11
-rw-r--r--man/systemd.exec.xml9
-rw-r--r--meson.build618
-rw-r--r--meson_options.txt16
-rwxr-xr-xmkosi.presets/00-base/mkosi.build11
-rw-r--r--rules.d/64-btrfs.rules.in2
-rw-r--r--rules.d/71-seat.rules.in4
-rw-r--r--rules.d/99-systemd.rules.in2
-rw-r--r--shell-completion/bash/systemctl.in2
-rw-r--r--shell-completion/zsh/_systemctl.in2
-rw-r--r--src/basic/constants.h14
-rw-r--r--src/basic/path-lookup.c5
-rw-r--r--src/basic/path-lookup.h2
-rw-r--r--src/basic/path-util.h14
-rw-r--r--src/core/manager-serialize.c10
-rw-r--r--src/core/manager.c9
-rw-r--r--src/core/manager.h2
-rw-r--r--src/core/meson.build2
-rw-r--r--src/core/namespace.c19
-rw-r--r--src/core/org.freedesktop.systemd1.policy.in2
-rw-r--r--src/core/systemd.pc.in26
-rw-r--r--src/cryptsetup/cryptsetup-generator.c4
-rw-r--r--src/delta/delta.c36
-rw-r--r--src/hibernate-resume/hibernate-resume-generator.c2
-rw-r--r--src/import/meson.build2
-rw-r--r--src/integritysetup/integritysetup-generator.c4
-rw-r--r--src/libsystemd/libsystemd.pc.in2
-rw-r--r--src/libsystemd/sd-hwdb/hwdb-internal.h1
-rw-r--r--src/libsystemd/sd-path/sd-path.c27
-rw-r--r--src/libudev/libudev.pc.in2
-rw-r--r--src/portable/portable.c10
-rw-r--r--src/resolve/meson.build2
-rw-r--r--src/rpm/macros.systemd.in6
-rw-r--r--src/rpm/meson.build4
-rw-r--r--src/rpm/triggers.systemd.in4
-rw-r--r--src/rpm/triggers.systemd.sh.in4
-rw-r--r--src/shared/install.c5
-rw-r--r--src/shared/kbd-util.h8
-rw-r--r--src/shared/meson.build2
-rw-r--r--src/shared/resolve-util.h2
-rw-r--r--src/shared/userdb-dropin.h3
-rw-r--r--src/shared/userdb.c2
-rw-r--r--src/sysext/meson.build4
-rw-r--r--src/systemctl/systemctl-sysv-compat.c2
-rw-r--r--src/test/test-manager.c12
-rw-r--r--src/udev/meson.build2
-rw-r--r--src/xdg-autostart-generator/xdg-autostart-service.c2
-rw-r--r--sysctl.d/50-coredump.conf.in2
-rw-r--r--test/fuzz/fuzz-catalog/systemd.pl.catalog2
-rwxr-xr-xtest/test-fstab-generator.sh5
-rw-r--r--test/test-functions10
-rw-r--r--units/emergency.service.in4
-rw-r--r--units/initrd-parse-etc.service.in2
-rw-r--r--units/rescue.service.in4
-rw-r--r--units/systemd-backlight@.service.in4
-rw-r--r--units/systemd-battery-check.service.in2
-rw-r--r--units/systemd-binfmt.service.in4
-rw-r--r--units/systemd-bless-boot.service.in2
-rw-r--r--units/systemd-boot-check-no-failures.service.in2
-rw-r--r--units/systemd-coredump@.service.in2
-rw-r--r--units/systemd-fsck-root.service.in2
-rw-r--r--units/systemd-fsck@.service.in2
-rw-r--r--units/systemd-growfs-root.service.in2
-rw-r--r--units/systemd-growfs@.service.in2
-rw-r--r--units/systemd-hibernate.service.in2
-rw-r--r--units/systemd-homed.service.in2
-rw-r--r--units/systemd-hostnamed.service.in2
-rw-r--r--units/systemd-hybrid-sleep.service.in2
-rw-r--r--units/systemd-importd.service.in2
-rw-r--r--units/systemd-initctl.service.in2
-rw-r--r--units/systemd-journal-gatewayd.service.in2
-rw-r--r--units/systemd-journal-remote.service.in2
-rw-r--r--units/systemd-journal-upload.service.in2
-rw-r--r--units/systemd-journald.service.in2
-rw-r--r--units/systemd-journald@.service.in2
-rw-r--r--units/systemd-localed.service.in2
-rw-r--r--units/systemd-logind.service.in2
-rw-r--r--units/systemd-machined.service.in2
-rw-r--r--units/systemd-modules-load.service.in2
-rw-r--r--units/systemd-network-generator.service.in2
-rw-r--r--units/systemd-networkd-wait-online.service.in2
-rw-r--r--units/systemd-networkd-wait-online@.service.in2
-rw-r--r--units/systemd-networkd.service.in2
-rw-r--r--units/systemd-oomd.service.in2
-rw-r--r--units/systemd-pcrfs-root.service.in2
-rw-r--r--units/systemd-pcrfs@.service.in2
-rw-r--r--units/systemd-pcrmachine.service.in2
-rw-r--r--units/systemd-pcrphase-initrd.service.in4
-rw-r--r--units/systemd-pcrphase-sysinit.service.in4
-rw-r--r--units/systemd-pcrphase.service.in4
-rw-r--r--units/systemd-portabled.service.in2
-rw-r--r--units/systemd-pstore.service.in2
-rw-r--r--units/systemd-quotacheck.service.in2
-rw-r--r--units/systemd-random-seed.service.in4
-rw-r--r--units/systemd-remount-fs.service.in2
-rw-r--r--units/systemd-repart.service.in2
-rw-r--r--units/systemd-resolved.service.in2
-rw-r--r--units/systemd-rfkill.service.in2
-rw-r--r--units/systemd-suspend-then-hibernate.service.in2
-rw-r--r--units/systemd-suspend.service.in2
-rw-r--r--units/systemd-sysctl.service.in2
-rw-r--r--units/systemd-sysupdate-reboot.service.in2
-rw-r--r--units/systemd-sysupdate.service.in2
-rw-r--r--units/systemd-time-wait-sync.service.in2
-rw-r--r--units/systemd-timedated.service.in2
-rw-r--r--units/systemd-timesyncd.service.in2
-rw-r--r--units/systemd-udevd.service.in2
-rw-r--r--units/systemd-update-done.service.in2
-rw-r--r--units/systemd-update-utmp-runlevel.service.in2
-rw-r--r--units/systemd-update-utmp.service.in4
-rw-r--r--units/systemd-user-sessions.service.in4
-rw-r--r--units/systemd-userdbd.service.in2
-rw-r--r--units/systemd-vconsole-setup.service.in2
-rw-r--r--units/systemd-volatile-root.service.in2
-rw-r--r--units/user-runtime-dir@.service.in4
-rw-r--r--units/user@.service.in2
128 files changed, 443 insertions, 719 deletions
diff --git a/.semaphore/semaphore-runner.sh b/.semaphore/semaphore-runner.sh
index bacb3dd76c..63c5fdfea7 100755
--- a/.semaphore/semaphore-runner.sh
+++ b/.semaphore/semaphore-runner.sh
@@ -90,7 +90,7 @@ EOF
# disable autopkgtests which are not for upstream
sed -i '/# NOUPSTREAM/ q' debian/tests/control
# enable more unit tests
- sed -i '/^CONFFLAGS =/ s/=/= --werror -Dtests=unsafe -Dsplit-usr=true -Dslow-tests=true -Dfuzz-tests=true -Dman=true /' debian/rules
+ sed -i '/^CONFFLAGS =/ s/=/= --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true -Dman=true /' debian/rules
# no orig tarball
echo '1.0' >debian/source/format
diff --git a/README b/README
index 6f9a56c809..8e4d967056 100644
--- a/README
+++ b/README
@@ -259,13 +259,14 @@ REQUIREMENTS:
make use of DynamicUser= now, hence enabling nss-systemd is not
optional.
- Note that the build prefix for systemd must be /usr. (Moreover, packages
+ 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.
- -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.
+ otherwise you are on your own.) Split-usr and unmerged-usr systems are no
+ longer supported, and moving everything under /usr/ is required. Systems
+ with a separate /usr/ partition must mount it before transitioning into it
+ (i.e.: from the initrd). For more information see:
+ https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
+ https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge
Additional packages are necessary to run some tests:
- nc (used by test/TEST-12-ISSUE-3171)
@@ -404,28 +405,6 @@ SYSV INIT.D SCRIPTS:
needs to look like, and provide an implementation at the marked places.
WARNINGS and TAINT FLAGS:
- systemd will warn during early boot if /usr is not already mounted at
- this point (that means: either located on the same file system as / or
- already mounted in the initrd). While in systemd itself very little
- will break if /usr is on a separate late-mounted partition, many of its
- dependencies very likely will break sooner or later in one form or
- another. For example, udev rules tend to refer to binaries in /usr,
- binaries that link to libraries in /usr, or binaries that refer to data
- files in /usr. Since these breakages are not always directly visible,
- systemd will warn about this. Such setups are not really supported by
- the basic set of Linux OS components. Taint flag 'split-usr' will be
- set when this condition is detected.
-
- 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.
diff --git a/TODO b/TODO
index 219e0a086c..7810cd4d59 100644
--- a/TODO
+++ b/TODO
@@ -116,8 +116,6 @@ Deprecations and removals:
* rework our PID tracking in services and so on, to be strictly based on pidfd,
once kernel baseline is 5.13.
-* H2 2023: remove support for unmerged-usr
-
* Remove /dev/mem ACPI FPDT parsing when /sys/firmware/acpi/fpdt is ubiquitous.
That requires distros to enable CONFIG_ACPI_FPDT, and have kernels v5.12 for
x86 and v6.2 for arm.
diff --git a/catalog/meson.build b/catalog/meson.build
index 9aacd20954..146daba124 100644
--- a/catalog/meson.build
+++ b/catalog/meson.build
@@ -35,4 +35,4 @@ foreach file : in_files
endforeach
meson.add_install_script('sh', '-c',
- 'test -n "$DESTDIR" || @0@/journalctl --update-catalog'.format(rootbindir))
+ 'test -n "$DESTDIR" || @0@/journalctl --update-catalog'.format(bindir))
diff --git a/catalog/systemd.bg.catalog.in b/catalog/systemd.bg.catalog.in
index 34645dc41e..319a5e3cad 100644
--- a/catalog/systemd.bg.catalog.in
+++ b/catalog/systemd.bg.catalog.in
@@ -395,8 +395,6 @@ Defined-By: systemd
Support: %SUPPORT_URL%
Възможни са следните етикети:
-⁃ „split-usr“ — „/usr“ е отделна файлова система, която не е била монтирана при
- стартирането на systemd
⁃ „cgroups-missing“ — ядрото е компилирано без поддръжка на „cgroup“ или е
ограничен достъпът до тази подсистема
⁃ „var-run-bad“ — „/var/run“ не е символна връзка към „/run“
diff --git a/catalog/systemd.catalog.in b/catalog/systemd.catalog.in
index 8ca0b4d227..b238940752 100644
--- a/catalog/systemd.catalog.in
+++ b/catalog/systemd.catalog.in
@@ -392,8 +392,6 @@ Defined-By: systemd
Support: %SUPPORT_URL%
The following "tags" are possible:
-- "split-usr" — /usr is a separate file system and was not mounted when systemd
- was booted
- "cgroups-missing" — the kernel was compiled without cgroup support or access
to expected interface files is restricted
- "var-run-bad" — /var/run is not a symlink to /run
diff --git a/catalog/systemd.fr.catalog.in b/catalog/systemd.fr.catalog.in
index 32156bf8a1..53856b3357 100644
--- a/catalog/systemd.fr.catalog.in
+++ b/catalog/systemd.fr.catalog.in
@@ -337,8 +337,6 @@ Defined-By: systemd
Support: %SUPPORT_URL%
Les étiquettes suivantes sont possibles :
-- "split-usr" — /usr est un système de fichiers séparé et nétait pas
- monté quand systemd a été démarré
- "cgroups-missing" — le noyau a été compilé sans le support des groupes
de contrôle (cgroups) ou l'accès aux fichiers d'interface est restreint
- "var-run-bad" — /var/run n'est pas un lien symbolique vers /run
diff --git a/catalog/systemd.it.catalog.in b/catalog/systemd.it.catalog.in
index 88e118fced..e66eccdff3 100644
--- a/catalog/systemd.it.catalog.in
+++ b/catalog/systemd.it.catalog.in
@@ -403,7 +403,6 @@ Defined-By: systemd
Support: %SUPPORT_URL%
I seguenti "tags" sono possibili:
-- "split-usr" — /usr è un file system separato e non è stato montato all'avvio di systemd
- "cgroups-missing" — il kernel era compilato senza supporto cgroup o l'accesso ai
file attesi è ristretto.
- "var-run-bad" — /var/run non è un link simbolico (symlink) a /run
diff --git a/catalog/systemd.pl.catalog.in b/catalog/systemd.pl.catalog.in
index e9540132a1..b2f8ef36f2 100644
--- a/catalog/systemd.pl.catalog.in
+++ b/catalog/systemd.pl.catalog.in
@@ -396,8 +396,6 @@ Defined-By: systemd
Support: %SUPPORT_URL%
Możliwe są następujące „etykiety”:
-• „split-usr” — /usr jest oddzielnym systemem plików, który nie był
- zamontowany w czasie uruchomienia systemd,
• „cgroups-missing” — jądro zostało skompilowane bez obsługi cgroups
lub dostęp do oczekiwanych plików interfejsu jest ograniczony,
• „var-run-bad” — /var/run nie jest dowiązaniem symbolicznym do /run,
diff --git a/catalog/systemd.ru.catalog.in b/catalog/systemd.ru.catalog.in
index 728a5435cb..826f4fbea8 100644
--- a/catalog/systemd.ru.catalog.in
+++ b/catalog/systemd.ru.catalog.in
@@ -388,8 +388,6 @@ Defined-By: systemd
Support: %SUPPORT_URL%
Перечень всех возможных меток, указывающих на проблемы конфигурации:
-- "split-usr" — каталог /usr расположен на отдельной файловой системе,
- которая не была смонтирована на момент запуска systemd
- "cgroups-missing" — ядро собрано без поддержки контрольных групп, либо
отсутствуют права для доступа к интерфейсным файлам контрольных групп
- "var-run-bad" — /var/run не является символьной ссылкой на /run
diff --git a/docs/DISTRO_PORTING.md b/docs/DISTRO_PORTING.md
index 93f36d0844..c95a8292a9 100644
--- a/docs/DISTRO_PORTING.md
+++ b/docs/DISTRO_PORTING.md
@@ -14,7 +14,6 @@ distribution:
1. Find the right configure parameters for:
- * `-Drootprefix=`
* `-Dsysvinit-path=`
* `-Dsysvrcnd-path=`
* `-Drc-local=`
diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build
index 4c5df6ad70..12953e2b94 100644
--- a/hwdb.d/meson.build
+++ b/hwdb.d/meson.build
@@ -55,7 +55,7 @@ if conf.get('ENABLE_HWDB') == 1
mkdir_p.format(sysconfdir / 'udev/hwdb.d'))
meson.add_install_script('sh', '-c',
- 'test -n "$DESTDIR" || @0@/systemd-hwdb update'.format(rootbindir))
+ 'test -n "$DESTDIR" || @0@/systemd-hwdb update'.format(bindir))
endif
if want_tests != 'false'
diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml
index 56906e2f3b..e6164de8d9 100644
--- a/man/org.freedesktop.systemd1.xml
+++ b/man/org.freedesktop.systemd1.xml
@@ -1630,17 +1630,6 @@ node /org/freedesktop/systemd1 {
<variablelist>
<varlistentry>
- <term><literal>split-usr</literal></term>
-
- <listitem><para><filename>/usr/</filename> was not available when systemd was first invoked. It
- must either be part of the root file system, or it must be mounted before
- <command>systemd</command> is invoked. See
- <ulink url="https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken">
- Booting Without /usr is Broken</ulink> for details why this is bad.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term><literal>unmerged-usr</literal></term>
<listitem><para><filename>/bin</filename>, <filename>/sbin</filename> and
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 13938caba5..d6e8d16ace 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -3484,12 +3484,9 @@ StandardInputData=V2XigLJyZSBubyBzdHJhbmdlcnMgdG8gbG92ZQpZb3Uga25vdyB0aGUgcnVsZX
<listitem><para>Colon-separated list of directories to use when launching
executables. <command>systemd</command> uses a fixed value of
<literal><filename>/usr/local/sbin</filename>:<filename>/usr/local/bin</filename>:<filename>/usr/sbin</filename>:<filename>/usr/bin</filename></literal>
- in the system manager. When compiled for systems with "unmerged <filename>/usr/</filename>"
- (<filename>/bin</filename> is not a symlink to <filename>/usr/bin</filename>),
- <literal>:<filename>/sbin</filename>:<filename>/bin</filename></literal> is appended. In case of
- the user manager, a different path may be configured by the distribution. It is recommended to
- not rely on the order of entries, and have only one program with a given name in
- <varname>$PATH</varname>.</para></listitem>
+ in the system manager. In case of the user manager, a different path may be configured by the
+ distribution. It is recommended to not rely on the order of entries, and have only one program
+ with a given name in <varname>$PATH</varname>.</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/meson.build b/meson.build
index 395eca1943..26deafd562 100644
--- a/meson.build
+++ b/meson.build
@@ -76,19 +76,6 @@ endif
#####################################################################
fs = import('fs')
-if get_option('split-usr') == 'auto'
- split_usr = not fs.is_symlink('/bin')
-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')
-
if get_option('split-bin') == 'auto'
split_bin = not fs.is_symlink('/usr/sbin')
else
@@ -97,15 +84,6 @@ endif
conf.set10('HAVE_SPLIT_BIN', split_bin,
description : 'bin and sbin directories are separate')
-rootprefixdir = get_option('rootprefix')
-# Unusual rootprefixdir values are used by some distros
-# (see https://github.com/systemd/systemd/pull/7461).
-rootprefix_default = split_usr ? '/' : '/usr'
-if rootprefixdir == ''
- rootprefixdir = rootprefix_default
-endif
-rootprefixdir_noslash = rootprefixdir == '/' ? '' : rootprefixdir
-
have_standalone_binaries = get_option('standalone-binaries')
sysvinit_path = get_option('sysvinit-path')
@@ -129,32 +107,18 @@ prefixdir = get_option('prefix')
if not prefixdir.startswith('/')
error('Prefix is not absolute: "@0@"'.format(prefixdir))
endif
-if prefixdir != rootprefixdir and rootprefixdir != '/' and not prefixdir.strip('/').startswith(rootprefixdir.strip('/') + '/')
- error('Prefix is not below root prefix (now rootprefix=@0@ prefix=@1@)'.format(
- rootprefixdir, prefixdir))
-endif
+prefixdir_noslash = '/' + prefixdir.strip('/')
bindir = prefixdir / get_option('bindir')
+sbindir = prefixdir / (split_bin ? 'sbin' : 'bin')
libdir = prefixdir / get_option('libdir')
sysconfdir = prefixdir / get_option('sysconfdir')
includedir = prefixdir / get_option('includedir')
datadir = prefixdir / get_option('datadir')
localstatedir = '/' / get_option('localstatedir')
-rootbindir = rootprefixdir / 'bin'
-rootsbindir = rootprefixdir / (split_bin ? 'sbin' : 'bin')
-rootlibexecdir = rootprefixdir / 'lib/systemd'
-
-rootlibdir = get_option('rootlibdir')
-if rootlibdir == ''
- # This will be a relative path if libdir is in prefix.
- rootlibdir = get_option('libdir')
-endif
-if not rootlibdir.startswith('/')
- # If we have a relative path, add rootprefixdir to the front.
- rootlibdir = rootprefixdir / rootlibdir
-endif
-rootpkglibdir = rootlibdir / 'systemd'
+libexecdir = prefixdir / 'lib/systemd'
+pkglibdir = libdir / 'systemd'
install_sysconfdir = get_option('install-sysconfdir') != 'false'
install_sysconfdir_samples = get_option('install-sysconfdir') == 'true'
@@ -169,7 +133,7 @@ rpmmacrosdir = get_option('rpmmacrosdir')
if rpmmacrosdir != 'no'
rpmmacrosdir = prefixdir / rpmmacrosdir
endif
-modprobedir = rootprefixdir / 'lib/modprobe.d'
+modprobedir = prefixdir / 'lib/modprobe.d'
# Our own paths
pkgdatadir = datadir / 'systemd'
@@ -183,16 +147,16 @@ sysusersdir = prefixdir / 'lib/sysusers.d'
sysctldir = prefixdir / 'lib/sysctl.d'
binfmtdir = prefixdir / 'lib/binfmt.d'
modulesloaddir = prefixdir / 'lib/modules-load.d'
-networkdir = rootprefixdir / 'lib/systemd/network'
-systemgeneratordir = rootlibexecdir / 'system-generators'
+networkdir = prefixdir / 'lib/systemd/network'
+systemgeneratordir = libexecdir / 'system-generators'
usergeneratordir = prefixdir / 'lib/systemd/user-generators'
systemenvgeneratordir = prefixdir / 'lib/systemd/system-environment-generators'
userenvgeneratordir = prefixdir / 'lib/systemd/user-environment-generators'
-systemshutdowndir = rootlibexecdir / 'system-shutdown'
-systemsleepdir = rootlibexecdir / 'system-sleep'
-systemunitdir = rootprefixdir / 'lib/systemd/system'
-systempresetdir = rootprefixdir / 'lib/systemd/system-preset'
-udevlibexecdir = rootprefixdir / 'lib/udev'
+systemshutdowndir = libexecdir / 'system-shutdown'
+systemsleepdir = libexecdir / 'system-sleep'
+systemunitdir = prefixdir / 'lib/systemd/system'
+systempresetdir = prefixdir / 'lib/systemd/system-preset'
+udevlibexecdir = prefixdir / 'lib/udev'
udevrulesdir = udevlibexecdir / 'rules.d'
udevhwdbdir = udevlibexecdir / 'hwdb.d'
catalogdir = prefixdir / 'lib/systemd/catalog'
@@ -206,8 +170,8 @@ testdata_dir = testsdir / 'testdata'
systemdstatedir = localstatedir / 'lib/systemd'
catalogstatedir = systemdstatedir / 'catalog'
randomseeddir = localstatedir / 'lib/systemd'
-profiledir = rootlibexecdir / 'portable' / 'profile'
-ntpservicelistdir = rootprefixdir / 'lib/systemd/ntp-units.d'
+profiledir = libexecdir / 'portable' / 'profile'
+ntpservicelistdir = prefixdir / 'lib/systemd/ntp-units.d'
credstoredir = prefixdir / 'lib/credstore'
docdir = get_option('docdir')
@@ -217,7 +181,7 @@ endif
pamlibdir = get_option('pamlibdir')
if pamlibdir == ''
- pamlibdir = rootlibdir / 'security'
+ pamlibdir = libdir / 'security'
endif
pamconfdir = get_option('pamconfdir')
@@ -227,7 +191,7 @@ endif
libcryptsetup_plugins_dir = get_option('libcryptsetup-plugins-dir')
if libcryptsetup_plugins_dir == ''
- libcryptsetup_plugins_dir = rootlibdir / 'cryptsetup'
+ libcryptsetup_plugins_dir = libdir / 'cryptsetup'
endif
memory_accounting_default = get_option('memory-accounting-default')
@@ -236,6 +200,7 @@ if status_unit_format_default == 'auto'
status_unit_format_default = conf.get('BUILD_MODE_DEVELOPER') == 1 ? 'name' : 'description'
endif
+conf.set_quoted('BINDIR', bindir)
conf.set_quoted('BINFMT_DIR', binfmtdir)
conf.set_quoted('BOOTLIBDIR', bootlibdir)
conf.set_quoted('CATALOG_DATABASE', catalogstatedir / 'database')
@@ -245,43 +210,40 @@ conf.set_quoted('DOCUMENT_ROOT', pkgdatadir / 'gate
conf.set_quoted('ENVIRONMENT_DIR', environmentdir)
conf.set_quoted('INCLUDE_DIR', includedir)
conf.set_quoted('LIBDIR', libdir)
+conf.set_quoted('LIBEXECDIR', libexecdir)
conf.set_quoted('MODPROBE_DIR', modprobedir)
conf.set_quoted('MODULESLOAD_DIR', modulesloaddir)
conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir)
conf.set_quoted('POLKIT_AGENT_BINARY_PATH', bindir / 'pkttyagent')
conf.set_quoted('PREFIX', prefixdir)
+conf.set_quoted('PREFIX_NOSLASH', prefixdir_noslash)
conf.set_quoted('RANDOM_SEED', randomseeddir / 'random-seed')
conf.set_quoted('RANDOM_SEED_DIR', randomseeddir)
conf.set_quoted('RC_LOCAL_PATH', get_option('rc-local'))
-conf.set_quoted('ROOTBINDIR', rootbindir)
-conf.set_quoted('ROOTLIBDIR', rootlibdir)
-conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir)
-conf.set_quoted('ROOTPREFIX', rootprefixdir)
-conf.set_quoted('ROOTPREFIX_NOSLASH', rootprefixdir_noslash)
conf.set_quoted('SYSCONF_DIR', sysconfdir)
conf.set_quoted('SYSCTL_DIR', sysctldir)
-conf.set_quoted('SYSTEMCTL_BINARY_PATH', rootbindir / 'systemctl')
-conf.set_quoted('SYSTEMD_BINARY_PATH', rootlibexecdir / 'systemd')
+conf.set_quoted('SYSTEMCTL_BINARY_PATH', bindir / 'systemctl')
+conf.set_quoted('SYSTEMD_BINARY_PATH', libexecdir / 'systemd')
conf.set_quoted('SYSTEMD_CATALOG_DIR', catalogdir)
-conf.set_quoted('SYSTEMD_CGROUPS_AGENT_PATH', rootlibexecdir / 'systemd-cgroups-agent')
-conf.set_quoted('SYSTEMD_CRYPTSETUP_PATH', rootlibexecdir / 'systemd-cryptsetup')
-conf.set_quoted('SYSTEMD_EXPORT_PATH', rootlibexecdir / 'systemd-export')
-conf.set_quoted('SYSTEMD_FSCK_PATH', rootlibexecdir / 'systemd-fsck')
-conf.set_quoted('SYSTEMD_GROWFS_PATH', rootlibexecdir / 'systemd-growfs')
-conf.set_quoted('SYSTEMD_HOMEWORK_PATH', rootlibexecdir / 'systemd-homework')
-conf.set_quoted('SYSTEMD_IMPORT_FS_PATH', rootlibexecdir / 'systemd-import-fs')
-conf.set_quoted('SYSTEMD_IMPORT_PATH', rootlibexecdir / 'systemd-import')
-conf.set_quoted('SYSTEMD_INTEGRITYSETUP_PATH', rootlibexecdir / 'systemd-integritysetup')
+conf.set_quoted('SYSTEMD_CGROUPS_AGENT_PATH', libexecdir / 'systemd-cgroups-agent')
+conf.set_quoted('SYSTEMD_CRYPTSETUP_PATH', libexecdir / 'systemd-cryptsetup')
+conf.set_quoted('SYSTEMD_EXPORT_PATH', libexecdir / 'systemd-export')
+conf.set_quoted('SYSTEMD_FSCK_PATH', libexecdir / 'systemd-fsck')
+conf.set_quoted('SYSTEMD_GROWFS_PATH', libexecdir / 'systemd-growfs')
+conf.set_quoted('SYSTEMD_HOMEWORK_PATH', libexecdir / 'systemd-homework')
+conf.set_quoted('SYSTEMD_IMPORT_FS_PATH', libexecdir / 'systemd-import-fs')
+conf.set_quoted('SYSTEMD_IMPORT_PATH', libexecdir / 'systemd-import')
+conf.set_quoted('SYSTEMD_INTEGRITYSETUP_PATH', libexecdir / 'systemd-integritysetup')
conf.set_quoted('SYSTEMD_KBD_MODEL_MAP', pkgdatadir / 'kbd-model-map')
conf.set_quoted('SYSTEMD_LANGUAGE_FALLBACK_MAP', pkgdatadir / 'language-fallback-map')
-conf.set_quoted('SYSTEMD_MAKEFS_PATH', rootlibexecdir / 'systemd-makefs')
-conf.set_quoted('SYSTEMD_PULL_PATH', rootlibexecdir / 'systemd-pull')
-conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', rootlibexecdir / 'systemd-shutdown')
+conf.set_quoted('SYSTEMD_MAKEFS_PATH', libexecdir / 'systemd-makefs')
+conf.set_quoted('SYSTEMD_PULL_PATH', libexecdir / 'systemd-pull')
+conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', libexecdir / 'systemd-shutdown')
conf.set_quoted('SYSTEMD_TEST_DATA', testdata_dir)
-conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', rootbindir / 'systemd-tty-ask-password-agent')
-conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', rootlibexecdir / 'systemd-update-helper')
-conf.set_quoted('SYSTEMD_USERWORK_PATH', rootlibexecdir / 'systemd-userwork')
-conf.set_quoted('SYSTEMD_VERITYSETUP_PATH', rootlibexecdir / 'systemd-veritysetup')
+conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', bindir / 'systemd-tty-ask-password-agent')
+conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', libexecdir / 'systemd-update-helper')
+conf.set_quoted('SYSTEMD_USERWORK_PATH', libexecdir / 'systemd-userwork')
+conf.set_quoted('SYSTEMD_VERITYSETUP_PATH', libexecdir / 'systemd-veritysetup')
conf.set_quoted('SYSTEM_CONFIG_UNIT_DIR', pkgsysconfdir / 'system')
conf.set_quoted('SYSTEM_DATA_UNIT_DIR', systemunitdir)
conf.set_quoted('SYSTEM_ENV_GENERATOR_DIR', systemenvgeneratordir)
@@ -303,7 +265,7 @@ conf.set_quoted('USER_ENV_GENERATOR_DIR', userenvgeneratordi
conf.set_quoted('USER_GENERATOR_DIR', usergeneratordir)
conf.set_quoted('USER_KEYRING_PATH', pkgsysconfdir / 'import-pubring.gpg')
conf.set_quoted('USER_PRESET_DIR', userpresetdir)
-conf.set_quoted('VENDOR_KEYRING_PATH', rootlibexecdir / 'import-pubring.gpg')
+conf.set_quoted('VENDOR_KEYRING_PATH', libexecdir / 'import-pubring.gpg')
conf.set('ANSI_OK_COLOR', 'ANSI_' + get_option('ok-color').underscorify().to_upper())
conf.set10('ENABLE_URLIFY', get_option('urlify'))
@@ -2261,7 +2223,7 @@ libsystemd = shared_library(
link_depends : libsystemd_sym,
install : true,
install_tag: 'libsystemd',
- install_dir : rootlibdir)
+ install_dir : libdir)
alias_target('libsystemd', libsystemd)
@@ -2276,7 +2238,7 @@ install_libsystemd_static = static_library(
build_by_default : static_libsystemd != 'false',
install : static_libsystemd != 'false',
install_tag: 'libsystemd',
- install_dir : rootlibdir,
+ install_dir : libdir,
pic : static_libsystemd_pic,
dependencies : [libblkid,
libcap,
@@ -2306,7 +2268,7 @@ libudev = shared_library(
link_depends : libudev_sym,
install : true,
install_tag: 'libudev',
- install_dir : rootlibdir)
+ install_dir : libdir)
alias_target('libudev', libudev)
@@ -2321,7 +2283,7 @@ install_libudev_static = static_library(
build_by_default : static_libudev != 'false',
install : static_libudev != 'false',
install_tag: 'libudev',
- install_dir : rootlibdir,
+ install_dir : libdir,
link_depends : libudev_sym,
dependencies : [libmount,
libshared_deps,
@@ -2345,7 +2307,7 @@ if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1
userspace,
versiondep],
link_depends : cryptsetup_token_sym,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : libcryptsetup_plugins_dir)
endif
@@ -2364,7 +2326,7 @@ if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1
userspace,
versiondep],
link_depends : cryptsetup_token_sym,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : libcryptsetup_plugins_dir)
endif
@@ -2383,7 +2345,7 @@ if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1
userspace,
versiondep],
link_depends : cryptsetup_token_sym,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : libcryptsetup_plugins_dir)
endif
@@ -2493,13 +2455,13 @@ foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'],
link_depends : sym,
install : true,
install_tag : 'nss',
- install_dir : rootlibdir)
+ install_dir : libdir)
# We cannot use shared_module because it does not support version suffix.
# Unfortunately shared_library insists on creating the symlink…
meson.add_install_script('sh', '-c',
'rm $DESTDIR@0@/libnss_@1@.so'
- .format(rootlibdir, module),
+ .format(libdir, module),
install_tag : 'nss'
)
@@ -2524,15 +2486,15 @@ exe = executable(
dependencies : [libseccomp,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
dbus_programs += exe
public_programs += exe
meson.add_install_script(meson_make_symlink,
- rootlibexecdir / 'systemd',
- rootsbindir / 'init')
+ libexecdir / 'systemd',
+ sbindir / 'init')
exe = executable(
'systemd-analyze',
@@ -2543,7 +2505,7 @@ exe = executable(
dependencies : [libseccomp,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : conf.get('ENABLE_ANALYZE') == 1)
if conf.get('ENABLE_ANALYZE') == 1
public_programs += exe
@@ -2568,9 +2530,9 @@ executable(
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'systemd-cat',
@@ -2581,7 +2543,7 @@ public_programs += executable(
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
if get_option('link-journalctl-shared')
@@ -2604,9 +2566,8 @@ public_programs += executable(
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
executable(
'systemd-getty-generator',
@@ -2614,7 +2575,7 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -2624,7 +2585,7 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -2634,7 +2595,7 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -2644,13 +2605,13 @@ exe = executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
meson.add_install_script(meson_make_symlink,
systemgeneratordir / 'systemd-fstab-generator',
- rootlibexecdir / 'systemd-sysroot-fstab-check')
+ libexecdir / 'systemd-sysroot-fstab-check')
if want_tests != 'false'
test('test-fstab-generator',
@@ -2668,7 +2629,7 @@ if conf.get('ENABLE_ENVIRONMENT_D') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : userenvgeneratordir)
@@ -2684,7 +2645,7 @@ if conf.get('ENABLE_HIBERNATE') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -2694,9 +2655,9 @@ if conf.get('ENABLE_HIBERNATE') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('HAVE_BLKID') == 1
@@ -2707,7 +2668,7 @@ if conf.get('HAVE_BLKID') == 1
link_with : [libshared],
dependencies : [libblkid,
userspace],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -2718,12 +2679,12 @@ if conf.get('HAVE_BLKID') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
meson.add_install_script(meson_make_symlink,
bindir / 'systemd-dissect',
- rootsbindir / 'mount.ddi')
+ sbindir / 'mount.ddi')
endif
if conf.get('ENABLE_RESOLVE') == 1
@@ -2736,9 +2697,9 @@ if conf.get('ENABLE_RESOLVE') == 1
libsystemd_resolve_core],
dependencies : [systemd_resolved_dependencies,
userspace],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'resolvectl',
@@ -2753,12 +2714,12 @@ if conf.get('ENABLE_RESOLVE') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
meson.add_install_script(meson_make_symlink,
bindir / 'resolvectl',
- rootsbindir / 'resolvconf')
+ sbindir / 'resolvconf')
meson.add_install_script(meson_make_symlink,
bindir / 'resolvectl',
@@ -2776,9 +2737,9 @@ if conf.get('ENABLE_LOGIND') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'loginctl',
@@ -2791,9 +2752,8 @@ if conf.get('ENABLE_LOGIND') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += executable(
'systemd-inhibit',
@@ -2802,9 +2762,8 @@ if conf.get('ENABLE_LOGIND') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
if conf.get('HAVE_PAM') == 1
version_script_arg = project_source_root / pam_systemd_sym
@@ -2842,9 +2801,9 @@ if conf.get('ENABLE_LOGIND') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('HAVE_PAM') == 1
@@ -2854,9 +2813,9 @@ if conf.get('HAVE_PAM') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1
@@ -2874,7 +2833,7 @@ if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1
dependencies : [libblkid,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += exe
@@ -2893,9 +2852,9 @@ if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1
dependencies : [libblkid,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-bless-boot-generator',
@@ -2903,7 +2862,7 @@ if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1
include_directories : includes,
link_with : [boot_link_with],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -2916,9 +2875,9 @@ if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1
dependencies : [libopenssl,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-pcrphase',
'src/boot/pcrphase.c',
@@ -2929,9 +2888,9 @@ if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1
tpm2,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
endif
@@ -2943,9 +2902,9 @@ executable(
dependencies : [libblkid,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'systemd-socket-activate',
@@ -2955,7 +2914,7 @@ public_programs += executable(
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
systemctl = executable(
@@ -2971,9 +2930,8 @@ systemctl = executable(
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += systemctl
if conf.get('ENABLE_PORTABLED') == 1
@@ -2993,9 +2951,9 @@ if conf.get('ENABLE_PORTABLED') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'portablectl',
@@ -3005,9 +2963,8 @@ if conf.get('ENABLE_PORTABLED') == 1
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
endif
if conf.get('ENABLE_SYSEXT') == 1
@@ -3018,9 +2975,8 @@ if conf.get('ENABLE_SYSEXT') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
endif
if conf.get('ENABLE_USERDB') == 1
@@ -3032,9 +2988,9 @@ if conf.get('ENABLE_USERDB') == 1
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-userdbd',
@@ -3044,9 +3000,9 @@ if conf.get('ENABLE_USERDB') == 1
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'userdbctl',
@@ -3056,7 +3012,7 @@ if conf.get('ENABLE_USERDB') == 1
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
endif
@@ -3075,9 +3031,9 @@ if conf.get('ENABLE_HOMED') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
dbus_programs += executable(
'systemd-homed',
@@ -3090,9 +3046,9 @@ if conf.get('ENABLE_HOMED') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'homectl',
@@ -3106,7 +3062,7 @@ if conf.get('ENABLE_HOMED') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
if conf.get('HAVE_PAM') == 1
@@ -3144,13 +3100,13 @@ endif
foreach alias : (['halt', 'poweroff', 'reboot', 'shutdown'] +
(conf.get('HAVE_SYSV_COMPAT') == 1 ? ['runlevel', 'telinit'] : []))
meson.add_install_script(meson_make_symlink,
- rootbindir / 'systemctl',
- rootsbindir / alias)
+ bindir / 'systemctl',
+ sbindir / alias)
endforeach
meson.add_install_script(meson_make_symlink,
- rootbindir / 'udevadm',
- rootlibexecdir / 'systemd-udevd')
+ bindir / 'udevadm',
+ libexecdir / 'systemd-udevd')
if conf.get('ENABLE_BACKLIGHT') == 1
executable(
@@ -3159,9 +3115,9 @@ if conf.get('ENABLE_BACKLIGHT') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_RFKILL') == 1
@@ -3171,9 +3127,9 @@ if conf.get('ENABLE_RFKILL') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
executable(
@@ -3182,7 +3138,7 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -3197,9 +3153,9 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1
libp11kit,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-cryptsetup-generator',
@@ -3207,7 +3163,7 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -3219,9 +3175,9 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1
dependencies : [libcryptsetup,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-veritysetup-generator',
@@ -3230,7 +3186,7 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -3245,7 +3201,7 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1
libp11kit,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
executable(
@@ -3256,9 +3212,9 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1
dependencies : [libcryptsetup,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-integritysetup-generator',
@@ -3266,7 +3222,7 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
endif
@@ -3278,7 +3234,7 @@ if conf.get('HAVE_SYSV_COMPAT') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
@@ -3295,7 +3251,7 @@ if conf.get('HAVE_SYSV_COMPAT') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : systemgeneratordir)
endif
@@ -3307,7 +3263,7 @@ if conf.get('ENABLE_XDG_AUTOSTART') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
install_dir : usergeneratordir)
@@ -3317,9 +3273,9 @@ if conf.get('ENABLE_XDG_AUTOSTART') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_HOSTNAMED') == 1
@@ -3329,9 +3285,9 @@ if conf.get('ENABLE_HOSTNAMED') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'hostnamectl',
@@ -3340,7 +3296,7 @@ if conf.get('ENABLE_HOSTNAMED') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
endif
@@ -3353,9 +3309,9 @@ if conf.get('ENABLE_LOCALED') == 1
dependencies : libxkbcommon_deps +
[userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'localectl',
@@ -3364,7 +3320,7 @@ if conf.get('ENABLE_LOCALED') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
endif
@@ -3375,9 +3331,9 @@ if conf.get('ENABLE_TIMEDATED') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_TIMEDATECTL') == 1
@@ -3385,7 +3341,7 @@ if conf.get('ENABLE_TIMEDATECTL') == 1
'timedatectl',
'src/timedate/timedatectl.c',
include_directories : includes,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
link_with : [libshared],
dependencies : [libm,
userspace,
@@ -3403,9 +3359,9 @@ if conf.get('ENABLE_TIMESYNCD') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-time-wait-sync',
@@ -3413,9 +3369,9 @@ if conf.get('ENABLE_TIMESYNCD') == 1
include_directories : includes,
link_with : [libtimesyncd_core],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_MACHINED') == 1
@@ -3426,9 +3382,9 @@ if conf.get('ENABLE_MACHINED') == 1
link_with : [libmachine_core,
libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'machinectl',
@@ -3441,9 +3397,8 @@ if conf.get('ENABLE_MACHINED') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
endif
if conf.get('ENABLE_IMPORTD') == 1
@@ -3455,9 +3410,9 @@ if conf.get('ENABLE_IMPORTD') == 1
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
systemd_pull = executable(
'systemd-pull',
@@ -3472,9 +3427,9 @@ if conf.get('ENABLE_IMPORTD') == 1
libz,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
systemd_import = executable(
'systemd-import',
@@ -3488,9 +3443,9 @@ if conf.get('ENABLE_IMPORTD') == 1
libz,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
systemd_import_fs = executable(
'systemd-import-fs',
@@ -3500,9 +3455,9 @@ if conf.get('ENABLE_IMPORTD') == 1
lib_import_common],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
systemd_export = executable(
'systemd-export',
@@ -3516,9 +3471,9 @@ if conf.get('ENABLE_IMPORTD') == 1
libz,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += [systemd_pull, systemd_import, systemd_import_fs, systemd_export]
endif
@@ -3537,9 +3492,9 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_LIBCURL') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
@@ -3557,9 +3512,9 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'systemd-journal-gatewayd',
@@ -3574,9 +3529,9 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_COREDUMP') == 1
@@ -3593,9 +3548,9 @@ if conf.get('ENABLE_COREDUMP') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'coredumpctl',
@@ -3609,7 +3564,7 @@ if conf.get('ENABLE_COREDUMP') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
endif
@@ -3626,9 +3581,9 @@ if conf.get('ENABLE_PSTORE') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_OOMD') == 1
@@ -3639,9 +3594,9 @@ if conf.get('ENABLE_OOMD') == 1
dependencies : [libatomic,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'oomctl',
@@ -3650,7 +3605,7 @@ if conf.get('ENABLE_OOMD') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
endif
@@ -3662,9 +3617,9 @@ if conf.get('ENABLE_BINFMT') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
meson.add_install_script('sh', '-c',
mkdir_p.format(binfmtdir))
@@ -3687,9 +3642,9 @@ if conf.get('ENABLE_SYSUPDATE') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += exe
endif
@@ -3700,9 +3655,9 @@ if conf.get('ENABLE_VCONSOLE') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_RANDOMSEED') == 1
@@ -3713,9 +3668,9 @@ if conf.get('ENABLE_RANDOMSEED') == 1
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
if conf.get('ENABLE_FIRSTBOOT') == 1
@@ -3727,9 +3682,8 @@ if conf.get('ENABLE_FIRSTBOOT') == 1
dependencies : [libcrypt,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
endif
executable(
@@ -3739,9 +3693,9 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-machine-id-setup',
@@ -3750,9 +3704,8 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
executable(
'systemd-fsck',
@@ -3761,9 +3714,9 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-growfs',
@@ -3772,9 +3725,9 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-makefs',
@@ -3783,9 +3736,9 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-sleep',
@@ -3794,9 +3747,9 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
if install_sysconfdir_samples
install_data('src/sleep/sleep.conf',
@@ -3810,9 +3763,9 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'systemd-ac-power',
@@ -3821,7 +3774,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += executable(
@@ -3831,7 +3784,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += executable(
@@ -3841,7 +3794,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += executable(
@@ -3851,9 +3804,8 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += executable(
'systemd-notify',
@@ -3862,9 +3814,8 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += executable(
'systemd-creds',
@@ -3875,9 +3826,8 @@ public_programs += executable(
libopenssl,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += executable(
'systemd-battery-check',
@@ -3885,8 +3835,8 @@ public_programs += executable(
include_directories : includes,
link_with : [libshared],
dependencies : [userspace, versiondep],
- install_rpath : rootpkglibdir,
- install_dir : rootlibexecdir,
+ install_rpath : pkglibdir,
+ install_dir : libexecdir,
install : true)
# Protecting files from the distro in /usr doesn't make sense since they can be trivially accessed otherwise,
@@ -3905,9 +3855,9 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : conf.get('ENABLE_INITRD') == 1,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-cgroups-agent',
@@ -3915,9 +3865,9 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
systemd_id128 = executable(
'systemd-id128',
@@ -3926,7 +3876,7 @@ systemd_id128 = executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += systemd_id128
@@ -3945,7 +3895,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += executable(
@@ -3955,9 +3905,8 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
executable(
'systemd-reply-password',
@@ -3965,9 +3914,9 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'systemd-tty-ask-password-agent',
@@ -3976,9 +3925,8 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += executable(
'systemd-cgls',
@@ -3987,7 +3935,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += executable(
@@ -3997,7 +3945,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
executable(
@@ -4006,9 +3954,9 @@ executable(
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : (conf.get('HAVE_SYSV_COMPAT') == 1),
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'systemd-mount',
@@ -4018,7 +3966,7 @@ public_programs += executable(
dependencies: [libmount,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
meson.add_install_script(meson_make_symlink,
@@ -4031,7 +3979,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += executable(
@@ -4041,7 +3989,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
public_programs += executable(
@@ -4051,7 +3999,7 @@ public_programs += executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
if enable_sysusers
@@ -4062,9 +4010,8 @@ if enable_sysusers
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += exe
if want_tests != 'false'
@@ -4086,8 +4033,7 @@ if enable_sysusers
dependencies : [userspace,
versiondep],
build_by_default: have_standalone_binaries,
- install : have_standalone_binaries,
- install_dir : rootbindir)
+ install : have_standalone_binaries)
if have_standalone_binaries
public_programs += exe
@@ -4109,9 +4055,8 @@ if conf.get('ENABLE_TMPFILES') == 1
dependencies : [libacl,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += exe
if want_tests != 'false'
@@ -4134,8 +4079,7 @@ if conf.get('ENABLE_TMPFILES') == 1
userspace,
versiondep],
build_by_default: have_standalone_binaries,
- install : have_standalone_binaries,
- install_dir : rootbindir)
+ install : have_standalone_binaries)
if have_standalone_binaries
public_programs += exe
@@ -4157,8 +4101,7 @@ if conf.get('ENABLE_HWDB') == 1
dependencies : [userspace,
versiondep],
install_rpath : udev_rpath,
- install : true,
- install_dir : rootbindir)
+ install : true)
public_programs += systemd_hwdb
if want_tests != 'false'
@@ -4177,9 +4120,9 @@ if conf.get('ENABLE_QUOTACHECK') == 1
include_directories : includes,
link_with : [libshared],
dependencies : userspace,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
public_programs += executable(
@@ -4190,9 +4133,9 @@ public_programs += executable(
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
udevadm = executable(
'udevadm',
@@ -4207,8 +4150,7 @@ udevadm = executable(
userspace,
versiondep],
install_rpath : udev_rpath,
- install : true,
- install_dir : rootbindir)
+ install : true)
public_programs += udevadm
if want_tests != 'false'
@@ -4231,9 +4173,8 @@ if conf.get('ENABLE_REPART') == 1
threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
public_programs += exe
exe = executable(
@@ -4253,9 +4194,8 @@ if conf.get('ENABLE_REPART') == 1
userspace,
versiondep],
build_by_default: have_standalone_binaries,
- install_rpath : rootpkglibdir,
- install : have_standalone_binaries,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : have_standalone_binaries)
if have_standalone_binaries
public_programs += exe
endif
@@ -4269,9 +4209,9 @@ executable(
dependencies : [libmount,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-shutdown.standalone',
@@ -4285,9 +4225,9 @@ executable(
userspace,
versiondep],
build_by_default: have_standalone_binaries,
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : have_standalone_binaries,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-update-done',
@@ -4296,9 +4236,9 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
executable(
'systemd-update-utmp',
@@ -4308,9 +4248,9 @@ executable(
dependencies : [libaudit,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : (conf.get('ENABLE_UTMP') == 1),
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
if conf.get('HAVE_KMOD') == 1
executable(
@@ -4321,9 +4261,9 @@ if conf.get('HAVE_KMOD') == 1
dependencies : [libkmod,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
meson.add_install_script('sh', '-c',
mkdir_p.format(modulesloaddir))
@@ -4343,7 +4283,7 @@ public_programs += executable(
libseccomp,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true)
if conf.get('ENABLE_NETWORKD') == 1
@@ -4357,9 +4297,9 @@ if conf.get('ENABLE_NETWORKD') == 1
dependencies : [threads,
userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'systemd-networkd-wait-online',
@@ -4368,9 +4308,9 @@ if conf.get('ENABLE_NETWORKD') == 1
link_with : [networkd_link_with],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
public_programs += executable(
'networkctl',
@@ -4380,9 +4320,8 @@ if conf.get('ENABLE_NETWORKD') == 1
networkd_link_with],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : true,
- install_dir : rootbindir)
+ install_rpath : pkglibdir,
+ install : true)
endif
exe = executable(
@@ -4392,9 +4331,9 @@ exe = executable(
link_with : [networkd_link_with],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
if want_tests != 'false'
test('test-network-generator-conversion',
@@ -4411,9 +4350,9 @@ executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : true,
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
kernel_install = executable(
'kernel-install',
@@ -4422,9 +4361,8 @@ kernel_install = executable(
link_with : [libshared],
dependencies : [userspace,
versiondep],
- install_rpath : rootpkglibdir,
- install : want_kernel_install,
- install_dir : bindir)
+ install_rpath : pkglibdir,
+ install : want_kernel_install)
public_programs += kernel_install
ukify = custom_target(
@@ -4434,7 +4372,7 @@ ukify = custom_target(
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install : want_ukify,
install_mode : 'rwxr-xr-x',
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
if want_ukify
public_programs += ukify
endif
@@ -4512,7 +4450,7 @@ foreach test : tests
dependencies : deps,
c_args : [test_cflags, test.get('c_args', [])],
build_by_default : want_tests != 'false',
- install_rpath : rootpkglibdir,
+ install_rpath : pkglibdir,
install : install_tests,
install_dir : unittestsdir / type,
link_depends : runtest_env)
@@ -4873,14 +4811,11 @@ alt_time_epoch = run_command('date', '-Is', '-u', '-d', '@@0@'.format(time_epoch
check : true).stdout().strip()
summary({
- 'split /usr' : split_usr,
'split bin-sbin' : split_bin,
'prefix directory' : prefixdir,
- 'rootprefix directory' : rootprefixdir,
'sysconf directory' : sysconfdir,
'include directory' : includedir,
'lib directory' : libdir,
- 'rootlib directory' : rootlibdir,
'SysV init scripts' : sysvinit_path,
'SysV rc?.d directories' : sysvrcnd_path,
'PAM modules directory' : pamlibdir,
@@ -5107,10 +5042,3 @@ summary({
'enabled' : ', '.join(found),
'disabled' : ', '.join(missing)},
section : 'Features')
-
-if rootprefixdir != rootprefix_default
- warning('\n' +
- 'Note that the installation prefix was changed to "@0@".\n'.format(rootprefixdir) +
- 'systemd used fixed names for unit file directories and other paths, so anything\n' +
- 'except the default ("@0@") is strongly discouraged.'.format(rootprefix_default))
-endif
diff --git a/meson_options.txt b/meson_options.txt
index 1909323850..8d845f0441 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -9,14 +9,14 @@ option('shared-lib-tag', type : 'string',
option('mode', type : 'combo', choices : ['developer', 'release'],
description : 'autoenable features suitable for systemd development/release builds')
-option('split-usr', type : 'combo', choices : ['auto', 'true', 'false'],
- description : '''/bin, /sbin aren't symlinks into /usr''')
+option('split-usr', type : 'combo', choices : ['auto', 'true', 'false'], deprecated: true,
+ description : '''This option is deprecated and will be removed in a future release''')
option('split-bin', type : 'combo', choices : ['auto', 'true', 'false'],
description : '''sbin is not a symlink to bin''')
-option('rootlibdir', type : 'string',
- description : '''[/usr]/lib/x86_64-linux-gnu or such''')
-option('rootprefix', type : 'string',
- description : '''override the root prefix [default '/' if split-usr and '/usr' otherwise]''')
+option('rootlibdir', type : 'string', deprecated: true,
+ description : '''This option is deprecated and will be removed in a future release''')
+option('rootprefix', type : 'string', deprecated: true,
+ description : '''This option is deprecated and will be removed in a future release''')
option('link-udev-shared', type : 'boolean',
description : 'link systemd-udevd and its helpers to libsystemd-shared.so')
option('link-systemctl-shared', type: 'boolean',
@@ -69,7 +69,7 @@ option('loadkeys-path', type : 'string', description : 'path to loadkeys')
option('setfont-path', type : 'string', description : 'path to setfont')
option('nologin-path', type : 'string', description : 'path to nologin')
-option('debug-shell', type : 'string', value : '/bin/sh',
+option('debug-shell', type : 'string', value : '/usr/bin/sh',
description : 'path to debug shell binary')
option('debug-tty', type : 'string', value : '/dev/tty9',
description : 'specify the tty device for debug shell')
@@ -228,7 +228,7 @@ option('time-epoch', type : 'integer', value : 0,
description : 'time epoch for time clients')
option('clock-valid-range-usec-max', type : 'integer', value : 473364000000000, # 15 years
description : 'maximum value in microseconds for the difference between RTC and epoch, exceeding which is considered an RTC error ["0" disables]')
-option('default-user-shell', type : 'string', value : '/bin/bash',
+option('default-user-shell', type : 'string', value : '/usr/bin/bash',
description : 'default interactive shell')
option('system-alloc-uid-min', type : 'integer', value : 0,
diff --git a/mkosi.presets/00-base/mkosi.build b/mkosi.presets/00-base/mkosi.build
index b1b8281d80..da2b600fae 100755
--- a/mkosi.presets/00-base/mkosi.build
+++ b/mkosi.presets/00-base/mkosi.build
@@ -40,14 +40,6 @@ fi
if [ ! -f "$BUILDDIR"/build.ninja ]; then
sysvinit_path=$(realpath /etc/init.d)
- init_path=$(realpath /sbin/init 2>/dev/null)
- if [ -z "$init_path" ]; then
- rootprefix=""
- else
- rootprefix=${init_path%/lib/systemd/systemd}
- rootprefix=/${rootprefix#/}
- fi
-
. /etc/os-release
if [ "$ID" = "centos" ] && [ "$VERSION" = "8" ]; then
UKIFY=false
@@ -64,7 +56,6 @@ if [ ! -f "$BUILDDIR"/build.ninja ]; then
CONFIGURE_OPTS=(
-D sysvinit-path="$sysvinit_path"
- -D rootprefix="$rootprefix"
-D man=false
-D translations=false
-D version-tag="${VERSION_TAG}"
@@ -164,7 +155,7 @@ if [ ! -f "$BUILDDIR"/build.ninja ]; then
# installed in the wrong directory and not be found by cryptsetup. Assume native build.
if grep -q -e "ID=debian" -e "ID_LIKE=debian" /etc/os-release && command -v dpkg 2>/dev/null; then
CONFIGURE_OPTS+=(
- -D rootlibdir="/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
+ -D libdir="/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
-D pamlibdir="/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/security"
)
fi
diff --git a/rules.d/64-btrfs.rules.in b/rules.d/64-btrfs.rules.in
index df6e12a5dd..039d759f62 100644
--- a/rules.d/64-btrfs.rules.in
+++ b/rules.d/64-btrfs.rules.in
@@ -12,6 +12,6 @@ IMPORT{builtin}="btrfs ready $devnode"
ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0"
# reconsider pending devices in case when multidevice volume awaits
-ENV{ID_BTRFS_READY}=="1", RUN+="{{ROOTBINDIR}}/udevadm trigger -s block -p ID_BTRFS_READY=0"
+ENV{ID_BTRFS_READY}=="1", RUN+="{{BINDIR}}/udevadm trigger -s block -p ID_BTRFS_READY=0"
LABEL="btrfs_end"
diff --git a/rules.d/71-seat.rules.in b/rules.d/71-seat.rules.in
index 25e4ee7e58..1fd7ec23b0 100644
--- a/rules.d/71-seat.rules.in
+++ b/rules.d/71-seat.rules.in
@@ -71,11 +71,11 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}
SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}=="mimo inc", \
ATTR{../idVendor}=="058f", ATTR{../idProduct}=="6254", \
ENV{ID_AVOID_LOOP}=="", \
- RUN+="{{ROOTBINDIR}}/udevadm trigger --parent-match=%p/.."
+ RUN+="{{BINDIR}}/udevadm trigger --parent-match=%p/.."
TAG=="seat", ENV{ID_PATH}=="", IMPORT{builtin}="path_id"
TAG=="seat", ENV{ID_FOR_SEAT}=="", ENV{ID_PATH_TAG}!="", ENV{ID_FOR_SEAT}="$env{SUBSYSTEM}-$env{ID_PATH_TAG}"
-SUBSYSTEM=="input", ATTR{name}=="Wiebetech LLC Wiebetech", RUN+="{{ROOTBINDIR}}/loginctl lock-sessions"
+SUBSYSTEM=="input", ATTR{name}=="Wiebetech LLC Wiebetech", RUN+="{{BINDIR}}/loginctl lock-sessions"
LABEL="seat_end"
diff --git a/rules.d/99-systemd.rules.in b/rules.d/99-systemd.rules.in
index c0defc31de..b5a2b6aaea 100644
--- a/rules.d/99-systemd.rules.in
+++ b/rules.d/99-systemd.rules.in
@@ -63,7 +63,7 @@ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:
SUBSYSTEM=="udc", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="usb-gadget.target"
# Apply sysctl variables to network devices (and only to those) as they appear.
-ACTION=="add", SUBSYSTEM=="net", KERNEL!="lo", RUN+="{{ROOTLIBEXECDIR}}/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name"
+ACTION=="add", SUBSYSTEM=="net", KERNEL!="lo", RUN+="{{LIBEXECDIR}}/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name"
{% if ENABLE_BACKLIGHT %}
# Pull in backlight save/restore for all backlight devices and
diff --git a/shell-completion/bash/systemctl.in b/shell-completion/bash/systemctl.in
index 480b3b5ae1..9c730846fc 100644
--- a/shell-completion/bash/systemctl.in
+++ b/shell-completion/bash/systemctl.in
@@ -11,7 +11,7 @@ __systemctl() {
}
__systemd_properties() {
- {{ROOTLIBEXECDIR}}/systemd --dump-bus-properties
+ {{LIBEXECDIR}}/systemd --dump-bus-properties
}
__contains_word () {
diff --git a/shell-completion/zsh/_systemctl.in b/shell-completion/zsh/_systemctl.in
index 7ce7c4c015..06a4be6b33 100644
--- a/shell-completion/zsh/_systemctl.in
+++ b/shell-completion/zsh/_systemctl.in
@@ -454,7 +454,7 @@ done
(( $+functions[_systemctl_unit_properties] )) ||
_systemctl_unit_properties() {
- local -a _sys_all_properties=( ${(f)"$({{ROOTLIBEXECDIR}}/systemd --no-pager --dump-bus-properties 2>/dev/null)"} )
+ local -a _sys_all_properties=( ${(f)"$({{LIBEXECDIR}}/systemd --no-pager --dump-bus-properties 2>/dev/null)"} )
_wanted systemd-unit-properties expl 'unit property' \
_values -s , "${_sys_all_properties[@]}"
}
diff --git a/src/basic/constants.h b/src/basic/constants.h
index 3f96786da9..20bb4243c6 100644
--- a/src/basic/constants.h
+++ b/src/basic/constants.h
@@ -59,22 +59,13 @@
#define NOTIFY_FD_MAX 768
#define NOTIFY_BUFFER_MAX PIPE_BUF
-#if HAVE_SPLIT_USR
-# define _CONF_PATHS_SPLIT_USR_NULSTR(n) "/lib/" n "\0"
-# define _CONF_PATHS_SPLIT_USR(n) , "/lib/" n
-#else
-# define _CONF_PATHS_SPLIT_USR_NULSTR(n)
-# define _CONF_PATHS_SPLIT_USR(n)
-#endif
-
/* Return a nulstr for a standard cascade of configuration paths, suitable to pass to
* conf_files_list_nulstr() to implement drop-in directories for extending configuration files. */
#define CONF_PATHS_NULSTR(n) \
"/etc/" n "\0" \
"/run/" n "\0" \
"/usr/local/lib/" n "\0" \
- "/usr/lib/" n "\0" \
- _CONF_PATHS_SPLIT_USR_NULSTR(n)
+ "/usr/lib/" n "\0"
#define CONF_PATHS_USR(n) \
"/etc/" n, \
@@ -83,8 +74,7 @@
"/usr/lib/" n
#define CONF_PATHS(n) \
- CONF_PATHS_USR(n) \
- _CONF_PATHS_SPLIT_USR(n)
+ CONF_PATHS_USR(n)
#define CONF_PATHS_USR_STRV(n) \
STRV_MAKE(CONF_PATHS_USR(n))
diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
index 7d158a8295..4e3d59fc56 100644
--- a/src/basic/path-lookup.c
+++ b/src/basic/path-lookup.c
@@ -530,10 +530,6 @@ int lookup_paths_init(
assert(scope >= 0);
assert(scope < _RUNTIME_SCOPE_MAX);
-#if HAVE_SPLIT_USR
- flags |= LOOKUP_PATHS_SPLIT_USR;
-#endif
-
if (!empty_or_root(root_dir)) {
if (scope == RUNTIME_SCOPE_USER)
return -EINVAL;
@@ -625,6 +621,7 @@ int lookup_paths_init(
"/usr/local/lib/systemd/system",
SYSTEM_DATA_UNIT_DIR,
"/usr/lib/systemd/system",
+ /* To be used ONLY for images which might be legacy split-usr */
STRV_IFNOTNULL(flags & LOOKUP_PATHS_SPLIT_USR ? "/lib/systemd/system" : NULL),
STRV_IFNOTNULL(generator_late));
break;
diff --git a/src/basic/path-lookup.h b/src/basic/path-lookup.h
index 6d6163fb9d..1601787064 100644
--- a/src/basic/path-lookup.h
+++ b/src/basic/path-lookup.h
@@ -10,7 +10,7 @@
typedef enum LookupPathsFlags {
LOOKUP_PATHS_EXCLUDE_GENERATED = 1 << 0,
LOOKUP_PATHS_TEMPORARY_GENERATED = 1 << 1,
- LOOKUP_PATHS_SPLIT_USR = 1 << 2,
+ LOOKUP_PATHS_SPLIT_USR = 1 << 2, /* Legacy, use ONLY for image payloads which might be old */
} LookupPathsFlags;
typedef struct LookupPaths {
diff --git a/src/basic/path-util.h b/src/basic/path-util.h
index 97175bee11..038cd8226d 100644
--- a/src/basic/path-util.h
+++ b/src/basic/path-util.h
@@ -25,20 +25,10 @@
# define PATH_SBIN_BIN_NULSTR(x) PATH_NORMAL_SBIN_BIN_NULSTR(x)
#endif
-#define DEFAULT_PATH_NORMAL PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/")
-#define DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/usr/local/") PATH_SBIN_BIN_NULSTR("/usr/")
-#define DEFAULT_PATH_SPLIT_USR DEFAULT_PATH_NORMAL ":" PATH_SBIN_BIN("/")
-#define DEFAULT_PATH_SPLIT_USR_NULSTR DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/")
+#define DEFAULT_PATH PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/")
+#define DEFAULT_PATH_NULSTR PATH_SBIN_BIN_NULSTR("/usr/local/") PATH_SBIN_BIN_NULSTR("/usr/")
#define DEFAULT_PATH_COMPAT PATH_SPLIT_SBIN_BIN("/usr/local/") ":" PATH_SPLIT_SBIN_BIN("/usr/") ":" PATH_SPLIT_SBIN_BIN("/")
-#if HAVE_SPLIT_USR
-# define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
-# define DEFAULT_PATH_NULSTR DEFAULT_PATH_SPLIT_USR_NULSTR
-#else
-# define DEFAULT_PATH DEFAULT_PATH_NORMAL
-# define DEFAULT_PATH_NULSTR DEFAULT_PATH_NORMAL_NULSTR
-#endif
-
#ifndef DEFAULT_USER_PATH
# define DEFAULT_USER_PATH DEFAULT_PATH
#endif
diff --git a/src/core/manager-serialize.c b/src/core/manager-serialize.c
index c2b6fc1db6..f4ad9b0642 100644
--- a/src/core/manager-serialize.c
+++ b/src/core/manager-serialize.c
@@ -101,7 +101,6 @@ int manager_serialize(
(void) serialize_item_format(f, "current-job-id", "%" PRIu32, m->current_job_id);
(void) serialize_item_format(f, "n-installed-jobs", "%u", m->n_installed_jobs);
(void) serialize_item_format(f, "n-failed-jobs", "%u", m->n_failed_jobs);
- (void) serialize_bool(f, "taint-usr", m->taint_usr);
(void) serialize_bool(f, "ready-sent", m->ready_sent);
(void) serialize_bool(f, "taint-logged", m->taint_logged);
(void) serialize_bool(f, "service-watchdogs", m->service_watchdogs);
@@ -376,15 +375,6 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
else
m->n_failed_jobs += n;
- } else if ((val = startswith(l, "taint-usr="))) {
- int b;
-
- b = parse_boolean(val);
- if (b < 0)
- log_notice("Failed to parse taint /usr flag '%s', ignoring.", val);
- else
- m->taint_usr = m->taint_usr || b;
-
} else if ((val = startswith(l, "ready-sent="))) {
int b;
diff --git a/src/core/manager.c b/src/core/manager.c
index 22ec6e79b1..b7af159449 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1036,10 +1036,6 @@ int manager_new(RuntimeScope runtime_scope, ManagerTestRunFlags test_run_flags,
return r;
}
- m->taint_usr =
- !in_initrd() &&
- dir_is_empty("/usr", /* ignore_hidden_or_backup= */ false) > 0;
-
/* Note that we do not set up the notify fd here. We do that after deserialization,
* since they might have gotten serialized across the reexec. */
@@ -4739,12 +4735,9 @@ char* manager_taint_string(const Manager *m) {
assert(m);
- const char* stage[13] = {};
+ 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";
diff --git a/src/core/manager.h b/src/core/manager.h
index a6c87dc852..3842c3f003 100644
--- a/src/core/manager.h
+++ b/src/core/manager.h
@@ -330,8 +330,6 @@ struct Manager {
/* Flags */
bool dispatching_load_queue;
- bool taint_usr;
-
/* Have we already sent out the READY=1 notification? */
bool ready_sent;
diff --git a/src/core/meson.build b/src/core/meson.build
index 91477afc9c..81dab61f82 100644
--- a/src/core/meson.build
+++ b/src/core/meson.build
@@ -133,7 +133,7 @@ libcore = shared_library(
userspace,
versiondep],
install : true,
- install_dir : rootpkglibdir)
+ install_dir : pkglibdir)
core_includes = [includes, include_directories('.')]
diff --git a/src/core/namespace.c b/src/core/namespace.c
index 850454944e..5d353520be 100644
--- a/src/core/namespace.c
+++ b/src/core/namespace.c
@@ -138,9 +138,6 @@ static const MountEntry protect_kernel_tunables_sys_table[] = {
/* ProtectKernelModules= option */
static const MountEntry protect_kernel_modules_table[] = {
-#if HAVE_SPLIT_USR
- { "/lib/modules", INACCESSIBLE, true },
-#endif
{ "/usr/lib/modules", INACCESSIBLE, true },
};
@@ -182,14 +179,6 @@ static const MountEntry protect_system_yes_table[] = {
{ "/usr", READONLY, false },
{ "/boot", READONLY, true },
{ "/efi", READONLY, true },
-#if HAVE_SPLIT_USR
- { "/lib", READONLY, true },
- { "/lib64", READONLY, true },
- { "/bin", READONLY, true },
-# if HAVE_SPLIT_BIN
- { "/sbin", READONLY, true },
-# endif
-#endif
};
/* ProtectSystem=full includes ProtectSystem=yes */
@@ -198,14 +187,6 @@ static const MountEntry protect_system_full_table[] = {
{ "/boot", READONLY, true },
{ "/efi", READONLY, true },
{ "/etc", READONLY, false },
-#if HAVE_SPLIT_USR
- { "/lib", READONLY, true },
- { "/lib64", READONLY, true },
- { "/bin", READONLY, true },
-# if HAVE_SPLIT_BIN
- { "/sbin", READONLY, true },
-# endif
-#endif
};
/*
diff --git a/src/core/org.freedesktop.systemd1.policy.in b/src/core/org.freedesktop.systemd1.policy.in
index 9e9a20f66f..0083e0b585 100644
--- a/src/core/org.freedesktop.systemd1.policy.in
+++ b/src/core/org.freedesktop.systemd1.policy.in
@@ -26,7 +26,7 @@
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
- <annotate key="org.freedesktop.policykit.exec.path">{{ROOTLIBEXECDIR}}/systemd-reply-password</annotate>
+ <annotate key="org.freedesktop.policykit.exec.path">{{LIBEXECDIR}}/systemd-reply-password</annotate>
</action>
<action id="org.freedesktop.systemd1.manage-units">
diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
index 693433b34b..6cca2fad9a 100644
--- a/src/core/systemd.pc.in
+++ b/src/core/systemd.pc.in
@@ -11,19 +11,19 @@
# considered deprecated (though there is no plan to remove them). New names
# shall have underscores.
-prefix=/usr
-root_prefix={{ROOTPREFIX_NOSLASH}}
-rootprefix=${root_prefix}
+prefix={{PREFIX_NOSLASH}}
+root_prefix=${prefix}
+rootprefix=${prefix}
sysconf_dir={{SYSCONF_DIR}}
sysconfdir=${sysconf_dir}
-systemd_util_dir=${root_prefix}/lib/systemd
+systemd_util_dir=${prefix}/lib/systemd
systemdutildir=${systemd_util_dir}
-systemd_system_unit_dir=${rootprefix}/lib/systemd/system
+systemd_system_unit_dir=${prefix}/lib/systemd/system
systemdsystemunitdir=${systemd_system_unit_dir}
-systemd_system_preset_dir=${rootprefix}/lib/systemd/system-preset
+systemd_system_preset_dir=${prefix}/lib/systemd/system-preset
systemdsystempresetdir=${systemd_system_preset_dir}
systemd_user_unit_dir=${prefix}/lib/systemd/user
@@ -44,7 +44,7 @@ systemdsystemunitpath=${systemd_system_unit_path}
systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemd_user_unit_dir}:/usr/lib/systemd/user:/usr/share/systemd/user
systemduserunitpath=${systemd_user_unit_path}
-systemd_system_generator_dir=${root_prefix}/lib/systemd/system-generators
+systemd_system_generator_dir=${prefix}/lib/systemd/system-generators
systemdsystemgeneratordir=${systemd_system_generator_dir}
systemd_user_generator_dir=${prefix}/lib/systemd/user-generators
@@ -56,10 +56,10 @@ systemdsystemgeneratorpath=${systemd_system_generator_path}
systemd_user_generator_path=/run/systemd/user-generators:/etc/systemd/user-generators:/usr/local/lib/systemd/user-generators:${systemd_user_generator_dir}
systemdusergeneratorpath=${systemd_user_generator_path}
-systemd_sleep_dir=${root_prefix}/lib/systemd/system-sleep
+systemd_sleep_dir=${prefix}/lib/systemd/system-sleep
systemdsleepdir=${systemd_sleep_dir}
-systemd_shutdown_dir=${root_prefix}/lib/systemd/system-shutdown
+systemd_shutdown_dir=${prefix}/lib/systemd/system-shutdown
systemdshutdowndir=${systemd_shutdown_dir}
tmpfiles_dir=${prefix}/lib/tmpfiles.d
@@ -67,16 +67,16 @@ tmpfilesdir=${tmpfiles_dir}
user_tmpfiles_dir=${prefix}/share/user-tmpfiles.d
-sysusers_dir=${rootprefix}/lib/sysusers.d
+sysusers_dir=${prefix}/lib/sysusers.d
sysusersdir=${sysusers_dir}
-sysctl_dir=${rootprefix}/lib/sysctl.d
+sysctl_dir=${prefix}/lib/sysctl.d
sysctldir=${sysctl_dir}
-binfmt_dir=${rootprefix}/lib/binfmt.d
+binfmt_dir=${prefix}/lib/binfmt.d
binfmtdir=${binfmt_dir}
-modules_load_dir=${rootprefix}/lib/modules-load.d
+modules_load_dir=${prefix}/lib/modules-load.d
modulesloaddir=${modules_load_dir}
catalog_dir=${prefix}/lib/systemd/catalog
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index 702b2615e2..2caf15fa49 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
@@ -533,13 +533,13 @@ static int create_disk(
}
fprintf(f,
- "ExecStartPost=" ROOTLIBEXECDIR "/systemd-makefs '%s' '/dev/mapper/%s'\n",
+ "ExecStartPost=" LIBEXECDIR "/systemd-makefs '%s' '/dev/mapper/%s'\n",
tmp_fstype_escaped ?: "ext4", name_escaped);
}
if (swap)
fprintf(f,
- "ExecStartPost=" ROOTLIBEXECDIR "/systemd-makefs swap '/dev/mapper/%s'\n",
+ "ExecStartPost=" LIBEXECDIR "/systemd-makefs swap '/dev/mapper/%s'\n",
name_escaped);
r = fflush_and_check(f);
diff --git a/src/delta/delta.c b/src/delta/delta.c
index eee2111aba..beca7ea975 100644
--- a/src/delta/delta.c
+++ b/src/delta/delta.c
@@ -35,9 +35,6 @@ static const char prefixes[] =
"/usr/local/share\0"
"/usr/lib\0"
"/usr/share\0"
-#if HAVE_SPLIT_USR
- "/lib\0"
-#endif
;
static const char suffixes[] =
@@ -368,36 +365,6 @@ static int enumerate_dir(
return 0;
}
-static int should_skip_path(const char *prefix, const char *suffix) {
-#if HAVE_SPLIT_USR
- _cleanup_free_ char *target = NULL, *dirname = NULL;
-
- dirname = path_join(prefix, suffix);
- if (!dirname)
- return -ENOMEM;
-
- if (chase(dirname, NULL, 0, &target, NULL) < 0)
- return false;
-
- NULSTR_FOREACH(p, prefixes) {
- _cleanup_free_ char *tmp = NULL;
-
- if (path_startswith(dirname, p))
- continue;
-
- tmp = path_join(p, suffix);
- if (!tmp)
- return -ENOMEM;
-
- if (path_equal(target, tmp)) {
- log_debug("%s redirects to %s, skipping.", dirname, target);
- return true;
- }
- }
-#endif
- return false;
-}
-
static int process_suffix(const char *suffix, const char *onlyprefix) {
char *f, *key;
OrderedHashmap *top, *bottom, *drops, *h;
@@ -421,9 +388,6 @@ static int process_suffix(const char *suffix, const char *onlyprefix) {
NULSTR_FOREACH(p, prefixes) {
_cleanup_free_ char *t = NULL;
- if (should_skip_path(p, suffix) > 0)
- continue;
-
t = path_join(p, suffix);
if (!t) {
r = -ENOMEM;
diff --git a/src/hibernate-resume/hibernate-resume-generator.c b/src/hibernate-resume/hibernate-resume-generator.c
index 23c1a0a3c8..68916628ed 100644
--- a/src/hibernate-resume/hibernate-resume-generator.c
+++ b/src/hibernate-resume/hibernate-resume-generator.c
@@ -231,7 +231,7 @@ static int process_resume(void) {
"\n"
"[Service]\n"
"Type=oneshot\n"
- "ExecStart=" ROOTLIBEXECDIR "/systemd-hibernate-resume %2$s %3$" PRIu64 "\n",
+ "ExecStart=" LIBEXECDIR "/systemd-hibernate-resume %2$s %3$" PRIu64 "\n",
device_unit,
arg_resume_device,
arg_resume_offset);
diff --git a/src/import/meson.build b/src/import/meson.build
index ffebeebacd..488855bf78 100644
--- a/src/import/meson.build
+++ b/src/import/meson.build
@@ -48,7 +48,7 @@ if conf.get('ENABLE_IMPORTD') == 1
install_dir : polkitpolicydir)
install_data('import-pubring.gpg',
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
# TODO: shouldn't this be in pkgdatadir?
endif
diff --git a/src/integritysetup/integritysetup-generator.c b/src/integritysetup/integritysetup-generator.c
index 5df6d81a84..05154908ae 100644
--- a/src/integritysetup/integritysetup-generator.c
+++ b/src/integritysetup/integritysetup-generator.c
@@ -101,8 +101,8 @@ static int create_disk(
"Type=oneshot\n"
"RemainAfterExit=yes\n"
"TimeoutSec=infinity\n"
- "ExecStart=" ROOTLIBEXECDIR "/systemd-integritysetup attach '%s' '%s' '%s' '%s'\n"
- "ExecStop=" ROOTLIBEXECDIR "/systemd-integritysetup detach '%s'\n",
+ "ExecStart=" LIBEXECDIR "/systemd-integritysetup attach '%s' '%s' '%s' '%s'\n"
+ "ExecStop=" LIBEXECDIR "/systemd-integritysetup detach '%s'\n",
name_escaped, device, empty_to_dash(key_file_escaped), empty_to_dash(options),
name_escaped);
diff --git a/src/libsystemd/libsystemd.pc.in b/src/libsystemd/libsystemd.pc.in
index da6e4e667e..3a43ef6071 100644
--- a/src/libsystemd/libsystemd.pc.in
+++ b/src/libsystemd/libsystemd.pc.in
@@ -9,7 +9,7 @@
prefix={{PREFIX}}
exec_prefix={{PREFIX}}
-libdir={{ROOTLIBDIR}}
+libdir={{LIBDIR}}
includedir={{INCLUDE_DIR}}
Name: systemd
diff --git a/src/libsystemd/sd-hwdb/hwdb-internal.h b/src/libsystemd/sd-hwdb/hwdb-internal.h
index 5302679a62..9db3b31441 100644
--- a/src/libsystemd/sd-hwdb/hwdb-internal.h
+++ b/src/libsystemd/sd-hwdb/hwdb-internal.h
@@ -86,5 +86,4 @@ struct trie_value_entry2_f {
"/etc/systemd/hwdb/hwdb.bin\0" \
"/etc/udev/hwdb.bin\0" \
"/usr/lib/systemd/hwdb/hwdb.bin\0" \
- _CONF_PATHS_SPLIT_USR_NULSTR("systemd/hwdb/hwdb.bin") \
UDEVLIBEXECDIR "/hwdb.bin\0"
diff --git a/src/libsystemd/sd-path/sd-path.c b/src/libsystemd/sd-path/sd-path.c
index 36c4d89e06..33adc314d6 100644
--- a/src/libsystemd/sd-path/sd-path.c
+++ b/src/libsystemd/sd-path/sd-path.c
@@ -317,7 +317,7 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
return from_user_dir("XDG_DESKTOP_DIR", buffer, ret);
case SD_PATH_SYSTEMD_UTIL:
- *ret = ROOTPREFIX_NOSLASH "/lib/systemd";
+ *ret = PREFIX_NOSLASH "/lib/systemd";
return 0;
case SD_PATH_SYSTEMD_SYSTEM_UNIT:
@@ -325,7 +325,7 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
return 0;
case SD_PATH_SYSTEMD_SYSTEM_PRESET:
- *ret = ROOTPREFIX_NOSLASH "/lib/systemd/system-preset";
+ *ret = PREFIX_NOSLASH "/lib/systemd/system-preset";
return 0;
case SD_PATH_SYSTEMD_USER_UNIT:
@@ -333,7 +333,7 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
return 0;
case SD_PATH_SYSTEMD_USER_PRESET:
- *ret = ROOTPREFIX_NOSLASH "/lib/systemd/user-preset";
+ *ret = PREFIX_NOSLASH "/lib/systemd/user-preset";
return 0;
case SD_PATH_SYSTEMD_SYSTEM_CONF:
@@ -353,11 +353,11 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
return 0;
case SD_PATH_SYSTEMD_SLEEP:
- *ret = ROOTPREFIX_NOSLASH "/lib/systemd/system-sleep";
+ *ret = PREFIX_NOSLASH "/lib/systemd/system-sleep";
return 0;
case SD_PATH_SYSTEMD_SHUTDOWN:
- *ret = ROOTPREFIX_NOSLASH "/lib/systemd/system-shutdown";
+ *ret = PREFIX_NOSLASH "/lib/systemd/system-shutdown";
return 0;
case SD_PATH_TMPFILES:
@@ -365,19 +365,19 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
return 0;
case SD_PATH_SYSUSERS:
- *ret = ROOTPREFIX_NOSLASH "/lib/sysusers.d";
+ *ret = PREFIX_NOSLASH "/lib/sysusers.d";
return 0;
case SD_PATH_SYSCTL:
- *ret = ROOTPREFIX_NOSLASH "/lib/sysctl.d";
+ *ret = PREFIX_NOSLASH "/lib/sysctl.d";
return 0;
case SD_PATH_BINFMT:
- *ret = ROOTPREFIX_NOSLASH "/lib/binfmt.d";
+ *ret = PREFIX_NOSLASH "/lib/binfmt.d";
return 0;
case SD_PATH_MODULES_LOAD:
- *ret = ROOTPREFIX_NOSLASH "/lib/modules-load.d";
+ *ret = PREFIX_NOSLASH "/lib/modules-load.d";
return 0;
case SD_PATH_CATALOG:
@@ -537,9 +537,6 @@ static int get_search(uint64_t type, char ***list) {
true,
ARRAY_SBIN_BIN("/usr/local/"),
ARRAY_SBIN_BIN("/usr/"),
-#if HAVE_SPLIT_USR
- ARRAY_SBIN_BIN("/"),
-#endif
NULL);
case SD_PATH_SEARCH_LIBRARY_PRIVATE:
@@ -550,9 +547,6 @@ static int get_search(uint64_t type, char ***list) {
false,
"/usr/local/lib",
"/usr/lib",
-#if HAVE_SPLIT_USR
- "/lib",
-#endif
NULL);
case SD_PATH_SEARCH_LIBRARY_ARCH:
@@ -562,9 +556,6 @@ static int get_search(uint64_t type, char ***list) {
"LD_LIBRARY_PATH",
true,
LIBDIR,
-#if HAVE_SPLIT_USR
- ROOTLIBDIR,
-#endif
NULL);
case SD_PATH_SEARCH_SHARED:
diff --git a/src/libudev/libudev.pc.in b/src/libudev/libudev.pc.in
index 1d6487fa40..6541bcb1ab 100644
--- a/src/libudev/libudev.pc.in
+++ b/src/libudev/libudev.pc.in
@@ -9,7 +9,7 @@
prefix={{PREFIX}}
exec_prefix={{PREFIX}}
-libdir={{ROOTLIBDIR}}
+libdir={{LIBDIR}}
includedir={{INCLUDE_DIR}}
Name: libudev
diff --git a/src/portable/portable.c b/src/portable/portable.c
index c2d01cf4db..545a3ed5d2 100644
--- a/src/portable/portable.c
+++ b/src/portable/portable.c
@@ -231,8 +231,8 @@ static int extract_now(
}
/* Then, send unit file data to the parent (or/and add it to the hashmap). For that we use our usual unit
- * discovery logic. Note that we force looking inside of /lib/systemd/system/ for units too, as we mightbe
- * compiled for a split-usr system but the image might be a legacy-usr one. */
+ * discovery logic. Note that we force looking inside of /lib/systemd/system/ for units too, as the
+ * image might have a legacy split-usr layout. */
r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, where);
if (r < 0)
return log_debug_errno(r, "Failed to acquire lookup paths: %m");
@@ -1484,7 +1484,7 @@ int portable_attach(
strempty(extensions_joined));
}
- r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
+ r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, /* flags= */ 0, NULL);
if (r < 0)
return r;
@@ -1684,7 +1684,7 @@ int portable_detach(
assert(name_or_path);
- r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
+ r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, /* flags= */ 0, NULL);
if (r < 0)
return r;
@@ -1871,7 +1871,7 @@ static int portable_get_state_internal(
assert(name_or_path);
assert(ret);
- r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
+ r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, /* flags= */ 0, NULL);
if (r < 0)
return r;
diff --git a/src/resolve/meson.build b/src/resolve/meson.build
index 052d54086f..576c7fc9a1 100644
--- a/src/resolve/meson.build
+++ b/src/resolve/meson.build
@@ -125,7 +125,7 @@ if conf.get('ENABLE_RESOLVE') == 1
install_data('org.freedesktop.resolve1.policy',
install_dir : polkitpolicydir)
install_data('resolv.conf',
- install_dir : rootlibexecdir)
+ install_dir : libexecdir)
endif
custom_target(
diff --git a/src/rpm/macros.systemd.in b/src/rpm/macros.systemd.in
index 8880078b1b..c07541c728 100644
--- a/src/rpm/macros.systemd.in
+++ b/src/rpm/macros.systemd.in
@@ -5,7 +5,7 @@
# RPM macros for packages installing systemd unit files
-%_systemd_util_dir {{ROOTLIBEXECDIR}}
+%_systemd_util_dir {{LIBEXECDIR}}
%_unitdir {{SYSTEM_DATA_UNIT_DIR}}
%_userunitdir {{USER_DATA_UNIT_DIR}}
%_presetdir {{SYSTEM_PRESET_DIR}}
@@ -167,10 +167,10 @@ SYSTEMD_INLINE_EOF\
%sysctl_apply() \
%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# sysctl_apply}} \
-[ -x {{ROOTLIBEXECDIR}}/systemd-sysctl ] && {{ROOTLIBEXECDIR}}/systemd-sysctl %{?*} || : \
+[ -x {{LIBEXECDIR}}/systemd-sysctl ] && {{LIBEXECDIR}}/systemd-sysctl %{?*} || : \
%{nil}
%binfmt_apply() \
%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# binfmt_apply}} \
-[ -x {{ROOTLIBEXECDIR}}/systemd-binfmt ] && {{ROOTLIBEXECDIR}}/systemd-binfmt %{?*} || : \
+[ -x {{LIBEXECDIR}}/systemd-binfmt ] && {{LIBEXECDIR}}/systemd-binfmt %{?*} || : \
%{nil}
diff --git a/src/rpm/meson.build b/src/rpm/meson.build
index 817665912a..af39ff145a 100644
--- a/src/rpm/meson.build
+++ b/src/rpm/meson.build
@@ -3,8 +3,8 @@
in_files = [
['macros.systemd', rpmmacrosdir != 'no', rpmmacrosdir],
- # we conditionalize on rpmmacrosdir, but install into rootlibexecdir
- ['systemd-update-helper', rpmmacrosdir != 'no', rootlibexecdir],
+ # we conditionalize on rpmmacrosdir, but install into libexecdir
+ ['systemd-update-helper', rpmmacrosdir != 'no', libexecdir],
['triggers.systemd', false],
['triggers.systemd.sh', false]]
diff --git a/src/rpm/triggers.systemd.in b/src/rpm/triggers.systemd.in
index 39a1f8d8fd..24108a77bb 100644
--- a/src/rpm/triggers.systemd.in
+++ b/src/rpm/triggers.systemd.in
@@ -90,7 +90,7 @@ assert(rpm.execute("journalctl", "--update-catalog"))
if posix.access("/run/systemd/system") then
pid = posix.fork()
if pid == 0 then
- assert(posix.exec("{{ROOTLIBEXECDIR}}/systemd-binfmt"))
+ assert(posix.exec("{{LIBEXECDIR}}/systemd-binfmt"))
elseif pid > 0 then
posix.wait(pid)
end
@@ -115,7 +115,7 @@ end
if posix.access("/run/systemd/system") then
pid = posix.fork()
if pid == 0 then
- assert(posix.exec("{{ROOTLIBEXECDIR}}/systemd-sysctl"))
+ assert(posix.exec("{{LIBEXECDIR}}/systemd-sysctl"))
elseif pid > 0 then
posix.wait(pid)
end
diff --git a/src/rpm/triggers.systemd.sh.in b/src/rpm/triggers.systemd.sh.in
index 8c301f5ed9..1b94f7d73a 100644
--- a/src/rpm/triggers.systemd.sh.in
+++ b/src/rpm/triggers.systemd.sh.in
@@ -61,7 +61,7 @@ journalctl --update-catalog || :
if test -d "/run/systemd/system"; then
# systemd-binfmt might fail if binfmt_misc kernel module is not loaded
# during install
- {{ROOTLIBEXECDIR}}/systemd-binfmt || :
+ {{LIBEXECDIR}}/systemd-binfmt || :
fi
%transfiletriggerin -P 1000600 -- {{TMPFILES_DIR}}
@@ -83,5 +83,5 @@ fi
# This script will automatically apply sysctl rules if files have been
# installed or updated in {{SYSCTL_DIR}}.
if test -d "/run/systemd/system"; then
- {{ROOTLIBEXECDIR}}/systemd-sysctl || :
+ {{LIBEXECDIR}}/systemd-sysctl || :
fi
diff --git a/src/shared/install.c b/src/shared/install.c
index a34e7bfe5b..34eaacb452 100644
--- a/src/shared/install.c
+++ b/src/shared/install.c
@@ -261,11 +261,6 @@ static int path_is_vendor_or_generator(const LookupPaths *lp, const char *path)
if (path_startswith(rpath, "/usr"))
return true;
-#if HAVE_SPLIT_USR
- if (path_startswith(rpath, "/lib"))
- return true;
-#endif
-
if (path_is_generator(lp, rpath))
return true;
diff --git a/src/shared/kbd-util.h b/src/shared/kbd-util.h
index a2fc2e6a3e..aca0dee4bc 100644
--- a/src/shared/kbd-util.h
+++ b/src/shared/kbd-util.h
@@ -3,18 +3,10 @@
#include <stdbool.h>
-#if HAVE_SPLIT_USR
-#define KBD_KEYMAP_DIRS \
- "/usr/share/keymaps/\0" \
- "/usr/share/kbd/keymaps/\0" \
- "/usr/lib/kbd/keymaps/\0" \
- "/lib/kbd/keymaps/\0"
-#else
#define KBD_KEYMAP_DIRS \
"/usr/share/keymaps/\0" \
"/usr/share/kbd/keymaps/\0" \
"/usr/lib/kbd/keymaps/\0"
-#endif
int get_keymaps(char ***l);
bool keymap_is_valid(const char *name);
diff --git a/src/shared/meson.build b/src/shared/meson.build
index 8fe02410d6..889d9a391f 100644
--- a/src/shared/meson.build
+++ b/src/shared/meson.build
@@ -339,7 +339,7 @@ libshared = shared_library(
dependencies : [libshared_deps,
userspace],
install : true,
- install_dir : rootpkglibdir)
+ install_dir : pkglibdir)
shared_fdisk_sources = files(
'fdisk-util.c',
diff --git a/src/shared/resolve-util.h b/src/shared/resolve-util.h
index 7c9008c705..2d210f9af7 100644
--- a/src/shared/resolve-util.h
+++ b/src/shared/resolve-util.h
@@ -96,4 +96,4 @@ DnsCacheMode dns_cache_mode_from_string(const char *s) _pure_;
#define PRIVATE_STUB_RESOLV_CONF "/run/systemd/resolve/stub-resolv.conf"
/* A static resolv.conf file containing no domains, but only our own DNS server address */
-#define PRIVATE_STATIC_RESOLV_CONF ROOTLIBEXECDIR "/resolv.conf"
+#define PRIVATE_STATIC_RESOLV_CONF LIBEXECDIR "/resolv.conf"
diff --git a/src/shared/userdb-dropin.h b/src/shared/userdb-dropin.h
index fad3981f7c..3bd1b9c845 100644
--- a/src/shared/userdb-dropin.h
+++ b/src/shared/userdb-dropin.h
@@ -13,8 +13,7 @@
"/run/" n "\0" \
"/run/host/" n "\0" \
"/usr/local/lib/" n "\0" \
- "/usr/lib/" n "\0" \
- _CONF_PATHS_SPLIT_USR_NULSTR(n)
+ "/usr/lib/" n "\0"
int dropin_user_record_by_name(const char *name, const char *path, UserDBFlags flags, UserRecord **ret);
int dropin_user_record_by_uid(uid_t uid, const char *path, UserDBFlags flags, UserRecord **ret);
diff --git a/src/shared/userdb.c b/src/shared/userdb.c
index dfff5aba72..cd67ddeec8 100644
--- a/src/shared/userdb.c
+++ b/src/shared/userdb.c
@@ -1448,7 +1448,7 @@ int userdb_block_nss_systemd(int b) {
/* Note that we might be called from libnss_systemd.so.2 itself, but that should be fine, really. */
- dl = dlopen(ROOTLIBDIR "/libnss_systemd.so.2", RTLD_LAZY|RTLD_NODELETE);
+ dl = dlopen(LIBDIR "/libnss_systemd.so.2", RTLD_LAZY|RTLD_NODELETE);
if (!dl) {
/* If the file isn't installed, don't complain loudly */
log_debug("Failed to dlopen(libnss_systemd.so.2), ignoring: %s", dlerror());
diff --git a/src/sysext/meson.build b/src/sysext/meson.build
index f7d42fbecf..7fc699ec1e 100644
--- a/src/sysext/meson.build
+++ b/src/sysext/meson.build
@@ -4,6 +4,6 @@ systemd_sysext_sources = files('sysext.c')
if conf.get('ENABLE_SYSEXT') == 1
meson.add_install_script(meson_make_symlink,
- rootbindir / 'systemd-sysext',
- rootbindir / 'systemd-confext')
+ bindir / 'systemd-sysext',
+ bindir / 'systemd-confext')
endif
diff --git a/src/systemctl/systemctl-sysv-compat.c b/src/systemctl/systemctl-sysv-compat.c
index 1bc76031f4..d55525943e 100644
--- a/src/systemctl/systemctl-sysv-compat.c
+++ b/src/systemctl/systemctl-sysv-compat.c
@@ -137,7 +137,7 @@ int enable_sysv_units(const char *verb, char **args) {
while (args[f]) {
const char *argv[] = {
- ROOTLIBEXECDIR "/systemd-sysv-install",
+ LIBEXECDIR "/systemd-sysv-install",
NULL, /* --root= */
NULL, /* verb */
NULL, /* service */
diff --git a/src/test/test-manager.c b/src/test/test-manager.c
index 89f9277b28..76e094bf01 100644
--- a/src/test/test-manager.c
+++ b/src/test/test-manager.c
@@ -8,22 +8,12 @@ TEST(manager_taint_string) {
_cleanup_free_ char *a = manager_taint_string(&m);
assert_se(a);
- log_debug("taint string w/o split-usr: '%s'", a);
- /* split-usr is the only one that is cached in Manager, so we know it's not present.
- * The others are queried dynamically, so we'd need to duplicate the logic here
- * to test for them. Let's do just one. */
- assert_se(!strstr(a, "split-usr"));
+ log_debug("taint string: '%s'", a);
if (cg_all_unified() == 0)
assert_se(strstr(a, "cgroupsv1"));
else
assert_se(!strstr(a, "cgroupsv1"));
-
- m.taint_usr = true;
- _cleanup_free_ char *b = manager_taint_string(&m);
- assert_se(b);
- log_debug("taint string w/ split-usr: '%s'", b);
- assert_se(strstr(b, "split-usr"));
}
DEFINE_TEST_MAIN(LOG_DEBUG);
diff --git a/src/udev/meson.build b/src/udev/meson.build
index 96f7930e9e..dc490a5abf 100644
--- a/src/udev/meson.build
+++ b/src/udev/meson.build
@@ -90,7 +90,7 @@ link_config_gperf_c = custom_target(
if get_option('link-udev-shared')
udev_link_with = [libshared]
- udev_rpath = rootpkglibdir
+ udev_rpath = pkglibdir
else
udev_link_with = [libshared_static,
libsystemd_static]
diff --git a/src/xdg-autostart-generator/xdg-autostart-service.c b/src/xdg-autostart-generator/xdg-autostart-service.c
index eab33504de..1861f86cf7 100644
--- a/src/xdg-autostart-generator/xdg-autostart-service.c
+++ b/src/xdg-autostart-generator/xdg-autostart-service.c
@@ -669,7 +669,7 @@ int xdg_autostart_service_generate_unit(
/* Just assume the values are reasonably sane */
fprintf(f,
- "ExecCondition=" ROOTLIBEXECDIR "/systemd-xdg-autostart-condition \"%s\" \"%s\"\n",
+ "ExecCondition=" LIBEXECDIR "/systemd-xdg-autostart-condition \"%s\" \"%s\"\n",
e_only_show_in,
e_not_show_in);
}
diff --git a/sysctl.d/50-coredump.conf.in b/sysctl.d/50-coredump.conf.in
index 5fb551a8cf..90c080bdfe 100644
--- a/sysctl.d/50-coredump.conf.in
+++ b/sysctl.d/50-coredump.conf.in
@@ -13,7 +13,7 @@
# the core dump.
#
# See systemd-coredump(8) and core(5).
-kernel.core_pattern=|{{ROOTLIBEXECDIR}}/systemd-coredump %P %u %g %s %t %c %h
+kernel.core_pattern=|{{LIBEXECDIR}}/systemd-coredump %P %u %g %s %t %c %h
# Allow 16 coredumps to be dispatched in parallel by the kernel.
# We collect metadata from /proc/%P/, and thus need to make sure the crashed
diff --git a/test/fuzz/fuzz-catalog/systemd.pl.catalog b/test/fuzz/fuzz-catalog/systemd.pl.catalog
index 043627c739..6e99c04d85 100644
--- a/test/fuzz/fuzz-catalog/systemd.pl.catalog
+++ b/test/fuzz/fuzz-catalog/systemd.pl.catalog
@@ -376,8 +376,6 @@ Defined-By: systemd
Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Możliwe są następujące „etykiety”:
-• „split-usr” — /usr jest oddzielnym systemem plików, który nie był
- zamontowany w czasie uruchomienia systemd,
• „cgroups-missing” — jądro zostało skompilowane bez obsługi cgroups
lub dostęp do oczekiwanych plików interfejsu jest ograniczony,
• „var-run-bad” — /var/run nie jest dowiązaniem symbolicznym do /run,
diff --git a/test/test-fstab-generator.sh b/test/test-fstab-generator.sh
index 0c949d46f4..50ba321b9c 100755
--- a/test/test-fstab-generator.sh
+++ b/test/test-fstab-generator.sh
@@ -59,11 +59,6 @@ test_one() (
touch "$i"
done
- # For split-usr system
- for i in "$out"/systemd-*.service; do
- sed -i -e 's:ExecStart=/lib/systemd/:ExecStart=/usr/lib/systemd/:' "$i"
- done
-
if [[ "${input##*/}" =~ \.fstab\.input ]]; then
for i in "$out"/*.{automount,mount,swap}; do
sed -i -e 's:SourcePath=.*$:SourcePath=/etc/fstab:' "$i"
diff --git a/test/test-functions b/test/test-functions
index 41e1a0d57d..cfcf895caf 100644
--- a/test/test-functions
+++ b/test/test-functions
@@ -91,7 +91,7 @@ else
fi
if ! ROOTLIBDIR=$(pkg-config --variable=systemdutildir systemd); then
- echo "WARNING! Cannot determine rootlibdir from pkg-config, assuming /usr/lib/systemd" >&2
+ echo "WARNING! Cannot determine libdir from pkg-config, assuming /usr/lib/systemd" >&2
ROOTLIBDIR=/usr/lib/systemd
fi
@@ -2191,14 +2191,6 @@ install_keymaps() {
dinfo "Install console keymaps"
- if command -v meson >/dev/null \
- && [[ "$(meson configure "${BUILD_DIR:?}" | grep 'split-usr' | awk '{ print $2 }')" == "true" ]] \
- || [[ ! -L /lib ]]; then
- prefix+=(
- "/lib"
- )
- fi
-
if (( $# == 0 )); then
for p in "${prefix[@]}"; do
# The first three paths may be deprecated.
diff --git a/units/emergency.service.in b/units/emergency.service.in
index a126ad9bb1..8f70cbe567 100644
--- a/units/emergency.service.in
+++ b/units/emergency.service.in
@@ -19,8 +19,8 @@ Before=rescue.service
[Service]
Environment=HOME=/root
WorkingDirectory=-/root
-ExecStartPre=-{{ROOTBINDIR}}/plymouth --wait quit
-ExecStart=-{{ROOTLIBEXECDIR}}/systemd-sulogin-shell emergency
+ExecStartPre=-{{BINDIR}}/plymouth --wait quit
+ExecStart=-{{LIBEXECDIR}}/systemd-sulogin-shell emergency
Type=idle
StandardInput=tty-force
StandardOutput=inherit
diff --git a/units/initrd-parse-etc.service.in b/units/initrd-parse-etc.service.in
index fe0e860150..e592d3c2cb 100644
--- a/units/initrd-parse-etc.service.in
+++ b/units/initrd-parse-etc.service.in
@@ -22,7 +22,7 @@ OnFailureJobMode=replace-irreversibly
Type=oneshot
# FIXME: once dracut is patched to install the symlink, change to:
-# ExecStart={{ROOTLIBEXECDIR}}/systemd-sysroot-fstab-check
+# ExecStart={{LIBEXECDIR}}/systemd-sysroot-fstab-check
ExecStart=@{{SYSTEM_GENERATOR_DIR}}/systemd-fstab-generator systemd-sysroot-fstab-check
# We want to enqueue initrd-cleanup.service/start after we finished the part
diff --git a/units/rescue.service.in b/units/rescue.service.in
index 74b933726e..5113408942 100644
--- a/units/rescue.service.in
+++ b/units/rescue.service.in
@@ -18,8 +18,8 @@ Before=shutdown.target
[Service]
Environment=HOME=/root
WorkingDirectory=-/root
-ExecStartPre=-{{ROOTBINDIR}}/plymouth --wait quit
-ExecStart=-{{ROOTLIBEXECDIR}}/systemd-sulogin-shell rescue
+ExecStartPre=-{{BINDIR}}/plymouth --wait quit
+ExecStart=-{{LIBEXECDIR}}/systemd-sulogin-shell rescue
Type=idle
StandardInput=tty-force
StandardOutput=inherit
diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in
index 981d0f278e..e7e35ecf0d 100644
--- a/units/systemd-backlight@.service.in
+++ b/units/systemd-backlight@.service.in
@@ -19,7 +19,7 @@ Before=sysinit.target shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-backlight load %i
-ExecStop={{ROOTLIBEXECDIR}}/systemd-backlight save %i
+ExecStart={{LIBEXECDIR}}/systemd-backlight load %i
+ExecStop={{LIBEXECDIR}}/systemd-backlight save %i
TimeoutSec=90s
StateDirectory=systemd/backlight
diff --git a/units/systemd-battery-check.service.in b/units/systemd-battery-check.service.in
index a6a0d26fde..6825aa0a22 100644
--- a/units/systemd-battery-check.service.in
+++ b/units/systemd-battery-check.service.in
@@ -21,5 +21,5 @@ Before=initrd-root-device.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-battery-check
+ExecStart={{LIBEXECDIR}}/systemd-battery-check
FailureAction=poweroff-force
diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
index b04412e037..6861c76674 100644
--- a/units/systemd-binfmt.service.in
+++ b/units/systemd-binfmt.service.in
@@ -28,6 +28,6 @@ ConditionDirectoryNotEmpty=|/run/binfmt.d
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-binfmt
-ExecStop={{ROOTLIBEXECDIR}}/systemd-binfmt --unregister
+ExecStart={{LIBEXECDIR}}/systemd-binfmt
+ExecStop={{LIBEXECDIR}}/systemd-binfmt --unregister
TimeoutSec=90s
diff --git a/units/systemd-bless-boot.service.in b/units/systemd-bless-boot.service.in
index 557f77b16f..e7a4548144 100644
--- a/units/systemd-bless-boot.service.in
+++ b/units/systemd-bless-boot.service.in
@@ -19,4 +19,4 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-bless-boot good
+ExecStart={{LIBEXECDIR}}/systemd-bless-boot good
diff --git a/units/systemd-boot-check-no-failures.service.in b/units/systemd-boot-check-no-failures.service.in
index 47f182226b..eaadd0e554 100644
--- a/units/systemd-boot-check-no-failures.service.in
+++ b/units/systemd-boot-check-no-failures.service.in
@@ -18,7 +18,7 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-boot-check-no-failures
+ExecStart={{LIBEXECDIR}}/systemd-boot-check-no-failures
[Install]
RequiredBy=boot-complete.target
diff --git a/units/systemd-coredump@.service.in b/units/systemd-coredump@.service.in
index 15bfb243b4..012c60d2f6 100644
--- a/units/systemd-coredump@.service.in
+++ b/units/systemd-coredump@.service.in
@@ -17,7 +17,7 @@ Requires=systemd-journald.socket
Before=shutdown.target
[Service]
-ExecStart=-{{ROOTLIBEXECDIR}}/systemd-coredump
+ExecStart=-{{LIBEXECDIR}}/systemd-coredump
IPAddressDeny=any
LockPersonality=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-fsck-root.service.in b/units/systemd-fsck-root.service.in
index 8cfbe7ce98..ebe8262a49 100644
--- a/units/systemd-fsck-root.service.in
+++ b/units/systemd-fsck-root.service.in
@@ -20,5 +20,5 @@ OnFailureJobMode=replace-irreversibly
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-fsck
+ExecStart={{LIBEXECDIR}}/systemd-fsck
TimeoutSec=infinity
diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in
index d773229812..65521b1087 100644
--- a/units/systemd-fsck@.service.in
+++ b/units/systemd-fsck@.service.in
@@ -19,5 +19,5 @@ Before=systemd-quotacheck.service shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-fsck %f
+ExecStart={{LIBEXECDIR}}/systemd-fsck %f
TimeoutSec=infinity
diff --git a/units/systemd-growfs-root.service.in b/units/systemd-growfs-root.service.in
index 0468774cb0..a6568638b0 100644
--- a/units/systemd-growfs-root.service.in
+++ b/units/systemd-growfs-root.service.in
@@ -19,5 +19,5 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-growfs /
+ExecStart={{LIBEXECDIR}}/systemd-growfs /
TimeoutSec=infinity
diff --git a/units/systemd-growfs@.service.in b/units/systemd-growfs@.service.in
index 90fb0a8661..8099b1ea47 100644
--- a/units/systemd-growfs@.service.in
+++ b/units/systemd-growfs@.service.in
@@ -20,5 +20,5 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-growfs %f
+ExecStart={{LIBEXECDIR}}/systemd-growfs %f
TimeoutSec=infinity
diff --git a/units/systemd-hibernate.service.in b/units/systemd-hibernate.service.in
index 9a7b3633cb..25cd7a0ff9 100644
--- a/units/systemd-hibernate.service.in
+++ b/units/systemd-hibernate.service.in
@@ -16,4 +16,4 @@ After=sleep.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep hibernate
+ExecStart={{LIBEXECDIR}}/systemd-sleep hibernate
diff --git a/units/systemd-homed.service.in b/units/systemd-homed.service.in
index 52caa4e22e..2ca5e063e3 100644
--- a/units/systemd-homed.service.in
+++ b/units/systemd-homed.service.in
@@ -20,7 +20,7 @@ DeviceAllow=/dev/loop-control rw
DeviceAllow=/dev/mapper/control rw
DeviceAllow=block-* rw
DeviceAllow=char-hidraw rw
-ExecStart={{ROOTLIBEXECDIR}}/systemd-homed
+ExecStart={{LIBEXECDIR}}/systemd-homed
KillMode=mixed
LimitNOFILE={{HIGH_RLIMIT_NOFILE}}
LockPersonality=yes
diff --git a/units/systemd-hostnamed.service.in b/units/systemd-hostnamed.service.in
index 9ac56baf42..31b45e0fa8 100644
--- a/units/systemd-hostnamed.service.in
+++ b/units/systemd-hostnamed.service.in
@@ -17,7 +17,7 @@ Documentation=man:org.freedesktop.hostname1(5)
[Service]
BusName=org.freedesktop.hostname1
CapabilityBoundingSet=CAP_SYS_ADMIN
-ExecStart={{ROOTLIBEXECDIR}}/systemd-hostnamed
+ExecStart={{LIBEXECDIR}}/systemd-hostnamed
IPAddressDeny=any
LockPersonality=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-hybrid-sleep.service.in b/units/systemd-hybrid-sleep.service.in
index cce764f30a..fe57f57fae 100644
--- a/units/systemd-hybrid-sleep.service.in
+++ b/units/systemd-hybrid-sleep.service.in
@@ -16,4 +16,4 @@ After=sleep.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep hybrid-sleep
+ExecStart={{LIBEXECDIR}}/systemd-sleep hybrid-sleep
diff --git a/units/systemd-importd.service.in b/units/systemd-importd.service.in
index 080cc646a9..fc24a05098 100644
--- a/units/systemd-importd.service.in
+++ b/units/systemd-importd.service.in
@@ -13,7 +13,7 @@ Documentation=man:systemd-importd.service(8)
Documentation=man:org.freedesktop.import1(5)
[Service]
-ExecStart={{ROOTLIBEXECDIR}}/systemd-importd
+ExecStart={{LIBEXECDIR}}/systemd-importd
BusName=org.freedesktop.import1
KillMode=mixed
CapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_SETFCAP CAP_SYS_ADMIN CAP_SETPCAP CAP_DAC_OVERRIDE CAP_LINUX_IMMUTABLE
diff --git a/units/systemd-initctl.service.in b/units/systemd-initctl.service.in
index efac5c4b11..6a19058186 100644
--- a/units/systemd-initctl.service.in
+++ b/units/systemd-initctl.service.in
@@ -13,7 +13,7 @@ Documentation=man:systemd-initctl.service(8)
DefaultDependencies=no
[Service]
-ExecStart={{ROOTLIBEXECDIR}}/systemd-initctl
+ExecStart={{LIBEXECDIR}}/systemd-initctl
NoNewPrivileges=yes
NotifyAccess=all
SystemCallArchitectures=native
diff --git a/units/systemd-journal-gatewayd.service.in b/units/systemd-journal-gatewayd.service.in
index 81c53fa01f..27ae42ccce 100644
--- a/units/systemd-journal-gatewayd.service.in
+++ b/units/systemd-journal-gatewayd.service.in
@@ -14,7 +14,7 @@ Requires=systemd-journal-gatewayd.socket
[Service]
DynamicUser=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-journal-gatewayd
+ExecStart={{LIBEXECDIR}}/systemd-journal-gatewayd
LockPersonality=yes
MemoryDenyWriteExecute=yes
PrivateDevices=yes
diff --git a/units/systemd-journal-remote.service.in b/units/systemd-journal-remote.service.in
index d8f28f252c..6517410990 100644
--- a/units/systemd-journal-remote.service.in
+++ b/units/systemd-journal-remote.service.in
@@ -13,7 +13,7 @@ Documentation=man:systemd-journal-remote(8) man:journal-remote.conf(5)
Requires=systemd-journal-remote.socket
[Service]
-ExecStart={{ROOTLIBEXECDIR}}/systemd-journal-remote --listen-https=-3 --output=/var/log/journal/remote/
+ExecStart={{LIBEXECDIR}}/systemd-journal-remote --listen-https=-3 --output=/var/log/journal/remote/
LockPersonality=yes
LogsDirectory=journal/remote
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-journal-upload.service.in b/units/systemd-journal-upload.service.in
index e4359a80e4..fe52f69637 100644
--- a/units/systemd-journal-upload.service.in
+++ b/units/systemd-journal-upload.service.in
@@ -15,7 +15,7 @@ After=network-online.target
[Service]
DynamicUser=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-journal-upload --save-state
+ExecStart={{LIBEXECDIR}}/systemd-journal-upload --save-state
LockPersonality=yes
MemoryDenyWriteExecute=yes
PrivateDevices=yes
diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
index 79ec60c937..1c36ec8903 100644
--- a/units/systemd-journald.service.in
+++ b/units/systemd-journald.service.in
@@ -22,7 +22,7 @@ IgnoreOnIsolate=yes
[Service]
DeviceAllow=char-* rw
-ExecStart={{ROOTLIBEXECDIR}}/systemd-journald
+ExecStart={{LIBEXECDIR}}/systemd-journald
FileDescriptorStoreMax=4224
IPAddressDeny=any
LockPersonality=yes
diff --git a/units/systemd-journald@.service.in b/units/systemd-journald@.service.in
index 35c998285f..b705ce08ff 100644
--- a/units/systemd-journald@.service.in
+++ b/units/systemd-journald@.service.in
@@ -16,7 +16,7 @@ After=systemd-journald@%i.socket systemd-journald-varlink@%i.socket
[Service]
CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE
DevicePolicy=closed
-ExecStart={{ROOTLIBEXECDIR}}/systemd-journald %i
+ExecStart={{LIBEXECDIR}}/systemd-journald %i
FileDescriptorStoreMax=4224
Group=systemd-journal
IPAddressDeny=any
diff --git a/units/systemd-localed.service.in b/units/systemd-localed.service.in
index f9a92fef7b..19383ae423 100644
--- a/units/systemd-localed.service.in
+++ b/units/systemd-localed.service.in
@@ -17,7 +17,7 @@ Documentation=man:org.freedesktop.locale1(5)
[Service]
BusName=org.freedesktop.locale1
CapabilityBoundingSet=
-ExecStart={{ROOTLIBEXECDIR}}/systemd-localed
+ExecStart={{LIBEXECDIR}}/systemd-localed
IPAddressDeny=any
LockPersonality=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-logind.service.in b/units/systemd-logind.service.in
index 24f5ddaa17..39dc0c2241 100644
--- a/units/systemd-logind.service.in
+++ b/units/systemd-logind.service.in
@@ -30,7 +30,7 @@ DeviceAllow=char-drm rw
DeviceAllow=char-input rw
DeviceAllow=char-tty rw
DeviceAllow=char-vcs rw
-ExecStart={{ROOTLIBEXECDIR}}/systemd-logind
+ExecStart={{LIBEXECDIR}}/systemd-logind
FileDescriptorStoreMax=512
IPAddressDeny=any
LockPersonality=yes
diff --git a/units/systemd-machined.service.in b/units/systemd-machined.service.in
index d3f8abd9e4..47aa5deeed 100644
--- a/units/systemd-machined.service.in
+++ b/units/systemd-machined.service.in
@@ -19,7 +19,7 @@ RequiresMountsFor=/var/lib/machines
[Service]
BusName=org.freedesktop.machine1
CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID CAP_SYS_CHROOT CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_LINUX_IMMUTABLE
-ExecStart={{ROOTLIBEXECDIR}}/systemd-machined
+ExecStart={{LIBEXECDIR}}/systemd-machined
IPAddressDeny=any
LockPersonality=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in
index 604d8712a0..0fe6740bda 100644
--- a/units/systemd-modules-load.service.in
+++ b/units/systemd-modules-load.service.in
@@ -25,5 +25,5 @@ ConditionKernelCommandLine=|rd.modules-load
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-modules-load
+ExecStart={{LIBEXECDIR}}/systemd-modules-load
TimeoutSec=90s
diff --git a/units/systemd-network-generator.service.in b/units/systemd-network-generator.service.in
index 2b79ca6b8a..d87e1a4adc 100644
--- a/units/systemd-network-generator.service.in
+++ b/units/systemd-network-generator.service.in
@@ -20,7 +20,7 @@ Before=shutdown.target initrd-switch-root.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-network-generator
+ExecStart={{LIBEXECDIR}}/systemd-network-generator
[Install]
WantedBy=sysinit.target
diff --git a/units/systemd-networkd-wait-online.service.in b/units/systemd-networkd-wait-online.service.in
index 3dc5ce9265..7768121f5f 100644
--- a/units/systemd-networkd-wait-online.service.in
+++ b/units/systemd-networkd-wait-online.service.in
@@ -19,7 +19,7 @@ Before=network-online.target shutdown.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-networkd-wait-online
+ExecStart={{LIBEXECDIR}}/systemd-networkd-wait-online
RemainAfterExit=yes
[Install]
diff --git a/units/systemd-networkd-wait-online@.service.in b/units/systemd-networkd-wait-online@.service.in
index b7a1e409f4..60d173490b 100644
--- a/units/systemd-networkd-wait-online@.service.in
+++ b/units/systemd-networkd-wait-online@.service.in
@@ -19,7 +19,7 @@ Before=network-online.target shutdown.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-networkd-wait-online -i %i
+ExecStart={{LIBEXECDIR}}/systemd-networkd-wait-online -i %i
RemainAfterExit=yes
[Install]
diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in
index 9f0af57fdc..3608458aa5 100644
--- a/units/systemd-networkd.service.in
+++ b/units/systemd-networkd.service.in
@@ -24,7 +24,7 @@ AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET
BusName=org.freedesktop.network1
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
DeviceAllow=char-* rw
-ExecStart=!!{{ROOTLIBEXECDIR}}/systemd-networkd
+ExecStart=!!{{LIBEXECDIR}}/systemd-networkd
FileDescriptorStoreMax=512
LockPersonality=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-oomd.service.in b/units/systemd-oomd.service.in
index c138f5eefa..82bd6245f8 100644
--- a/units/systemd-oomd.service.in
+++ b/units/systemd-oomd.service.in
@@ -26,7 +26,7 @@ After=systemd-oomd.socket
AmbientCapabilities=CAP_KILL CAP_DAC_OVERRIDE
BusName=org.freedesktop.oom1
CapabilityBoundingSet=CAP_KILL CAP_DAC_OVERRIDE
-ExecStart={{ROOTLIBEXECDIR}}/systemd-oomd
+ExecStart={{LIBEXECDIR}}/systemd-oomd
IPAddressDeny=any
LockPersonality=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-pcrfs-root.service.in b/units/systemd-pcrfs-root.service.in
index 2fe1ec5008..da3438c576 100644
--- a/units/systemd-pcrfs-root.service.in
+++ b/units/systemd-pcrfs-root.service.in
@@ -21,4 +21,4 @@ ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-4
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful --file-system=/
+ExecStart={{LIBEXECDIR}}/systemd-pcrphase --graceful --file-system=/
diff --git a/units/systemd-pcrfs@.service.in b/units/systemd-pcrfs@.service.in
index 6cf39eb9a7..59a3ece3c5 100644
--- a/units/systemd-pcrfs@.service.in
+++ b/units/systemd-pcrfs@.service.in
@@ -22,4 +22,4 @@ ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-4
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful --file-system=%f
+ExecStart={{LIBEXECDIR}}/systemd-pcrphase --graceful --file-system=%f
diff --git a/units/systemd-pcrmachine.service.in b/units/systemd-pcrmachine.service.in
index 8c942c3b55..544edb4b7b 100644
--- a/units/systemd-pcrmachine.service.in
+++ b/units/systemd-pcrmachine.service.in
@@ -20,4 +20,4 @@ ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-4
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful --machine-id
+ExecStart={{LIBEXECDIR}}/systemd-pcrphase --graceful --machine-id
diff --git a/units/systemd-pcrphase-initrd.service.in b/units/systemd-pcrphase-initrd.service.in
index 6320dccf27..69dcbceaac 100644
--- a/units/systemd-pcrphase-initrd.service.in
+++ b/units/systemd-pcrphase-initrd.service.in
@@ -20,5 +20,5 @@ ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-4
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful enter-initrd
-ExecStop={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful leave-initrd
+ExecStart={{LIBEXECDIR}}/systemd-pcrphase --graceful enter-initrd
+ExecStop={{LIBEXECDIR}}/systemd-pcrphase --graceful leave-initrd
diff --git a/units/systemd-pcrphase-sysinit.service.in b/units/systemd-pcrphase-sysinit.service.in
index f00ad61257..55fae49aa8 100644
--- a/units/systemd-pcrphase-sysinit.service.in
+++ b/units/systemd-pcrphase-sysinit.service.in
@@ -21,5 +21,5 @@ ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-4
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful sysinit
-ExecStop={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful final
+ExecStart={{LIBEXECDIR}}/systemd-pcrphase --graceful sysinit
+ExecStop={{LIBEXECDIR}}/systemd-pcrphase --graceful final
diff --git a/units/systemd-pcrphase.service.in b/units/systemd-pcrphase.service.in
index 558f268857..c5170cec93 100644
--- a/units/systemd-pcrphase.service.in
+++ b/units/systemd-pcrphase.service.in
@@ -19,5 +19,5 @@ ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-4
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful ready
-ExecStop={{ROOTLIBEXECDIR}}/systemd-pcrphase --graceful shutdown
+ExecStart={{LIBEXECDIR}}/systemd-pcrphase --graceful ready
+ExecStop={{LIBEXECDIR}}/systemd-pcrphase --graceful shutdown
diff --git a/units/systemd-portabled.service.in b/units/systemd-portabled.service.in
index ab660ce36c..b4ec252c03 100644
--- a/units/systemd-portabled.service.in
+++ b/units/systemd-portabled.service.in
@@ -14,7 +14,7 @@ Documentation=man:org.freedesktop.portable1(5)
RequiresMountsFor=/var/lib/portables
[Service]
-ExecStart={{ROOTLIBEXECDIR}}/systemd-portabled
+ExecStart={{LIBEXECDIR}}/systemd-portabled
BusName=org.freedesktop.portable1
CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID CAP_SYS_CHROOT CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-pstore.service.in b/units/systemd-pstore.service.in
index 02ac29caa4..0b5a20a353 100644
--- a/units/systemd-pstore.service.in
+++ b/units/systemd-pstore.service.in
@@ -20,7 +20,7 @@ Wants=modprobe@efi_pstore.service
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-pstore
+ExecStart={{LIBEXECDIR}}/systemd-pstore
RemainAfterExit=yes
StateDirectory=systemd/pstore
diff --git a/units/systemd-quotacheck.service.in b/units/systemd-quotacheck.service.in
index 60b56496fa..0f94e38286 100644
--- a/units/systemd-quotacheck.service.in
+++ b/units/systemd-quotacheck.service.in
@@ -21,5 +21,5 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-quotacheck
+ExecStart={{LIBEXECDIR}}/systemd-quotacheck
TimeoutSec=infinity
diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in
index 820fdd8536..99b5f33ea2 100644
--- a/units/systemd-random-seed.service.in
+++ b/units/systemd-random-seed.service.in
@@ -25,8 +25,8 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-random-seed load
-ExecStop={{ROOTLIBEXECDIR}}/systemd-random-seed save
+ExecStart={{LIBEXECDIR}}/systemd-random-seed load
+ExecStop={{LIBEXECDIR}}/systemd-random-seed save
# This service waits until the kernel's entropy pool is initialized, and may be
# used as ordering barrier for service that require an initialized entropy
diff --git a/units/systemd-remount-fs.service.in b/units/systemd-remount-fs.service.in
index be1dfd6199..fe3c31b30c 100644
--- a/units/systemd-remount-fs.service.in
+++ b/units/systemd-remount-fs.service.in
@@ -22,4 +22,4 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-remount-fs
+ExecStart={{LIBEXECDIR}}/systemd-remount-fs
diff --git a/units/systemd-repart.service.in b/units/systemd-repart.service.in
index 35c4ca8ca5..b1322a159b 100644
--- a/units/systemd-repart.service.in
+++ b/units/systemd-repart.service.in
@@ -29,7 +29,7 @@ Before=shutdown.target initrd-switch-root.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTBINDIR}}/systemd-repart --dry-run=no
+ExecStart={{BINDIR}}/systemd-repart --dry-run=no
# The tool returns 77 if there's no existing GPT partition table
SuccessExitStatus=77
diff --git a/units/systemd-resolved.service.in b/units/systemd-resolved.service.in
index a078a9dd68..736f36848c 100644
--- a/units/systemd-resolved.service.in
+++ b/units/systemd-resolved.service.in
@@ -24,7 +24,7 @@ Wants=nss-lookup.target
AmbientCapabilities=CAP_SETPCAP CAP_NET_RAW CAP_NET_BIND_SERVICE
BusName=org.freedesktop.resolve1
CapabilityBoundingSet=CAP_SETPCAP CAP_NET_RAW CAP_NET_BIND_SERVICE
-ExecStart=!!{{ROOTLIBEXECDIR}}/systemd-resolved
+ExecStart=!!{{LIBEXECDIR}}/systemd-resolved
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
diff --git a/units/systemd-rfkill.service.in b/units/systemd-rfkill.service.in
index 4034d7a557..c6b32a18ea 100644
--- a/units/systemd-rfkill.service.in
+++ b/units/systemd-rfkill.service.in
@@ -19,7 +19,7 @@ After=sys-devices-virtual-misc-rfkill.device
Before=shutdown.target
[Service]
-ExecStart={{ROOTLIBEXECDIR}}/systemd-rfkill
+ExecStart={{LIBEXECDIR}}/systemd-rfkill
NoNewPrivileges=yes
StateDirectory=systemd/rfkill
TimeoutSec=30s
diff --git a/units/systemd-suspend-then-hibernate.service.in b/units/systemd-suspend-then-hibernate.service.in
index 19c30e9017..150d8d2c23 100644
--- a/units/systemd-suspend-then-hibernate.service.in
+++ b/units/systemd-suspend-then-hibernate.service.in
@@ -16,4 +16,4 @@ After=sleep.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep suspend-then-hibernate
+ExecStart={{LIBEXECDIR}}/systemd-sleep suspend-then-hibernate
diff --git a/units/systemd-suspend.service.in b/units/systemd-suspend.service.in
index 2515575e10..aa264e860c 100644
--- a/units/systemd-suspend.service.in
+++ b/units/systemd-suspend.service.in
@@ -16,4 +16,4 @@ After=sleep.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep suspend
+ExecStart={{LIBEXECDIR}}/systemd-sleep suspend
diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in
index 7307601a7d..4179753cde 100644
--- a/units/systemd-sysctl.service.in
+++ b/units/systemd-sysctl.service.in
@@ -19,6 +19,6 @@ ConditionPathIsReadWrite=/proc/sys/net/
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sysctl
+ExecStart={{LIBEXECDIR}}/systemd-sysctl
TimeoutSec=90s
ImportCredential=sysctl.*
diff --git a/units/systemd-sysupdate-reboot.service.in b/units/systemd-sysupdate-reboot.service.in
index 9d7b7d1657..5d4011a213 100644
--- a/units/systemd-sysupdate-reboot.service.in
+++ b/units/systemd-sysupdate-reboot.service.in
@@ -14,7 +14,7 @@ ConditionVirtualization=!container
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sysupdate reboot
+ExecStart={{LIBEXECDIR}}/systemd-sysupdate reboot
[Install]
Also=systemd-sysupdate-reboot.timer
diff --git a/units/systemd-sysupdate.service.in b/units/systemd-sysupdate.service.in
index 085a9c4a22..1becbec5ed 100644
--- a/units/systemd-sysupdate.service.in
+++ b/units/systemd-sysupdate.service.in
@@ -17,7 +17,7 @@ ConditionVirtualization=!container
[Service]
Type=simple
NotifyAccess=main
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sysupdate update
+ExecStart={{LIBEXECDIR}}/systemd-sysupdate update
CapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_SETFCAP CAP_SYS_ADMIN CAP_SETPCAP CAP_DAC_OVERRIDE CAP_LINUX_IMMUTABLE
NoNewPrivileges=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-time-wait-sync.service.in b/units/systemd-time-wait-sync.service.in
index d14491a01e..12eb6efd7a 100644
--- a/units/systemd-time-wait-sync.service.in
+++ b/units/systemd-time-wait-sync.service.in
@@ -28,7 +28,7 @@ Conflicts=shutdown.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-time-wait-sync
+ExecStart={{LIBEXECDIR}}/systemd-time-wait-sync
TimeoutStartSec=infinity
RemainAfterExit=yes
diff --git a/units/systemd-timedated.service.in b/units/systemd-timedated.service.in
index a8da138761..00f6643ba7 100644
--- a/units/systemd-timedated.service.in
+++ b/units/systemd-timedated.service.in
@@ -17,7 +17,7 @@ Documentation=man:org.freedesktop.timedate1(5)
BusName=org.freedesktop.timedate1
CapabilityBoundingSet=CAP_SYS_TIME
DeviceAllow=char-rtc r
-ExecStart={{ROOTLIBEXECDIR}}/systemd-timedated
+ExecStart={{LIBEXECDIR}}/systemd-timedated
IPAddressDeny=any
LockPersonality=yes
MemoryDenyWriteExecute=yes
diff --git a/units/systemd-timesyncd.service.in b/units/systemd-timesyncd.service.in
index c606461091..cf233fbffd 100644
--- a/units/systemd-timesyncd.service.in
+++ b/units/systemd-timesyncd.service.in
@@ -26,7 +26,7 @@ CapabilityBoundingSet=CAP_SYS_TIME
# correct time to work, but we likely won't acquire that without NTP. Let's
# break this chicken-and-egg cycle here.
Environment=SYSTEMD_NSS_RESOLVE_VALIDATE=0
-ExecStart=!!{{ROOTLIBEXECDIR}}/systemd-timesyncd
+ExecStart=!!{{LIBEXECDIR}}/systemd-timesyncd
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in
index a0ee9e0a50..b59fdef9b0 100644
--- a/units/systemd-udevd.service.in
+++ b/units/systemd-udevd.service.in
@@ -25,7 +25,7 @@ OOMScoreAdjust=-1000
Sockets=systemd-udevd-control.socket systemd-udevd-kernel.socket
Restart=always
RestartSec=0
-ExecStart={{ROOTLIBEXECDIR}}/systemd-udevd
+ExecStart={{LIBEXECDIR}}/systemd-udevd
KillMode=mixed
TasksMax=infinity
PrivateMounts=yes
diff --git a/units/systemd-update-done.service.in b/units/systemd-update-done.service.in
index 53cc6dd621..4ea43c7dca 100644
--- a/units/systemd-update-done.service.in
+++ b/units/systemd-update-done.service.in
@@ -20,4 +20,4 @@ ConditionNeedsUpdate=|/var
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-update-done
+ExecStart={{LIBEXECDIR}}/systemd-update-done
diff --git a/units/systemd-update-utmp-runlevel.service.in b/units/systemd-update-utmp-runlevel.service.in
index 18c92f9b5a..17772d4576 100644
--- a/units/systemd-update-utmp-runlevel.service.in
+++ b/units/systemd-update-utmp-runlevel.service.in
@@ -22,4 +22,4 @@ Before=shutdown.target
[Service]
Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-update-utmp runlevel
+ExecStart={{LIBEXECDIR}}/systemd-update-utmp runlevel
diff --git a/units/systemd-update-utmp.service.in b/units/systemd-update-utmp.service.in
index 73a848390e..1a88b7b2b8 100644
--- a/units/systemd-update-utmp.service.in
+++ b/units/systemd-update-utmp.service.in
@@ -22,5 +22,5 @@ RequiresMountsFor=/var/log/wtmp
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-update-utmp reboot
-ExecStop={{ROOTLIBEXECDIR}}/systemd-update-utmp shutdown
+ExecStart={{LIBEXECDIR}}/systemd-update-utmp reboot
+ExecStop={{LIBEXECDIR}}/systemd-update-utmp shutdown
diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in
index adca848c2a..ae694bf21b 100644
--- a/units/systemd-user-sessions.service.in
+++ b/units/systemd-user-sessions.service.in
@@ -15,5 +15,5 @@ After=remote-fs.target nss-user-lookup.target network.target home.mount
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-user-sessions start
-ExecStop={{ROOTLIBEXECDIR}}/systemd-user-sessions stop
+ExecStart={{LIBEXECDIR}}/systemd-user-sessions start
+ExecStop={{LIBEXECDIR}}/systemd-user-sessions stop
diff --git a/units/systemd-userdbd.service.in b/units/systemd-userdbd.service.in
index b57661100c..1c092654b9 100644
--- a/units/systemd-userdbd.service.in
+++ b/units/systemd-userdbd.service.in
@@ -17,7 +17,7 @@ DefaultDependencies=no
[Service]
CapabilityBoundingSet=CAP_DAC_READ_SEARCH CAP_SYS_RESOURCE
-ExecStart={{ROOTLIBEXECDIR}}/systemd-userdbd
+ExecStart={{LIBEXECDIR}}/systemd-userdbd
IPAddressDeny=any
LimitNOFILE={{HIGH_RLIMIT_NOFILE}}
LockPersonality=yes
diff --git a/units/systemd-vconsole-setup.service.in b/units/systemd-vconsole-setup.service.in
index 96417e19bd..3475d456bc 100644
--- a/units/systemd-vconsole-setup.service.in
+++ b/units/systemd-vconsole-setup.service.in
@@ -25,6 +25,6 @@ Type=oneshot
SuccessExitStatus=SIGTERM
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-vconsole-setup
+ExecStart={{LIBEXECDIR}}/systemd-vconsole-setup
ImportCredential=vconsole.*
diff --git a/units/systemd-volatile-root.service.in b/units/systemd-volatile-root.service.in
index 5a0ec89fd6..6f221dc5ec 100644
--- a/units/systemd-volatile-root.service.in
+++ b/units/systemd-volatile-root.service.in
@@ -19,4 +19,4 @@ AssertPathExists=/etc/initrd-release
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-volatile-root yes /sysroot
+ExecStart={{LIBEXECDIR}}/systemd-volatile-root yes /sysroot
diff --git a/units/user-runtime-dir@.service.in b/units/user-runtime-dir@.service.in
index 7314173324..0641dd0b0a 100644
--- a/units/user-runtime-dir@.service.in
+++ b/units/user-runtime-dir@.service.in
@@ -15,8 +15,8 @@ StopWhenUnneeded=yes
IgnoreOnIsolate=yes
[Service]
-ExecStart={{ROOTLIBEXECDIR}}/systemd-user-runtime-dir start %i
-ExecStop={{ROOTLIBEXECDIR}}/systemd-user-runtime-dir stop %i
+ExecStart={{LIBEXECDIR}}/systemd-user-runtime-dir start %i
+ExecStop={{LIBEXECDIR}}/systemd-user-runtime-dir stop %i
Type=oneshot
RemainAfterExit=yes
Slice=user-%i.slice
diff --git a/units/user@.service.in b/units/user@.service.in
index 86ab4ffcc6..da5f98c994 100644
--- a/units/user@.service.in
+++ b/units/user@.service.in
@@ -18,7 +18,7 @@ IgnoreOnIsolate=yes
User=%i
PAMName=systemd-user
Type=notify-reload
-ExecStart={{ROOTLIBEXECDIR}}/systemd --user
+ExecStart={{LIBEXECDIR}}/systemd --user
Slice=user-%i.slice
KillMode=mixed
Delegate=pids memory cpu