|
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
|