home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / SNUUPM27.ZIP / INSTALL.BAT < prev    next >
DOS Batch File  |  1995-07-11  |  15KB  |  429 lines

  1. @if "%debug%"=="" echo off
  2. set snu_vers=27
  3. set nul=nul
  4. if not "%debug%"=="" set nul=con
  5. set snu_inst_ver=%snu_vers%
  6. rem ---------------------------------------------------------------------
  7. rem  INSTALL.BAT
  8. rem ---------------------------------------------------------------------
  9. echo.
  10. echo            Installing or Updating SNUUPM
  11. echo            -----------------------------
  12. echo.
  13. echo Installs or updates the SNUUPM package. It must be used in conjunction
  14. echo with INSTALL.MNU and DOUGMENU.EXE.
  15. echo.
  16. echo An attempt is made to preserve an existing SNUUPM installation when
  17. echo this install is done. Certain key parameter files are preserved as
  18. echo .BAK files in the \etc\uupc directory. If you have a multi-user or
  19. echo a multi-host SNUUPM system, then it is assumed that you know how to
  20. echo recover what is essential from those .BAK files.
  21. echo.
  22. rem ---------------------------------------------------------------------
  23. rem  Based on uuInstal developed by Eberhard Lisse (el@lisse.na)
  24. rem
  25. rem  Adapted by Mike Lawrie (mlawrie@apies.frd.ac.za)
  26. rem
  27. rem  Before running this install process, you must first alter your
  28. rem  AUTOEXEC.BAT and CONFIG.SYS files as indicated in the Quickstart
  29. rem  section of the SNUUPMxx.DOC file, and you must reboot of your PC
  30. rem  in order for those changes to be effective. It is assumed that because
  31. rem  you have this INSTALL.BAT file that you are in the directory that
  32. rem  contains the various .ZIP files of the package, and that you have
  33. rem  pkunzipped the SNUUPMxx.ZIP file - thus, you will have the INSTALL.BAT
  34. rem  (ie this file), the INSTALL.MNU and half a dozen or so other .ZIP
  35. rem  files all readily accessible.
  36. rem ---------------------------------------------------------------------
  37.  
  38. rem ---------------------------------------------------------------------
  39. rem  Don't be fooled, there is a tab at the end of the set tab= line!
  40. rem ---------------------------------------------------------------------
  41. set tab=    
  42.  
  43. rem ---------------------------------------------------------------------
  44. rem  Check that the environment variables have been set.
  45. rem ---------------------------------------------------------------------
  46. if "%pmuser%"=="" goto noenv
  47. if "%sndrive%"=="" goto noenv
  48. if "%snewsrc%"=="" goto noenv
  49. if "%tmp%"=="" goto noenv
  50. if "%tz%"=="" goto noenv
  51. if "%uupcsysrc%"=="" goto noenv
  52. if "%uupcnews%"=="" goto noenv
  53. if "%uupcusrrc%"=="" goto noenv
  54. goto envok
  55.  
  56. :noenv
  57. echo At least one of the SNUUPM environment variables:-
  58. echo %tab% PMUSER, SNDRIVE, SNEWSRC, TMP, TZ,
  59. echo %tab% UUPCSYSRC, UUPCNEWS, and/or UUPCUSRRC 
  60. echo is not set. Read the Quickstart section of the SNUUPMxx.DOC file,
  61. echo and try again.
  62. goto ends
  63.  
  64. :envok
  65. if exist %sndrive%\nul goto gotdrive
  66. echo The directory %sndrive% does not exist - you will have to create
  67. echo this manually.
  68. goto ends
  69.  
  70. :gotdrive
  71. if not "%editor%"=="" goto tested
  72. set askenv=n
  73. echo The EDITOR environment variable is not set - you might have a problem
  74. askenv if you try to run the SNEWS package. Do you want to continue? [n] /l
  75. if "%askenv%"=="n" goto ends
  76. if "%askenv%"==""  goto ends
  77. if not "%askenv%"=="y" goto gotdrive
  78. set askenv=
  79. :tested
  80. if exist %editor% goto goted
  81. echo The editor %editor% can not be found. Please specify the full path
  82. echo that is needed to invoke the editor.
  83. goto ends
  84.  
  85. :goted
  86. if exist %tmp%\nul goto gottmp
  87. echo The directory %tmp% does not exist - you will have to create
  88. echo this manually and re-run the install process.
  89. goto ends
  90.  
  91. :gottmp
  92. set t=%tmp%\temp.fil
  93. set snu_p1=%sndrive%\etc\uupc
  94. set snu_p2=%sndrive%\usr\lib\snuupm
  95.  
  96. rem ---------------------------------------------------------------------
  97. rem  Test for the presence of the .ZIP files
  98. rem  The settings of snu_f... are passed onto the installation process
  99. rem  so the current versions of the filenames should be specified here.
  100. rem ---------------------------------------------------------------------
  101.  
  102. if not exist SNUUPM.ZIP goto no_zip
  103. set snu_fdm=DMENU177.ZIP
  104. set snu_fpm=PMAIL322.ZIP
  105. set snu_fsn=SNEWS191.ZIP
  106. set snu_fad=UPC12BAD.ZIP
  107. set snu_fd1=UPC12KD1.ZIP
  108. set snu_fd2=UPC12KD2.ZIP
  109. set snu_fd3=UPC12KD3.ZIP
  110. for %%i in ( %snu_fdm% ) do if not exist %%i goto no_zip
  111. for %%i in ( %snu_fpm% ) do if not exist %%i goto no_zip
  112. for %%i in ( %snu_fsn% ) do if not exist %%i goto no_zip
  113. for %%i in ( %snu_fad% ) do if not exist %%i goto no_zip
  114. for %%i in ( %snu_fd1% ) do if not exist %%i goto no_zip
  115. for %%i in ( %snu_fd2% ) do if not exist %%i goto no_zip
  116. for %%i in ( %snu_fd3% ) do if not exist %%i goto no_zip
  117. goto got_zip
  118.  
  119. :no_zip
  120. echo One or more of the files that are required for installation are
  121. echo not present in this directory. The files that must be present are
  122. echo %tab% SNUUPM.ZIP
  123. echo %tab% %snu_fdm%
  124. echo %tab% %snu_fpm%
  125. echo %tab% %snu_fsn%
  126. echo %tab% %snu_fad%
  127. echo %tab% %snu_fd1%
  128. echo %tab% %snu_fd2%
  129. pause
  130. goto ends
  131.  
  132. :got_zip
  133.  
  134. rem ---------------------------------------------------------------------
  135. rem  Check that the INSTALL.MNU file is present as well...
  136. rem ---------------------------------------------------------------------
  137. if exist install.mnu goto got_mnu
  138. echo The INSTALL.MNU file is not in the current directory. You need to
  139. echo have all of the SNUUPM files in a single directory from which you
  140. echo run the INSATLL.BAT program, having first pkunzipped the SNUUPMxx.ZIP
  141. echo file.
  142. pause
  143. goto ends
  144.  
  145. :got_mnu
  146.  
  147. rem ---------------------------------------------------------------------
  148. rem  Extract some of the files that are needed for installation
  149. rem ---------------------------------------------------------------------
  150.  
  151. echo Extracting some files that are needed for installation.
  152. echo This can take a minute or two, please be patient....
  153. echo.
  154.  
  155. if exist dougmenu.exe del dougmenu.exe>%nul%
  156. pkunzip %snu_fdm% dougmenu.exe>%nul%
  157. if exist askenv.exe del askenv.exe>%nul%
  158. pkunzip -o -d snuupm.zip . askenv.exe>%nul%
  159. copy usr\lib\snuupm\askenv.exe askenv.exe>%nul%
  160. del usr\lib\snuupm\askenv.exe>%nul%
  161. rmdir usr\lib\snuupm>%nul%
  162. rmdir usr\lib>%nul%
  163. rmdir usr>%nul%
  164. if exist %tmp%\mdm\nul del %tmp%\mdm\*.mdm
  165. if exist %tmp%\mdm\nul for %%i in (%tmp%\mdm\*.*) do del %%i>%nul%
  166. if not exist %tmp%\mdm\nul md %tmp%\mdm>%nul%
  167. pkunzip snuupm.zip %tmp%\mdm *.mdm>%nul%
  168. pkunzip %snu_fad% %tmp%\mdm *.mdm>%nul%
  169.  
  170. rem ---------------------------------------------------------------------
  171. rem  Create a temporary file with a list of the files that are to be
  172. rem  extracted from SNUUPM.ZIP in order to run as a mail-only system.
  173. rem  ie, don't force the installation of SNEWS, let it be an option.
  174. rem  To balance things out, keep another file with the list for SNEWS.
  175. rem
  176. rem  Each file that is listed in /usr/lib/snuupm/distrib.fil should
  177. rem  appear exactly once in these lists of files.
  178. rem ---------------------------------------------------------------------
  179. set snu_pmfil=%tmp%\snuupm.pm
  180.  
  181. echo HOSTATUS>%snu_pmfil%
  182. echo HOSTPATH>>%snu_pmfil%
  183. echo SEQF>>%snu_pmfil%
  184. echo ADDUSER.BAT>>%snu_pmfil%
  185. echo ASKENV.EXE>>%snu_pmfil%
  186. echo BURST.BAT>>%snu_pmfil%
  187. echo CALLIN.BAT>>%snu_pmfil%
  188. echo CHANGES>>%snu_pmfil%
  189. echo DISTRIB.BAT>>%snu_pmfil%
  190. echo DISTRIB.FIL>>%snu_pmfil%
  191. echo LOGTR.EXE>>%snu_pmfil%
  192. echo PASSWD.EG>>%snu_pmfil%
  193. echo PMAIL.CFG>>%snu_pmfil%
  194. echo PMGATE.SYS>>%snu_pmfil%
  195. echo RMUSER.BAT>>%snu_pmfil%
  196. echo SNUUPM.DIZ>>%snu_pmfil%
  197. echo SNUUPM.PIF>>%snu_pmfil%
  198. echo UU2PM.EXE>>%snu_pmfil%
  199. echo ARCHTEK.MDM>>%snu_pmfil%
  200. echo FIRSTV22.MDM>>%snu_pmfil%
  201. echo FX14400.MDM>>%snu_pmfil%
  202. echo GSMS1DSA.MDM>>%snu_pmfil%
  203. echo PENRIL.MDM>>%snu_pmfil%
  204. echo SARONV22.MDM>>%snu_pmfil%
  205. echo ZMFC9624.MDM>>%snu_pmfil%
  206. echo BLANKLIN>>%snu_pmfil%
  207. echo DIRECT1.BAT>>%snu_pmfil%
  208. echo DIRECT2.BAT>>%snu_pmfil%
  209. echo LOGTR.C>>%snu_pmfil%
  210. echo MAIN.BAT>>%snu_pmfil%
  211. echo MAIN.MNU>>%snu_pmfil%
  212. echo UU2PM.C>>%snu_pmfil%
  213. echo ALIASES.TXT>>%snu_pmfil%
  214. echo ROOT.SIG>>%snu_pmfil%
  215. echo CNMAIL.PRO>>%snu_pmfil%
  216. echo INETSIG.PMS>>%snu_pmfil%
  217. echo LOCALSIG.PMS>>%snu_pmfil%
  218.  
  219. rem ---------------------------------------------------------------------
  220. rem  Here is the list of files in SNUUPM.ZIP that are specific to SNEWS
  221. rem ---------------------------------------------------------------------
  222. set snu_snfil=%tmp%\snuupm.sn
  223. echo ACTIVE.BAT>%snu_snfil%
  224. echo WAITSEC.BAT>>%snu_snfil%
  225.  
  226. rem ---------------------------------------------------------------------
  227. rem  Define some environment variables. These are handed over
  228. rem  to the installation procedure where they can be changed during 
  229. rem  the installation process.
  230. rem  Take the installation default values if there is nothing better
  231. rem  available.
  232. rem
  233. rem  Create the file INSTDEF.BAT
  234. rem ---------------------------------------------------------------------
  235. set snu_host=My_Host
  236. set snu_dom=My_Domain
  237. set snu_org=My_Organisation
  238. set snu_mdm=My_Modem
  239. set snu_baud=My_BaudRate
  240. set snu_mserv=My_Mail_Server
  241. set snu_phone=Host_Phone_Number
  242. set snu_login=Host_Login
  243. set snu_passwd=Host_Passwd
  244. set snu_file=INSTDEF.BAT
  245. set snu_full=y
  246. echo REM>%snu_file%
  247. echo REM Created by SnuInst v%snu_inst_ver%>>%snu_file%
  248. echo REM>>%snu_file%
  249. echo set snu_baud=%snu_baud%>>%snu_file%
  250. echo set snu_dom=%snu_dom%>>%snu_file%
  251. echo set snu_host=%snu_host%>>%snu_file%
  252. echo set snu_mserv=%snu_mserv%>>%snu_file%
  253. echo set snu_mdm=%snu_mdm%>>%snu_file%
  254. echo set snu_org=%snu_org%>>%snu_file%
  255. echo set snu_passwd=%snu_passwd%>>%snu_file%
  256. echo set snu_phone=%snu_phone%>>%snu_file%
  257. echo set snu_login=%snu_login%>>%snu_file%
  258. echo set snu_full=%snu_full%>>%snu_file%
  259. goto got_def
  260.  
  261. :get_def
  262. rem ---------------------------------------------------------------------
  263. rem  Get the existing INSTDEF.BAT file
  264. rem ---------------------------------------------------------------------
  265. call INSTDEF.BAT
  266. :got_def
  267.  
  268.  
  269. rem ---------------------------------------------------------------------
  270. rem  Override the installation default values (which were not very
  271. rem  good anyway) with whatever was used during the last configuration
  272. rem  on this system. The last configuration is saved in
  273. rem  %sndrive%\usr\lib\snuupm\INSTSAVE.BAT.
  274. rem
  275. rem  That way changes made during run time will stay and we will not have to
  276. rem  change all parameters necessary during a reinstallation, but only the
  277. rem  ones we want.
  278. rem ---------------------------------------------------------------------
  279. set snu_sav=
  280. if exist %sndrive%\usr\lib\snuupm\INSTSAVE.BAT set snu_sav=y
  281. if "%snu_sav%"=="y" call %sndrive%\usr\lib\snuupm\INSTSAVE.BAT
  282.  
  283.  
  284. rem ---------------------------------------------------------------------
  285. rem  Use DOUGMENU for the interactive installation.
  286. rem ---------------------------------------------------------------------
  287. :loop
  288. dougmenu.exe install.mnu
  289. IF errorlevel==2 %t%
  290. IF errorlevel==1 GOTO snuucheck
  291. call %t%
  292. GOTO loop
  293. :snuucheck
  294.  
  295.  
  296. rem ---------------------------------------------------------------------
  297. rem  Save the installation values for a subsequent installation.
  298. rem 
  299. rem  Create the file %sndrive%\usr\lib\snuupm\INSTSAVE.BAT.
  300. rem  Don't save if there has not been an installation, or if the
  301. rem  default values have been selected.
  302. rem ---------------------------------------------------------------------
  303.  
  304. if not "%snu_host%"=="My_Host" goto save
  305. if not "%snu_dom%"=="My_Domain" goto save
  306. if not "%snu_org%"=="My_Organisation" goto save
  307. if not "%snu_mdm%"=="My_Modem" goto save
  308. if not "%snu_baud%"=="My_BaudRate" goto save
  309. if not "%snu_mserv%"=="My_Mail_Server" goto save
  310. if not "%snu_phone%"=="Host_Phone_Number" goto save
  311. if not "%snu_login%"=="Host_Login" goto save
  312. if not "%snu_passwd%"=="Host_Passwd" goto save
  313. goto no_sav
  314.  
  315. :save
  316. if exist %sndrive%\usr\lib\snuupm\nul goto save1
  317. echo Cannot save the configuration, the directory %sndrive%\usr\lib\snuupm
  318. echo does not exist.
  319. goto error_exit
  320.  
  321. :save1
  322. echo Saving the configuration to %sndrive%\usr\lib\snuupm\INSTSAVE.BAT
  323. set snu_file=%sndrive%\usr\lib\snuupm\INSTSAVE.BAT
  324. echo REM>%snu_file%
  325. echo REM Created by SnuInst v%snu_inst_ver%>>%snu_file%
  326. echo REM>>%snu_file%
  327. echo set snu_host=%snu_host%>>%snu_file%
  328. echo set snu_dom=%snu_dom%>>%snu_file%
  329. echo set snu_org=%snu_org%>>%snu_file%
  330. echo set snu_mdm=%snu_mdm%>>%snu_file%
  331. echo set snu_baud=%snu_baud%>>%snu_file%
  332. echo set snu_mserv=%snu_mserv%>>%snu_file%
  333. echo set snu_phone=%snu_phone%>>%snu_file%
  334. echo set snu_login=%snu_login%>>%snu_file%
  335. echo set snu_passwd=%snu_passwd%>>%snu_file%
  336. echo set snu_full=%snu_full%>>%snu_file%
  337. goto tidyup
  338.  
  339. :no_sav
  340. echo Configuration not saved
  341.  
  342.  
  343. rem ---------------------------------------------------------------------
  344. REM Find out if the user in fact DID install anything. If not exit
  345. REM with an apropriate error message.
  346. rem ---------------------------------------------------------------------
  347. :tidyup
  348. if not exist %sndrive%\usr\lib\snuupm\NUL goto error_exit
  349. if not exist %sndrive%\usr\lib\snuupm\UUCICO.EXE goto error_exit
  350. if not exist %sndrive%\etc\uupc\SYSTEMS goto error_exit
  351. if not exist %sndrive%\etc\uupc\MODEM.MDM goto error_exit
  352. goto ends
  353.  
  354. rem ---------------------------------------------------------------------
  355. rem  Error exit
  356. rem ---------------------------------------------------------------------
  357. :error_exit
  358. echo.
  359. echo It seems that the installation is not complete, some critical files
  360. echo have not been installed, and the package will not run.
  361. echo.
  362. echo Please make sure you actually installed the base packages after you
  363. echo had configured the system.
  364. echo.
  365.  
  366. :ends
  367. rem ---------------------------------------------------------------------
  368. rem  Clear all Environment Variables and any working files that were set up
  369. rem  Delete all tmp\mdm\*.mdm files and remove the tmp\mdm directory.
  370. rem  Remove the copy of dougmenu and askenv that were used for this
  371. rem    installation process.
  372. rem ---------------------------------------------------------------------
  373. if exist %tmp%\mdm\nul del %tmp%\mdm\*.mdm>%nul%
  374. if exist %tmp%\mdm\nul for %%i in (%tmp%\mdm\*.*) do del %%i>%nul%
  375. if exist %tmp%\mdm\nul rmdir %tmp%\mdm
  376. if exist %snu_pmfil% del %snu_pmfil%
  377. set snu_pmfil=
  378. if exist %snu_snfil% del %snu_snfil%
  379. set snu_snfil=
  380. if exist dougmenu.exe del dougmenu.exe
  381. If EXIST %t% del %t%>%nul%
  382. if exist askenv.exe del askenv.exe
  383. set askenv=
  384. set snu_inst_ver=
  385. set snu_file=
  386. set snu_host=
  387. set snu_dom=
  388. set snu_mserv=
  389. set snu_phone=
  390. set snu_login=
  391. set snu_mdm=
  392. set snu_baud=
  393. set snu_org=
  394. set snu_passwd=
  395. set snu_full=
  396. set tab=
  397. set snu_fdm=
  398. set snu_fpm=
  399. set snu_fsn=
  400. set snu_fad=
  401. set snu_fd1=
  402. set snu_fd2=
  403. set snu_fd3=
  404. set snu_tmp=
  405. set snu_p1=
  406. set snu_p2=
  407. set snu_sav=
  408. set nul=
  409. set t=
  410. set snu_vers=
  411. rem ---------------------------------------------------------------------
  412. rem $Id: snuupmxx.bat 1.4 1995/04/30 20:36:02 mlawrie Exp $
  413. rem $Log: snuupmxx.bat $
  414. rem Revision 1.4  1995/04/30 20:36:02  mlawrie
  415. rem Adjusted for change in name of UU2PM204.C to UU2PM.C.
  416. rem
  417. rem Revision 1.3  1995/04/30 20:05:51  mlawrie
  418. rem Adjusted change of LOGTR102.C -> LOGTR.C
  419. rem
  420. rem Revision 1.2  1995/04/22 22:04:19  mlawrie
  421. rem Altered layout of comments at EOF.
  422. rem
  423. rem Revision 1.1  1995/04/22 21:47:58  mlawrie
  424. rem Initial revision
  425. rem ---------------------------------------------------------------------
  426. rem ----ends----
  427. set snu_vers=
  428. rem ----ends----
  429.