home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1994 February / psl_9403.zip / psl_9403 / DOS / COMMUNIC / HA221B.ZIP / REMOVE.SCR < prev    next >
Text File  |  1993-10-29  |  12KB  |  581 lines

  1. REM remove.scr
  2. REM script to remove drivers for SCO Xenix/UNIX
  3. REM    and AT&T/Interactive UNIX
  4. REM (c) 1990-93 Hansco Information Technologies, Inc.
  5. REM
  6. REM Revision History:
  7. REM     2.21  - version number changed to follow INSTALL.SCR
  8. REM     2.2   - 'hboot' now stored in /tmp directory
  9. REM             changed 'CALL remove' to 'GOSUB'
  10. REM             added DIM statement for some variables
  11. REM     2.17a - Simplified options
  12. REM             Cleaned up screen messages
  13. REM     2.15    Improved WordPerfect removal to prompt for
  14. REM             .trs directory
  15. REM     2.14b - Auxiliary script files merged in
  16. REM     2.12  - Driver file names changed
  17. REM             Computone IntelliPort II support
  18. REM             Changed sco check to oem=3000
  19. REM     2.11  - Assign default value to {os} variable
  20. REM             so error message looks reasonable
  21. REM             Improved method for detecting Unix
  22. REM             Added VP/ix support for AT&T/Interactive
  23. REM     2.1   - Uses HBOOT to load files over
  24. REM
  25. DIM ft 1 ansi 1 remv 1
  26. DIM P 2 code 2 ver 4 dver 4 td 4
  27. SCREEN OFF
  28. ON BREAK GOTO a1
  29. LET prod = HIT/Ansi
  30. LET ver = 2.21
  31. LET dver = 2.21
  32. LET os = Xenix/Unix
  33. LET td = /tmp
  34. LET P = #{SP}
  35. TIMEOUT 5
  36. SEND {CR}
  37. EXPECT {P}
  38. IF {err} <> 0 GOTO n1
  39. LET ans = 2
  40. SEND uname | grep -cy "xenix"{CR}
  41. EXPECT {LF}
  42. READ os
  43. IF {os} = 1 GOTO r3
  44. EXPECT {P}
  45. SEND uname | grep -cy "unix"{CR}
  46. EXPECT {LF}
  47. READ os
  48. IF {os} <> 1 GOTO r3
  49. EXPECT {P}
  50. SEND uname -a | grep -cy "oem=3000"{CR}
  51. EXPECT {LF}
  52. READ ans
  53. IF {ans} = 0 LET ans = 4
  54. IF {ans} = 1 LET ans = 3
  55. :r3
  56. SCREEN ON
  57. GOTO t1
  58. :lp1
  59. GOSUB rhd
  60. ECHO {SP}    {prod} has detected removal from an {ma} {os} system.
  61. ECHO
  62. ECHO {SP}                    Select an option:
  63. ECHO {SP}                       (1) Operating System correct
  64. ECHO {SP}                       (2) Select SCO Xenix
  65. ECHO {SP}                       (3) Select SCO Unix
  66. ECHO {SP}                       (4) Select AT&T/Interactive Unix
  67. ECHO
  68. DISPLAY {SP}                    Enter your choice:{SP}
  69. INPUT ans
  70. IF {err} <> 0 GOTO a1
  71. :t1
  72. IF {ans} = 1 GOTO u9
  73. IF {ans} = 2 GOTO u1
  74. IF {ans} = 3 GOTO u2
  75. IF {ans} = 4 GOTO u3
  76. ECHO
  77. ECHO
  78. ECHO {SP}                    Invalid option selected.{07} 
  79. WAIT 3
  80. GOTO lp1
  81. :u1
  82. LET os = Xenix
  83. LET ma = SCO
  84. GOTO lp1
  85. :u2
  86. LET os = Unix{SP}
  87. LET ma = SCO
  88. GOTO lp1
  89. :u3
  90. LET os = Unix{SP}
  91. LET ma = AT&T/Interactive
  92. GOTO lp1
  93. :u9
  94. SCREEN ON
  95. :r1
  96. LET ft = N
  97. LET ansi = N
  98. GOSUB rhd
  99. ECHO
  100. ECHO {SP}                    Select an option:
  101. ECHO {SP}                       (1) Remove All Drivers
  102. ECHO {SP}                       (2) Remove File Transfer only
  103. ECHO {SP}                       (3) Remove {os} Console Drivers only
  104. ECHO {SP}                       (4) Exit
  105. ECHO
  106. DISPLAY {SP}                    Enter your choice:{SP}
  107. INPUT ans
  108. IF {err} <> 0 GOTO a1
  109. IF {ans} = 1 LET ft = Y
  110. IF {ans} = 1 LET ansi = Y
  111. IF {ans} = 2 LET ft = Y
  112. IF {ans} = 3 LET ansi = Y
  113. IF {ans} = 4 GOTO l8
  114. IF {ft} = Y GOTO r2
  115. IF {ansi} = Y GOTO r2
  116. ECHO
  117. ECHO
  118. ECHO {SP}                    Invalid option selected.{07} 
  119. WAIT 3
  120. GOTO r1
  121. :r2
  122. GOSUB rhd
  123. ECHO
  124. ECHO {SP}                    The following options will be removed:
  125. ECHO
  126. IF {ft} = Y ECHO {SP}                            File Transfer
  127. IF {ansi} = Y ECHO {SP}                            {os} Console Drivers
  128. ECHO
  129. DISPLAY {SP}                     Are the above options correct? (y/n){SP}
  130. INPUT ans
  131. IF {err} <> 0 GOTO a1
  132. IF {ans} = y GOTO d1
  133. IF {ans} = Y GOTO d1
  134. GOTO r1
  135. :d1
  136. CLS
  137. SCREEN OFF
  138. EXPECT {P}
  139. SEND stty -echo{CR}
  140. GOSUB ich
  141. SCREEN OFF
  142. IF {err} <> 0 GOTO n3
  143. IF {ansi} <> Y GOTO l6
  144. REM
  145. REM Begin WordPerfect 5.0
  146. REM
  147. LET F = /usr/wp
  148. :WP1
  149. EXPECT {P}
  150. SEND [ -d "{F}/sdata" -a -w "{F}/sdata" ] ; echo $?{CR}
  151. LET ans = {SP}
  152. READ ans
  153. IF {ans} = 0 GOTO WP2
  154. EXPECT {P}
  155. SEND [ -d "{F}/slib" -a -w "{F}/slib" ] ; echo $?{CR}
  156. LET ans = {SP}
  157. READ ans
  158. IF {ans} = 0 GOTO WP3
  159. SCREEN ON
  160. ECHO
  161. DISPLAY Is WordPerfect 5.0 installed on the {os} system? (y/n){SP}
  162. INPUT ans
  163. ECHO
  164. SCREEN OFF
  165. IF {err} <> 0 GOTO a1
  166. IF {ans} = y GOTO WP6
  167. IF {ans} <> Y GOTO l1
  168. :WP6
  169. SCREEN ON
  170. ECHO
  171. ECHO Please enter the {os} directory where WordPerfect
  172. ECHO terminal definition files (files ending in .trs)
  173. DISPLAY are installed: (example: /usr/wp/data){SP}
  174. INPUT F
  175. ECHO
  176. SCREEN OFF
  177. IF {err} <> 0 GOTO a1
  178. EXPECT {P}
  179. SEND [ -d "{F}" -a -w "{F}" ] ; echo $?{CR}
  180. LET ans = {SP}
  181. READ ans
  182. IF {ans} = 0 GOTO WP4
  183. GOTO WP1
  184. :WP2
  185. LET F = {F}/sdata
  186. GOTO WP4
  187. :WP3
  188. LET F = {F}/slib
  189. :WP4
  190. LET G = ansi.trs
  191. GOSUB rul
  192. IF {err} <> 0 GOTO l1
  193. LET ansi = U
  194. REM
  195. REM End WordPerfect 5.0
  196. REM
  197. :l1
  198. IF {ma} = SCO LET G = ansi
  199. IF {ma} <> SCO LET G = AT386
  200. LET F = /usr/vpix/term
  201. EXPECT {P}
  202. SEND [ -d "{F}" -a -w "{F}" ] ; echo $?{CR}
  203. LET ans = {SP}
  204. READ ans
  205. IF {ans} <> 0 GOTO l2
  206. EXPECT {P}
  207. LET ans = {SP}
  208. SEND grep -c "{prod}" {F}/{G}{CR}
  209. READ ans
  210. IF {ans} = 0 GOTO l1a
  211. GOSUB rsv
  212. IF {err} <> 0 GOTO l2
  213. LET ansi = U
  214. :l1a
  215. IF {ma} <> SCO GOTO l2
  216. LET G = ansic
  217. EXPECT {P}
  218. LET ans = {SP}
  219. SEND grep -c "{prod}" {F}/{G}{CR}
  220. READ ans
  221. IF {ans} = 0 GOTO l2
  222. GOSUB rsv
  223. IF {err} <> 0 GOTO l2
  224. LET ansi = U
  225. :l2
  226. EXPECT {P}
  227. SEND [ -w "/etc/mscreencap" ] ; echo $?{CR}
  228. LET ans = {SP}
  229. READ ans
  230. IF {ans} <> 0 GOTO l3
  231. GOSUB irm
  232. IF {err} <> 0 GOTO l3
  233. SCREEN ON
  234. DISPLAY Removing mscreen support...{SP}{SP}
  235. SCREEN OFF
  236. EXPECT {P}
  237. SEND {td}/remove.sh -n {prod} "multiscreen driver" {ver} /etc/mscreencap{CR}
  238. LET dvr = multiscreen
  239. GOSUB rgc
  240. IF {err} <> 0 GOTO l3
  241. SCREEN ON
  242. ECHO OK
  243. SCREEN OFF
  244. LET ansi = U
  245. :l3
  246. EXPECT {P}
  247. SEND [ -d "/usr/lib/terminfo" ] ; echo $?{CR}
  248. READ ans
  249. IF {ans} <> 0 GOTO l4
  250. LET F = /usr/lib/terminfo
  251. LET G = ansimrg.src
  252. GOSUB rul
  253. IF {err} <> 0 GOTO l4
  254. LET G = a/ansi
  255. GOSUB rsv
  256. IF {err} <> 0 GOTO l4
  257. IF {ma} <> SCO GOTO l4
  258. LET G = a/ansic
  259. GOSUB rsv
  260. IF {err} <> 0 GOTO l4
  261. LET ansi = U
  262. :l4
  263. EXPECT {P}
  264. SEND [ -w "/etc/termcap" ] ; echo $?{CR}
  265. READ ans
  266. IF {ans} <> 0 GOTO l5
  267. GOSUB irm
  268. IF {err} <> 0 GOTO l5
  269. SCREEN ON
  270. DISPLAY Removing termcap lprint support...{SP}{SP}
  271. SCREEN OFF
  272. EXPECT {P}
  273. SEND {td}/remove.sh -n {prod} "local printer driver" {ver} /etc/termcap{CR}
  274. LET dvr = local{SP}printer
  275. GOSUB rgc
  276. IF {err} <> 0 GOTO l5
  277. SCREEN ON
  278. ECHO OK
  279. SCREEN OFF
  280. LET ansi = U
  281. :l5
  282. EXPECT {P}
  283. SEND [ -w "/etc/default/fip.d/intellicap" ] ; echo $?{CR}
  284. READ ans
  285. IF {ans} = 0 GOTO l5b
  286. EXPECT {P}
  287. SEND [ -w "/etc/ic_master" ] ; echo $?{CR}
  288. READ ans
  289. IF {ans} <> 0 GOTO l6
  290. GOSUB irm
  291. IF {err} <> 0 GOTO l6
  292. SCREEN ON
  293. DISPLAY Removing Computone support...{SP}{SP}
  294. SCREEN OFF
  295. EXPECT {P}
  296. SEND {td}/remove.sh -n {prod} "Computone support" {ver} /etc/ic_master{CR}
  297. LET dvr = Computone
  298. GOSUB rgc
  299. IF {err} <> 0 GOTO l6
  300. SCREEN ON
  301. ECHO OK
  302. SCREEN OFF
  303. LET ansi = U
  304. GOTO l6
  305. :l5b
  306. GOSUB irm
  307. IF {err} <> 0 GOTO l6
  308. SCREEN ON
  309. DISPLAY Removing Computone IntelliPort II support...{SP}{SP}
  310. SCREEN OFF
  311. EXPECT {P}
  312. SEND {td}/remove.sh -n {prod} "Computone IntelliPort II support" {ver} /etc/default/fip.d/intellicap{CR}
  313. LET dvr = Computone
  314. GOSUB rgc
  315. IF {err} <> 0 GOTO l6
  316. SCREEN ON
  317. ECHO OK
  318. SCREEN OFF
  319. LET ansi = U
  320. :l6
  321. IF {ft} <> Y GOTO l7
  322. LET F = /usr/bin
  323. LET G = hrcv
  324. GOSUB rul
  325. IF {err} <> 0 GOTO l7
  326. LET F = /usr/bin
  327. LET G = hsend
  328. GOSUB rul
  329. IF {err} <> 0 GOTO l7
  330. LET ft = U
  331. :l7
  332. ON BREAK GOTO
  333. IF {ft} = U GOTO l7a
  334. IF {ansi} = U GOTO l7a
  335. GOTO l8
  336. :l7a
  337. SCREEN ON
  338. ECHO 
  339. ECHO The following options have been removed:
  340. ECHO
  341. IF {ft} = U ECHO {TB}File Transfer
  342. IF {ansi} = U ECHO {TB}{os} Console Drivers
  343. ECHO
  344. :l8
  345. SCREEN OFF
  346. EXPECT {P}
  347. SEND stty echo{CR}
  348. EXPECT {P}
  349. SEND {CR}
  350. SCREEN ON
  351. STOP
  352. :a1
  353. ON BREAK GOTO
  354. SCREEN ON
  355. ECHO
  356. ECHO {07}
  357. ECHO Removal aborted by operator...
  358. SCREEN OFF
  359. TIMEOUT 2
  360. SEND {CR}
  361. EXPECT {P}
  362. EXPECT {P}
  363. GOTO l8
  364. :n1
  365. TIMEOUT 2
  366. EXPECT xyz!%&
  367. SCREEN ON
  368. ECHO {07}{07}
  369. ECHO To remove {prod} {os} Drivers, you must be the
  370. ECHO super-user (logged in as 'root').
  371. ECHO
  372. SCREEN OFF
  373. SEND {CR}
  374. SCREEN ON
  375. STOP
  376. :n3
  377. SCREEN OFF
  378. TIMEOUT 2
  379. EXPECT xyz!%&
  380. SCREEN ON
  381. ECHO {07}{07}
  382. ECHO To remove {prod} {os} Drivers, the hboot file must
  383. ECHO install properly.  
  384. ECHO
  385. ECHO Please try removing the drivers again.
  386. ECHO