]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
path: use ROOTPREFIX properly
authorLennart Poettering <lennart@poettering.net>
Thu, 28 May 2020 07:17:48 +0000 (09:17 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 28 May 2020 21:52:34 +0000 (23:52 +0200)
ROOTPREFIX doesn't include the trailing /, hence add it in where needed.

Also, given that sysctl.d/, binfmt.d/, sysusers.d/ are generally
accessed before /var/ is up they should use ROOTPREFIX rather than
PREFIX. Fix that.

src/core/systemd.pc.in
src/libsystemd/sd-path/sd-path.c

index 410a126317ad8f4a82310fa2d4471028f1d98d8d..8424837824b5ab38ad678e29af7c7f53515cebd9 100644 (file)
@@ -65,16 +65,16 @@ systemdshutdowndir=${systemd_shutdown_dir}
 tmpfiles_dir=${prefix}/lib/tmpfiles.d
 tmpfilesdir=${tmpfiles_dir}
 
-sysusers_dir=${prefix}/lib/sysusers.d
+sysusers_dir=${rootprefix}/lib/sysusers.d
 sysusersdir=${sysusers_dir}
 
-sysctl_dir=${prefix}/lib/sysctl.d
+sysctl_dir=${rootprefix}/lib/sysctl.d
 sysctldir=${sysctl_dir}
 
-binfmt_dir=${prefix}/lib/binfmt.d
+binfmt_dir=${rootprefix}/lib/binfmt.d
 binfmtdir=${binfmt_dir}
 
-modules_load_dir=${prefix}/lib/modules-load.d
+modules_load_dir=${rootprefix}/lib/modules-load.d
 modulesloaddir=${modules_load_dir}
 
 catalog_dir=${prefix}/lib/systemd/catalog
index 9f8397cd37c95bbe801c0a77a2048350af77cab7..ea8e167128e330153540877694ea5b3c7a35b3e8 100644 (file)
@@ -321,7 +321,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_DIR:
-                *ret = ROOTPREFIX "lib/systemd";
+                *ret = ROOTPREFIX "/lib/systemd";
                 return 0;
 
         case SD_PATH_SYSTEMD_SYSTEM_UNIT_DIR:
@@ -329,7 +329,7 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
                 return 0;
 
         case SD_PATH_SYSTEMD_SYSTEM_PRESET_DIR:
-                *ret = ROOTPREFIX "lib/systemd/system-preset";
+                *ret = ROOTPREFIX "/lib/systemd/system-preset";
                 return 0;
 
         case SD_PATH_SYSTEMD_USER_UNIT_DIR:
@@ -337,7 +337,7 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
                 return 0;
 
         case SD_PATH_SYSTEMD_USER_PRESET_DIR:
-                *ret = ROOTPREFIX "lib/systemd/user-preset";
+                *ret = ROOTPREFIX "/lib/systemd/user-preset";
                 return 0;
 
         case SD_PATH_SYSTEMD_SYSTEM_CONF_DIR:
@@ -357,11 +357,11 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
                 return 0;
 
         case SD_PATH_SYSTEMD_SLEEP_DIR:
-                *ret = ROOTPREFIX "lib/systemd/system-sleep";
+                *ret = ROOTPREFIX "/lib/systemd/system-sleep";
                 return 0;
 
         case SD_PATH_SYSTEMD_SHUTDOWN_DIR:
-                *ret = ROOTPREFIX "lib/systemd/system-shutdown";
+                *ret = ROOTPREFIX "/lib/systemd/system-shutdown";
                 return 0;
 
         /* FIXME: systemd.pc uses ${prefix}, but CONF_PATHS_NULSTR doesn't.
@@ -371,19 +371,19 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
                 return 0;
 
         case SD_PATH_SYSUSERS_DIR:
-                *ret = "/usr/lib/sysusers.d";
+                *ret = ROOTPREFIX "/lib/sysusers.d";
                 return 0;
 
         case SD_PATH_SYSCTL_DIR:
-                *ret = "/usr/lib/sysctl.d";
+                *ret = ROOTPREFIX "/lib/sysctl.d";
                 return 0;
 
         case SD_PATH_BINFMT_DIR:
-                *ret = "/usr/lib/binfmt.d";
+                *ret = ROOTPREFIX "/lib/binfmt.d";
                 return 0;
 
         case SD_PATH_MODULES_LOAD_DIR:
-                *ret = "/usr/lib/modules-load.d";
+                *ret = ROOTPREFIX "/lib/modules-load.d";
                 return 0;
 
         case SD_PATH_CATALOG_DIR: