home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: InfoMgt / InfoMgt.zip / msql2011.zip / install.cmd next >
OS/2 REXX Batch file  |  1999-01-19  |  10KB  |  227 lines

  1. /* install.cmd
  2.  *
  3.  * installation script for mSQL 2.x (OS/2)
  4.  * installs all executables, libraries, headers and documentation in the
  5.  * appropriate directory structure; creates an WPS folder with the files.
  6.  *
  7.  * syntax:  install [directory]
  8.  * where 'directory' is a destination, e.g. C:\PUBLIC\MSQL
  9.  * default: \public\mSQL
  10.  *
  11.  * (c) 1997 by Dirk Ohme
  12.  *     1998 Yuri Dario <mc6530@mclink.it>
  13.  */
  14.  
  15. /*---| includes |-------------------------------------------------------------*/
  16. call RxFuncAdd "SysLoadFuncs", "REXXUTIL", "SysLoadFuncs"
  17. call SysLoadFuncs
  18.  
  19. /*---| parameters |-----------------------------------------------------------*/
  20. parse arg destDir
  21. if destDir = "/?" | destDir = "-?" | destDir = "-h"
  22. then do
  23.   say "Usage: install [directory]"
  24.   say
  25.   say "where 'directory' is the place to install the files"
  26.   exit
  27. end
  28. if destDir = ""
  29. then do
  30.   destDir = "\public\mSQL2"                /* standard installation directory */
  31. end
  32. if "" = filespec("Drive", destDir)
  33. then do
  34.   destDir = filespec("Drive", directory())||destDir    /* drive of actual directory = drive for installation */
  35. end
  36.  
  37. /*---| replace '/' with '\' in path |-----------------------------------------*/
  38. destDir = translate(destDir, "\\", "/")
  39.  
  40. /*---| set viewer and system editor |-----------------------------------------*/
  41. editor = SysSearchPath("PATH", "e.exe")
  42. viewer = SysSearchPath("PATH", "view.exe")
  43.  
  44. /*---| set source directory |-------------------------------------------------*/
  45. sourceDir = directory()||"\"
  46. if 0 < pos("msql-", sourceDir)
  47. then do
  48.   sourceDir = delstr(sourceDir, pos("\", sourceDir, pos("msql-", sourceDir)))
  49. end
  50. call directory(sourceDir)
  51.  
  52. /*---| intro |----------------------------------------------------------------*/
  53. say
  54. say "Starting install of mSQL 2.x for OS/2 software,"
  55. say "using SOURCE='"sourceDir"' and DESTINATION='"destDir"'"
  56.  
  57. /*---| create directories |---------------------------------------------------*/
  58. say "  creation of destination directories"
  59. no=pos("\", destDir, 2)
  60. do until no = 0
  61.   say "   * "delstr(destDir, pos("\", destDir, no))
  62.   call SysMkDir delstr(destDir, pos("\", destDir, no))
  63.   no=pos("\", destDir, (no+1))
  64. end
  65. say "   * "destDir
  66. call SysMkDir destDir
  67. call SysMkDir destDir'\BIN'
  68. call SysMkDir destDir'\DEMOS'
  69. call SysMkDir destDir'\DOC'
  70. call SysMkDir destDir'\INCLUDE'
  71. call SysMkDir destDir'\LIB'
  72. call SysMkDir destDir'\MSQLDB'
  73. call SysMkDir destDir'\MSQLDB\.tmp'
  74.  
  75. /*---| bind icons to objects |------------------------------------------------*/
  76. say "  bind icons to objects"
  77. call SysSetIcon destDir || "\bin\lite.exe",        "icons\tool.ico"
  78. call SysSetIcon destDir || "\bin\msql.exe",        "icons\msql.ico"
  79. call SysSetIcon destDir || "\bin\msql2d.exe",      "icons\msql2d.ico"
  80. call SysSetIcon destDir || "\bin\msqladmin.exe",   "icons\msqladmin.ico"
  81. call SysSetIcon destDir || "\bin\msqldump.exe",    "icons\msqldump.ico"
  82. call SysSetIcon destDir || "\bin\w3-auth.exe",     "icons\www.ico"
  83. call SysSetIcon destDir || "\bin\w3-msql.exe",     "icons\www.ico"
  84. call SysSetIcon destDir || "\bin\relshow.exe",     "icons\relshow.ico"
  85.  
  86. /*---| copy files |-----------------------------------------------------------*/
  87. say "  copy files to destination"
  88. '@copy /b bin\*                     'destDir'\bin\*      > nul'
  89. '@copy /b include\*                 'destDir'\include\*  > nul'
  90. '@copy /b lib\*                     'destDir'\lib\*      > nul'
  91.  
  92. /* overwrite dbstart.cmd and dbstop.cmd with installation values: */
  93. '@echo @echo off                                       >  'destDir'\bin\dbStart.cmd'
  94. '@echo set emxopt=-h256                                >> 'destDir'\bin\dbStart.cmd'
  95. '@echo rem set msql_debug=general:query:error:         >> 'destDir'\bin\dbStart.cmd'
  96. '@echo start /c /min /b "mSQL 2.0 for OS/2 Warp" 'destDir'\bin\msql2d            >> 'destDir'\bin\dbStart.cmd'
  97. call SysSetIcon destDir"\bin\dbStart.cmd",         "icons\db_start.ico"
  98. '@echo 'destDir'\bin\msqladmin shutdown                >  'destDir'\bin\dbStop.cmd'
  99. call SysSetIcon destDir"\bin\dbStop.cmd",          "icons\db_stop.ico"
  100.  
  101. /*---| create configuration files |-------------------------------------------*/
  102. say "  creating configuration files"
  103. '@echo [general]                                       >  'destDir'\msql.conf'
  104. '@echo inst_dir='destDir'                              >> 'destDir'\msql.conf'
  105. '@echo admin_user=%USER%                               >> 'destDir'\msql.conf'
  106. '@echo msql_user=%USER%                                >> 'destDir'\msql.conf'
  107. '@echo pid_file='destDir'\bin\msql2.pid                >> 'destDir'\msql.conf'
  108. '@echo tcp_port=1114                                   >> 'destDir'\msql.conf'
  109. '@echo unix_port=\socket\msql2d.sock                   >> 'destDir'\msql.conf'
  110. '@echo #timeout=10                                     >> 'destDir'\msql.conf'
  111. '@echo [system]                                        >> 'destDir'\msql.conf'
  112. '@echo host_lookup=false                               >> 'destDir'\msql.conf'
  113. '@echo remote_access=true                              >> 'destDir'\msql.conf'
  114. '@echo local_access=true                               >> 'destDir'\msql.conf'
  115. '@echo msync_timer=30                                  >> 'destDir'\msql.conf'
  116. '@echo [w3-msql]                                       >> 'destDir'\msql.conf'
  117. '@echo #auth_host=localhost                            >> 'destDir'\msql.conf'
  118. '@echo footer = false                                  >> 'destDir'\msql.conf'
  119. '@echo.                                                >> 'destDir'\msql.conf'
  120.  
  121. '@echo database=test                                   >  'destDir'\msql.acl'
  122. '@echo read=*                                          >> 'destDir'\msql.acl'
  123. '@echo write=*                                         >> 'destDir'\msql.acl'
  124. '@echo host=*                                          >> 'destDir'\msql.acl'
  125. '@echo access=local,remote                             >> 'destDir'\msql.acl'
  126. '@echo option=rfc931                                   >> 'destDir'\msql.acl'
  127. '@echo.                                                >> 'destDir'\msql.acl'
  128. '@echo database=*                                      >> 'destDir'\msql.acl'
  129. '@echo read=*                                          >> 'destDir'\msql.acl'
  130. '@echo write=%USER%                                    >> 'destDir'\msql.acl'
  131. '@echo host=*                                          >> 'destDir'\msql.acl'
  132. '@echo access=local,remote                             >> 'destDir'\msql.acl'
  133. '@echo option=rfc931                                   >> 'destDir'\msql.acl'
  134. '@echo.                                                >> 'destDir'\msql.acl'
  135.  
  136. /*---| create workplace shell objects |---------------------------------------*/
  137. say "  creation of WPS folder 'mSQL-2'"
  138. if SysCreateObject("WPFolder", "mSQL-2", "<WP_DESKTOP>",,
  139.                    "OBJECTID=<WP_mSQL2>", "update")
  140. then do
  141.   say "   * folder created"
  142.   if SysCreateObject("WPProgram", "Start Server", "<WP_mSQL2>",,
  143.                      "EXENAME="destDir"\bin\dbStart.cmd",,
  144.                      "update")
  145.   then do
  146.     say "   * msql2d (Start)"
  147.   end
  148.   if SysCreateObject("WPProgram", "Stop Server", "<WP_mSQL2>",,
  149.                      "EXENAME="destDir"\bin\dbStop.cmd",,
  150.                      "update")
  151.   then do
  152.     say "   * msql2d (Stop)"
  153.   end
  154.   if SysCreateObject("WPProgram", "local Monitor", "<WP_mSQL2>",,
  155.                      "EXENAME="destDir"\bin\msql.exe;PARAMETERS=[database to use?]",,
  156.                      "update")
  157.   then do
  158.     say "   * msql (local)"
  159.   end
  160.   if SysCreateObject("WPProgram", "remote Monitor", "<WP_mSQL2>",,
  161.                      "EXENAME="destDir"\bin\msql.exe;PARAMETERS=-h [host?] [database to use?]",,
  162.                      "update")
  163.   then do
  164.     say "   * msql (remote)"
  165.   end
  166.   if SysCreateObject("WPProgram", "Server Reload", "<WP_mSQL2>",,
  167.                      "EXENAME="destDir"\bin\msqladmin.exe;PARAMETERS=reload",,
  168.                      "update")
  169.   then do
  170.     say "   * msqladmin reload"
  171.   end
  172.   if SysCreateObject("WPProgram", "Create DB", "<WP_mSQL2>",,
  173.                      "EXENAME="destDir"\bin\msqladmin.exe;PARAMETERS=create [database?]",,
  174.                      "update")
  175.   then do
  176.     say "   * msqladm create"
  177.   end
  178.   if SysCreateObject("WPProgram", "Drop DB", "<WP_mSQL2>",,
  179.                      "EXENAME="destDir"\bin\msqladmin.exe;PARAMETERS=drop [database?]",,
  180.                      "update")
  181.   then do
  182.     say "   * msqladm drop"
  183.   end
  184.   if SysCreateObject("WPProgram", "Dump", "<WP_mSQL2>",,
  185.                      "EXENAME="destDir"\bin\msqldump.exe;PARAMETERS=[database?]",,
  186.                      "update")
  187.   then do
  188.     say "   * msqldump.exe"
  189.   end
  190.   if SysCreateObject("WPProgram", "Relations", "<WP_mSQL2>",,
  191.                      "EXENAME="destDir"\bin\relshow.exe;PARAMETERS=[database?] [table?] [index?]",,
  192.                      "update")
  193.   then do
  194.     say "   * relshow.exe"
  195.   end
  196.   if SysCreateObject("WPProgram", "Access Control List", "<WP_mSQL2>",,
  197.                      "EXENAME="editor";PARAMETERS="destDir"\mSQL.acl",,
  198.                      "update")
  199.   then do
  200.     say "   * mSQL.acl"
  201.   end
  202.   if SysCreateObject("WPProgram", "Configuration", "<WP_mSQL2>",,
  203.                      "EXENAME="editor";PARAMETERS="destDir"\bin\mSQL.conf",,
  204.                      "update")
  205.   then do
  206.     say "   * mSQL.conf"
  207.   end
  208. end
  209.  
  210. /*---| Save installation directory |------------------------------------------*/
  211. call SysIni 'USER', 'MSQL2', 'INST_DIR', destDir
  212.  
  213. /*---| done |-----------------------------------------------------------------*/
  214. say "done."
  215. say ''
  216. say ''
  217. say '       DO NOT FORGET'
  218. say '       ============='
  219. say ''
  220. say '1.  Move w3-msql.exe (updated version) to your cgi-bin directory.'
  221. say '2.  To work properly with mSQL on your desktop append your config.sys or'
  222. say '    startup.cmd with "SET USER=msqldba" (example)'
  223. say '3.  Change the mSQL configuration: "msql_admin=msqldba"'
  224. say ''
  225.  
  226. /*============================================================================*/
  227.