summaryrefslogtreecommitdiff
path: root/AFSConfig
diff options
context:
space:
mode:
authorPatrick McCarty <patrick.mccarty@linux.intel.com>2013-02-08 13:26:27 -0800
committerPatrick McCarty <patrick.mccarty@linux.intel.com>2013-02-08 13:26:27 -0800
commit9bb81f8a90ecc8b70c955bff72ec59dd3d9e5ae7 (patch)
tree881eebfa461e4f8aa6b6f44b96ac0decd3bc887a /AFSConfig
downloadlsof-9bb81f8a90ecc8b70c955bff72ec59dd3d9e5ae7.tar.gz
lsof-9bb81f8a90ecc8b70c955bff72ec59dd3d9e5ae7.tar.bz2
lsof-9bb81f8a90ecc8b70c955bff72ec59dd3d9e5ae7.zip
Imported Upstream version 4.87upstream/4.87
Diffstat (limited to 'AFSConfig')
-rwxr-xr-xAFSConfig346
1 files changed, 346 insertions, 0 deletions
diff --git a/AFSConfig b/AFSConfig
new file mode 100755
index 0000000..0c68cbd
--- /dev/null
+++ b/AFSConfig
@@ -0,0 +1,346 @@
+#!/bin/sh
+#
+# $Id: AFSConfig,v 1.2 99/05/09 14:49:54 abe Exp $
+#
+# AFSConfig: configure for AFS
+
+AFSD=/usr/vice/etc/afsd
+AH=AFSHeaders
+AV=AFSVersion
+STD=/usr/afsws/include
+
+# Establish trap and stty handling.
+
+ISIG=":"
+trap 'rm -f $AH $AV; $ISIG; exit 1' 1 2 3 15
+stty -a 2>&1 | grep isig > /dev/null
+if test $? -eq 0
+then
+ stty -a 2>&1 | egrep -e -isig > /dev/null
+ if test $? -eq 0
+ then
+ ISIG="stty -isig"
+ stty isig
+ fi
+fi
+
+# Decide how to use echo.
+
+ECHO=`echo -n ""`
+if test "X$ECHO" = "X-n "
+then
+ EC="\c"
+ EO=""
+else
+ EC=""
+ EO="-n"
+fi
+
+# Decide (perhaps for a second time) that AFS is installed.
+
+CELL=""
+if test -r /usr/vice/etc/ThisCell
+then
+ cell=`awk '{print $1}' /usr/vice/etc/ThisCell`
+ if test -d /afs/$cell
+ then
+ CELL=$cell
+ else
+ CELL=`echo $cell | sed 's/\([^.]*\)\..*/\1/'`
+ if test "X$CELL" != "X"
+ then
+ if test ! -d /afs/$CELL
+ then
+ CELL=""
+ fi
+ fi
+ fi
+fi
+if test "X$CELL" = "X"
+then
+ echo ""
+ echo "This system does not appear to have AFS installed."
+ exit 1
+fi
+
+# See if AFS configuration is wanted.
+
+cat << .CAT_MARK
+
+AFS appears to be installed on this system; cell name "$CELL".
+
+Lsof needs to be configured for AFS by identifying: 1) the directory
+that includes the AFS header files needed to compile AFS support into
+lsof; and 2) the version of AFS that is installed.
+.CAT_MARK
+
+END=0
+while test $END = 0
+do
+ echo ""
+ echo $EO "Do you want to configure lsof for AFS (y|n) [y]? $EC"
+ read ANS EXCESS
+ if test "X$ANS" = "Xn" -o "X$ANS" = "XN"
+ then
+ exit 1
+ fi
+ if test "X$ANS" = "Xy" -o "X$ANS" = "XY" -o "X$ANS" = "X"
+ then
+ END=1
+ else
+ echo ""
+ echo "Please answer y or n."
+ fi
+done
+
+# See if $AH exists and points to a likely place.
+
+AHOK=""
+echo ""
+echo "====================================================================="
+echo ""
+if test -r $AH
+then
+ AHP=`cat $AH`
+ if test -r $AHP
+ then
+ if test -r $AHP/afs/afs.h
+ then
+ cat << .CAT_MARK
+The location of the AFS header files required by lsof has been
+previously identified as "$AHP".
+
+Since <afs/afs.h> can be found there, that's probably correct.
+.CAT_MARK
+
+ END=0
+ while test $END = 0
+ do
+ echo ""
+ echo $EO "Do you want to use $AHP again (y|n) [y]? $EC"
+ read ANS EXCESS
+ if test "X$ANS" = "Xy" -o "X$ANS" = "XY" -o "X$ANS" = "X"
+ then
+ AHOK="ok"
+ END=1
+ else
+ if test "X$ANS" = "Xn" -o "X$ANS" = "XN"
+ then
+ rm -f $AH
+ AHP=""
+ END=1
+ else
+ echo ""
+ echo "Please answer y or n."
+ fi
+ fi
+ done
+ else
+ echo "\"$AHP\" has been previously specified as the location of the"
+ echo "AFS header files, but it lacks an afs/afs.h header file."
+ rm -f $AH
+ AHP=""
+ fi
+ else
+ echo "The file ./$AH exists, but has no AFS header file path in it."
+ rm -f $AH
+ AHP=""
+ fi
+else
+ echo "No previous header location has been specified."
+ rm -f $AH
+ AHP=""
+fi
+
+# See if the header files are in the "standard" place.
+
+if test "X$AHOK" != "Xok"
+then
+ if test -r $STD
+ then
+ echo ""
+ echo "====================================================================="
+ echo ""
+ echo "The AFS header files appear to be in the \"standard\" location --"
+ echo "i.e.: \"$STD\"."
+ END=0
+ while test $END = 0
+ do
+ echo ""
+ echo $EO "Do you want to let lsof use them (y|n) [y]? $EC"
+ read ANS EXCESS
+ if test "X$ANS" = "Xy" -o "X$ANS" = "XY" -o "X$ANS" = "X"
+ then
+ echo $STD > $AH
+ AHOK="ok"
+ END=1
+ else
+ if test "X$ANS" = "Xn" -o "X$ANS" = "XN"
+ then
+ END=1
+ else
+ echo ""
+ echo "Please answer y or n."
+ fi
+ fi
+ done
+ fi
+fi
+
+# Ask for the AFS header file location.
+
+if test "X$AHOK" != "Xok"
+then
+ echo ""
+ echo "====================================================================="
+ echo ""
+ echo "Please specify the full path where lsof can find the AFS header"
+ echo "files. A possible location is: \"/afs/$CELL/<sysname>/include\"."
+ cat << .CAT_MARK
+The <sysname> component of the path is the AFS system name that
+was used to configure and build AFS on this system. It is usually
+constructed from a manufacturer or Unix operating system designation,
+followed by a version number -- e.g., hp800_ux90, sun4m_54, vax_ul43,
+etc. You may have to consult your AFS documentation to determine
+what <sysname> applies to your configuration.
+.CAT_MARK
+
+ END=0
+ while test $END = 0
+ do
+ echo ""
+ echo $EO "Do you want to see the contents of /afs/$CELL (y|n) [y]? $EC"
+ read ANS EXCESS
+ if test "X$ANS" = "Xn" -o "X$ANS" = "XN"
+ then
+ END=1
+ else
+ if test "X$ANS" = "Xy" -o "X$ANS" = "XY" -o "X$ANS" = "X"
+ then
+ echo ""
+ ls -C /afs/$CELL
+ END=1
+ else
+ echo ""
+ echo "Please answer y or n."
+ fi
+ fi
+ done
+ END=0
+ while test $END = 0
+ do
+ echo ""
+ echo $EO "AFS header file path: $EC"
+ read ANS EXCESS
+ fc=`expr "${ANS}X" : '\(.\).*'`
+ if test "X$fc" = "X/"
+ then
+ if test -r $ANS/afs/afs.h
+ then
+ echo $ANS > $AH
+ AHOK="ok"
+ END=1
+ else
+ echo ""
+ echo "$ANS/afs/afs.h doesn't exist."
+ echo "Please enter a path whose afs subdirectory contains afs.h"
+ fi
+ else
+ echo ""
+ echo "Please enter an absolute path name."
+ fi
+ done
+fi
+if test "X$AHOK" != "Xok"
+then
+ echo "AFSConfig: unknown error"
+ exit 1
+fi
+
+# Determine AFS version.
+
+if test -r $AV
+then
+ echo ""
+ echo "====================================================================="
+ echo ""
+ AVN=`cat $AV`
+ cat << .CAT_MARK
+The AFS version was previously specified as: $AVN
+.CAT_MARK
+
+ END=0
+ while test $END = 0
+ do
+ echo ""
+ echo $EO "Is this the correct version number (y|n) [y]? $EC"
+ read ANS EXCESS
+ if test "X$ANS" = "Xy" -o "X$ANS" = "XY" -o "X$ANS" = "X"
+ then
+ exit 0
+ fi
+ if test "X$ANS" = "Xn" -o "X$ANS" = "XN"
+ then
+ rm -f $AV
+ END=1
+ else
+ echo "Please answer y or n."
+ fi
+ done
+fi
+
+# See if the version number can be determined.
+
+if test -r $AFSD
+then
+ ANS=`strings $AFSD | grep "Base configuration afs" | sed 's/^.*ion afs\([^ ]*\) .*/\1/'`
+ TV=`echo $ANS | sed 's/^\([0-9]*\)\.\([0-9]*\)\(.*\)/\1 \2 \3/' | awk '{printf "%d.%d%s\n",$1,$2,$3}'`
+ if test "X$ANS" = "X$TV"
+ then
+ echo ""
+ echo "====================================================================="
+ echo ""
+ cat << .CAT_MARK
+Examining $AFSD the AFS version number appears to be: $TV
+.CAT_MARK
+
+ END=0
+ while test $END = 0
+ do
+ echo ""
+ echo $EO "Do you want to use this version number (y/n) [y]? $EC"
+ read ANS EXCESS
+ if test "X$ANS" = "Xn" -o "X$ANS" = "XN"
+ then
+ END=1
+ else
+ if test "X$ANS" = "Xy" -o "X$ANS" = "XY" -o "X$ANS" = "X"
+ then
+ echo $TV > $AV
+ exit 0
+ else
+ echo ""
+ echo "Please answer y or n."
+ fi
+ fi
+ done
+ fi
+fi
+
+# Ask for the version number.
+
+echo ""
+echo "====================================================================="
+END=0
+while test $END = 0
+do
+ echo ""
+ echo $EO "Please enter the AFS version number: $EC"
+ read ANS EXCESS
+ TV=`echo $ANS | sed 's/^\([0-9]*\)\.\([0-9]*\)\(.*\)/\1 \2 \3/' | awk '{printf "%d.%d%s\n",$1,$2,$3}'`
+ if test "X$ANS" = "X$TV"
+ then
+ echo $TV > $AV
+ exit 0
+ fi
+done