home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / base / install / preinstall < prev    next >
Text File  |  1998-08-19  |  2KB  |  83 lines

  1. #ident    "@(#)preinstall    16.1    98/03/03"
  2. #ident "$Header: $"
  3.  
  4. # exit on any unexplained errors
  5. set -e
  6. errflg=0
  7.  
  8. # we need to move certain directories and their contents
  9. # to new locations, leaving behind a symbolic link (which
  10. # is accomplished in the package prototype file)
  11. while read newdir olddir
  12. do
  13.     # since this is a preinstall script, we have not yet made
  14.     # certain that the new directory exists; here we just make
  15.     # it and allow permissions to be set during package installation
  16.     [ ! -d $newdir ] &&
  17.         mkdir -p  $newdir
  18.  
  19.     # check if the directory to be relocated is a symbolic link.
  20.     #
  21.     if [ ! -d $olddir  -o -h $olddir ]
  22.     then
  23.         # $olddir already represents a symbolic link
  24.         # or the directory in question does not exist
  25.         :
  26.     else
  27.         echo "relocating files from <$olddir> to <$newdir>" >&2
  28.         cd $olddir 
  29.         find . -print | cpio -pLdum $newdir 2>/dev/null
  30.         cd ..
  31.         rm -rf $olddir
  32.     fi
  33.     # we don't do any installf's in this loop since we are moving
  34.     # old stuff which is not neccessarily associated with this
  35.     # package -- note that the symbolic links will be created
  36.     # during normal file installation
  37. done <<!ENDOFLIST!
  38.     /etc/cron.d /usr/lib/cron
  39.     /usr/bin /bin
  40.     /usr/lib /lib
  41.     /usr/share/lib /usr/pub
  42.     /var/adm /usr/adm
  43.     /var/news /usr/news
  44.     /var/preserve /usr/preserve
  45.     /var/spool /usr/spool
  46. !ENDOFLIST!
  47.  
  48. # remove files and directories without relocating their contents
  49. while read path
  50. do
  51.     if [ -d $path -o -f $path ]
  52.     then
  53.         echo "Removing <$path> and its contents" >&2
  54.         rm -rf $path
  55.     fi
  56. done <<!ENDOFLIST!
  57.     /etc/conf/mdevice.d/athd
  58.     /etc/conf/mdevice.d/dcd
  59.     /etc/conf/mdevice.d/mcesdi
  60.     /etc/conf/mdevice.d/mcst
  61.     /etc/conf/pack.d/athd
  62.     /etc/conf/pack.d/dcd
  63.     /etc/conf/pack.d/mcesdi
  64.     /etc/conf/pack.d/mcst
  65.     /etc/conf/sdevice.d/athd
  66.     /etc/conf/sdevice.d/dcd
  67.     /etc/conf/sdevice.d/mcesdi
  68.     /etc/conf/sdevice.d/mcst
  69.     /usr/include/sys/athd.h
  70.     /usr/include/sys/dcd.h
  71.     /usr/include/sys/mcesdi.h
  72.     /usr/include/sys/mcst.h
  73.     /usr/lib/terminfo
  74.     /usr/tmp
  75. !ENDOFLIST!
  76.  
  77. # special getty stuff, temporarily  unset -e option
  78. set +e
  79. mv /etc/getty /usr/sbin/OLD.getty 2>/dev/null >/dev/null
  80. set -e
  81.  
  82. exit $errflg
  83.