From 277c196369f86f65f8831a049d01fab84cee4b1f Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 26 Aug 2019 23:42:23 -0500 Subject: [PATCH] fu-common: Use environment variables for systemd managed directories The systemd unit will set these, create these directories and set all permissions. If that has happened, use them. --- src/fu-common.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/fu-common.c b/src/fu-common.c index 2b5abc9d1..684a21185 100644 --- a/src/fu-common.c +++ b/src/fu-common.c @@ -1025,14 +1025,23 @@ fu_common_get_path (FuPathKind path_kind) #endif /* /etc/fwupd */ case FU_PATH_KIND_SYSCONFDIR_PKG: + tmp = g_getenv ("CONFIGURATION_DIRECTORY"); + if (tmp != NULL) + return g_build_filename (tmp, NULL); basedir = fu_common_get_path (FU_PATH_KIND_SYSCONFDIR); return g_build_filename (basedir, PACKAGE_NAME, NULL); /* /var/lib/fwupd */ case FU_PATH_KIND_LOCALSTATEDIR_PKG: + tmp = g_getenv ("STATE_DIRECTORY"); + if (tmp != NULL) + return g_build_filename (tmp, NULL); basedir = fu_common_get_path (FU_PATH_KIND_LOCALSTATEDIR); return g_build_filename (basedir, "lib", PACKAGE_NAME, NULL); /* /var/cache/fwupd */ case FU_PATH_KIND_CACHEDIR_PKG: + tmp = g_getenv ("CACHE_DIRECTORY"); + if (tmp != NULL) + return g_build_filename (tmp, NULL); basedir = fu_common_get_path (FU_PATH_KIND_LOCALSTATEDIR); return g_build_filename (basedir, "cache", PACKAGE_NAME, NULL); case FU_PATH_KIND_POLKIT_ACTIONS: