diff --git a/CMakeLists.txt b/CMakeLists.txt index f438ed07d..c23855bf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,16 @@ if(NOT TARGET_DIR_HOME) endif() if(NOT TARGET_DIR_ETC) - set(TARGET_DIR_ETC "${CMAKE_INSTALL_SYSCONFDIR}") + set(TARGET_DIR_ETC "${TARGET_DIR_ROOT}/etc") +endif() + +#https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.html +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${TARGET_DIR_USR}" CACHE PATH "..." FORCE) +endif() + +if(NOT CMAKE_INSTALL_SYSCONFDIR) + set(CMAKE_INSTALL_SYSCONFDIR "${TARGET_DIR_ETC}" CACHE PATH "..." FORCE) endif() ################# @@ -545,15 +554,6 @@ endif() # install target # ################## -#https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.html -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${TARGET_DIR_USR}" CACHE PATH "..." FORCE) -endif() - -if(NOT CMAKE_INSTALL_SYSCONFDIR) - set(CMAKE_INSTALL_SYSCONFDIR "${TARGET_DIR_ROOT}/etc" CACHE PATH "..." FORCE) -endif() - include(GNUInstallDirs) install( diff --git a/src/common/init.c b/src/common/init.c index d34d78f65..5e1ed33d8 100644 --- a/src/common/init.c +++ b/src/common/init.c @@ -76,12 +76,12 @@ static void initConfigDirs(FFstate* state) FFstrbuf* systemConfigHome = ffListAdd(&state->configDirs); ffStrbufInitA(systemConfigHome, 64); - ffStrbufAppendS(systemConfigHome, FASTFETCH_TARGET_DIR_ROOT"/etc/xdg/"); + ffStrbufAppendS(systemConfigHome, FASTFETCH_TARGET_DIR_ETC"/xdg/"); FF_ENSURE_ONLY_ONCE_IN_LIST(systemConfigHome) FFstrbuf* systemConfig = ffListAdd(&state->configDirs); ffStrbufInitA(systemConfig, 64); - ffStrbufAppendS(systemConfig, FASTFETCH_TARGET_DIR_ROOT"/etc/"); + ffStrbufAppendS(systemConfig, FASTFETCH_TARGET_DIR_ETC"/"); FF_ENSURE_ONLY_ONCE_IN_LIST(systemConfig) #undef FF_ENSURE_ONLY_ONCE_IN_LIST diff --git a/src/detection/font/font.h b/src/detection/font/font.h index 3cef2507f..e28446e66 100644 --- a/src/detection/font/font.h +++ b/src/detection/font/font.h @@ -12,10 +12,10 @@ typedef struct FFFontResult FFstrbuf error; /** - * Linux / BSD: QT, GTK2, GTK3, GTK4 - * MacOS: System, User, Monospace, Application - * Windows: Desktop, User, Unset, Unset - * Other: Unset, Unset, Unset, Unset + * Linux / BSD: QT, GTK2, GTK3, GTK4 + * MacOS: System, User, Monospace, Application + * Windows: Desktop, User, Unset, Unset + * Other: Unset, Unset, Unset, Unset */ FFstrbuf fonts[FF_DETECT_FONT_NUM_FONTS]; } FFFontResult; diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index ecdb87fc8..73c513922 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -101,7 +101,7 @@ static void detectOS(FFOSResult* os, const FFinstance* instance) return; } - if(instance->config.escapeBedrock && parseFile(FASTFETCH_TARGET_DIR_ROOT"/bedrock/etc/bedrock-release", os)) + if(instance->config.escapeBedrock && parseFile(FASTFETCH_TARGET_DIR_ROOT"/bedrock"FASTFETCH_TARGET_DIR_ETC"/bedrock-release", os)) { if(os->id.length == 0) ffStrbufAppendS(&os->id, "bedrock"); @@ -115,7 +115,7 @@ static void detectOS(FFOSResult* os, const FFinstance* instance) return; } - parseFile(FASTFETCH_TARGET_DIR_ROOT"/etc/os-release", os); + parseFile(FASTFETCH_TARGET_DIR_ETC"/os-release", os); if(allRelevantValuesSet(os)) return; @@ -123,7 +123,7 @@ static void detectOS(FFOSResult* os, const FFinstance* instance) if(allRelevantValuesSet(os)) return; - parseFile(FASTFETCH_TARGET_DIR_ROOT"/etc/lsb-release", os); + parseFile(FASTFETCH_TARGET_DIR_ETC"/lsb-release", os); } void ffDetectOSImpl(FFOSResult* os, const FFinstance* instance) diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c index cf20d28dd..d25df2970 100644 --- a/src/detection/packages/packages_linux.c +++ b/src/detection/packages/packages_linux.c @@ -357,7 +357,7 @@ static void getPackageCounts(const FFinstance* instance, FFstrbuf* baseDir, FFPa ffStrbufSubstrBefore(baseDir, baseDirLength); //pacman branch - ffStrbufAppendS(baseDir, "/etc/pacman-mirrors.conf"); + ffStrbufAppendS(baseDir, FASTFETCH_TARGET_DIR_ETC"/pacman-mirrors.conf"); if(ffParsePropFile(baseDir->chars, "Branch =", &packageCounts->pacmanBranch) && packageCounts->pacmanBranch.length == 0) ffStrbufAppendS(&packageCounts->pacmanBranch, "stable"); ffStrbufSubstrBefore(baseDir, baseDirLength); diff --git a/src/detection/terminalfont/terminalfont.c b/src/detection/terminalfont/terminalfont.c index 66ab7965c..297301f2f 100644 --- a/src/detection/terminalfont/terminalfont.c +++ b/src/detection/terminalfont/terminalfont.c @@ -42,7 +42,7 @@ static void detectTTY(FFTerminalFontResult* terminalFont) FFstrbuf fontName; ffStrbufInit(&fontName); - ffParsePropFile(FASTFETCH_TARGET_DIR_ROOT"/etc/vconsole.conf", "Font =", &fontName); + ffParsePropFile(FASTFETCH_TARGET_DIR_ETC"/vconsole.conf", "Font =", &fontName); if(fontName.length == 0) { @@ -59,7 +59,7 @@ static void detectTTY(FFTerminalFontResult* terminalFont) if(fontName.length > 0) ffFontInitCopy(&terminalFont->font, fontName.chars); else - ffStrbufAppendS(&terminalFont->error, "Couldn't find Font in /etc/vconsole.conf"); + ffStrbufAppendS(&terminalFont->error, "Couldn't find Font in "FASTFETCH_TARGET_DIR_ETC"/vconsole.conf"); ffStrbufDestroy(&fontName); } diff --git a/src/fastfetch.c b/src/fastfetch.c index 6b1553a4b..fff00ea5b 100644 --- a/src/fastfetch.c +++ b/src/fastfetch.c @@ -1325,7 +1325,7 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con static void parseConfigFileSystem(FFinstance* instance, FFdata* data) { - parseConfigFile(instance, data, FASTFETCH_TARGET_DIR_ETC"/fastfetch/config.conf"); + parseConfigFile(instance, data, FASTFETCH_TARGET_DIR_INSTALL_SYSCONF"/fastfetch/config.conf"); } static void parseConfigFileUser(FFinstance* instance, FFdata* data) diff --git a/src/fastfetch_config.h.in b/src/fastfetch_config.h.in index 8a79969eb..171881da9 100644 --- a/src/fastfetch_config.h.in +++ b/src/fastfetch_config.h.in @@ -13,6 +13,8 @@ #define FASTFETCH_TARGET_DIR_HOME "@TARGET_DIR_HOME@" #define FASTFETCH_TARGET_DIR_ETC "@TARGET_DIR_ETC@" +#define FASTFETCH_TARGET_DIR_INSTALL_SYSCONF "@CMAKE_INSTALL_SYSCONFDIR@" + #define FASTFETCH_DATATEXT_STRUCTURE "@DATATEXT_STRUCTURE@" #define FASTFETCH_DATATEXT_CONFIG_SYSTEM "@DATATEXT_CONFIG_SYSTEM@" #define FASTFETCH_DATATEXT_CONFIG_USER "@DATATEXT_CONFIG_USER@" //Requires FASTFETCH_PROJECT_VERSION and FASTFETCH_DATATEXT_STRUCTURE to be set diff --git a/src/modules/locale.c b/src/modules/locale.c index 954e29383..c5dd9e1a4 100644 --- a/src/modules/locale.c +++ b/src/modules/locale.c @@ -42,12 +42,12 @@ void ffPrintLocale(FFinstance* instance) //Ubuntu (and deriviates) use a non standard locale file. //Parse it first, because on distributions where it exists, it takes precedence. - //Otherwise use the standard /etc/locale.conf file. - ffParsePropFile(FASTFETCH_TARGET_DIR_ROOT"/etc/default/locale", "LANG =", &locale); + //Otherwise use the standard etc/locale.conf file. + ffParsePropFile(FASTFETCH_TARGET_DIR_ETC"/default/locale", "LANG =", &locale); if(locale.length == 0) { - ffParsePropFile(FASTFETCH_TARGET_DIR_ROOT"/etc/locale.conf", "LANG =", &locale); + ffParsePropFile(FASTFETCH_TARGET_DIR_ETC"/locale.conf", "LANG =", &locale); } if(locale.length == 0) diff --git a/src/modules/packages.c b/src/modules/packages.c index cacfa5cc5..5e653bcd7 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -5,7 +5,6 @@ #define FF_PACKAGES_MODULE_NAME "Packages" #define FF_PACKAGES_NUM_FORMAT_ARGS 17 - void ffPrintPackages(FFinstance* instance) { FFPackageCounts counts = {0};