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