From: 조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 Date: Mon, 28 Sep 2020 00:43:42 +0000 (+0900) Subject: Add missing smack label setting for preloaded app (#286) X-Git-Tag: accepted/tizen/6.0/unified/20201030.120828^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen_6.0_hotfix;p=platform%2Fcore%2Fdotnet%2Flauncher.git Add missing smack label setting for preloaded app (#286) In the case of preload app installation, the smack label may not be changed automatically. This patch add that kind of missing smack label setting --- diff --git a/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc b/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc index 2e80c2c..f241865 100644 --- a/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc +++ b/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc @@ -120,6 +120,7 @@ static bool copyAssemblyCreateSymlink(std::string binPath, std::string tacDir, s } } bf::create_symlink(concatPath(tac_version_dir, assembly), concatPath(tacDir, assembly)); + copySmackAndOwnership(tacDir, concatPath(tacDir, assembly), true); if (!removeFile(concatPath(binPath, assembly))) { _ERR("Failed to remove of %s", assembly.c_str()); @@ -137,6 +138,7 @@ static bool copyAssemblyCreateSymlink(std::string binPath, std::string tacDir, s std::string assembly = nuget_package_assembly.substr(nuget_package_assembly.rfind(':') + 1); if (!strcmp(nuget_package.c_str(), nugetPackage.c_str())) { copyFile(concatPath(tac_version_dir, assembly), concatPath(binPath, assembly)); + copySmackAndOwnership(binPath, concatPath(binPath, assembly)); removeFile(concatPath(tacDir, assembly)); } } @@ -173,12 +175,14 @@ static void copyLibraryCreateSymlink(const char* pkgId, std::vector continue; } bf::create_symlink(concatPath(tlcDir, fileSha), library); + copySmackAndOwnership(getBaseName(library), library, true); char *sql = sqlite3_mprintf("INSERT INTO TLC (PKGID, LIBRARY) VALUES (%Q, %Q);", pkgId, fileSha.c_str()); if (!insertDB(tlc_db, sql)) { _ERR("Sqlite insert error"); sqlite3_free(sql); copyFile(concatPath(tlcDir, fileSha), library); + copySmackAndOwnership(getBaseName(library), library); if (fileCopied) { removeFile(concatPath(tlcDir, fileSha)); }