#define NET_STANDARD_LIBRARY_NUGET "NETStandard.Library"
#define PLATFORM_TPA_CACHE "/usr/share/dotnet.tizen/lib/platform_tpa_cache"
#define DISABLE_IPV6_FILE "._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6"
+#define PRE_COMPILED_PACKAGE_FILE "._TIZEN_DOTNET_PRE_COMPILED_PACKAGE"
#if defined (__aarch64__)
#define ARCHITECTURE_IDENTIFIER "arm64"
if (rename(niTmpCoreLib.c_str(), coreLib.c_str())) {
_SERR("Failed to rename from System.Private.CoreLib.ni.dll.tmp to Private.CoreLib.dll");
return NI_ERROR_CORE_NI_FILE;
- }
+ }
} else {
if (rename(niCoreLib.c_str(), coreLib.c_str())) {
_SERR("Failed to rename from System.Private.CoreLib.ni.dll to Private.CoreLib.dll");
static int regenTacCb(pkgmgrinfo_appinfo_h handle, void *userData)
{
char *pkgId = NULL;
+ char *root = NULL;
NIOption **pOpt = (NIOption**)userData;
int ret = pkgmgrinfo_appinfo_get_pkgid(handle, &pkgId);
return -1;
}
+ ret = pkgmgrinfo_appinfo_get_root_path(handle, &root);
+ if (ret != PMINFO_R_OK) {
+ _SERR("Failed to get root path");
+ return -1;
+ }
+
+ std::string binPath = concatPath(std::string(root), "bin");
+ if (exist(concatPath(binPath, PRE_COMPILED_PACKAGE_FILE))) {
+ _INFO("The %s is a Pre-Compiled package. So, skip the TAC", pkgId);
+ return 0;
+ }
+
sqlite3 *tac_db = openDB(TAC_APP_LIST_DB);
if (!tac_db) {
_SERR("Sqlite open error");
char *pkgId = NULL;
char *root = NULL;
char *exec = NULL;
- std::string rootPath;
- std::string execName;
int ret = pkgmgrinfo_appinfo_get_pkgid(handle, &pkgId);
if (ret != PMINFO_R_OK) {
return -1;
}
- enableTACPackage(std::string(pkgId));
-
ret = pkgmgrinfo_appinfo_get_root_path(handle, &root);
if (ret != PMINFO_R_OK) {
_SERR("Failed to get root path");
return -1;
}
- rootPath = std::string(root);
+ std::string rootPath = std::string(root);
ret = pkgmgrinfo_appinfo_get_exec(handle, &exec);
if (ret != PMINFO_R_OK) {
_SERR("Failed to get exec name");
return -1;
}
- execName = std::string(exec).substr(std::string(exec).rfind('/') + 1);
+ std::string execName = std::string(exec).substr(std::string(exec).rfind('/') + 1);
+
+ enableTACPackage(std::string(pkgId));
std::vector<std::string> parserData;
std::string binDir = concatPath(rootPath, "bin");
}
}
parserData.clear();
+
return 0;
}
return TAC_ERROR_INVALID_PACKAGE;
}
+ std::string binDir = concatPath(rootPath, "bin");
+ if (exist(concatPath(binDir, PRE_COMPILED_PACKAGE_FILE))) {
+ _INFO("The %s is a Pre-Compiled package. So, skip the TAC", pkgId.c_str());
+ return TAC_ERROR_NONE;
+ }
+
std::string execName = getExecName(pkgId);
if (execName.empty()) {
_SERR("Failed to get exec name from [%s]", pkgId.c_str());
}
std::string binPath = concatPath(rootPath, "bin");
+ if (exist(concatPath(binPath, PRE_COMPILED_PACKAGE_FILE))) {
+ _INFO("The %s is a Pre-Compiled package. So, skip the TAC", pkgId.c_str());
+ return 0;
+ }
+
std::string metaValue = getMetadataValue(pkgId, TAC_METADATA_KEY);
if (!tacForce) {
if (metaValue.empty()) {
}
std::string binPath = concatPath(rootPath, "bin");
+ if (exist(concatPath(binPath, PRE_COMPILED_PACKAGE_FILE))) {
+ _INFO("The %s is a Pre-Compiled package. So, skip the TAC", pkgId.c_str());
+ state = TAC_STATE_REMOVED;
+ }
+
if (state == TAC_STATE_REMOVED) {
_INFO("Skipped to parse of deps.json");
} else { //TAC_STATE_UPGRADE