summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NativeLauncher/CMakeLists.txt2
-rw-r--r--NativeLauncher/launcher/lib/core_runtime.cc65
-rw-r--r--packaging/dotnet-launcher.spec1
3 files changed, 18 insertions, 50 deletions
diff --git a/NativeLauncher/CMakeLists.txt b/NativeLauncher/CMakeLists.txt
index 7e03c5e..350d373 100644
--- a/NativeLauncher/CMakeLists.txt
+++ b/NativeLauncher/CMakeLists.txt
@@ -4,7 +4,7 @@ PROJECT("dotnet-tools")
MESSAGE("CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(${PROJECT_NAME} REQUIRED aul pkgmgr-info pkgmgr-installer ecore bundle dlog liblaunchpad glib-2.0 libsmack capi-appfw-app-common storage jsoncpp openssl3 sqlite3 libtzplatform-config)
+PKG_CHECK_MODULES(${PROJECT_NAME} REQUIRED aul pkgmgr-info pkgmgr-installer ecore bundle dlog liblaunchpad glib-2.0 libsmack capi-appfw-app-common jsoncpp openssl3 sqlite3 libtzplatform-config)
FOREACH(flag ${${PROJECT_NAME}_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
diff --git a/NativeLauncher/launcher/lib/core_runtime.cc b/NativeLauncher/launcher/lib/core_runtime.cc
index 07ec8e9..b03b204 100644
--- a/NativeLauncher/launcher/lib/core_runtime.cc
+++ b/NativeLauncher/launcher/lib/core_runtime.cc
@@ -35,9 +35,9 @@
#include <linux/limits.h>
#include <pthread.h>
-#include <storage.h>
#include <vconf.h>
#include <app_common.h>
+#include <tzplatform_config.h>
#include <Ecore.h>
@@ -143,55 +143,28 @@ static void registerSigHandler()
}
}
-static bool storage_cb(int id, storage_type_e type, storage_state_e state, const char *path, void *user_data)
-{
- int* tmp = (int*)user_data;
- if (type == STORAGE_TYPE_INTERNAL)
- {
- *tmp = id;
- return false;
- }
-
- return true;
-}
-
-static void setSpecialFolder(storage_directory_e type, const char* key)
-{
- int error;
- char* path = NULL;
- static int __storageId = -1;
-
- if (__storageId < 0) {
- error = storage_foreach_device_supported(storage_cb, &__storageId);
- if (error != STORAGE_ERROR_NONE) {
- return;
- }
- }
-
- error = storage_get_directory(__storageId, type, &path);
- if (error == STORAGE_ERROR_NONE && path != NULL) {
- if (setEnvironmentVariable) {
- setEnvironmentVariable(key, const_cast<char *>(path));
- } else {
- _ERR("coreclr is not initialized!. setEnvironmentVariable() function is not ready!");
- _exit(0);
- }
- free(path);
- }
-}
-
static void initEnvForSpecialFolder()
{
+ const char* path = NULL;
if (getenv("XDG_PICTURES_DIR") == NULL) {
- setSpecialFolder(STORAGE_DIRECTORY_IMAGES, "XDG_PICTURES_DIR");
+ path = tzplatform_getenv(TZ_USER_IMAGES);
+ if (path) {
+ setenv("XDG_PICTURES_DIR", path, 1);
+ }
}
if (getenv("XDG_MUSIC_DIR") == NULL) {
- setSpecialFolder(STORAGE_DIRECTORY_MUSIC, "XDG_MUSIC_DIR");
+ path = tzplatform_getenv(TZ_USER_MUSIC);
+ if (path) {
+ setenv("XDG_MUSIC_DIR", path, 1);
+ }
}
if (getenv("XDG_VIDEOS_DIR") == NULL) {
- setSpecialFolder(STORAGE_DIRECTORY_VIDEOS, "XDG_VIDEOS_DIR");
+ path = tzplatform_getenv(TZ_USER_VIDEOS);
+ if (path) {
+ setenv("XDG_VIDEOS_DIR", path, 1);
+ }
}
}
@@ -381,6 +354,9 @@ int CoreRuntime::initialize(const char* appType, LaunchMode launchMode)
// Disable config cache to set environment after coreclr_initialize()
putenv(const_cast<char *>("COMPlus_DisableConfigCache=1"));
+ // Set environment variable for System.Environment.SpecialFolder
+ initEnvForSpecialFolder();
+
// read string from external file and set them to environment value.
setEnvFromFile();
@@ -477,13 +453,6 @@ int CoreRuntime::initialize(const char* appType, LaunchMode launchMode)
}
- // Set environment for System.Environment.SpecialFolder
- // Below function creates dbus connection by callging storage API.
- // If dbus connection is created bofere fork(), forked process cannot use dbus.
- // To avoid gdbus blocking issue, below function should be called after fork()
- // Addtionally, setenv() is not thread-safe function. storage API makes thread internally
- // and it makes crash while calling setenv(). So, use setEnvrionmentVariable() instead of setenv()
- initEnvForSpecialFolder();
__initialized = true;
diff --git a/packaging/dotnet-launcher.spec b/packaging/dotnet-launcher.spec
index b444dce..f7d3298 100644
--- a/packaging/dotnet-launcher.spec
+++ b/packaging/dotnet-launcher.spec
@@ -20,7 +20,6 @@ BuildRequires: pkgconfig(pkgmgr-installer)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libsmack)
BuildRequires: pkgconfig(capi-appfw-app-common)
-BuildRequires: pkgconfig(storage)
BuildRequires: pkgconfig(jsoncpp)
BuildRequires: pkgconfig(openssl3)
BuildRequires: pkgconfig(libsystemd)