Эх сурвалжийг харах

Z991239-1342 #comment fix:放开linux下没有后缀的文件hash计算

刘文涛80174520 4 жил өмнө
parent
commit
1a9d669da7

+ 5 - 5
Module/mod_UpgradeMgr/UpgradeMgrFSM.cpp

@@ -387,7 +387,7 @@ ErrorCodeEnum CUpgradeMgrFSM::OnInit()
 			{
 				m_DepWhitelist.push_back(arr[i]);
 			}
-			Dbg("init read [HashFilter] DepWhitelist=%s",str);
+			Dbg("init read [HashFilter] DepWhitelist=%s",str.GetData());
 		}else{
 			LogWarn(Severity_Middle, rc, ERR_READ_INI_FAIL,  "get upgradeMgr.ini DepWhitelist error");
 		}
@@ -398,7 +398,7 @@ ErrorCodeEnum CUpgradeMgrFSM::OnInit()
 			{
 				m_DirBlacklist.push_back(arr[i]);
 			}
-			Dbg("init read [HashFilter] DirBlacklist=%s",str);
+			Dbg("init read [HashFilter] DirBlacklist=%s",str.GetData());
 		}else{
 			LogWarn(Severity_Middle, rc, ERR_READ_INI_FAIL,  "get upgradeMgr.ini DirBlacklist error");
 		}
@@ -409,7 +409,7 @@ ErrorCodeEnum CUpgradeMgrFSM::OnInit()
 			{
 				m_FileBlacklist.push_back(arr[i]);
 			}
-			Dbg("init read [HashFilter] FileBlacklist=%s",str);
+			Dbg("init read [HashFilter] FileBlacklist=%s",str.GetData());
 		}else{
 			LogWarn(Severity_Middle, rc, ERR_READ_INI_FAIL,  "get upgradeMgr.ini FileBlacklist error");
 		}
@@ -1740,7 +1740,7 @@ ErrorCodeEnum CUpgradeMgrFSM::SwitchUpgradeNow()
 			// 框架重启事件
 			LogEvent(Severity_Middle, Event_Req_Framework_Restart, 
 				CSimpleStringA::Format("upgrade to new version [%s] succeed, request to restart framework",  
-				ssInfo.LatterInstallVersion.ToString()));
+				ssInfo.LatterInstallVersion.ToString().GetData()));
 			//pPrivFunc->Reboot(RebootTrigger_FrameUpgrade, RebootWay_Framework);
 		}				
 		else
@@ -1748,7 +1748,7 @@ ErrorCodeEnum CUpgradeMgrFSM::SwitchUpgradeNow()
 			// 系统重启事件
 			LogEvent(Severity_Middle, Event_Req_OS_Restart, 
 				CSimpleStringA::Format("upgrade to new version [%s] succeed, request to restart OS", 
-				ssInfo.LatterInstallVersion.ToString()));
+				ssInfo.LatterInstallVersion.ToString().GetData()));
 			// pPrivFunc->PushSysInstallPack(m_strInstallPack);
 		}
 

+ 69 - 7
Module/mod_UpgradeMgr/mod_UpgradeMgr.cpp

@@ -92,6 +92,63 @@ void CUpgradeMgrEntity::OnStarted()
 		LogError(Severity_Middle, rc, 0, "subscribe entity [UpgradeRun] broadcast msg fail");
 		//return;
 	}
+	//test
+	//CSystemStaticInfo sysInfo;
+	//ZeroMemory(&sysInfo, sizeof(sysInfo));
+	//rc = GetFunction()->GetSystemStaticInfo(sysInfo);
+	//CVersion CurMachineVersion(sysInfo.MachineVersion.GetMajor(), sysInfo.MachineVersion.GetMinor());
+	//Dbg("current version is %s", CurMachineVersion.ToString().GetData());
+	//CSimpleStringA testStr = "1.0-4.9";
+	//DWORD dwMajor1(0), dwMinor1(0);
+	//int n = sscanf(testStr, "%d.%d", &dwMajor1, &dwMinor1);
+	//CVersion beginVersion(dwMajor1, dwMinor1);
+	//Dbg("begin version is %s", beginVersion.ToString().GetData());
+	//auto list = testStr.Split('-');
+	//Dbg("teststr is split %d", list.GetCount());
+
+	//if (list.GetCount() >= 2)
+	//{
+	//	DWORD dwMajor2(0), dwMinor2(0);
+	//	n = sscanf(list[1], "%d.%d", &dwMajor2, &dwMinor2);
+	//	CVersion endVersion(dwMajor2, dwMinor2);
+	//	Dbg("end version is %s", endVersion.ToString().GetData());
+	//	Dbg("test list[0]=%s", list[0].GetData());
+	//	Dbg("test list[1]=%s", list[1].GetData());
+
+	//	bool bMatch = CurMachineVersion >= beginVersion && CurMachineVersion <= endVersion;
+	//	if (bMatch) {
+	//		Dbg("bMatch is true");
+	//	}
+	//	else {
+	//		Dbg("bMatch is false");
+	//	}
+	//}
+	//else
+	//{
+	//	if (testStr.IsEndWith("-")) 
+	//	{
+	//		Dbg("testStr.IsEndWith is >=");
+	//		bool bMatch = CurMachineVersion >= beginVersion;
+	//		if (bMatch) {
+	//			Dbg("bMatch is true");
+	//		}
+	//		else {
+	//			Dbg("bMatch is false");
+	//		}
+	//	}
+	//	else
+	//	{
+	//		Dbg("testStr.IsEndWith is =");
+	//		bool bMatch = CurMachineVersion == beginVersion;
+	//		if (bMatch) {
+	//			Dbg("bMatch is true");
+	//		}
+	//		else {
+	//			Dbg("bMatch is false");
+	//		}
+	//	}
+	//}
+	
 
 	//// 监视准入状态
 	//CSimpleStringA strValue;
@@ -528,7 +585,7 @@ ErrorCodeEnum CUpgradeMgrEntity::MD5Folder(CSimpleStringA strFolderPath,bool isD
 	{
 		return Error_Null;
 	}
-	Dbg("Start to get file hash list, dir=[%s] ", strFolderPath);
+	Dbg("Start to get file hash list, dir=[%s] ", strFolderPath.GetData());
 #ifdef RVC_OS_WIN
 	_finddata_t FileInfo;
 	CSimpleStringA strfind = strFolderPath + SPLIT_SLASH_STR+"*";
@@ -738,11 +795,12 @@ ErrorCodeEnum CUpgradeMgrEntity::MD5Folder(CSimpleStringA strFolderPath,bool isD
 		{//file
 			CSimpleStringA strFindName = entry->d_name;
 			{
-				if (strFindName.IndexOf(".") == -1)
-				{
-					Dbg("%s file name is illegal", strFindName);
-					continue;
-				}
+				//Linux下很多文件是没有后缀名,故放开。
+				//if (strFindName.IndexOf(".") == -1)
+				//{
+				//	Dbg("%s file name is illegal", strFindName.GetData());
+				//	continue;
+				//}
 				//整体黑名单文件过滤
 				bool isBlackFile = false;
 				list<CSimpleStringA>::iterator itor = m_fsm.m_FileBlacklist.begin();
@@ -780,7 +838,11 @@ ErrorCodeEnum CUpgradeMgrEntity::MD5Folder(CSimpleStringA strFolderPath,bool isD
 						itor++;
 					}
 					//不是白名单也不是默认so文件,不需要加入hash计算
-					if (!isWhiteFile && !strFindName.IsEndWith(".so", true)) {
+					//if (!isWhiteFile && !strFindName.IsEndWith(".so", true)) {
+					//	Dbg("WhiteFile Filter don't add to md5 list, file = [%s]", strFindName.GetData());
+					//	continue;
+					//}
+					if (!isWhiteFile && strFindName.IndexOf(".so")==-1) {
 						Dbg("WhiteFile Filter don't add to md5 list, file = [%s]", strFindName.GetData());
 						continue;
 					}

+ 3 - 0
Module/mod_UpgradeRun/UpgradeRunFSM.cpp

@@ -1418,6 +1418,8 @@ ErrorCodeEnum CUpgradeRunFSM::InstallPack(bool &bSysInstall, bool &bLightPack, C
 			LogError(Severity_Low, Error_Unexpect, ERROR_UPGRADERUN_INSTALL_LIGHTPACK_FAIL, "轻量升级失败");
 			return Error_Unexpect;
 		}
+		//尝试对轻量包文件整体赋权
+
 		return rc;
 	}
 	else if (bSysInstall)
@@ -1547,6 +1549,7 @@ ErrorCodeEnum CUpgradeRunFSM::InstallPack(bool &bSysInstall, bool &bLightPack, C
 
 			//Dbg("total copy %d files", list.GetCount());
 		}
+		//尝试对新系统版本文件整体赋权
 	}
 
 	return rc;

+ 1 - 1
Module/mod_download/CMakeLists.txt

@@ -39,7 +39,7 @@ target_link_directories(${MODULE_NAME} PRIVATE
 )
 
 # 添加实体需要依赖的其他共享库(包括系统库):连接器包含的包
-set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} scew expat)
+set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_LIBS_SCEW} ${CONAN_LIBS_EXPAT})
 if(WIN32)
 target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} Advapi32)  
 endif(WIN32)

+ 20 - 10
Module/mod_upload/XZipZilb.cpp

@@ -7,13 +7,15 @@ bool CreateZipFromFile(string srcFileName, string zipFileName)
 {
 	if (srcFileName.empty() || srcFileName.length() == 0 ||
 		zipFileName.empty() || zipFileName.length() == 0) {
-		Dbg("压缩文件参数为空:");
+		//Dbg("压缩文件参数为空:");
+		Dbg("XZipZilb zip param is null");
 		return false;
 	}
 	int pos = srcFileName.find_last_of(SPLIT_SLASH);
 
 	if (pos < 0) {
-		Dbg("文件路径不对:%s",srcFileName.c_str());
+		//Dbg("文件路径不对:%s",srcFileName.c_str());
+		Dbg("XZipZilb srcFileName path format is error:%s", srcFileName.c_str());
 		return false;
 	}
 	string strName(srcFileName.substr(pos + 1));
@@ -25,24 +27,28 @@ bool CreateZipFromFile(string srcFileName, string zipFileName)
 	zipFile newZipFile = zipOpen(zipFileName.c_str(), APPEND_STATUS_CREATE); //创建zip文件
 	if (newZipFile == NULL)
 	{
-		Dbg("无法创建zip文件!");
+		//Dbg("无法创建zip文件!");
+		Dbg("XZipZilb can't create zip file: %s", zipFileName.c_str());
 		return false;
 	}
 	//压缩文件
 	if (!AddFileToZip(newZipFile, strName.c_str(), srcFileName.c_str()))
 	{
-		Dbg("压缩失败: %s",zipFileName.c_str());
+		//Dbg("压缩失败: %s",zipFileName.c_str());
+		Dbg("XZipZilb zip fail: %s", zipFileName.c_str());
 		zipClose(newZipFile, NULL); 
 		if (ExistsFileA(zipFileName.c_str())) {
 			if (remove(zipFileName.c_str()) != 0) {
-				Dbg("删除临时压缩文件失败");
+				//Dbg("删除临时压缩文件失败");
+				Dbg("XZipZilb delete temp zip file is error");
 			}
 		}
 		return false;
 	}
 	//释放文件
 	zipClose(newZipFile, NULL); 
-	Dbg("压缩成功: %s", zipFileName.c_str());
+	//Dbg("压缩成功: %s", zipFileName.c_str());
+	Dbg("XZipZilb zip succ: %s", zipFileName.c_str());
 	return true;
 	
 }
@@ -74,10 +80,12 @@ bool AddFileToZip(zipFile zf, const char* fileNameInZip, const char* srcFile)
 	if (ret != ZIP_OK)
 	{
 		if (srcFile != NULL) {
-			Dbg("在zip文件中创建新文件失败: %s", srcFile);
+			//Dbg("在zip文件中创建新文件失败: %s", srcFile);
+			Dbg("XZipZilb create file in zip fail: %s", srcFile);
 		}
 		else {
-			Dbg("在zip文件中创建新目录失败: %s", new_file_name);
+			//Dbg("在zip文件中创建新目录失败: %s", new_file_name);
+			Dbg("XZipZilb create dir in zip fail: %s", new_file_name);
 		}
 		return false;
 	}
@@ -88,7 +96,8 @@ bool AddFileToZip(zipFile zf, const char* fileNameInZip, const char* srcFile)
 		srcfp = fopen(srcFile, "rb+");
 		if (srcfp == NULL)
 		{
-			Dbg("打开要往zip压缩的文件失败: %s", srcFile);
+			//Dbg("打开要往zip压缩的文件失败: %s", srcFile);
+			Dbg("XZipZilb open src file to zip is fail: %s", srcFile);
 			zipCloseFileInZip(zf); //关闭zip中的新文件
 			return false;
 		}
@@ -113,7 +122,8 @@ bool AddFileToZip(zipFile zf, const char* fileNameInZip, const char* srcFile)
 
 
 		if (sumWrite != fileLen) {
-			Dbg("文件写入zip压缩包失败,总长度不一致: %s", srcFile);
+			//Dbg("文件写入zip压缩包失败,总长度不一致: %s", srcFile);
+			Dbg("XZipZilb write to zip file is error ,sumWrite is not equal to fileLen, %s", srcFile);
 			fclose(srcfp);
 			zipCloseFileInZip(zf);
 			return false;//写文件失败