From: Ilho Kim Date: Tue, 3 Dec 2024 06:46:19 +0000 (+0900) Subject: Add dev_wos build option for permissive mode X-Git-Tag: accepted/tizen/unified/20241204.030611~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1ae82ce956826536a15bc4c6c248959f40db2ae7;p=platform%2Fcore%2Fapi%2Fapp-manager.git Add dev_wos build option for permissive mode Change-Id: I066cc1337582e028ba049ee641e6ae0e65573616 Signed-off-by: Ilho Kim --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 5aaf919..6d75944 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,13 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} -fPIC") SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") SET(CMAKE_CXX_FLAGS_RELEASE "-O2") +IF(_TIZEN_FEATURE_SMACK_DISABLE) +MESSAGE(STATUS "[SMACK] Disable") +ADD_DEFINITIONS("-DTIZEN_FEATURE_SMACK_DISABLE") +ELSE(_TIZEN_FEATURE_SMACK_DISABLE) +MESSAGE(STATUS "[SMACK] Enable") +ENDIF(_TIZEN_FEATURE_SMACK_DISABLE) + SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/") diff --git a/packaging/capi-appfw-app-manager.spec b/packaging/capi-appfw-app-manager.spec index e7f4f2f..e7ee0ca 100644 --- a/packaging/capi-appfw-app-manager.spec +++ b/packaging/capi-appfw-app-manager.spec @@ -52,6 +52,12 @@ Group: Application Framework/API gcov objects for an application manager library %endif +%if "%{?dev_wos}" == "1" +%define tizen_feature_smack_disable 1 +%else +%define tizen_feature_smack_disable 0 +%endif + %prep %setup -q @@ -64,8 +70,15 @@ export FFLAGS+=" -fprofile-arcs -ftest-coverage" export LDFLAGS+=" -lgcov" %endif +%if 0%{?tizen_feature_smack_disable} +_TIZEN_FEATURE_SMACK_DISABLE=ON +%endif + MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` -%cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} +%cmake -DFULLVER=%{version} \ + -DMAJORVER=${MAJORVER} \ + -D_TIZEN_FEATURE_SMACK_DISABLE:BOOL=${_TIZEN_FEATURE_SMACK_DISABLE} \ + . %__make %{?jobs:-j%jobs} %check diff --git a/src/app_info.c b/src/app_info.c index 66f2c49..f5e5ae2 100644 --- a/src/app_info.c +++ b/src/app_info.c @@ -297,6 +297,7 @@ int app_info_foreach_app_info(app_manager_app_info_cb callback, void *user_data) return APP_MANAGER_ERROR_NONE; } +#ifndef TIZEN_FEATURE_SMACK_DISABLE static int _check_privilege(char *privilege) { cynara *p_cynara; @@ -359,6 +360,7 @@ out: return ret; } +#endif /* TIZEN_FEATURE_SMACK_DISABLE */ static void __app_context_initialize(void) { @@ -789,9 +791,11 @@ API int app_info_foreach_category(app_info_h app_info, app_info_category_cb call if (app_info == NULL || callback == NULL) return app_manager_error(APP_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); +#ifndef TIZEN_FEATURE_SMACK_DISABLE retval = _check_privilege(PRIVILEGE_PACKAGE_MANAGER_ADMIN); if (retval != APP_MANAGER_ERROR_NONE) return app_manager_error(APP_MANAGER_ERROR_PERMISSION_DENIED, __FUNCTION__, NULL); +#endif /* TIZEN_FEATURE_SMACK_DISABLE */ foreach_category_context_s foreach_category = { .callback = callback, diff --git a/tests/app-manager_unittests/app_info_tests.cc b/tests/app-manager_unittests/app_info_tests.cc index 191a93f..96975bd 100644 --- a/tests/app-manager_unittests/app_info_tests.cc +++ b/tests/app-manager_unittests/app_info_tests.cc @@ -632,12 +632,14 @@ TEST_F(AppInfoTest, app_info_clone_N) { } TEST_F(AppInfoTest, app_info_foreach_category_P) { +#ifndef TIZEN_FEATURE_SMACK_DISABLE EXPECT_CALL(GetMock(), cynara_check(_, _, _, _, _)) .WillOnce(Invoke( [&](cynara* p_cynara, const char* client, const char* client_session, const char* user, const char* privilege) { return CYNARA_API_ACCESS_ALLOWED; })); +#endif /* TIZEN_FEATURE_SMACK_DISABLE */ EXPECT_CALL(GetMock(), pkgmgrinfo_appinfo_foreach_category(_, _, _)) .WillOnce(Invoke([&](pkgmgrinfo_appinfo_h handle,