From aa91d7884e7fef55b47d6a4905596f72a5ef1ac3 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期六, 30 五月 2020 17:43:03 +0800 Subject: [PATCH] fix sdkType unTar --- service/SdkInstall.go | 85 +++++++++++++++++++++++++++--------------- 1 files changed, 54 insertions(+), 31 deletions(-) diff --git a/service/SdkInstall.go b/service/SdkInstall.go index 31088e4..d397ee7 100644 --- a/service/SdkInstall.go +++ b/service/SdkInstall.go @@ -1,13 +1,14 @@ package service import ( - "basic.com/dbapi.git" + //"basic.com/dbapi.git" "basic.com/valib/logger.git" "encoding/json" "errors" "io/ioutil" "os" "path" + "path/filepath" "webserver/extend/config" "webserver/extend/util" ) @@ -67,11 +68,26 @@ } unPackFilePath := configPatchPath+"/"+identifier+ext - err := util.UnTarGz(unPackFilePath, unPackPath) + logger.Debug("unPackFilePath:", unPackFilePath, "unPackPath:", unPackPath) + _,err := util.UnTarGzByCmd(unPackFilePath, unPackPath) if err !=nil { logger.Debug("UnPack err:",err,"unPackFile:",unPackFilePath) return false, err } + targetFileName := "" + err = filepath.Walk(unPackPath, func(path string, f os.FileInfo, err error) error { + if f == nil { + return err + } + if f.IsDir() { + targetFileName = f.Name() + } + return nil + }) + if err != nil { + return false, err + } + unPackPath = unPackPath + targetFileName +"/" //瑙e帇瀹屾垚锛岃幏鍙栧畨瑁呭寘涓殑鏂囦欢锛屽紑濮嬪畨瑁� //1.瑙f瀽瀹夎璇存槑ins.inc incPath := unPackPath+"ins.inc" @@ -80,7 +96,10 @@ var ins InsInc if err = json.Unmarshal(incB, &ins); err == nil { //澶勭悊鎺堟潈淇℃伅 + curMc := "" + if ins.MachineCode != curMc { + } //2.瑙f瀽sdk.def,灏唖o鍜寊conf澶嶅埗鍒�/opt/vasystem/libs/鏂囦欢澶逛笅 defPath := unPackPath + "sdk.def" if util.Exists(defPath) { @@ -89,35 +108,8 @@ soM := make(map[string]SdkDef) var skDefArr []SdkDef if err = json.Unmarshal(defB, &skDefArr);err == nil { - zconfPath := "/opt/vasystem/bin/zconf/" - libPath := "/opt/vasystem/libs/" - if !util.DirExists(zconfPath) { - os.MkdirAll(zconfPath, 0777) - } - if !util.DirExists(libPath) { - os.MkdirAll(libPath, 0777) - } - for sdkType,_ := range soM { - //鍏堣В鍘婼dkType.tar.gz鏂囦欢 - if unTarGzE := util.UnTarGz(unPackPath+sdkType+".tar.gz", unPackPath);unTarGzE == nil { - //澶嶅埗json鍚姩鏂囦欢 - if util.Exists(unPackPath+sdkType+"/zconf/"+sdkType+".json") { - util.CopyFile(unPackPath+sdkType+"/zconf/"+sdkType+".json", zconfPath) - } - if util.DirExists(unPackPath+sdkType+"/"+sdkType) { - if _,cE := util.CopyDirByCmd(unPackPath+sdkType+"/"+sdkType, libPath);cE != nil { - return false, cE - } - } - if util.DirExists(unPackPath+sdkType+"/models") { - if _,cE := util.CopyDirByCmd(unPackPath+sdkType+"/models", "/opt/vasystem/bin/"); cE != nil { - return false, cE - } - } - } - } //娉ㄥ唽绠楁硶淇℃伅鍜岀畻娉曞弬鏁板埌dbserver - var sdkApi dbapi.SdkApi + //var sdkApi dbapi.SdkApi for _,skd := range skDefArr { if _,ok := soM[skd.Def.SdkType];!ok { soM[skd.Def.SdkType] = skd @@ -148,8 +140,39 @@ srv.Args = append(srv.Args, sra) } paramBody := util.Struct2Map(srv) - sdkApi.Register(paramBody) //灏嗙畻娉曟敞鍐屽埌鏁版嵁搴撲腑 + logger.Debug("sdkApi.Register paramBody:", paramBody) + //sdkApi.Register(paramBody) //灏嗙畻娉曟敞鍐屽埌鏁版嵁搴撲腑 } + zconfPath := "/opt/vasystem/bin/zconft/" + libPath := "/opt/vasystem/libst/" + if !util.DirExists(zconfPath) { + os.MkdirAll(zconfPath, 0777) + } + if !util.DirExists(libPath) { + os.MkdirAll(libPath, 0777) + } + for sdkType,_ := range soM { + //鍏堣В鍘婼dkType.tar.gz鏂囦欢 + if unTarGzE := util.UnTarGz(unPackPath+sdkType+".tar.gz", unPackPath);unTarGzE == nil { + //澶嶅埗json鍚姩鏂囦欢 + if util.Exists(unPackPath+sdkType+"/zconf/"+sdkType+".json") { + util.CopyFile(unPackPath+sdkType+"/zconf/"+sdkType+".json", zconfPath) + } + if util.DirExists(unPackPath+sdkType+"/"+sdkType) { + if _,cE := util.CopyDirByCmd(unPackPath+sdkType+"/"+sdkType, libPath);cE != nil { + return false, cE + } + } + if util.DirExists(unPackPath+sdkType+"/models") { + if _,cE := util.CopyDirByCmd(unPackPath+sdkType+"/models", "/opt/vasystem/bin/zconft"); cE != nil { + return false, cE + } + } + } else { + logger.Debug("unTarGzE sdkType.tar.gz err:", unTarGzE) + } + } + } else { return false, errors.New("鍙嶅簭鍒楀寲绠楁硶瀹氫箟淇℃伅澶辫触") } -- Gitblit v1.8.0