Package: systemd Version: 246.6-1 Severity: important Upstream changed the paths in systemd.pc from prefix to rootprefix in v246 for sysusers_dir, sysctl_dir, binfmt_dir and modules-load_dir: https://github.com/systemd/systemd/commit/4a56315a990b802860170ecd1bbd3eb68e14a38b
This breaks packages which use pkg-config to determine those paths and where .install files reference /usr/. An example is mandos. I think we should revert this change. I don't see a compelling reason to move those files from /usr to /lib given that we require /usr to be pre-mounted by initramfs, if it's separate. Moving files from /usr to /lib files kinda backwards nowadays. I intend to apply a patch like the attached one in Debian. That said, I hope I can convince Lennart to revert this change upstream as well. Thoughts, Comments? Michael
diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in index 3af9f99830..699a9748f2 100644 --- a/src/core/systemd.pc.in +++ b/src/core/systemd.pc.in @@ -65,16 +65,16 @@ systemdshutdowndir=${systemd_shutdown_dir} tmpfiles_dir=/usr/lib/tmpfiles.d tmpfilesdir=${tmpfiles_dir} -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=/usr/lib/systemd/catalog diff --git a/src/libsystemd/sd-path/sd-path.c b/src/libsystemd/sd-path/sd-path.c index 26d2341c2b..414e249884 100644 --- a/src/libsystemd/sd-path/sd-path.c +++ b/src/libsystemd/sd-path/sd-path.c @@ -369,19 +369,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 = "/usr/lib/sysusers.d"; return 0; case SD_PATH_SYSCTL: - *ret = ROOTPREFIX_NOSLASH "/lib/sysctl.d"; + *ret = "/usr/lib/sysctl.d"; return 0; case SD_PATH_BINFMT: - *ret = ROOTPREFIX_NOSLASH "/lib/binfmt.d"; + *ret = "/usr/lib/binfmt.d"; return 0; case SD_PATH_MODULES_LOAD: - *ret = ROOTPREFIX_NOSLASH "/lib/modules-load.d"; + *ret = "/usr/lib/modules-load.d"; return 0; case SD_PATH_CATALOG: