diff --git a/CMakeLists.txt b/CMakeLists.txt
index e76d4a9cbd852a29a25f45cedf12996c82cc2ff1..48169776dae6348ced803681b7515a222e4e45a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,7 +10,6 @@ SET( CPACK_PACKAGE_VERSION_MAJOR 4)
 SET( CPACK_PACKAGE_VERSION_MINOR 4)
 SET( CPACK_PACKAGE_VERSION_PATCH 55)
 
-
 # init CellFrame SDK
 add_definitions("-DDAP_VERSION=\"${CPACK_PACKAGE_VERSION_MAJOR}-${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\"")
 set(SUBMODULES_NO_BUILD ON)
@@ -79,6 +78,9 @@ if(UNIX)
     SET( CPACK_SYSTEM_ARCH "amd64")
     SET( CPACK_SYSTEM_CODENAME "${DEBIAN_OS_NAME}")
     SET( CPACK_SYSTEM_NAME "${CPACK_SYSTEM_TYPE}-${CPACK_SYSTEM_VERSION}-${CPACK_SYSTEM_ARCH}-${CPACK_SYSTEM_CODENAME}")
+    if(BUILD_WITH_GDB_DRIVER_PGSQL)
+        SET( CPACK_SYSTEM_NAME "${CPACK_SYSTEM_NAME}-pgsql" )
+    endif()
     if(CMAKE_BUILD_TYPE MATCHES Debug)
         SET( CPACK_SYSTEM_NAME "${CPACK_SYSTEM_NAME}-dbg" )
     endif()
diff --git a/cellframe-sdk b/cellframe-sdk
index bd40f27b7a4f3cbca99e4879aa7ce5d6899905bc..39f0cc65878ee1a6b089f8a44edd6afff3753a66 160000
--- a/cellframe-sdk
+++ b/cellframe-sdk
@@ -1 +1 @@
-Subproject commit bd40f27b7a4f3cbca99e4879aa7ce5d6899905bc
+Subproject commit 39f0cc65878ee1a6b089f8a44edd6afff3753a66
diff --git a/prod_build b/prod_build
index f6f8d1e4bf8ab62037f6eb5a17f807eef11a2f05..9e35d9261d642584e6a6cc94817d40a934acecde 160000
--- a/prod_build
+++ b/prod_build
@@ -1 +1 @@
-Subproject commit f6f8d1e4bf8ab62037f6eb5a17f807eef11a2f05
+Subproject commit 9e35d9261d642584e6a6cc94817d40a934acecde
diff --git a/sources/main_node_cli.c b/sources/main_node_cli.c
index b6d5957ea9956e2c94d62a1c7739895a706f74a8..9d2e25a93a49fa3475b59ff5fd2b20a16d7eed85 100644
--- a/sources/main_node_cli.c
+++ b/sources/main_node_cli.c
@@ -201,7 +201,14 @@ int main(int argc, const char *argv[])
     SetConsoleOutputCP(1252);
     g_sys_dir_path = dap_strdup_printf("%s/%s", regGetUsrPath(), dap_get_appname());
 #elif DAP_OS_MAC
-    g_sys_dir_path = dap_strdup_printf("/Applications/%s.app/Contents/Resources", dap_get_appname());
+    char * l_username = NULL;
+    exec_with_ret(&l_username,"whoami|tr -d '\n'");
+    if (!l_username){
+        printf("Fatal Error: Can't obtain username");
+        return 2;
+    }
+    g_sys_dir_path = dap_strdup_printf("/Users/%s/Applications/Cellframe.app/Contents/Resources", l_username);
+    DAP_DELETE(l_username);
 #elif DAP_OS_ANDROID
     g_sys_dir_path = dap_strdup_printf("/storage/emulated/0/opt/%s",dap_get_appname());
 #elif DAP_OS_UNIX
diff --git a/sources/main_node_tool.c b/sources/main_node_tool.c
index 7d0738de194bd9d3c0d8da6f68bcadb6900a5af9..989fee5e484a5a78299f6a7a6c553990f8983af6 100644
--- a/sources/main_node_tool.c
+++ b/sources/main_node_tool.c
@@ -381,7 +381,14 @@ static int s_init( int argc, const char **argv )
     g_sys_dir_path = dap_strdup_printf("%s/%s", regGetUsrPath(), dap_get_appname());
     char * s_log_dir_path = dap_strdup_printf("%s/var/log", g_sys_dir_path) ;
 #elif DAP_OS_MAC
-    g_sys_dir_path = dap_strdup_printf("/Applications/%s.app/Contents/Resources", dap_get_appname());
+    char * l_username = NULL;
+    exec_with_ret(&l_username,"whoami|tr -d '\n'");
+    if (!l_username){
+        printf("Fatal Error: Can't obtain username");
+    return 2;
+    }
+    g_sys_dir_path = dap_strdup_printf("/Users/%s/Applications/Cellframe.app/Contents/Resources", l_username);
+    DAP_DELETE(l_username);
     char * s_log_dir_path = dap_strdup_printf("/Library/%s.app/Logs", dap_get_appname() ) ;
 #elif DAP_OS_ANDROID
     g_sys_dir_path = dap_strdup_printf("/storage/emulated/0/opt/%s",dap_get_appname());