From 44165da4d21313a1d388c858a008af7055f20adc Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=A1=B0=EC=9B=85=EC=84=9D/Common=20Platform=20Lab=28SR=29?= =?utf8?q?/Principal=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Mon, 28 Sep 2020 09:43:42 +0900 Subject: [PATCH] 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 --- NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc | 4 ++++ 1 file changed, 4 insertions(+) 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)); } -- 2.7.4