From: Sangyoon Jang Date: Mon, 21 Nov 2022 01:18:01 +0000 (+0900) Subject: Add res pkgids to env X-Git-Tag: accepted/tizen/unified/20230110.164133~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33927bf0d74fba50e583c8ae6826e250e3d868af;p=platform%2Fcore%2Fappfw%2Flaunchpad.git Add res pkgids to env Change-Id: I920242fa6eda3bf634f527f83b46b89c3bd0eef0 Signed-off-by: Sangyoon Jang --- diff --git a/src/lib/common/inc/key.h b/src/lib/common/inc/key.h index 8889cca..cde7c3f 100644 --- a/src/lib/common/inc/key.h +++ b/src/lib/common/inc/key.h @@ -52,6 +52,7 @@ extern "C" { #define AUL_K_MOUNT_GLOBAL_RES_DIR "__AUL_MOUNT_GLOBAL_RES_DIR__" #define AUL_K_MOUNT_ALLOWED_RES_DIR "__AUL_MOUNT_ALLOWED_RES_DIR__" #define AUL_K_ENABLED_LIGHT_USER "__AUL_ENABLED_LIGHT_USER__" +#define AUL_K_MOUNT_RES_PKGIDS "__AUL_MOUNT_RES_PKGIDS__" #ifdef __cplusplus } diff --git a/src/lib/common/src/launchpad_common.c b/src/lib/common/src/launchpad_common.c index 0db3125..d474ebc 100644 --- a/src/lib/common/src/launchpad_common.c +++ b/src/lib/common/src/launchpad_common.c @@ -1553,6 +1553,21 @@ static int __mount_dir(const char *srcs[], size_t srcs_len, const char *dest) return 0; } +static void __set_mount_pkgids_to_env(const char *pkgids[], size_t len) +{ + int i; + char val[PATH_MAX] = { 0 }; + + for (i = 0; i < len; i++) + snprintf(val + strlen(val), sizeof(val) - strlen(val), "%s:", + pkgids[i]); + + val[strlen(val) - 1] = '\0'; + + /* RES_PKGIDS=org.tizen.res1:org.tizen.res2:org.tizen.res3 */ + setenv("RES_PKGIDS", val, 1); +} + int _mount_res_dir(const char *root_path, bundle *kb) { const char **val; @@ -1577,6 +1592,13 @@ int _mount_res_dir(const char *root_path, bundle *kb) return -1; } + val = bundle_get_str_array(kb, AUL_K_MOUNT_RES_PKGIDS, &len); + if (val) { + __set_mount_pkgids_to_env(val, len); + } else if (get_last_result() != BUNDLE_ERROR_KEY_NOT_AVAILABLE) { + _E("invalid mount info"); + return -1; + } return 0; }