From: <cod...@go...> - 2008-10-03 20:50:27
|
Author: M0...@gm... Date: Fri Oct 3 13:49:48 2008 New Revision: 210 Modified: branches/iVL/MdlInstallCustom.module Log: Custom install fix in progress Modified: branches/iVL/MdlInstallCustom.module ============================================================================== --- branches/iVL/MdlInstallCustom.module (original) +++ branches/iVL/MdlInstallCustom.module Fri Oct 3 13:49:48 2008 @@ -45,6 +45,7 @@ END IF iRet = ME.INSTALL_USER_SELECTED_BULKS() + 'Message("Installing user-selected bulks") PRINT "INSTALING USER-SELECTED BULK PACKAGES" IF iRet <> 0 THEN Message.Error(("There has been an error while installing optional software to your system. ") & gb.newline & sErr) @@ -52,6 +53,7 @@ END IF iret = ME.INSTALL_USER_SELECTED_PACKAGES() + 'Message("Installing user-selected packages") PRINT "INSTALLING OPTIONAL SOFTWARE SELECTED BY USER" IF iRet <> 0 THEN Message.Error(("There has been an error while installing optional software to your system.") & gb.newline & sErr) @@ -213,25 +215,134 @@ NEXT END - PUBLIC FUNCTION INSTALL_USER_SELECTED_PACKAGES() AS Integer - DIM i, iret AS Integer - DIM sPkg AS String - DIM sPkgPath AS String = ClsGlobal.sSourceMnt &/ "packages" - - FOR i = 0 TO ClsPkgSel.arrPkgs.count - 1 - sPkg = ClsPkgSel.arrPkgs[i] - PRINT " + Install " & sPkgPath &/ sPkg - iret = ME.INSTALL_THIS_PACKAGE(sPkgPath &/ sPkg) - IF iret <> 0 THEN - RETURN iret - END IF - PRINT " ! " & sPkgPath &/ sPkg & " is installed" + DIM i AS Integer + DIM sFile AS String[] + DIM sLine AS String + DIM sRawFile AS String + DIM sTlzPath AS String + DIM sTlzName AS String + DIM sTlzDesc AS String + DIM iTlzSize AS Integer + DIM sTlzBasePath AS String = ClsGlobal.sSourceMnt &/ "packages" + DIM sTargetSize AS Variant + DIM cb AS CheckBox + DIM sName AS String + + sRawFile = DConv(File.Load(ClsGlobal.sSourceMnt &/ "packages" &/ "PACKAGES.TXT")) + + sFile = Split(sRawFile, "\n") + + FOR EACH cb IN MdlPkgSel.Pkgs + sName = Trim(cb.text) + + + FOR i = 0 TO sFile.count - 1 + sLine = Trim(sFile[i]) + IF InStr(sLine, sName) THEN + IF Left(sLine, Len("PACKAGE NAME")) = "PACKAGE NAME" THEN + sTlzName = Trim(Right(sLine, Len(sLine) - InStr(sLine, ":"))) + sTlzPath = Trim(Right(sFile[i + 1], Len(sFile[i + 1]) - InStr(sFile[i + 1], ":"))) + sTlzPath = Right(sTlzPath, Len(sTlzPath) - 2) ' remove the ./ from the location line + iTlzSize = Trim(Right(sFile[i + 3], Len(sFile[i + 3]) - InStr(sFile[i + 3], ":"))) + 'iTlzSize = Left(iTlzSize, Len(iTlzSize) - 1) + 'iTlzSize = Trim(iTlzSize) + FrmInstallSys.tlCurrPkg.Text = "Installing " & sTlzName & " ..." + FrmInstallSys.pbInstallProg.Value = 0.0 + + 'IF sTlzName = sName THEN + + + PRINT " Install " & sTlzBasePath &/ sTlzPath &/ sTlzName + ' install each package + SHELL "export gsize=$(df| grep " & ClsPartSel.sRoot & " ) && echo $gsize | cut -f3 -d \' \'" TO sTargetSize + sTargetSize = Trim(CStr(sTargetSize)) + SHELL "echo \"\" > /tmp/installdump" WAIT + sDump = "" + sErr = "" + 'hproc = SHELL "install-pkg " & sTlzBasePath &/ sTlzPath &/ sTlzName & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + hproc = SHELL "installpkg " & sTlzBasePath &/ sTlzPath &/ sTlzName & " -R " & ClsGlobal.sTargetMnt & " || echo \'FAILED\' 2> /tmp/installdump" WAIT 'FOR READ + WAIT 1 + IF hproc.State = Process.Running THEN + REPEAT + WAIT 1 + MdlInstallSys.UPDATE_STEP_PROGRESS(sTargetSize, iTlzSize) + + ' figure out the progress again + + UNTIL + hproc.State = Process.Stopped + sDump = File.Load("/tmp/installdump") + + IF InStr(sDump, "FAILED") > 0 THEN + ERROR + RETURN 1 + ELSE + IF FrmInstallSys.pbInstallProg.Value <> 1 THEN + FrmInstallSys.pbInstallProg.Value = 1 + END IF + END IF + END IF + INC iPkgNum + FrmInstallSys.pbInstallProg2.Value = MdlSetup.UPDATE_OVERALL_PROGRESS(iPkgCnt, iPkgNum) + END IF + END IF + NEXT NEXT END + + +' ' ' PUBLIC FUNCTION INSTALL_USER_SELECTED_PACKAGES_OLD() AS Integer +' ' ' +' ' ' DIM i, iret AS Integer +' ' ' DIM sPkg AS String +' ' ' DIM cb AS CheckBox +' ' ' DIM sPkgPath AS String = ClsGlobal.sSourceMnt &/ "packages" +' ' ' DIM sPkgLoc AS String +' ' ' DIM sFile AS String[] +' ' ' DIM sLine AS String +' ' ' DIM sConfig AS String +' ' ' DIM ii AS Integer +' ' ' ' needs to read PACKAES.TXT to get package name and location +' ' ' +' ' ' 'sFile = Split(File.Load(ClsGlobal.sSourceMnt &/ "packages" &/ "PACKAGES.TXT"), "\n") +' ' ' ii = 0 +' ' ' sConfig = "WORKINGDIR=" & ClsGlobal.sTargetMnt &/ "home" &/ "ftp" &/ "pub" &/ "veclinux" & "\n" & +' ' ' "SOURCE=" & ClsGlobal.sSourceMnt &/ "packages" +' ' ' +' ' ' File.Save(Temp("sources")) +' ' ' IF Exist(ClsGlobal.sTargetMnt &/ "home/ftp/pub/veclinux") = FALSE THEN +' ' ' MKDIR ClsGlobal.sTargetMnt &/ "home/ftp/pub/veclinux" +' ' ' END IF +' ' ' SHELL "slapt-get -u -c " & Temp("sources") WAIT +' ' ' FOR EACH cb IN MdlPkgSel.Pkgs +' ' ' IF cb.value = TRUE THEN +' ' ' 'spkg = cb.Text +' ' ' INC ii +' ' ' NEXT +' ' ' +' ' ' ' now to install them +' ' ' +' ' ' FOR EACH cb IN MdlPkgSel.Pkgs +' ' ' IF cb.Value = TRUE THEN +' ' ' sPkg = +' ' ' +' ' ' +' ' ' FOR i = 0 TO ClsPkgSel.arrPkgs.count - 1 +' ' ' sPkg = ClsPkgSel.arrPkgs[i] +' ' ' PRINT " + Install " & sPkgPath &/ sPkg +' ' ' iret = ME.INSTALL_THIS_PACKAGE(sPkgPath &/ sPkg) +' ' ' IF iret <> 0 THEN +' ' ' RETURN iret +' ' ' END IF +' ' ' PRINT " ! " & sPkgPath &/ sPkg & " is installed" +' ' ' NEXT +' ' ' END + + PUBLIC FUNCTION INSTALL_USER_SELECTED_BULKS() AS Integer DIM SPkg AS String @@ -244,7 +355,7 @@ 'install the packages now PRINT " + Install " & sPkgPath &/ sPkg 'iRet = ME.INSTALL_THIS_PACKAGE(sPkgPath &/ sPkg) - iret = ME.INSTALL_THIS_BULK(sPkgPath &/ sPkg) + iret = ME.INSTALL_THIS_BULK(sPkgPath &/ sPkg) IF iRet <> 0 THEN RETURN 1 END IF @@ -366,8 +477,9 @@ PUBLIC FUNCTION INSTALL_THIS_BULK(sBulkPath AS String) AS Integer - DIM vSize AS Variant - DIM vTargetSize AS Variant + DIM vSize AS Integer + DIM vTargetSize AS Integer + DIM sDesc AS String SHELL "cat " & ClsGlobal.sSourceMnt &/ "veclinux" &/ "SETUP.CONF | grep " & File.Name(sBulkPath) & " | cut -f 2 -d :" TO vSize @@ -381,7 +493,7 @@ SHELL "echo \"\" > /tmp/installdump" WAIT sErr = "" IF vSize <> "" THEN - SHELL "export gsize=$(df| grep " & ClsGlobal.sTargetMnt & " ) && echo $gsize | cut -f3 -d \' \'" TO vTargetSize + SHELL "gsize=$(df| grep " & ClsGlobal.sTargetMnt & " ) && echo $gsize | cut -f3 -d \' \'" TO vTargetSize END IF FrmInstallSys.pbInstallProg.Value = 0 INC iPkgNum @@ -398,7 +510,8 @@ ' do the progress updating here FrmInstallSys.tlCurrPkg.Text = Trim(sDesc) IF vSize <> "" THEN - MdlInstallSys.UPDATE_STEP_PROGRESS(CFloat(vTargetSize), CFloat(vSize)) + 'MdlInstallSys.UPDATE_STEP_PROGRESS(CFloat(vTargetSize), CFloat(vSize)) + MdlInstallSys.UPDATE_STEP_PROGRESS(vTargetSize, vSize) END IF UNTIL hproc.State = Process.Stopped @@ -415,7 +528,7 @@ PUBLIC FUNCTION INSTALL_THIS_PACKAGE(sPackagePath AS String) AS Integer DIM vSize AS Variant - DIM vTargetSize AS Variant + DIM vTargetSize AS Integer sDump = "" @@ -424,7 +537,7 @@ SHELL "cat " & ClsGlobal.sSourceMnt &/ "veclinux" &/ "SETUP.CONF | grep " & File.Name(sPackagePath) & " | cut -f 2 -d :" TO vSize IF vSize <> "" THEN - SHELL "export gsize=$(df| grep " & ClsPartSel.sRoot & " ) && echo $gsize | cut -f3 -d \' \'" TO vTargetSize + SHELL "gsize=$(df| grep " & ClsGlobal.sTargetMnt & " ) && echo $gsize | cut -f3 -d \' \'" TO vTargetSize END IF FrmInstallSys.pbInstallProg.Value = 0 INC iPkgNum @@ -441,7 +554,9 @@ WAIT 1 ' do the progress bar updating here IF vSize <> "" THEN - MdlInstallSys.UPDATE_STEP_PROGRESS(CFloat(vTargetSize), CFloat(vSize)) + 'MdlInstallSys.UPDATE_STEP_PROGRESS(CFloat(vTargetSize), CFloat(vSize)) + MdlInstallSys.UPDATE_STEP_PROGRESS(vTargetSize, CInt(vSize)) + END IF UNTIL hproc.state = Process.Stopped |