Add dev_wos build option for permissive mode 70/315570/3
authorIlho Kim <ilho159.kim@samsung.com>
Tue, 3 Dec 2024 06:46:19 +0000 (15:46 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Tue, 3 Dec 2024 07:11:23 +0000 (16:11 +0900)
Change-Id: I066cc1337582e028ba049ee641e6ae0e65573616
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
CMakeLists.txt
packaging/capi-appfw-app-manager.spec
src/app_info.c
tests/app-manager_unittests/app_info_tests.cc

index 5aaf919ee2f9017ca473dc23727e599db310a618..6d7594495fd01de746c423dae887bb7015e8ee57 100644 (file)
@@ -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/")
 
index e7f4f2f354c3b74ffc9539db32d091a6b047493c..e7ee0ca2cb989bb2e2bbc9a4c381e4d735dd897b 100644 (file)
@@ -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
index 66f2c498fce55705c5678812ec4cb95292026067..f5e5ae2a3e80f0cfacc4c6fce470790dc46a0609 100644 (file)
@@ -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,
index 191a93f6459f6ac7fe4924a35105ca8c3fabd1b6..96975bdeb92472794bbf08fae1a9a8293d038b80 100644 (file)
@@ -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<CynaraMock>(), 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<PkgmgrInfoMock>(),
               pkgmgrinfo_appinfo_foreach_category(_, _, _))
       .WillOnce(Invoke([&](pkgmgrinfo_appinfo_h handle,