Fix for dtmail execution group error
[oweals/cde.git] / cde / admin / IntegTools / dinstall.dt.src
1 XCOMM!/bin/ksh
2 XCOMM $XConsortium: dinstall.dt.src /main/6 1996/04/23 11:18:22 drk $
3
4 XCOMM ==========================================================================
5 XCOMM ==========================================================================
6 XCOMM deinstall.dt
7 XCOMM
8 XCOMM   Script to deinstall the April 1994 Snapshot Desktop on
9 XCOMM   HP, IBM, Sun, Fujitsu,  or Novell Unix systems from a CDROM
10 XCOMM
11 XCOMM ==========================================================================
12 XCOMM ==========================================================================
13
14
15
16 XCOMM ==========================================================================
17 XCOMM
18 XCOMM DtiClearScreen - clears the screen
19 XCOMM
20 XCOMM Input - none
21 XCOMM Output - none
22 XCOMM Return -none
23 XCOMM ==========================================================================
24
25 #define HASH #
26 #define STAR *
27
28 DtiClearScreen() {
29   clear 1>&2
30   HASH DtiPrint "clear"
31 }
32
33
34 XCOMM ==========================================================================
35 XCOMM
36 XCOMM Log - echo to log
37 XCOMM
38 XCOMM Input
39 XCOMM   $1 - data to echo to log
40 XCOMM Output - none
41 XCOMM Return -none
42 XCOMM ==========================================================================
43
44 Log()
45 {
46   printf "$1" $2 $3 $4 $5  >> $LOG_FILE
47 }
48
49 XCOMM ==========================================================================
50 XCOMM
51 XCOMM DtiPrint - echo to stderr and log
52 XCOMM
53 XCOMM Input
54 XCOMM   $1 - data to echo to stdout
55 XCOMM Output - none
56 XCOMM Return -none
57 XCOMM ==========================================================================
58
59 DtiPrint()
60 {
61   printf "$1" $2 $3 $4 $5 $6 $7 $8 $9 >&2
62   Log "$1" $2 $3 $4 $5 $6 $7 $8 $9
63 }
64
65 XCOMM ==========================================================================
66 XCOMM
67 XCOMM DtiShow - echo to stdout
68 XCOMM
69 XCOMM Input
70 XCOMM   $1 - data to echo to stdout
71 XCOMM Output - none
72 XCOMM Return -none
73 XCOMM ==========================================================================
74
75 DtiShow()
76 {
77   printf "$1" $2 $3 $4 $5 $6 $7 $8 $9 >&2
78 }
79
80
81 XCOMM ==========================================================================
82 XCOMM
83 XCOMM DtiReturn - return a string to stdout
84 XCOMM
85 XCOMM Input
86 XCOMM   $1 - data to return
87 XCOMM Output - none
88 XCOMM Return -none
89 XCOMM ==========================================================================
90
91 DtiReturn()
92 {
93   echo "$1"
94 }
95
96
97
98 XCOMM ==========================================================================
99 XCOMM
100 XCOMM DtiWhoami
101 XCOMM
102 XCOMM Input - none
103 XCOMM Output - none
104 XCOMM Return
105 XCOMM   result of system 'whoami' command
106 XCOMM
107 XCOMM ==========================================================================
108
109 DtiWhoami()
110 {
111   $WHOAMI_PATH/whoami
112 }
113
114
115 XCOMM ==========================================================================
116 XCOMM
117 XCOMM Exit - log and exit
118 XCOMM
119 XCOMM Input
120 XCOMM   $1 - data to echo to log
121 XCOMM Output - none
122 XCOMM Return -none
123 XCOMM ==========================================================================
124
125 Exit()
126 {
127   Log "\n==================================================================\n"
128   Log "* $(date) $($WHOAMI_PATH/whoami)@$(hostname)*"
129   Log "* $1*"
130   Log "\n*exit_code = $2*"
131   Log "\n==================================================================\n"
132   exit $2
133 }
134
135
136 XCOMM ==========================================================================
137 XCOMM
138 XCOMM GetPlatform
139 XCOMM
140 XCOMM Input - none
141 XCOMM Output - none
142 XCOMM Return
143 XCOMM   "hpux"
144 XCOMM   "aix"
145 XCOMM   "sun"
146 XCOMM   "uxp"
147 XCOMM   "usl"
148 XCOMM   "dec"
149 XCOMM ==========================================================================
150
151 GetPlatform()
152 {
153   if [ -z "$getPlatform" ]; then
154     os=`uname -s`
155     case $os in
156         *HP-UX*)    getPlatform=hp;;
157         *AIX*)      getPlatform=ibm;;
158         *SunOS*)    getPlatform=sun;;
159         *UNIX_System_V*)  getPlatform=uxp;;
160         *UNIX_SV*)  getPlatform=usl;;
161         *OSF1*)     getPlatform=dec;;
162     esac
163   fi
164   DtiReturn $getPlatform
165 }
166
167
168
169 XCOMM ==========================================================================
170 XCOMM
171 XCOMM ValidOS - Verify OS is valid to deinstall on
172 XCOMM
173 XCOMM Input - none
174 XCOMM Output - Error message if invalid platform, will exit.
175 XCOMM Return
176 XCOMM   "hpux"
177 XCOMM   "aix"
178 XCOMM   "sun"
179 XCOMM   "uxp"
180 XCOMM   "usl"
181 XCOMM   "dec"
182 XCOMM ==========================================================================
183
184 ValidOS()
185 {
186     platform=$(GetPlatform)
187     case "$platform"  in
188          hp|ibm|sun|uxp|usl|dec)
189                          DtiReturn $platform
190                          ;;
191                       *) Exit $INVALID_OS_MSG 1
192                          ;;
193     esac
194 }
195
196
197 XCOMM ==========================================================================
198 XCOMM
199 XCOMM ResolvePathName
200 XCOMM
201 XCOMM Input  - File Name to be resolved to actual file
202 XCOMM Output - none
203 XCOMM Return
204 XCOMM       Actual File Name resolved down to through all links
205 XCOMM
206 XCOMM ==========================================================================
207 ResolvePathName() {
208         if [ "/" = "$1" ]; then
209                 echo $1$2
210         elif [ -L $1 ]; then
211                 ResolvePathName `/bin/ls -l $1 | awk '{print $NF}'` $2
212         else
213                 ResolvePathName `dirname $1` `basename $1`${2+/}$2
214         fi
215 }
216
217
218 XCOMM ==========================================================================
219 XCOMM
220 XCOMM FileIsLink
221 XCOMM
222 XCOMM Input  - File Name
223 XCOMM Output - none
224 XCOMM Return
225 XCOMM       TRUE, if file is a link
226 XCOMM       FALSE, if file is not a link
227 XCOMM ==========================================================================
228 FileIsLink() {
229   if [[ -L $1 ]] && [[ -a $1 ]]
230   then
231       DtiReturn "TRUE"
232   else
233       DtiReturn "FALSE"
234   fi
235
236 }
237
238
239 XCOMM ==========================================================================
240 XCOMM
241 XCOMM StateObjective  - States the objective of the Script to the user
242 XCOMM
243 XCOMM Input - none
244 XCOMM Output - none
245 XCOMM
246 XCOMM ==========================================================================
247
248
249 StateObjective() {
250
251 XCOMM Display information to the user, ask if user wishes to continue
252
253 while :
254 do
255        DtiClearScreen
256        DtiShow "$HERALD_MSG"
257        DtiPrint "$OBJECTIVE_MSG"
258        DtiPrint "$YESNO_MSG"
259
260        read response
261        Log "$RESPONSE_MSG"
262        Log "$response"
263        Log "\n"
264
265        case $response in
266            [yY]*) return 0
267                   ;;
268            [nN]*) exit 0
269                   ;;
270                *) continue
271        esac
272
273 done
274
275 }
276
277 XCOMM ==========================================================================
278 XCOMM
279 XCOMM DoFilesetScript  - Runs a unconfiguration script in the post_install dirs
280 XCOMM
281 XCOMM Input - none
282 XCOMM Output - none
283 XCOMM
284 XCOMM ==========================================================================
285
286 DoFilesetScript()
287 {
288   FilesetName=$1
289
290   HASH
291   HASH Check for the lowercase PLATFORM dir. If doesn't exist then
292   HASH the tree is in uppercase.
293   HASH
294   if [ ! -f $TAR_TREE/dt.pkg ];
295   then
296         typeset -u ScriptName
297   fi
298
299
300   if [ "$BUILD_TREE" = "" ]
301   then
302     ScriptName=$3
303   else
304     ScriptName=$2
305   fi
306
307   test_string=${DATABASE_FILES#*$FilesetName}
308   if (( ${#DATABASE_FILES} > ${#test_string} ))
309   then
310     if [ -x $POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName ]
311     then
312         DtiPrint "\n\nExecuting $PLATFORM specific $FilesetName unconfigure script...\n"
313         $POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName -d 2>&1 | \
314                                 tee -a $LOG_FILE
315     elif [ -x $POST_INSTALL_DIR/$ScriptName ]
316     then
317         DtiPrint "\n\nExecuting $FilesetName unconfigure script...\n"
318         $POST_INSTALL_DIR/$ScriptName -d 2>&1 | tee -a $LOG_FILE
319     fi
320   fi
321 }
322
323
324 XCOMM ==========================================================================
325 XCOMM
326 XCOMM RunUnconfigScripts  - Runs relevant unconfiguration scripts, based on
327 XCOMM                       fileset installed, calls DoFilesetScript
328 XCOMM Input - none
329 XCOMM Output - none
330 XCOMM
331 XCOMM ==========================================================================
332 RunUnconfigScripts()
333 {
334   DtiPrint "\n\nRunning unconfigure scripts...\n"
335
336   DoFilesetScript CDE-TT       configTT      tt.cfg
337   DoFilesetScript CDE-MIN      configMin     min.cfg
338   DoFilesetScript CDE-RUN      configRun     run.cfg
339   DoFilesetScript CDE-HELP     configHelp    help.cfg
340   DoFilesetScript CDE-HELP-PRG configHelpPrg helpprg.cfg
341   DoFilesetScript CDE-HELP-RUN configHelpRun helprun.cfg
342   DoFilesetScript CDE-SHLIBS   configShlibs  shlibs.cfg
343   DoFilesetScript CDE-AB       configAb      ab.cfg
344   DoFilesetScript CDE-DEMOS    configDemos   demos.cfg
345   DoFilesetScript CDE-ICONS    configIcons   icons.cfg
346   DoFilesetScript CDE-INC      configInc     inc.cfg
347   DoFilesetScript CDE-MAN      configMan     man.cfg
348   DoFilesetScript CDE-MAN-DEV  configManDev  mandev.cvg
349   DoFilesetScript CDE-MSG-CAT  configMsgCat  msgcat.cfg
350   DoFilesetScript CDE-PRG      configPrg     prg.cfg
351
352 }
353
354
355 XCOMM ==========================================================================
356 XCOMM
357 XCOMM ValidConfiguration  - Checks to see if the desktop was installed or
358 XCOMM                       partially installed on your system
359 XCOMM
360 XCOMM Input - none
361 XCOMM Output - none
362 XCOMM Return - TRUE, if valid configuration
363 XCOMM          FALSE, for no desktop was found on the system
364 XCOMM
365 XCOMM ==========================================================================
366 ValidConfiguration() {
367  if (( [[ -a $ABSOLUTE_USR_LOCATION ]] ||  [[ -a $DEFAULT_USR_LOCATION ]] ) &&
368      ( [[ -a $ABSOLUTE_ETC_LOCATION ]] ||  [[ -a $DEFAULT_ETC_LOCATION ]] ) &&
369      ( [[ -a $ABSOLUTE_VAR_LOCATION ]] ||  [[ -a $DEFAULT_VAR_LOCATION ]] ))
370  then
371     DtiReturn "TRUE"
372  else
373      STATUS="FALSE"
374
375      for i in $ABSOLUTE_USR_LOCATION $ABSOLUTE_ETC_LOCATION \
376               $ABSLOUTE_VAR_LOCATION $DEFAULT_USR_LOCATION \
377               $DEFAULT_ETC_LOCATION $DEFAULT_VAR_LOCATION
378      do
379         if [ -a $i ]
380         then
381             STATUS="TRUE"
382             break
383         fi
384      done
385
386      DtiReturn "$STATUS"
387  fi
388 }
389
390
391 XCOMM ==========================================================================
392 XCOMM
393 XCOMM DisplayDirs  - Determines if directories should be presented
394 XCOMM                to the user to determin if they will be deleted or not.
395 XCOMM
396 XCOMM
397 XCOMM Input - none
398 XCOMM Output - none
399 XCOMM Return - TRUE, if some directories will be deleted
400 XCOMM          FALSE, if NO directories will be deleted
401 XCOMM
402 XCOMM ==========================================================================
403 DisplayDirs() {
404   if [[ -d $ABSOLUTE_USR_LOCATION ]] && [[ -a $ABSOLUTE_USR_LOCATION ]]
405   then
406      DtiReturn "TRUE"
407   elif [[ -d $ABSOLUTE_ETC_LOCATION ]] && [[ -a $ABSOLUTE_ETC_LOCATION ]]
408   then
409      DtiReturn "TRUE"
410   elif
411       [[ -d $ABSOLUTE_VAR_LOCATION ]] && [[ -a $ABSOLUTE_VAR_LOCATION ]]
412   then
413       DtiReturn "TRUE"
414   else
415       DtiReturn "FALSE"
416   fi
417
418 }
419
420
421 XCOMM ==========================================================================
422 XCOMM
423 XCOMM DisplayDirs  - Determines if links should be presented
424 XCOMM                to the user to determine if they will be deleted or not.
425 XCOMM
426 XCOMM
427 XCOMM Input - none
428 XCOMM Output - none
429 XCOMM Return - TRUE, if some links will be deleted
430 XCOMM          FALSE, if NO links will be deleted
431 XCOMM
432 XCOMM ==========================================================================
433 DisplayLinks() {
434   if [[ -L $DEFAULT_USR_LOCATION ]] && [[ -a $DEFAULT_USR_LOCATION ]]
435   then
436      DtiReturn "TRUE"
437   elif [[ -L $DEFAULT_ETC_LOCATION ]] && [[ -a $DEFAULT_ETC_LOCATION ]]
438   then
439      DtiReturn "TRUE"
440   elif
441       [[ -L $DEFAULT_VAR_LOCATION ]] && [[ -a $DEFAULT_VAR_LOCATION ]]
442   then
443       DtiReturn "TRUE"
444   else
445       DtiReturn "FALSE"
446   fi
447
448 }
449
450 XCOMM ==========================================================================
451 XCOMM
452 XCOMM ShowDirsToBeDeleted - Shows what dirs and links will be deleted to the user
453 XCOMM
454 XCOMM Input - none
455 XCOMM Output - none
456 XCOMM
457 XCOMM ==========================================================================
458
459
460 ShowDirsToBeDeleted() {
461
462 XCOMM Display information to the user, ask if user wishes to continue
463
464 while :
465 do
466        DtiClearScreen
467        DtiShow "$HERALD_MSG"
468
469        if [ $(DisplayDirs) = "TRUE" ]
470        then
471           DtiPrint "$DELETE_DIRS_MSG"
472           if [ -a $ABSOLUTE_USR_LOCATION ]
473           then
474              DtiPrint "$DIR_MSG" "$ABSOLUTE_USR_LOCATION"
475           fi
476
477           if [ -a $ABSOLUTE_ETC_LOCATION ]
478           then
479              DtiPrint "$DIR_MSG" "$ABSOLUTE_ETC_LOCATION"
480           fi
481
482           if [ -a $ABSOLUTE_VAR_LOCATION ]
483           then
484              DtiPrint "$DIR_MSG" "$ABSOLUTE_VAR_LOCATION"
485           fi
486        fi
487
488        if [ $(DisplayLinks) = "TRUE" ]
489        then
490           DtiPrint "\n\n$DELETE_LINKS_MSG"
491           if [ $(FileIsLink $DEFAULT_USR_LOCATION) = "TRUE" ]
492           then
493               DtiPrint "$LINK_DIR_MSG" "$DEFAULT_USR_LOCATION"
494           fi
495
496           if [ $(FileIsLink $DEFAULT_ETC_LOCATION) = "TRUE" ]
497           then
498               DtiPrint "$LINK_DIR_MSG" "$DEFAULT_ETC_LOCATION"
499           fi
500
501           if [ $(FileIsLink $DEFAULT_VAR_LOCATION) = "TRUE" ]
502           then
503               DtiPrint "$LINK_DIR_MSG" "$DEFAULT_VAR_LOCATION"
504           fi
505         fi
506
507        DtiPrint "\n\n$WARNING_MSG"
508        DtiPrint "\n\n\n$YESNO_MSG"
509
510        read response
511        Log "$RESPONSE_MSG"
512        Log "$response"
513        Log "\n"
514
515        case $response in
516            [yY]*) return 0
517                   ;;
518            [nN]*) exit 0
519                   ;;
520                *) continue
521        esac
522
523 done
524
525 }
526
527
528 XCOMM ==========================================================================
529 XCOMM
530 XCOMM StopDesktop  - Stops the desktop if it was running
531 XCOMM
532 XCOMM Input - none
533 XCOMM Output - none
534 XCOMM
535 XCOMM ==========================================================================
536 StopDesktop() {
537
538     if [ -f $ABSOLUTE_VAR_LOCATION/Xpid ]
539     then
540         DtiPrint "\n\nStopping Desktop... \n"
541         kill -TERM `cat $ABSOLUTE_VAR_LOCATION/Xpid` 2> /dev/null
542     fi
543
544 }
545
546 XCOMM ==========================================================================
547 XCOMM
548 XCOMM RemoveDesktop  - Deletes Desktop files from the system
549 XCOMM
550 XCOMM Input - none
551 XCOMM Output - none
552 XCOMM
553 XCOMM ==========================================================================
554
555 RemoveDesktop () {
556
557   DtiPrint "Removing files from Desktop Directories...\n"
558   rm -rf $ABSOLUTE_USR_LOCATION
559   rm -rf $ABSOLUTE_ETC_LOCATION
560   rm -rf $ABSOLUTE_VAR_LOCATION
561
562   rm -rf $DEFAULT_USR_LOCATION
563   rm -rf $DEFAULT_ETC_LOCATION
564   rm -rf $DEFAULT_VAR_LOCATION
565   DtiPrint "The Desktop was successfully removed from your system.\n"
566
567 }
568
569
570 XCOMM ==========================================================================
571 XCOMM
572 XCOMM
573 XCOMM               This is the MAIN of the script
574 XCOMM
575 XCOMM
576 XCOMM ==========================================================================
577
578 XCOMM Set up Messages
579 USAGE_MSG="\
580 Usage: deinstall.dt [-noprompt]\n"
581
582 PERMISSION_MSG="\
583 You must be ROOT to run this command\n"
584
585 RESPONSE_MSG="\n
586 response is: "
587
588 HERALD_MSG="\
589 The Common Open Systems Environment Desktop\n\
590 April 1994 Snapshot Deinstallation Procedure\n\n"
591
592 OBJECTIVE_MSG="\
593 This procedure will REMOVE the Desktop from your system.\n\n\n"
594
595 YESNO_MSG="\
596 Do you wish to continue?  [y/n] "
597
598 DELETE_DIRS_MSG="\
599 The deinstallation will remove files from the following\n\
600 directories listed below:\n\n"
601
602 DIR_MSG="\
603 '%s'\n"
604
605 DELETE_LINKS_MSG="\
606 The deinstallation will remove the following symbolic \n\
607 link(s) listed below:\n\n"
608
609 LINK_DIR_MSG="\
610 '%s'\n"
611
612 WARNING_MSG="\
613 Any customizations made will be LOST!\n"
614
615
616
617
618
619
620 INVALID_OS_MSG="\
621 The Desktop does not support this system configuration.\n\
622 The deinstallation procedure will terminate.\n"
623
624 INVALID_CONFIGURATION_MSG="\
625 The deinstallation procedure could not locate any Desktop files\n\
626 on your system. The deinstallation will terminate. Please check\n\
627 that you are running the deinstallation script on a system that\n\
628 has the Desktop already installed.\n"
629
630
631
632
633
634
635 XCOMM Set up variables
636 NO_PROMPT="FALSE"
637
638 DEFAULT_USR_LOCATION="/usr/dt"
639 DEFAULT_ETC_LOCATION="/etc/dt"
640 DEFAULT_VAR_LOCATION="/var/dt"
641
642 ABSOLUTE_USR_LOCATION=$(ResolvePathName $DEFAULT_USR_LOCATION)
643 ABSOLUTE_ETC_LOCATION=$(ResolvePathName $DEFAULT_ETC_LOCATION)
644 ABSOLUTE_VAR_LOCATION=$(ResolvePathName $DEFAULT_VAR_LOCATION)
645
646
647 XCOMM Set up the log file
648 LOG_FILE="/tmp/dinstall.dt.log"
649 if [ -f $LOG_FILE ]
650 then
651    rm -rf $LOG_FILE 2>/dev/null
652 fi
653 touch $LOG_FILE 2>/dev/null
654 chmod 777 $LOG_FILE 2>/dev/null
655
656
657
658
659 XCOMM change directories to deinstall.dt location as all
660 XCOMM installation packages are relative to this
661 XCOMM
662 if [ ${0%/STAR} != "dinstall.dt" ]; then
663   cd ${0%/STAR}
664 fi
665
666
667 XCOMM set up the TOP directory of where the CD is mounted
668 TOP=`pwd`
669
670
671 XCOMM set up the path for whoami command
672  WHOAMI_PATH=/bin
673  platform=$(GetPlatform)
674  case "$platform"  in
675       hp)  WHOAMI_PATH=/usr/bin
676           ;;
677       ibm) WHOAMI_PATH=/bin
678           ;;
679       sun) WHOAMI_PATH=/usr/ucb
680           ;;
681       uxp) WHOAMI_PATH=/usr/ucb
682           ;;
683       usl) WHOAMI_PATH=/usr/ucb
684           ;;
685       dec) WHOAMI_PATH=/usr/bin
686           ;;
687  esac
688
689 DTIDINSTALLDT=dinstall.dt
690 DTICONFIGDIR=config
691 dtiPlatform=$(GetPlatform)
692 DTIPLATFORMDIR=$dtiPlatform
693 DTIREADME=config/config.$dtiPlatform
694
695 if [ ${0##STAR/} != $DTIDINSTALLDT ]; then
696   HASH
697   HASH CDROM driver folds filenames to uppercase
698   HASH
699   typeset -u DTIDINSTALLDT
700   typeset -u DTICONFIGDIR
701   typeset -u DTIPLATFORMDIR
702   typeset -u DTIREADME
703 fi
704
705
706 XCOMM Parse the command line
707 while [ $# -ne 0 ];
708   do
709     case $1 in
710          -noprompt) NO_PROMPT=TRUE
711                     print "NO_PROMPT is set"
712                     shift
713                     ;;
714                  *)  print "$USAGE_MSG"
715                      DtiPrint $USAGE
716                      exit 1;;
717     esac
718 done
719
720
721 XCOMM Verify that we have the Root User
722 if [ $(DtiWhoami) != "root" ]
723 then 
724    DtiShow "$PERMISSION_MSG"
725    Exit "$PERMISSION_MSG" 1
726 fi
727
728 XCOMM Check to see if the Desktop is actually installed on the system
729 if [ $(ValidConfiguration ) != "TRUE" ]
730 then
731     DtiPrint "$INVALID_CONFIGURATION_MSG"
732     exit 1
733 fi
734
735 XCOMM Determine if the OS is supported
736 PLATFORM=$(ValidOS)
737
738 XCOMM
739 XCOMM Initially PLATFORM is in lower case.
740 XCOMM Check if the $PLATFORM directory exists.
741 XCOMM if doesn't exist translate all to upper case.
742 XCOMM
743
744 if [ -d $PLATFORM ]
745 then
746         TAR_TREE=$TOP/$PLATFORM
747         POST_INSTALL_DIR=$TAR_TREE/config
748         DATABASE_FILES=$(awk 'BEGIN {FS=":"} /FILESETS: /{print $2}' $TAR_TREE/dt.pkg 2>/dev/null)
749 else
750         PLATFORM=`echo "$PLATFORM" | /usr/bin/tr "[a-z]" "[A-Z]"`
751         TAR_TREE=$TOP/$PLATFORM
752         POST_INSTALL_DIR=$TAR_TREE/CONFIG
753         DATABASE_FILES=$(awk 'BEGIN {FS=":"} /FILESETS: /{print $2}' $TAR_TREE/DT.PKG 2>/dev/null)
754 fi
755
756
757 XCOMM Tell the user what is going to happen
758 if [ $NO_PROMPT = FALSE ]
759 then
760    StateObjective
761 fi
762
763 XCOMM Show the user what directories are going to be deleted
764 if [ $NO_PROMPT = FALSE ]
765 then
766   ShowDirsToBeDeleted
767 fi
768
769
770 XCOMM Stop the Desktop
771 StopDesktop
772
773 XCOMM Run the Unconfigure Scripts
774 RunUnconfigScripts
775
776 XCOMM Remove the Desktop Files
777 RemoveDesktop
778
779
780
781
782
783