]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Drop split-usr and unmerged-usr support
authorLuca Boccassi <bluca@debian.org>
Mon, 12 Jun 2023 01:15:19 +0000 (02:15 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 28 Jul 2023 18:34:03 +0000 (19:34 +0100)
As previously announced, execute order 66:

https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html

The meson options split-usr, rootlibdir and rootprefix become no-ops
that print a warning if they are set to anything other than the
default values. We can remove them in a future release.

128 files changed:
.semaphore/semaphore-runner.sh
README
TODO
catalog/meson.build
catalog/systemd.bg.catalog.in
catalog/systemd.catalog.in
catalog/systemd.fr.catalog.in
catalog/systemd.it.catalog.in
catalog/systemd.pl.catalog.in
catalog/systemd.ru.catalog.in
docs/DISTRO_PORTING.md
hwdb.d/meson.build
man/org.freedesktop.systemd1.xml
man/systemd.exec.xml
meson.build
meson_options.txt
mkosi.presets/00-base/mkosi.build
rules.d/64-btrfs.rules.in
rules.d/71-seat.rules.in
rules.d/99-systemd.rules.in
shell-completion/bash/systemctl.in
shell-completion/zsh/_systemctl.in
src/basic/constants.h
src/basic/path-lookup.c
src/basic/path-lookup.h
src/basic/path-util.h
src/core/manager-serialize.c
src/core/manager.c
src/core/manager.h
src/core/meson.build
src/core/namespace.c
src/core/org.freedesktop.systemd1.policy.in
src/core/systemd.pc.in
src/cryptsetup/cryptsetup-generator.c
src/delta/delta.c
src/hibernate-resume/hibernate-resume-generator.c
src/import/meson.build
src/integritysetup/integritysetup-generator.c
src/libsystemd/libsystemd.pc.in
src/libsystemd/sd-hwdb/hwdb-internal.h
src/libsystemd/sd-path/sd-path.c
src/libudev/libudev.pc.in
src/portable/portable.c
src/resolve/meson.build
src/rpm/macros.systemd.in
src/rpm/meson.build
src/rpm/triggers.systemd.in
src/rpm/triggers.systemd.sh.in
src/shared/install.c
src/shared/kbd-util.h
src/shared/meson.build
src/shared/resolve-util.h
src/shared/userdb-dropin.h
src/shared/userdb.c
src/sysext/meson.build
src/systemctl/systemctl-sysv-compat.c
src/test/test-manager.c
src/udev/meson.build
src/xdg-autostart-generator/xdg-autostart-service.c
sysctl.d/50-coredump.conf.in
test/fuzz/fuzz-catalog/systemd.pl.catalog
test/test-fstab-generator.sh
test/test-functions
units/emergency.service.in
units/initrd-parse-etc.service.in
units/rescue.service.in
units/systemd-backlight@.service.in
units/systemd-battery-check.service.in
units/systemd-binfmt.service.in
units/systemd-bless-boot.service.in
units/systemd-boot-check-no-failures.service.in
units/systemd-coredump@.service.in
units/systemd-fsck-root.service.in
units/systemd-fsck@.service.in
units/systemd-growfs-root.service.in
units/systemd-growfs@.service.in
units/systemd-hibernate.service.in
units/systemd-homed.service.in
units/systemd-hostnamed.service.in
units/systemd-hybrid-sleep.service.in
units/systemd-importd.service.in
units/systemd-initctl.service.in
units/systemd-journal-gatewayd.service.in
units/systemd-journal-remote.service.in
units/systemd-journal-upload.service.in
units/systemd-journald.service.in
units/systemd-journald@.service.in
units/systemd-localed.service.in
units/systemd-logind.service.in
units/systemd-machined.service.in
units/systemd-modules-load.service.in
units/systemd-network-generator.service.in
units/systemd-networkd-wait-online.service.in
units/systemd-networkd-wait-online@.service.in
units/systemd-networkd.service.in
units/systemd-oomd.service.in
units/systemd-pcrfs-root.service.in
units/systemd-pcrfs@.service.in
units/systemd-pcrmachine.service.in
units/systemd-pcrphase-initrd.service.in
units/systemd-pcrphase-sysinit.service.in
units/systemd-pcrphase.service.in
units/systemd-portabled.service.in
units/systemd-pstore.service.in
units/systemd-quotacheck.service.in
units/systemd-random-seed.service.in
units/systemd-remount-fs.service.in
units/systemd-repart.service.in
units/systemd-resolved.service.in
units/systemd-rfkill.service.in
units/systemd-suspend-then-hibernate.service.in
units/systemd-suspend.service.in
units/systemd-sysctl.service.in
units/systemd-sysupdate-reboot.service.in
units/systemd-sysupdate.service.in
units/systemd-time-wait-sync.service.in
units/systemd-timedated.service.in
units/systemd-timesyncd.service.in
units/systemd-udevd.service.in
units/systemd-update-done.service.in
units/systemd-update-utmp-runlevel.service.in
units/systemd-update-utmp.service.in
units/systemd-user-sessions.service.in
units/systemd-userdbd.service.in
units/systemd-vconsole-setup.service.in
units/systemd-volatile-root.service.in
units/user-runtime-dir@.service.in
units/user@.service.in

index bacb3dd76ca25ce9be44b61cf14c47e8afb6a3dd..63c5fdfea768ccef4247589bfcff209840830cd9 100755 (executable)
@@ -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 6f9a56c809acba2e8dc5f6503b04a32435a2282e..8e4d967056e36c308e014fb372774cc20dfab18d 100644 (file)
--- 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 219e0a086c9ecbbb7fb8904ba457e257f8b3d84e..7810cd4d594aa2106e9dddfa4cb91d5cbff98f0b 100644 (file)
--- 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.
index 9aacd20954ab3eca9260784a12a72ccb6237a96b..146daba1249e6eaff15ab1863676c138c2fe949d 100644 (file)
@@ -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))
index 34645dc41e1e5dea07745365c7e0416af62dbbd9..319a5e3cadd0fc15752e2f8cb5d341e32350b345 100644 (file)
@@ -395,8 +395,6 @@ Defined-By: systemd
 Support: %SUPPORT_URL%
 
 Възможни са следните етикети:
-⁃ „split-usr“ — „/usr“ е отделна файлова система, която не е била монтирана при
-  стартирането на systemd
 ⁃ „cgroups-missing“ — ядрото е компилирано без поддръжка на „cgroup“ или е
   ограничен достъпът до тази подсистема
 ⁃ „var-run-bad“ — „/var/run“ не е символна връзка към „/run“
index 8ca0b4d227c6c28ac96b28060cae3c60a940b1ea..b2389407523b6b76e55a16908d40930fe0c6ffe7 100644 (file)
@@ -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
index 32156bf8a1139a31600fab90a8c55e81485720fa..53856b3357069ebd71ec1aa4493a7bce63bd0dc1 100644 (file)
@@ -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
index 88e118fced4faf1b31e88659439862aebf45fabb..e66eccdff3971306fc3888a70731c0e8f2f332ad 100644 (file)
@@ -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
index e9540132a1d773d12729b39bc14bc7b350b4e8de..b2f8ef36f2333a5657ad31a088dd32063d21e871 100644 (file)
@@ -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,
index 728a5435cba68e55aed217aa3199432b6c57aaa6..826f4fbea8e2cc7bcd86215efa0beff44a4a489d 100644 (file)
@@ -388,8 +388,6 @@ Defined-By: systemd
 Support: %SUPPORT_URL%
 
 Перечень всех возможных меток, указывающих на проблемы конфигурации:
-- "split-usr" — каталог /usr расположен на отдельной файловой системе,
-  которая не была смонтирована на момент запуска systemd
 - "cgroups-missing" — ядро собрано без поддержки контрольных групп, либо
   отсутствуют права для доступа к интерфейсным файлам контрольных групп
 - "var-run-bad" — /var/run не является символьной ссылкой на /run
index 93f36d084432a6e51f5bc4a581bb69fef8d84594..c95a8292a9f9921eaebad18965ba96e2db307fd8 100644 (file)
@@ -14,7 +14,6 @@ distribution:
 
 1. Find the right configure parameters for:
 
-   * `-Drootprefix=`
    * `-Dsysvinit-path=`
    * `-Dsysvrcnd-path=`
    * `-Drc-local=`
index 4c5df6ad7099d5014ca617f52a0188420492cb6f..12953e2b94bd892cb07d9cba95fc18471b379af8 100644 (file)
@@ -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'
index 56906e2f3b29b4bd8fa74e23b626ba90baeb86c7..e6164de8d9c896880626e2df404ea9177e3810bb 100644 (file)
@@ -1629,17 +1629,6 @@ node /org/freedesktop/systemd1 {
       used to lower the chance of bogus bug reports. The following taints are currently known:</para>
 
       <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>
 
index 13938caba594dfce43f78ab3fb151a45bbd05c45..d6e8d16aceb816f1631f6f61b54e514856e456f7 100644 (file)
@@ -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>
index 395eca1943c1841d1fac7f0441c87bc274607730..26deafd562c8f2f7b4db90728719dcf526b99cef 100644 (file)
@@ -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
index 19093238500a07954f268d41460e0680dfb5803f..8d845f0441eb19a6a52d7638ebc303b61528b905 100644 (file)
@@ -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,
index b1b8281d800565c4ceb74c8d31e1d65fdcc9bcbb..da2b600faea0f5e6f94d56d85b63507aea4a28a9 100755 (executable)
@@ -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
index df6e12a5ddc5b1c10b53cfb7e090f02ef31624c7..039d759f621d2eb09f13c046729489a2f12ca2d3 100644 (file)
@@ -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"
index 25e4ee7e589377ad659d5eb415f7d01408ab1ad7..1fd7ec23b097aa87b50ec15b2e92f47060ffe2d7 100644 (file)
@@ -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"
index c0defc31de729e90c6d24ec64445507eae68d504..b5a2b6aaeaa15601953e06ef34fb4633408b4305 100644 (file)
@@ -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
index 480b3b5ae10ca79d5c20aa2d200295c6061e2d7b..9c730846fcfc63c749c5cf6e9a9baab8d55a1711 100644 (file)
@@ -11,7 +11,7 @@ __systemctl() {
 }
 
 __systemd_properties() {
-    {{ROOTLIBEXECDIR}}/systemd --dump-bus-properties
+    {{LIBEXECDIR}}/systemd --dump-bus-properties
 }
 
 __contains_word () {
index 7ce7c4c0154a89d87b0e0e444cd2042dd1d4aaa5..06a4be6b3384716798bfc776b47a8394495782ea 100644 (file)
@@ -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[@]}"
     }
index 3f96786da967e2874670094b62f876a5a0fc2fcb..20bb4243c6b5baae90ce8319019a7a8a57327668 100644 (file)
 #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))
index 7d158a82959f07603fbc6872ac2ae0c991cdc38a..4e3d59fc563d8b204602e7355abe30b19bb88a90 100644 (file)
@@ -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;
index 6d6163fb9d70c2d203835864e61464eb640ea841..1601787064ea294a569d76e32072257c7b9018c9 100644 (file)
@@ -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 {
index 97175bee11dcd496dd6176c7b8f5fb77032d66d3..038cd8226d0da014497d09db6110f66ee4a52050 100644 (file)
 #  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
index c2b6fc1db6abe0013642721c20a31fd22c5ec46b..f4ad9b0642bcab67803bcd4762be1fc9944d4582 100644 (file)
@@ -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;
 
index 22ec6e79b17782ad02078963e17df076be90ffd1..b7af1594497bee989ae0dfd94788b65e61ce7a06 100644 (file)
@@ -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";
index a6c87dc852ef875dc64b3c3675691b9fdb4ede0e..3842c3f0034cf9ac331b72f66d71987d359e3c0d 100644 (file)
@@ -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;
 
index 91477afc9cf16b00d0e6adbd645ce6043b77b8fa..81dab61f82013c7be93c3b65fb2dc4f30c356b39 100644 (file)
@@ -133,7 +133,7 @@ libcore = shared_library(
                         userspace,
                         versiondep],
         install : true,
-        install_dir : rootpkglibdir)
+        install_dir : pkglibdir)
 
 core_includes = [includes, include_directories('.')]
 
index 850454944e7220ac165ba35b4f882535933ef234..5d353520bea82603984b3f93ba03c11335b48fe2 100644 (file)
@@ -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
 };
 
 /*
index 9e9a20f66f67777dd08386b86fb25810fa0210dd..0083e0b58521605e99fa9d83550ba91df938af75 100644 (file)
@@ -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">
index 693433b34b87a3afba0068f85d73e33a165f2a2e..6cca2fad9a870d451b8dbafa13ccd3416233ba86 100644 (file)
 # 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
index 702b2615e29b8ff03c6cf562e1589cadb851edea..2caf15fa497b954a0920e72942bcd1a1fcc5ccff 100644 (file)
@@ -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);
index eee2111abaadbc9c808a02ae0c457de232e8fd7d..beca7ea975925b4f6115d37862674ea5dfff6e64 100644 (file)
@@ -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;
index 23c1a0a3c8a32d1bb883c11ecd95e22e1dcd7d02..68916628edb31edb31e7c98893e24b4800033319 100644 (file)
@@ -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);
index ffebeebacd40da7a5dc8f456481a630d9c819676..488855bf78fbf942ec1192e5e5c4b9f73f8649a0 100644 (file)
@@ -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
 
index 5df6d81a8441a312589fce77dbe812e013b8130b..05154908aea53767acd9cd628c2d569096eab09e 100644 (file)
@@ -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);
 
index da6e4e667ef78d1b7b00d69324371e6a2d1085ba..3a43ef60710e555af513cff1b43bd0a9cc1fee63 100644 (file)
@@ -9,7 +9,7 @@
 
 prefix={{PREFIX}}
 exec_prefix={{PREFIX}}
-libdir={{ROOTLIBDIR}}
+libdir={{LIBDIR}}
 includedir={{INCLUDE_DIR}}
 
 Name: systemd
index 5302679a625274ec6c4a62855917ad08d7bf048c..9db3b314416e4aa61d4aad5169c4a188b698eb3c 100644 (file)
@@ -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"
index 36c4d89e062445f92209a8eecd5890ba357fceaf..33adc314d6ce1908b5f4ee2f8b7a9ad1046b7f12 100644 (file)
@@ -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:
index 1d6487fa40846bac523f82a290f52478771b349b..6541bcb1ab6b86d0eb4eaa5ac53a04817e7b80cb 100644 (file)
@@ -9,7 +9,7 @@
 
 prefix={{PREFIX}}
 exec_prefix={{PREFIX}}
-libdir={{ROOTLIBDIR}}
+libdir={{LIBDIR}}
 includedir={{INCLUDE_DIR}}
 
 Name: libudev
index c2d01cf4dbce7579092a960296ec257e9d8d2ee6..545a3ed5d22f9bebfdd616ae4246948e3d8376da 100644 (file)
@@ -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;
 
index 052d54086f53d976ed2d02c8fafef4be667b0d77..576c7fc9a19d29ffc7d47e84d4e5e56cb37f13a0 100644 (file)
@@ -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(
index 8880078b1b3cbe5aa7cbdc61fc86244e4b32e602..c07541c7286cb2c3befe851e552dc824492e0121 100644 (file)
@@ -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}
index 817665912a9fd8eb2e422a57b929c726256fd111..af39ff145ab95d1f87a3e8c11e0437a8eea19904 100644 (file)
@@ -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]]
index 39a1f8d8fd5bd1b9daff631926c7d93344c25d0a..24108a77bb3102b8df534212b374dee691e1e7b7 100644 (file)
@@ -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
index 8c301f5ed9d6ffa304ad41212d8978f647495f33..1b94f7d73a05b80666701ecaa86408ef2f566c10 100644 (file)
@@ -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
index a34e7bfe5ba10bffa753db629f864c00ecb9c509..34eaacb452e25aadf39c7e9e8b8be9cc47533e5f 100644 (file)
@@ -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;
 
index a2fc2e6a3ee2c8cfdb702da51233381b771ad619..aca0dee4bc0d2dced15050c3e967f9b77e0bf88c 100644 (file)
@@ -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);
index 8fe02410d63f2a5995d5ae5b6c524b0fc8a46b0c..889d9a391f582dcd6d8fb3a17d4161089686515d 100644 (file)
@@ -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',
index 7c9008c7053f80b1f8b5d839cce59b9d8de3bcdb..2d210f9af755c27b94a0d420dd02181c147b015c 100644 (file)
@@ -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"
index fad3981f7c6bc5d3dde7bed2268eb0aabd8cbb8e..3bd1b9c8451fed8800561f222216487a9d8207d0 100644 (file)
@@ -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);
index dfff5aba72beb257ef1620b3943296a6c11e95f7..cd67ddeec82352a9038667775466f97bd14b03c8 100644 (file)
@@ -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());
index f7d42fbecf510b67341dd0389d27ffc462306fc3..7fc699ec1e4da8adc70874310b452a41d54ba85a 100644 (file)
@@ -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
index 1bc76031f4e574473839a99abc9c44657ac184c6..d55525943ebed7d8cffb73a75b425d073e326fbe 100644 (file)
@@ -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 */
index 89f9277b2874af06a17045a62489c189a3444eae..76e094bf012b7bfbd15f3e1c359bb67649772173 100644 (file)
@@ -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);
index 96f7930e9eef5affb49f1ff1b471c48c600a0a20..dc490a5abf45f45aa77b9143d66fd026edbb61ae 100644 (file)
@@ -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]
index eab33504de55a2d0ea46a23e7e53942a549a0146..1861f86cf7cf7ffddd41a903f4ae4baec0b01b72 100644 (file)
@@ -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);
         }
index 5fb551a8cf9fd6260ea4dcee24eba63cb52ca430..90c080bdfefafd1a28eb29d3a616fe207b1ea9bf 100644 (file)
@@ -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
index 043627c739df77cf1dcee56c0d747ba9e1078e83..6e99c04d854ac5d8c55d99ec22fa5501cee4aa37 100644 (file)
@@ -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,
index 0c949d46f44a1126b839405b38306e211b35bd0d..50ba321b9c855afcd50bf2040a7ed05df16fa259 100755 (executable)
@@ -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"
index 41e1a0d57df48bb8e7b378c086132f6caedd301c..cfcf895cafdd89874b2056c765cedac766b90e04 100644 (file)
@@ -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.
index a126ad9bb12c39d394eebf549a11811c2609baa0..8f70cbe567d32d7920aacf1b16f00bc92f69135c 100644 (file)
@@ -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
index fe0e860150c2862917b98ecb3872778bc092248f..e592d3c2cb626edcff909974beb4183c914a32c0 100644 (file)
@@ -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
index 74b933726e2274494f9dc730e2435b49d53ad88a..5113408942125188e8b23edfe41a260b75c00154 100644 (file)
@@ -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
index 981d0f278ee33919cc76fb4431f22e483dadd251..e7e35ecf0d0b58f967ba09d9ba2ae0319f318dc6 100644 (file)
@@ -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
index a6a0d26fde263a0683cce42e694e7838cf7c063e..6825aa0a2265f3efb61ead6daa489e59551e11a1 100644 (file)
@@ -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
index b04412e037f2ed92b5a33fd03af6158aaba4f411..6861c766744c84cb85632f6ddf1c6de35a03e984 100644 (file)
@@ -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
index 557f77b16f6320a8a2acf27924090ffac1ebb6dd..e7a45481447d81f8a056d74ec829a77c36a0f1b5 100644 (file)
@@ -19,4 +19,4 @@ Before=shutdown.target
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-bless-boot good
+ExecStart={{LIBEXECDIR}}/systemd-bless-boot good
index 47f182226b224f757bea3b362809ec6d52eb06e0..eaadd0e55446387aa36ec444c6f6df5481f20040 100644 (file)
@@ -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
index 15bfb243b41dfc3e7787a04615852ea6b60e434d..012c60d2f6848067e9122e46ce9aaa4b116e444e 100644 (file)
@@ -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
index 8cfbe7ce9879022c480289c2fd57b504713524e0..ebe8262a49e22442f41370bcf8257ba35cb4c341 100644 (file)
@@ -20,5 +20,5 @@ OnFailureJobMode=replace-irreversibly
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-fsck
+ExecStart={{LIBEXECDIR}}/systemd-fsck
 TimeoutSec=infinity
index d773229812e28778ca4ff4643b93ee1a104363b4..65521b1087b81a03d591b7cb52642d0b25a80116 100644 (file)
@@ -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
index 0468774cb0024c416ad5930db524eb0b4fc30217..a6568638b02cf0ae336a34be15e04ed8a4241d39 100644 (file)
@@ -19,5 +19,5 @@ Before=shutdown.target
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-growfs /
+ExecStart={{LIBEXECDIR}}/systemd-growfs /
 TimeoutSec=infinity
index 90fb0a86619b837981b6c7803f2de4a566f81fee..8099b1ea470190d0c80feac9eb4c86a64fa1f451 100644 (file)
@@ -20,5 +20,5 @@ Before=shutdown.target
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-growfs %f
+ExecStart={{LIBEXECDIR}}/systemd-growfs %f
 TimeoutSec=infinity
index 9a7b3633cb31f448dc7eace2439e7e23ab09cd68..25cd7a0ff952fe9fdc5561d5d109a200197b3508 100644 (file)
@@ -16,4 +16,4 @@ After=sleep.target
 
 [Service]
 Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep hibernate
+ExecStart={{LIBEXECDIR}}/systemd-sleep hibernate
index 52caa4e22e51fb44b8139be8fde3338e2bdcf489..2ca5e063e3a1a2bf6f8694d799452c8237a92405 100644 (file)
@@ -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
index 9ac56baf42433a639bd62039330e88619fdb5766..31b45e0fa8b11c81ae55605ae6eee5a1e2e994d9 100644 (file)
@@ -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
index cce764f30aeb05f42f93fe364a885cc15a8477c6..fe57f57fae6d006f34db1f67d524b47f5e9cc5e1 100644 (file)
@@ -16,4 +16,4 @@ After=sleep.target
 
 [Service]
 Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep hybrid-sleep
+ExecStart={{LIBEXECDIR}}/systemd-sleep hybrid-sleep
index 080cc646a9cc14ae7a80a26dc400e0586137695f..fc24a050981452bbd77d4cfe0755d3f60d040952 100644 (file)
@@ -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
index efac5c4b1143b5d2a81f4b11caacc758f21dbc09..6a19058186ca906a04f7a59f2d82bfe2a3869be6 100644 (file)
@@ -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
index 81c53fa01f410951e8a898f5d6e3234d8b1b0c5c..27ae42cccee83b723c598f5ac437edd538ba0390 100644 (file)
@@ -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
index d8f28f252c0ee4f1042c17fbede178d23b1a0986..65174109905538e742810f44c750c260609fda63 100644 (file)
@@ -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
index e4359a80e41f39109a694fb43d88632191b4c6d0..fe52f696376a38a11dc1b0ab4097fc34a777e223 100644 (file)
@@ -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
index 79ec60c937b3ba735459ff649f4f9053fd9b70d6..1c36ec8903c8824e0b8e689dcca4b8f89e89da2d 100644 (file)
@@ -22,7 +22,7 @@ IgnoreOnIsolate=yes
 
 [Service]
 DeviceAllow=char-* rw
-ExecStart={{ROOTLIBEXECDIR}}/systemd-journald
+ExecStart={{LIBEXECDIR}}/systemd-journald
 FileDescriptorStoreMax=4224
 IPAddressDeny=any
 LockPersonality=yes
index 35c998285f2fd013ff1dd52c2f19c9dd89ff903a..b705ce08ff5cfc69e4b5b263a6a9cb1ec0f0adaa 100644 (file)
@@ -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
index f9a92fef7beeb9c68dd346f84a3ce181bba7f3e8..19383ae42397cd8a9569cc1dfa377e8c52375c17 100644 (file)
@@ -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
index 24f5ddaa17303b1c963133ab0ab7ff8c5b8a1982..39dc0c2241964a2fac250cc3f7ea3411ed45c874 100644 (file)
@@ -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
index d3f8abd9e4c63c8a54c65b8a276d3de394d967d0..47aa5deeedc5f4399b970a91a54f7f58bb44b8bc 100644 (file)
@@ -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
index 604d8712a049785ebb2ad0a9b747c7a18cffbf5f..0fe6740bdae158fa06f83f1b9098d608b5a91b5c 100644 (file)
@@ -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
index 2b79ca6b8a898b29711d5b3b1979cfa72f25baee..d87e1a4adcd9e9825cace02a2fbe62c6889ccd8a 100644 (file)
@@ -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
index 3dc5ce9265277f40210a6a1741105f656f5baff6..7768121f5fc2e0a849771d8ef2d7d62064122b34 100644 (file)
@@ -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]
index b7a1e409f4439c827dcea4725e8b052631d2dc18..60d173490b38247e9477d1b9cd1ad79f2becb80d 100644 (file)
@@ -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]
index 9f0af57fdc6834cda36e916d54229f731b656709..3608458aa57aff363e905107f34e64568e9dbfa2 100644 (file)
@@ -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
index c138f5eefaff91d86fd8b7e5ae14c8c928a6406e..82bd6245f83a211cf41496947308742e08ed8a4e 100644 (file)
@@ -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
index 2fe1ec5008c52bd52a50c5aca0d0350ec45cdfca..da3438c576c6f187010a68ffc2c3fa82b7726496 100644 (file)
@@ -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=/
index 6cf39eb9a7e6381f2915c854beb2d1d9ed159866..59a3ece3c5cc84894f9c6535679383ffb3a77154 100644 (file)
@@ -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
index 8c942c3b55e73fc90eb94152e8d24c5415afffdf..544edb4b7b25a893cbc7ac2512f279fd7c818f94 100644 (file)
@@ -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
index 6320dccf27d670697ac1c36cb84810b543318dde..69dcbceaac78706bdb9b22530f332e2039d7912b 100644 (file)
@@ -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
index f00ad61257435b9fe7f4a7da3e80392e12a16d06..55fae49aa860e46e232017ebfe0d029f812efe73 100644 (file)
@@ -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
index 558f268857a44ebe5b9d02ec6ba3b648389a84cb..c5170cec93b0eeb98273a3b34d074ffdc5c2b3bb 100644 (file)
@@ -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
index ab660ce36c8d1acb8d24c5fa9bb213dc4ffa29c5..b4ec252c0394f74f53154576f39cdd5aba68a895 100644 (file)
@@ -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
index 02ac29caa4ed156617c75eeb2316c056728320c7..0b5a20a3532e26f5fd8cf5c0137a1e0e740ba496 100644 (file)
@@ -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
 
index 60b56496fa8be70cc7a1ef9cd59ec818ebe8d1be..0f94e382863c754ffbcd91862de518b888b37647 100644 (file)
@@ -21,5 +21,5 @@ Before=shutdown.target
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-quotacheck
+ExecStart={{LIBEXECDIR}}/systemd-quotacheck
 TimeoutSec=infinity
index 820fdd8536ddd4fe50faf7e96bcd1ec8670c92b2..99b5f33ea26237a49968a2ccfc7e46bb2ee33385 100644 (file)
@@ -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
index be1dfd6199a71a584d8eb69c03bb38604d895356..fe3c31b30c1eb388586f81e8e662fb4ef4a844b6 100644 (file)
@@ -22,4 +22,4 @@ Before=shutdown.target
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-remount-fs
+ExecStart={{LIBEXECDIR}}/systemd-remount-fs
index 35c4ca8ca55d89e5bebbfe8c53452825fffbf6c3..b1322a159befd3c380939967c9220fd84a6dec09 100644 (file)
@@ -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
index a078a9dd684bf08da87c89c068365f054a67c670..736f36848ca9412f432696dab6160ca5795671bf 100644 (file)
@@ -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
index 4034d7a557f5f0463613de0d2c43d3871d58718a..c6b32a18ea5ca163827f189c10d09373e249ce39 100644 (file)
@@ -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
index 19c30e90175dd8a67953e3be0a583a23a326cbb3..150d8d2c239b119f13a53e8977d6ebb4b3e209d1 100644 (file)
@@ -16,4 +16,4 @@ After=sleep.target
 
 [Service]
 Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep suspend-then-hibernate
+ExecStart={{LIBEXECDIR}}/systemd-sleep suspend-then-hibernate
index 2515575e1040c9f5e9159a7c1bbb878e65418338..aa264e860c5bcb85d8362afebc4ed9a0c6871e7b 100644 (file)
@@ -16,4 +16,4 @@ After=sleep.target
 
 [Service]
 Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-sleep suspend
+ExecStart={{LIBEXECDIR}}/systemd-sleep suspend
index 7307601a7dfb077d67438ebfb6b982146a47edb1..4179753cde509801f909a3605575954d6344d66e 100644 (file)
@@ -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.*
index 9d7b7d1657ad0d44963860841cff8e516964ca6b..5d4011a21327ffa247aef7f25343cb3553c9d37e 100644 (file)
@@ -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
index 085a9c4a22c21c776ae62eab80384185371dbc5d..1becbec5edeb4e80d43446ca3befbdf702e71822 100644 (file)
@@ -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
index d14491a01e58b74e7308ce9fb10eb87bcb3c7c8e..12eb6efd7abe4f240e94fcda695f6454ad418543 100644 (file)
@@ -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
 
index a8da1387614ccd8ce0617d932ac4a752692aa497..00f6643ba7e676aeb07a2553d34239a8ed994dec 100644 (file)
@@ -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
index c60646109138951c846d6bc197d8e34c5c9937dc..cf233fbffd4f2dc21146fbca4ed4481358df175c 100644 (file)
@@ -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
index a0ee9e0a50c70ff2c80a4844c3ff75d11b0a61e5..b59fdef9b01f71572b37b64a0ccd2e9f41ba206a 100644 (file)
@@ -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
index 53cc6dd621bd5c1ecadd51204ac7f797e1224056..4ea43c7dca7eb16fc9df0b6f922b813a821cf1d1 100644 (file)
@@ -20,4 +20,4 @@ ConditionNeedsUpdate=|/var
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart={{ROOTLIBEXECDIR}}/systemd-update-done
+ExecStart={{LIBEXECDIR}}/systemd-update-done
index 18c92f9b5a4c35c4d2effc027bd34ea5f0b20d83..17772d4576c40c0999078c5a44ae45e118db900e 100644 (file)
@@ -22,4 +22,4 @@ Before=shutdown.target
 
 [Service]
 Type=oneshot
-ExecStart={{ROOTLIBEXECDIR}}/systemd-update-utmp runlevel
+ExecStart={{LIBEXECDIR}}/systemd-update-utmp runlevel
index 73a848390e95dabcca981272d22840bc1177633c..1a88b7b2b89148426611986b192f1e11189e957c 100644 (file)
@@ -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
index adca848c2a6079f65d30c56a1d97e287a31bb52b..ae694bf21b51d8dff9cf63fc34c03236ecca1a0e 100644 (file)
@@ -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
index b57661100cd0f3ee6da659f7ac44a16312544549..1c092654b99cfcd07ddf9dae1bba7e577b48a9ea 100644 (file)
@@ -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
index 96417e19bda15c58d7262545e0ef9dc3603bbd5b..3475d456bc918cbb12bb3968d02c7f36b0223ee9 100644 (file)
@@ -25,6 +25,6 @@ Type=oneshot
 SuccessExitStatus=SIGTERM
 RemainAfterExit=yes
 
-ExecStart={{ROOTLIBEXECDIR}}/systemd-vconsole-setup
+ExecStart={{LIBEXECDIR}}/systemd-vconsole-setup
 
 ImportCredential=vconsole.*
index 5a0ec89fd685c5afe963daf3304643e9b01be893..6f221dc5ecb4882962b03fe83d7e2ae50dd8c823 100644 (file)
@@ -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
index 7314173324263232cebc8843bbbe3f182606499e..0641dd0b0a8c0bf55ffb6d2dd130a5d6629dc296 100644 (file)
@@ -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
index 86ab4ffcc6dfa9be6727c3ecbfae55e29054b9cc..da5f98c994683584b2f65d7216a05d79aa72f978 100644 (file)
@@ -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