home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / MKESLN.ZIP / MKESLAN.CMD < prev    next >
OS/2 REXX Batch file  |  1992-09-02  |  12KB  |  190 lines

  1. /****************************************************************/
  2. /* MKESLAN.CMD                  Version 1.2; September 2, 1992  */
  3. /*                                                              */
  4. /* Function:                                                    */
  5. /*      Build the WPS entries for the following products:       */
  6. /*              Extended Services:                              */
  7. /*                      Communications Manager                  */
  8. /*                      Database Manager                        */
  9. /*              LAN Requester                                   */
  10. /* Parameters:                                                  */
  11. /*      None                                                    */
  12. /*                                                              */
  13. /* Programmed by:                                               */
  14. /*      Georg Haschek (61804212 at VIEVMA)                      */
  15. /*                                                              */
  16. /* Change history:                                              */
  17. /*      1.0  92/07/31 ... First release to OS2TOOLS             */
  18. /*      1.1  92/08/11 ... Fix lowercase problem in PATH         */
  19. /*                        processing                            */
  20. /*      1.2  92/09/02 ... Make UPM Programs PM                  */
  21. /*                    ... Add "Program Group" icon              */
  22. /*                                                              */
  23. /****************************************************************/
  24. Trace 'O'
  25. Address CMD
  26. '@ECHO OFF'
  27. Signal On Halt
  28. Signal On Syntax
  29.  
  30. /**************/
  31. /* Initialize */
  32. /**************/
  33. Call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
  34. Call sysloadfuncs
  35.  
  36. Parse Version v
  37. v = Translate(Word(v,5)||Right(Wordpos(Word(v,4),'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'),2)||Right(Word(v,3),2),'0',' ')
  38. If v < 19920708 Then Do
  39.   Say "The version of REXX on your system is backlevel."
  40.   Say " "
  41.   Say "Please get the latest version from OS2TOOLS (REXX20 PACKAGE), or from"
  42.   Say "the OS2CSD disk. The success of MKESLAN is not guaranteed!"
  43.   'PAUSE'
  44. End
  45.  
  46. landrive = ''
  47. cmdrive = ''
  48. dbdrive = ''
  49. upmdrive = ''
  50. bootdrive = Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\OS2\SYSTEM',Value('PATH',,'OS2ENVIRONMENT'))-2,2)
  51. If Pos('\IBMLAN',Translate(Value('PATH',,'OS2ENVIRONMENT'))) > 0 Then landrive = Translate(Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\IBMLAN',Translate(Value('PATH',,'OS2ENVIRONMENT')))-2,2))
  52. If Pos('\CMLIB',Translate(Value('PATH',,'OS2ENVIRONMENT'))) > 0 Then cmdrive = Translate(Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\CMLIB',Translate(Value('PATH',,'OS2ENVIRONMENT')))-2,2))
  53. If Pos('\SQLLIB',Translate(Value('PATH',,'OS2ENVIRONMENT'))) > 0 Then dbdrive = Translate(Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\SQLLIB',Translate(Value('PATH',,'OS2ENVIRONMENT')))-2,2))
  54. If Pos('\MUGLIB',Translate(Value('PATH',,'OS2ENVIRONMENT'))) > 0 Then upmdrive = Translate(Substr(Value('PATH',,'OS2ENVIRONMENT'),Pos('\MUGLIB',Translate(Value('PATH',,'OS2ENVIRONMENT')))-2,2))
  55. If landrive = '' & cmdrive = '' & dbdrive = '' Then Do
  56.   Say "No Extended Services or LAN Requester found, terminating."
  57.   Call Endit
  58. End
  59.  
  60. iconfile = 'GROUP.ICO'
  61. iconparm = ''
  62. If Stream(iconfile,'C','QUERY EXISTS') = '' Then Do
  63.   Parse Source . . myname .
  64.   mydir = Filespec('D',myname)||Filespec('P',myname)
  65.   If Stream(mydir||iconfile,'C','QUERY EXISTS') = '' Then Do
  66.     If SysSearchPath('PATH',iconfile) = '' Then Do
  67.       If SysSearchPath('DPATH',iconfile) <> '' Then Do
  68.         iconparm = 'ICONFILE='||SysSearchPath('DPATH',iconfile)||';'
  69.       End
  70.     End
  71.     Else Do
  72.       iconparm = 'ICONFILE='||SysSearchPath('PATH',iconfile)||';'
  73.     End
  74.   End
  75.   Else Do
  76.     iconparm = 'ICONFILE='||mydir||iconfile||';'
  77.   End
  78. End
  79. Else Do
  80.   iconparm = 'ICONFILE='||Directory()||'\'||iconfile||';'
  81. End
  82.  
  83. 'CLS'
  84. Say "Your system is installed on the" bootdrive "drive."
  85. Say " "
  86. Say "The following components have been found:"
  87. Say " "
  88. If landrive <> '' Then Say "     LAN Requester on drive" landrive
  89. If cmdrive <> '' Then Say "     Communications Manager on drive" cmdrive
  90. If dbdrive <> '' Then Say "     Database Manager on drive" dbdrive
  91. If upmdrive <> '' Then Say "     User Profile Management on drive" upmdrive
  92. Say " "
  93. Say "This program will now create a folder for each identified product on your"
  94. Say "desktop, which will contain the standard WPS entries."
  95. Say " "
  96. Say "Do you want to continue (Y/N)?"
  97. Parse Upper Pull yesno .
  98. If Substr(yesno,1,1) <> 'Y' Then Call Endit
  99.  
  100. If landrive <> '' Then Do
  101.   Call SysCreateObject 'WPFolder','LAN Services','<WP_DESKTOP>','OBJECTID=<LAN_FOLDER>;'||iconparm,'R'
  102.   Call SysCreateObject 'WPProgram','OS/2 LAN Services Installation/Configuration','<LAN_FOLDER>','EXENAME='||landrive||'\IBMLAN\INSTALL\LANINST.EXE;PROGTYPE=WINDOWABLEVIO;STARTUPDIR='||landrive||'\IBMLAN\INSTALL;','R'
  103.   Call SysCreateObject 'WPProgram','LAN Messaging','<LAN_FOLDER>','EXENAME='||landrive||'\IBMLAN\NETPROG\NETSEND.CMD;PROGTYPE=FULLSCREEN;STARTUPDIR='||landrive||'\IBMLAN\NETPROG;','R'
  104.   Call SysCreateObject 'WPProgram','LAN Requester','<LAN_FOLDER>','EXENAME='||landrive||'\IBMLAN\NETPROG\NET.EXE;PROGTYPE=FULLSCREEN;STARTUPDIR='||landrive||'\IBMLAN\NETPROG;','R'
  105.   Call SysCreateObject 'WPProgram','OS/2 LAN Command Reference','<LAN_FOLDER>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS='||landrive||'\IBMLAN\BOOK\A3ALANCR.INF;STARTUPDIR='||bootdrive||'\OS2;','R'
  106.   Call SysCreateObject 'WPProgram','OS/2 LAN Online Reference','<LAN_FOLDER>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS='||landrive||'\IBMLAN\BOOK\A3ALANOR.INF;STARTUPDIR='||bootdrive||'\OS2;','R'
  107. End
  108.  
  109. If cmdrive <> '' | dbdrive <> '' Then Do
  110.   Call SysCreateObject 'WPFolder','Extended Services','<WP_DESKTOP>','OBJECTID=<ES_FOLDER>;'||iconparm,'R'
  111.   Call SysCreateObject 'WPProgram','View Install History File','<ES_FOLDER>','EXENAME='||bootdrive||'\OS2\INSTALL\VIEWLOG.CMD;PROGTYPE=FULLSCREEN;STARTUPDIR='||bootdrive||'\OS2\INSTALL;','R'
  112.   Call SysCreateObject 'WPProgram','Add or Remove Features','<ES_FOLDER>','EXENAME='||bootdrive||'\OS2\INSTALL\REINST.CMD;PROGTYPE=FULLSCREEN;STARTUPDIR='||bootdrive||'\OS2\INSTALL;','R'
  113.   Call SysCreateObject 'WPProgram','Basic Configuration and Installation','<ES_FOLDER>','EXENAME='||bootdrive||'\OS2\INSTALL\ESCFG.CMD;PROGTYPE=FULLSCREEN;STARTUPDIR='||bootdrive||'\OS2\INSTALL;','R'
  114.   Call SysCreateObject 'WPProgram','Extended Services Command Reference','<ES_FOLDER>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS=ESCMDREF.INF;STARTUPDIR='||bootdrive||'\OS2\BOOK;','R'
  115.   Call SysCreateObject 'WPProgram','View Custom Build History File','<ES_FOLDER>','EXENAME='||bootdrive||'\OS2\INSTALL\VIEWBLOG.CMD;PROGTYPE=FULLSCREEN;STARTUPDIR='||bootdrive||'\OS2\INSTALL;','R'
  116.   Call SysCreateObject 'WPProgram','Create Custom Install Diskette','<ES_FOLDER>','EXENAME='||bootdrive||'\OS2\INSTALL\CUSTBLD.CMD;PROGTYPE=FULLSCREEN;STARTUPDIR='||bootdrive||'\OS2\INSTALL;','R'
  117. End
  118.  
  119. Call SysCreateObject 'WPFolder','User Profile Management Services','<WP_DESKTOP>','OBJECTID=<UPM_FOLDER>;'||iconparm,'R'
  120. Call SysCreateObject 'WPProgram','Logoff','<UPM_FOLDER>','EXENAME='||upmdrive||'\MUGLIB\LOGOFF.EXE;PARAMETER=/L;STARTUPDIR='||upmdrive||'\OS2\INSTALL;PROGTYPE=PM;','R'
  121. Call SysCreateObject 'WPProgram','User Profile Management','<UPM_FOLDER>','EXENAME='||upmdrive||'\MUGLIB\UPMACCTS.EXE;STARTUPDIR='||upmdrive||'\OS2\INSTALL;PROGTYPE=PM;','R'
  122. Call SysCreateObject 'WPProgram','Logon','<UPM_FOLDER>','EXENAME='||upmdrive||'\MUGLIB\LOGON.EXE;STARTUPDIR='||upmdrive||'\OS2\INSTALL;PROGTYPE=PM;','R'
  123.  
  124. If dbdrive <> '' Then Do
  125.   Call SysCreateObject 'WPFolder','Database Manager','<WP_DESKTOP>','OBJECTID=<DBM_FOLDER>;'||iconparm,'R'
  126.   Call SysCreateObject 'WPProgram','Directory Tool','<DBM_FOLDER>','EXENAME='||dbdrive||'\SQLLIB\DIRECT.EXE;PROGTYPE=PM;STARTUPDIR='||dbdrive||'\SQLLIB;','R'
  127.   Call SysCreateObject 'WPProgram','Database Manager Messages','<DBM_FOLDER>','EXENAME='||bootdrive||'\OS2\VIEW.EXE;PROGTYPE=PM;PARAMETERS='||dbdrive||'\SQLLIB\BOOK\DBMSG.INF;STARTUPDIR='||dbdrive||'\SQLLIB;','R'
  128.   Call SysCreateObject 'WPProgram','DBM Command Line Interface','<DBM_FOLDER>','EXENAME=CMD.EXE;PROGTYPE=WINDOWABLEVIO;PARAMETERS=/K DBM.CMD -S & STARTDBM.EXE;STARTUPDIR='||ldbdrive||'\SQLLIB;','R'
  129.   Call SysCreateObject 'WPProgram','Query Manager','<DBM_FOLDER>','EXENAME='||dbdrive||'\SQLLIB\QUERYMGR.EXE;PROGTYPE=PM;STARTUPDIR='||dbdrive||'\SQLLIB;','R'
  130.   Call SysCreateObject 'WPProgram','Configuration Tool','<DBM_FOLDER>','EXENAME='||dbdrive||'\SQLLIB\CONFIG.EXE;PROGTYPE=PM;STARTUPDIR='||dbdrive||'\SQLLIB;','R'
  131.   Call SysCreateObject 'WPProgram','Recovery Tool','<DBM_FOLDER>','EXENAME='||dbdrive||'\SQLLIB\RECOVERY.EXE;PROGTYPE=PM;STARTUPDIR='||dbdrive||'\SQLLIB;','R'
  132. End
  133.  
  134. If cmdrive <> '' Then Do
  135.   Call SysCreateObject 'WPFolder','Communications Manager','<WP_DESKTOP>','OBJECTID=<CM_FOLDER>;'||iconparm,'R'
  136.   Call SysCreateObject 'WPProgram','Display SNA Configuration Log','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\APPN\APPNLOG2.EXE;PROGTYPE=PM;PARAMETERS=[Enter configuration log (.LOG) file name];STARTUPDIR='||cmdrive||'\CMLIB;','R'
  137.   Call SysCreateObject 'WPProgram','Display Active SNA Configuration','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\APPN\PMDSPLAY.EXE;PROGTYPE=PM;STARTUPDIR='||cmdrive||'\CMLIB\APPN;','R'
  138.   Call SysCreateObject 'WPProgram','Manage SNA Logical Links','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\APPN\APPNLINK.EXE;PROGTYPE=PM;STARTUPDIR='||cmdrive||'\CMLIB\APPN;','R'
  139.   Call SysCreateObject 'WPProgram','Verify SNA Network Definitions','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\APPN\VERIFYNS.CMD;PROGTYPE=WINDOWABLEVIO;PARAMETERS=[Enter node definitions (.NDF) file name];STARTUPDIR='||cmdrive||'\CMLIB\APPN;','R'
  140.   Call SysCreateObject 'WPProgram','SNA Network Definitions Configuration','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\APPN\APPNC2.EXE;PROGTYPE=PM;PARAMETERS=[Enter node definitions (.NDF) file name];STARTUPDIR='||cmdrive||'\CMLIB;','R'
  141.   Call SysCreateObject 'WPProgram','Communications Manager','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\STARTCM.CMD;PROGTYPE=FULLSCREEN;STARTUPDIR='||cmdrive||'\CMLIB;','R'
  142.   Call SysCreateObject 'WPProgram','Configuration File Manager','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\COPYCFG.EXE;PROGTYPE=PM;STARTUPDIR='||cmdrive||'\CMLIB;','R'
  143.   Call SysCreateObject 'WPProgram','Start/Stop CM Trace','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\APPN\CMTRACE.EXE;PROGTYPE=WINDOWABLEVIO;PARAMETERS=[Enter trace options];STARTUPDIR='||cmdrive||'\CMLIB\APPN;','R'
  144.   Call SysCreateObject 'WPProgram','Format SNA Trace Information','<CM_FOLDER>','EXENAME='||cmdrive||'\CMLIB\APPN\FMTTRACE.EXE;PROGTYPE=WINDOWABLEVIO;PARAMETERS=[Enter optional flags and trace (.TRC) file name];STARTUPDIR='||cmdrive||'\CMLIB\APPN;','R'
  145. End
  146.  
  147. /****************/
  148. /* Exit program */
  149. /****************/
  150. Endit:
  151. Exit 0
  152.  
  153. /********************************/
  154. /* Notify user in case of error */
  155. /********************************/
  156. Telluser: Procedure
  157. Parse source . . tell_name .
  158. tell_name = Filespec('name',tell_name)
  159. Parse Upper Var tell_name tell_name '.' .
  160. If Arg(2,'e') = 0 Then Do
  161.   Say tell_name||':' Date('U') Time() Arg(1)
  162. End
  163. Else Do
  164.   If Arg(2) = 0 Then Do
  165.     Say tell_name||':' Date('U') Time() Arg(1)
  166.   End
  167.   Else Do
  168.     Say Copies(' ',15+Length(tell_name)) Arg(1)
  169.   End
  170. End
  171. Return 0
  172.  
  173. /*************************/
  174. /* Handle SIGNAL ON HALT */
  175. /*************************/
  176. Halt:
  177. Call Telluser 'Halt signalled in line' SIGL'.'
  178. Call Endit
  179.  
  180. /***************************/
  181. /* Handle SIGNAL ON SYNTAX */
  182. /***************************/
  183. Syntax:
  184. myrc = rc
  185. errormsg ='REXX error' myrc 'in line' SIGL':' Errortext(myrc)
  186. errormsg2 = Substr('     ',1,6-Length(SIGL))(SIGL)' *-*   'Sourceline(sigl)
  187. Call Telluser errormsg
  188. Call Telluser errormsg2,1
  189. Call Endit
  190.