|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U
Length: 5134 (0x140e)
Types: TextFile
Notes: UNIX file
Names: »UNINSTALL«
└─⟦0a3e55c12⟧ Bits:30004034 RC900 Utilities version 1.2 for ix/386
└─⟦0a3e55c12⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
└─⟦40f9239c0⟧ Bits:30004676 MUX Basics Rel. 1.2 (5.25 inch)
└─⟦40f9239c0⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
└─⟦82ee0715d⟧ Bits:30004771 Terminal Driver Rel. 1.2 (3.5 inch)
└─⟦82ee0715d⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
└─⟦b0ddf4192⟧ Bits:30004700 RC900 Utilities Rel. 1.2
└─⟦b0ddf4192⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
└─⟦ca69fd3f9⟧ Bits:30004770 Terminal Driver Rel. 1.2 (5.25 inch)
└─⟦ca69fd3f9⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
└─⟦ce621b962⟧ Bits:30004623 Controller Environment R. 1.2 (5.25 inch)
└─⟦ce621b962⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
└─⟦e03896eec⟧ Bits:30004624 Controller Environment R. 1.2 (3.5 inch)
└─⟦e03896eec⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
└─⟦f022668d5⟧ Bits:30004677 MUX Basics Rel. 1.2 (3.5 inch)
└─⟦f022668d5⟧ UNIX Filesystem
└─⟦this⟧ »install/UNINSTALL«
# (c) Copyright 1990 INTERACTIVE Systems Corporation
# All rights reserved.
#
# RESTRICTED RIGHTS
#
# These programs are supplied under a license. They may be used,
# disclosed, and/or copied only as permitted under such license
# agreement. Any copy must contain the above copyright notice and
# this restricted rights notice. Use, copying, and/or disclosure
# of the programs is strictly prohibited unless otherwise provided
# in the license agreement.
#
# @(#)UNINSTALL 2.7 - 91/06/28
getpkgname() { # set the packagename strings
if [ -f $INSPATH/$pkg/install/BUGFIX ]
then
SUBSET=`cat $INSPATH/$pkg/install/BUGFIX`
fi
PKGNAME=`cat $INSPATH/$pkg/install/${pkg}.name`
export PKGNAME
}
getmulti() { # sets $pkgs string to what user wants to remove
ALLPKGS=$pkgs
SCREEN=/tmp/SCREEN$$
nbrpkgs=$1
echo "This Package Contains the following: \n" > $SCREEN
npkg=0
for pkg in $ALLPKGS
do
getpkgname
npkg=`expr $npkg + 1`
echo " ${npkg}. ${PKGNAME:-$pkg}" >> $SCREEN
done
[ -x /usr/bin/tput ] && tput clear
cat $SCREEN
rm -f $SCREEN
echo "\nEnter a list of numbers separated by spaces for those modules"
echo "you wish to remove, or enter <RETURN> to remove all modules: \c"
read zz
if [ "$zz" = "all" -o "$zz" = "" ]; then return 0; fi
echo
pkgs=
set $zz
while [ -n "$1" ]
do
if [ "$1" -ge "1" -a "$1" -le "$nbrpkgs" ]
then
npkg=1
for pkg in $ALLPKGS
do
if [ "$npkg" = "$1" ]
then
pkgs="$pkgs $pkg"
break
fi
npkg=`expr $npkg + 1`
done
fi
shift
done
}
getmntdev() { # find mount device
for MNTDEV in $1 /dev/diskette /dev/install
do
[ -b $MNTDEV ] && return 0
done
echo "**ERROR** Can't find mount device"
exit 1
}
getpkgorder() { # put packages in the correct order
pkgs=`ls | sed '/install/d'`
export pkgs
# FK, remove imposible pkgs
test -x /usr/lbin/is_isc || return 0 # let user decide
if /usr/lbin/is_isc; then
NONO=", SCO"
else
NONO=", ISC"
fi
pkgs=`
for pkg in $pkgs
do getpkgname
if echo "$PKGNAME" | grep "$NONO" >/dev/null
then :
else echo "$pkg"
fi
done`
# FK, end
}
yesorno() { # return 0 for yes, 1 for no
QUESTION="$*"
while :
do
echo "$QUESTION (y/n)? \c"
read ans
case "$ans" in
y*|Y*) return 0 ;;
n*|N*) return 1 ;;
*) echo '\nPlease answer "y" or "n".\n'
;;
esac
done
}
# START HERE: $0 called with $1 and $2
getmntdev $1
export MNTDEV
INSPATH=${2:-/install}; export INSPATH
INSDIR=/usr/lib/installed
CONF=${CONF:-/etc/conf}
SCRIPTS=/tmp/instpkg$$
[ -d ${INSDIR} ] || mkdir ${INSDIR} && chmod 755 ${INSDIR}
[ -d ${INSDIR}/Files ] || mkdir ${INSDIR}/Files && chmod 755 ${INSDIR}/Files
[ -d ${INSDIR}/Remove ] || mkdir ${INSDIR}/Remove && chmod 755 ${INSDIR}/Remove
# setup list of packages (default, only one)
cd $INSPATH
# Get the packages on this diskette
getpkgorder
set $pkgs
nbr=$#
[ $nbr -gt 1 ] && getmulti $nbr
cd /
for pkg in $pkgs
do
getpkgname
# FK, check for old PKG name
case "$pkg" in
*.ISC | *.SCO)
oldpkg=`expr x"$pkg" : 'x\(.*\)\....$'` ;;
*) oldpkg="" ;;
esac
if test -n "$oldpkg" -a -f /usr/options/$oldpkg.name
then FK="$oldpkg"
else FK="$pkg"
fi
# FK, end
FREL=`echo "$PKGNAME" | cut -f2 -d'-'`
PKGNAME=`echo "$PKGNAME" | cut -f1 -d'-'`
if [ -s /usr/options/$FK.name ]
then
HREL=`cut -f2 -d'-' /usr/options/$FK.name`
else
HREL=$FREL
fi
if [ "$FREL" != "$HREL" ]
then
echo "\nThe Version of $PKGNAME on the hard disk"
echo "is $HREL, which is different than the"
echo "Version on this floppy ($FREL)"
echo "The wrong files may be removed."
yesorno "Do you want to remove $PKGNAME" || continue
fi
if [ -f $INSPATH/$pkg/install/drivers ]
then
echo "The following driver(s) is being removed:"
cat $INSPATH/$pkg/install/drivers | while read dname
do
echo "\t$dname"
${CONF}/bin/idcheck -p $dname >/dev/null 2>&1
if [ $? != 0 ]
then
if [ -f ${CONF}/pack.d/$dname/stubs.c ]
then
${CONF}/bin/idinstall -gs $dname | \
sed -e 's/Y/N/' >System
${CONF}/bin/idinstall -eus $dname
${CONF}/bin/idinstall -edopnirhclz $dname >/dev/null 2>&1
else
${CONF}/bin/idinstall -ed $dname >/dev/null 2>&1
fi
if [ $? != 0 ]
then
echo $ERROR
exit 1
fi
fi
done
fi
#
# Remove linked files and invoke unsetup file
#
[ -f $INSPATH/$pkg/install/unlink ] && /bin/sh $INSPATH/$pkg/install/unlink
[ -f $INSPATH/$pkg/install/unsetup ] && /bin/sh $INSPATH/$pkg/install/unsetup
#
# Remove the files found in the Rlist file from the hard disk.
#
echo "The following files are being removed:"
# FK, handle /tmp with long filenames, only ref 14 chars
Rlist14=`expr "Rlist.$pkg" : '\(..............\)' \| "Rlist.$pkg"`
for i in `
if test -n "$oldpkg"; then
sed -e "s/$pkg/$oldpkg/" $INSPATH/$pkg/install/$Rlist14
else
cat $INSPATH/$pkg/install/$Rlist14
fi`
do
if [ -d $i ]
then
rmdir $i 2> /dev/null && echo $i
else
rm -f $i && echo $i
fi
done
#
# Invoke postuninstall file
#
[ -f $INSPATH/$pkg/install/puninstall ] && /bin/sh $INSPATH/$pkg/install/puninstall
echo "The ${PKGNAME} has been removed."
done