?? compslct.tcl
字號(hào):
# COMPSELCT.TCL - Setup procedures for implementing component-selection# wizard page## Copyright 1999-2003 Wind River Systems, Inc## modification history# --------------------# 04u,20jun30,bjl changed preventInstallion dialog to allow choice and # changed dialog message.# 04t,27feb03,bjl moved lunique to GLOBAL.TCL.# 04s,22oct02,wmd Add condition for Unix to remove remote Reg and compatiblity# pages.# 04r,03oct02,bjl display error dialog if BSP_ARCH.TXT is missing for# bsp cd only (spr 82811), allow install over tree with# SETUP-1.x patch (spr 82815). # 04q,14jun02,wmd Fix SPR# 78583, add text to say documentation and Setup# files will take up xxx MBytes"# 04p,17may02,wmd Fix text formatting, grammatical problems.# 04o,09may02,wmd Fix SPR 77138, allow setupVals(compList) = {ALL} to mean# install everything for test automation.# 04o,07may02,bwd Added message to Driver install warning# 04n,05mar02,bwd Modified SETUP to be non-tornado centric# 04m,05feb02,bwd Changed driver-obj-check to a warning, not hard-stop# 04l,17jan02,wmd Add test automation logic to avoid dialog popups# 04k,15jan02,bwd Skip DLL registration for BSP cd# 04j,08jan02,bwd Modified warning message when BSP_ARCH.txt file or its# entries are not found# 04i,03jan02,bwd Removed folderSelect and appConfig pages if BSP CD.# Spec changes on product-dependency checking.# 04h,03jan02,bwd Minor changes on product-dependency checking.# 04g,02jan02,bwd Added checks to disallow installing non-tornado products# into an empty tree.# 04f,21dec01,bwd Added codes to check dependencies for core and# Drv/BSP installation# 04e,05dec01,j_w Fixed hostVerGet{} not to break down specific OS for# windows; Fixed prodHostTypeGet{} to add a generic # windows type# 04d,30oct01,bwd SPR 62997: fixed bitmap problem when user selects no# products# 04c,27sep01,j_w Fixed the previousTornadoInstalled procedure# 04b,18jun01,j_w Returned the correct value in prodHostTypeGet() and # hostVerGet() # 04a,12jun01,j_w Modified for Tornado 2.2# 03x,19apr01,j_w Fixed a typo# 03w,21mar01,j_w Added BSP/toolchain checking (spr 65277)# 03v,08mar01,j_w remove checking for simulator# 03u,20dec00,bwd Changed product name: VxWorks PAL to VxWorks AE PAL# 03t,15dec00,wmd Fix choice of words.# 03s,08dec00,bwd SPR 62832: fixed proc lunique to return list in original# order# 03r,27nov00,bwd SPR 34811: to prevent TCL errors, disable "Next" to allow# page creation to finish before letting user click "Next"# 03q,20nov00,bwd Fixed TEXT mode in checkProductDependency# 03p,20nov00,bwd Fixed isCoreTorSelected due to part name change# 03o,31oct00,bwd Add check for PAL dependency check for MIPS CD. Change name# isTornadoSelected to isCoreTorSelected. Modified the proc.# 03n,20oct00,j_w Unchecked Tornado Intergated Simulator if linux (spr 35410)# 03m,04oct00,bwd Fixed messageBox option# 03l,25sep00,bwd Changed check for description "Tornado Target" to "VxWorks# AE"# 03k,18sep00,j_w renamed libExtract to libUpdate# 03j,18aug00,bwd Re-enable Next button if grayed out in FOLDER page# 03i,21jul00,bwd Fixed typo - to display $msg not msg# 03h,22jun00,bwd Moved writing to setup.log the list of licensed products to# FILECOPY page# 03g,09jun00,bwd Added another host type check for x86-linux2# 03f,08jun00,bwd SPR 31050: hide SETUP bitmap and enlarge the product# selection box# 03e,07jun00,bwd SPR 31613: add additional line in setup.log that contain# info about licensed products# 03d,02jun00,bwd Changed all "dialog ok" to use "dialog ok_with_title"# 03c,24apr00,bwd Fixed bugs in checkProductDependency to correctly# check/skip checking for architecture# 03b,19apr00,bwd Modified the call to licensedProductCheck to take in# featureID of the product# 03a,13apr00,bwd Added codes to make sure the Tornado target and Drv Obj are# selected if Tornado Host is selected, and warn user if# different archs are selected for each of them. Removed# drvCheck and modified checkProductDependency for T3 products# 02z,20mar00,bwd Modified the message/error message for TEXT mode to clarify# how user can select/deselect components of a product# 02y,17mar00,j_w Fixed typo# 02x,14mar00,bwd Fixed codes to correctly check only the native products and# prompt warning when non-native products are selected# 02w,10mar00,bwd Added codes to check that at least one driver object is# selected if Tornado product is selected. Removed calls to# drvCheck and checkProductDependency. Removed temporary # solutions for EAR2 release.# 02v,09feb00,bwd Removed the string trimright for product descriptions since# this is done in REGISTER.TCL# 02u,08feb00,wmd Disable check for driver/objects for EAR2. FIX for BETA/FCS# 02t,07feb00,bwd Fixed error message for test automation# 02s,31jan00,bwd Fixed error handling for test automation. Deleted redundant# codes. Replaced setupVals(cmdMode) with isGUImode# 02r,27jan00,wmd Add code to check correctly for windows2000.# 02q,25jan00,wmd Use tornadoProductCheck to check if product is Tornado# object in isTornadoSelected.# 02p,20jan00,j_w Remove remoteRegistryHost reference# 02o,11jan00,bwd TEXT MODE: fixed prompt to force users to make selection# (To continue or To select products)# 02n,11jan00,bwd TEXT MODE: fixed codes to correctly handle duplicate core# installation# 02m,06jan00,bwd No test automation for command line SETUP# 02l,17dec99,clc change switch patterns# 02k,17dec99,clc edit message for duplicate products# 02j,06dec99,j_w Added licensedProductCheck# 02i,23nov99,clc prompt user of COMPSELECT_WARN_1 warning# 02h,02nov99,clc add text mode# 02g,29oct99,wmd To skip to finish page for testing if env var# SETUP_SKIP_INSTALL is set.# 02f,22oct99,j_w Fixed typo# 02e,22oct99,j_w Added previousTornadoInstalled procedure# 02d,21oct99,bjl removed parisc-hpux support.# 02c,13oct99,bjl replaced tornado productName checks with tornadoProductCheck.# 02b,06oct99,j_w move calcPage to UTILW32.TCL# 02a,30Sep99,j_w Modified for T3# 01u,23jul99,j_w added text messages# 01t,21apr99,wmd Fix spr #26372 - Unselecting "non-native" products should# not display the warning message.# 01s,12apr99,wmd Need to make sure that "Tornado Simulator" product installs# the drivers product as well.# 01r,31mar99,wmd Add another name to check for arch wise: SIMHPPA.# 01q,25mar99,wmd Fix cpu identification for simulator products.# 01p,24mar99,wmd Try to fix so that x86-winXX products are recognized as# such.# 01o,22mar99,bjl remove compatibility page for Unix if tornado not# installed, added endWaitCursor.# 01n,19mar99,wmd Output to a file any debug messages.# 01m,18mar99,tcy added further checking for deselecting non-native products# 01m,17mar99,wmd Fix the width of the line to display "Grey box..."# completely.# 01l,11mar99,wmd Move the tristate checkbox before the code to uncheck# non-native hosts. Fix prodHostTypeGet.# 01k,11mar99,wmd For single part products, indicate 1/1 selected, and add# check to 'foreign' hosts into part select OK proc.# 01j,10mar99,wmd Use the tri-state check box for the selected products.# 01i,08mar99,tcy fixed bug with code filtering non-native hostnames# 01h,03mar99,tcy Show correct size SETUP/ takes based on platform# (fix for SPR 25228)# 01g,22feb99,wmd Fix so that unselected products show 0 out of XXX products.# 01f,17feb99,tcy Added proc installedProdDescGet() to return a list# of products (fix for SPR 24897)# fix bug in installedProdGet() when checking dest. directory# 01e,11feb99,wmd Remove the apostrophes around the '*' so that it is more# visible.# 01d,29jan99,wmd Fix spr #24559, show which products have components.# 01c,28jan99,wmd Fix spr # 24523, warn users of non-native installations,# and initially uncheck those products not meant for the host.# 01b,29jan99,tcy moved byteToMbyte() and kbyteToMbyte() from INSTALL.TCL# 01a,26jan99,tcy extracted from INSTW32.TCL.################################################################################ pageCreate(compSelect) - display products for users to install## This procedure will display products for users to install## SYNOPSIS# .tS# pageCreate(compSelect)# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#global bspArchValsproc pageCreate(compSelect) {} { global ctrlVals global setupVals global indexList if { [isTornadoProduct] } { if { [isBSPcd] } { readBSPArchFiles } } if { [isGUImode] } { endWaitCursor # hide the setup bitmap to allow more space on the page controlHide wizardDialog.bitmap 1 set ctrlVals(volatileFrm) [list \ [list label -name msg \ -title [strTableGet COMPSELECT_LABEL_1]\ -x 10 -y 9 -w 295 -h 26] \ [list label -name message2 \ -title [strTableGet COMPSELECT_LABEL_2]\ -x 10 -y 37 -w 295 -h 8] \ [list checklist -name optionList \ -callback onClickProdCheckList \ -x 10 -y 46 -w 295 -h 80] \ [list label -name reqText \ -title "Space Required:" \ -x 18 -y 124 -w 55 -h 8] \ [list label -name reqSpace \ -title "Unknown" \ -x 256 -y 124 -w 43 -h 8] \ [list label -name availText \ -title "Space Available:" \ -x 18 -y 134 -w 55 -h 8] \ [list label -name availSpace \ -title "Unknown" \ -x 256 -y 134 -w 43 -h 8] \ [list frame -name frm1 \ -xpos 10 -ypos 148 -width 295 -height 25] \ [list label -name compSelected \ -x 18 -y 153 -w 150 -h 18] \ [list button -title "&Details..." -name partDetailButt \ -xpos 245 -ypos 153 -width 50 -height 14 \ -callback partListDlg] \ ] set w [dlgFrmCreate [strTableGet COMPSELECT_TITLE]] # First, disable "Next" until all info on the page is updated # to prevent TCL errors caused by user clicking "Next" too fast controlEnable $ctrlVals(mainWindow).nextButt 0 productGuiChkLstCreate productGuiSizeUpdate # re-enable "Next" button controlEnable $ctrlVals(mainWindow).nextButt 1 controlFocusSet $ctrlVals(mainWindow).nextButt # test automation if { $ctrlVals(useInputScript) } { autoSetupLog "Products Selection page:" autoSetupLog "\tInstalled products specified by the key" nextCallback } } else { # TEXT mode set indexList "" while (1) { printPageTitle [strTableGet COMPSELECT_TITLE] puts "[strTableGet COMPSELECT_LABEL_1_TEXT]\n" productTextListUpdate productTextSizeUpdate set ret [prompt [strTableGet 3145_COMP_SELECT_CHANGE]] switch -regexp -- $ret { "^-$" { backCallback return 0 } "^$" { nextCallback return 0 } "[eE][xX][iI][tT]" { return 0 } "^[0-9]+([ ][0-9]+)*$" { productChange $ret } default { } } } }}############################################################################### preventInstallation - prevents users from continuing with installation## This procedure will invoke a dialog box to stop users from continuing# will installation## SYNOPSIS# .tS# preventInstallation <ver># .tE## PARAMETERS:# .IP ver# version of Tornado## RETURNS: N/A## ERRORS: N/A#proc preventInstallation {ver} { global setupVals ctrlVals if { [isGUImode] } { if { $ctrlVals(useInputScript) } { autoSetupLog "Error: attempting to install over an existing\ $ver tree. Please choose a new installation path." autoSetupLog "Application Exit\n" set setupVals(cancel) 1 applicationExit return 0 } else { set message \ "You may be attempting to install over an existing $ver\ tree, or you may have previously installed a product with an\ incompatible version of Setup. This is not recommended\ and may cause incompatibilities which will render the product\ unusable.\n\nDo you want to continue with installation? Click\ yes to proceed or click no to re-enter the destination\ directory." return [dialog yes_no Setup $message] } } else { # TEXT mode set msg "You are attempting to install over an existing $ver tree.\n\ This is not recommended and will cause incompatibilities\ which will render the product unusable.\n\ Press <Enter> to choose a new installation path." while { [prompt $msg] != "" } { } }}############################################################################### installedProdDescGet - return a list of installed product descriptions# that were installed irrespective of the pool Id## This procedure returns a list of installed product descriptions that were# installed irrespective of the pool Id## SYNOPSIS# .tS# installedProdDescGet <pool># .tE## PARAMETERS:## RETURNS:# The variable setupVals(instProdDescList) will be set after invoking# the procedure. The variable will be set to NULL if Setup does not detect any# products in the destination directory# ERRORS: N/Aproc installedProdDescGet {} { global setupVals # open the setup.log file and determine if there are any installed products # from the specified CD pool set logfile [file join [destDirGet] setup.log] if [catch {open $logfile r} logfd] { return "" } else { set text [split [read $logfd] \n] set nlines [llength $text] close $logfd for {set ix 0} {$ix < $nlines} {incr ix} { # iterate each line and search for the pool ID passed in set textLine [split [lindex $text $ix ]] # check to see if destination dir is same set instDir [lindex $textLine 3] # make sure case is not an issue when doing comparison if {[string tolower $instDir] == [string tolower [destDirGet]]} { incr ix # accumulate product numbers that are in this group set line [split [lindex $text $ix]] while {$ix < $nlines} { if {[string range [lindex $line 1] 0 3] == "100-"} { lappend prodDescList "[lrange $line 2 end]" } incr ix set line [split [lindex $text $ix]] if {[lsearch -regexp $line "TDK-"] == 1} { break } } } } set setupVals(instProdDescList) $prodDescList dbgputs "Products installed: $setupVals(instProdDescList)"}############################################################################### installedProdGet - return a list of installed products that were installed# from the same pool## This procedure returns a list of installed products that were installed# from the same pool## SYNOPSIS# .tS# installedProdGet <pool># .tE## PARAMETERS:# .IP pool# pool ID in the form of TDK-XXXXX-XX-XX## RETURNS: N/A## ERRORS: N/A#proc installedProdGet {pool} { global setupVals set prodList "" set poolID [string range $pool 0 [expr [string first "ZC" $pool] -1]] if {$poolID == ""} { set poolID $pool } # open the setup.log file and determine if there are any installed products # from the specified CD pool set logfile [file join [destDirGet] setup.log] if [catch {open $logfile r} logfd] { return "" } else { set text [split [read $logfd] \n] set nlines [llength $text] close $logfd
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -