This is instman.sh in view mode; [Download] [Up]
#!/bin/sh
#
# This shell script is used on UNIX-like systems to install or remove
# man-pages. It is run automatically during "make install".
#
# usage: sh install.sh [-u] [-bbindir] programs...
#
################################################################################
# This is a list of directories where the nroff source for man-pages might
# be installed. The order is important -- the man-pages will be installed
# in the first existing directory in the list. If "-b /usr/local/bin" is
# an argument, then /usr/local/man/man1 is added to the front of the list.
MANDIRS="/usr/man/man.l /usr/man/man.LOCAL /usr/man/man.1 /usr/man/1
/usr/catman.C /usr/man/manl /usr/man/man1 /usr/elvis/man"
# Similarly, this is a list of directories where the plaintext form of the
# man-pages might belong. If, after searching, it is decided that both forms
# should go in the same directory, then only the plain-text version is
# installed. If "-b /usr/local/bin" is an argument, then /usr/local/man/cat1
# is added to the front of the list.
CATDIRS="/usr/man/catmanl /usr/man/catman.l /usr/man/catman.LOCAL
/usr/man/cat.LOCAL /usr/man/catman.1 /usr/man/cat.C /usr/catman.C
/usr/catman/1 /usr/man/1 /usr/man/cat1"
################################################################################
# Look for a "-r"
if test "$1" = "-r"
then
shift
job="remove"
else
job="install"
fi
# Look for a "-bbindir" argument
case "$1" in
-b*/bin)
MANDIRS=`echo "X$1" | sed 's/X-b\(.*\)\/bin$/\1\/man\/man1 \1\/man\/man.1 \1\/man\/man.C/'`" clubland $MANDIRS"
CATDIRS=`echo "X$1" | sed 's/X-b\(.*\)\/bin$/\1\/man\/cat1 \1\/man\/catman1 \1\/man\/cat.1 \1\/man\/cat.C/'`" clubland $CATDIRS"
shift
;;
-b)
shift
MANDIRS=`echo "X$1" | sed 's/X\(.*\)\/bin$/\1\/man\/man1 \1\/man\/man.1 \1\/man\/man.C/'`" clubland $MANDIRS"
CATDIRS=`echo "X$1" | sed 's/X\(.*\)\/bin$/\1\/man\/cat1 \1\/man\/catman1 \1\/man\/cat.1 \1\/man\/cat.C/'`" clubland $CATDIRS"
shift
;;
-b*)
shift
;;
esac
# Complain if no programs were named on the command line
if test $# -lt 1
then
echo "Usage: sh instman.sh [-r] [-b bindir] {program names...}"
echo " where {program names...} is a list of programs whose"
echo " manual pages are to be installed. It is assumed that"
echo " the manual pages are currently located inside the 'lib'"
echo " subdirectory."
echo
echo " -r Remove man-pages (else install them)"
echo " -b bindir Take a hint for possible man directory from"
echo " the name of the bin directory"
echo
echo " Note: Normally, this script is executed via 'make install'"
echo " or 'make uninstall'"
exit 1
fi
# The installed manpages should be readable by everybody, but writable only
# by us.
umask 022
# Decide where to put the nroff source docs
manclubland=yes
eval `for dir in $MANDIRS
do
if test $dir = clubland
then
echo manclubland=no
elif test -d $dir -a -w $dir
then
echo mandir=$dir
exit 0
fi
done`
anydir=$mandir
# Decide where to put the plaintext docs
catclubland=yes
eval `for dir in $CATDIRS
do
if test $dir = clubland
then
echo catclubland=no
elif test -d $dir -a -w $dir
then
echo catdir=$dir
exit 0
fi
done`
# Both names should be either in the list derived from "-b dir" or on the
# default list. If we have a mixture, then ignore the catdir.
if test -n "$mandir" -a -n "$catdir" -a $manclubland != $catclubland
then
catdir=""
elif test -n "$catdir"
then
anydir=$catdir
fi
# If we didn't find a directory for either of them, then complain & quit
if test -z "$anydir"
then
echo "::: I CAN'T AUTOMATICALLY INSTALL THE MAN PAGES ON THIS SYSTEM"
echo "::: BECAUSE I DON'T KNOW WHERE TO PUT THEM! YOU CAN EITHER"
echo "::: TRY EDITING THE \"instman.sh\" SCRIPT & RERUNNING IT, OR"
echo "::: SIMPLY INSTALL THEM YOURSELF BY HAND."
exit 1
fi
# If they're the same, then we only want to install the plaintext versions
if test "$mandir" = "$catdir"
then
mandir=
fi
# Choose the installed filename extension by looking at the name of the
# directory we'll be installing it into.
case "$anydir" in
*.LOCAL) ext=.LOCAL ;;
*.L) ext=.L ;;
*l) ext=.l ;;
*1) ext=.1 ;;
*) ext= ;;
esac
# If we're going to be installing the nroff source, then do it now
if test -n "$mandir"
then
for i
do
case $job in
install) cp lib/$i.man $mandir/$i$ext ;;
remove) rm $mandir/$i$ext* ;;
esac
done
fi
# Sleep briefly, to ensure that the plaintext versions of the files will
# be installed with a newer timestamp than the nroff versions.
sleep 1
# If we're going to be installing the plaintext pages, then do it now
if test -n "$catdir"
then
for i
do
case $job in
install)
if [ -x /usr/bin/nroff ]
then
/usr/bin/nroff -man lib/$i.man >$catdir/$i$ext
elif [ -x ./elvis ]
then
ELVISPATH=dummypath; export ELVISPATH
EXINIT="se lptype=bs"; export EXINIT
./elvis -gquit -c"se bufdisplay=man|lp! $catdir/$i$ext" lib/$i.man
else
# give nroff another chance
nroff -man lib/$i.man >$catdir/$i$ext
fi
;;
remove)
rm $catdir/$i$ext*
;;
esac
done
fi
# Are man pages sometimes compressed or packed on this system? If so,
# then give these new pages the same treatment.
case $job in
install)
for dir in $mandir $catdir
do
if test "`echo $dir/*.Z`" != "$dir/*.Z"
then
for i
do
rm -f $dir/$i$ext.Z
compress $dir/$i$ext
done
finalext=$ext.Z
elif test "`echo $dir.Z/*`" != "$dir.Z/*"
then
for i
do
compress <$dir/$i$ext >$dir.Z/$i$ext && rm -f $dir/$i$ext
done
finalext=$ext
elif test "`echo $dir/*.z`" != "$dir/*.z"
then
for i
do
rm -f $dir/$i$ext.z
pack $dir/$i$ext
done
finalext=$ext.z
elif test "`echo $dir/*.gz`" != "$dir/*.gz"
then
for i
do
rm -f $dir/$i$ext.z
gzip -f $dir/$i$ext
done
finalext=$ext.gz
else
finalext=$ext
fi
done
;;
esac
# Say what was done
case $job in
install)
if test -n "$mandir"
then
echo "nroffable manpages installed as $mandir/progname$finalext"
fi
if test -n "$catdir"
then
echo "plaintext manpages installed as $catdir/progname$finalext"
fi
;;
remove)
if test -n "$mandir"
then
echo "nroffable manpages removed from $mandir"
fi
if test -n "$catdir"
then
echo "plaintext manpages removed from $catdir"
fi
;;
esac
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.