DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T s

⟦cf63f6beb⟧ TextFile

    Length: 6310 (0x18a6)
    Types: TextFile
    Names: »shdir.make«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/shdir/shdir.make« 

TextFile

#! /bin/csh -f
#
#-	shdir.make - Directory stack installation script
#-
#-	To try out the function of shdir, use csh  "source" command to
#-	invoke this program since some aliases will need to be defined
#-	in your current environment.
#-
#-	Change the mode to execute and  then execute it  will cause it
#-	to be installed.
#-
#	Author:		Paul Lew, General Systems Group, Salem, NH
#	Last update:	10/14/86  02:26 PM
#
#if ( "${user}" == "lew" ) goto end
#---------------------------------------------------------------#
#	If invoked from csh "source" command, install locally	#
#	else install globally and update .login, .cshrc, and	#
#	.logout file.						#
#---------------------------------------------------------------#
if ( $?0 ) goto install
#---------------------------------------------------------------#
#		   Compile shdir.c first			#
#---------------------------------------------------------------#
if ( ! -e "shdir" ) then
	if ( ! -e shdir.c ) then
		echo "...File shdir.c missing, aborted..."
		goto end
		endif
	echo -n "...Compiling shdir.c "
	cc -s -o shdir shdir.c -ltermcap
	echo "done..."
	endif
#---------------------------------------------------------------#
#	Make sure all the required files are there		#
#---------------------------------------------------------------#
foreach fname (restdir lsdir shdir useshdir)
	if ( ! -e ${fname} ) then
		echo "...${fname} not in directory ${cwd}, aborted..."
		goto end
		endif
	end
#---------------------------------------------------------------#
#	    Define aliases in the current shell			#
#---------------------------------------------------------------#
foreach aname (lsdir po s to)
	@ achar = `alias ${aname} | wc -c`
	if ( ${achar} > 0 ) echo "...alias ${aname} will be redefined..."
	end
unset aname achar
alias	lsdir	source ${cwd}/lsdir
alias	po	'popd +\!* > /dev/null; shdir `dirs`'
alias	s	${cwd}'/shdir -s\!* `dirs` ;if ( ${status} ) pushd +${status} > /dev/null'
alias	to	'pushd \!* > /dev/null ; '"${cwd}"'/shdir `dirs`'
#---------------------------------------------------------------#
#	  Make a set of directory stack to demo			#
#---------------------------------------------------------------#
set dirs = (`dirs`)
if ( ${#dirs} < 3 ) then
	cd /usr/lib/uucp
	foreach x (/usr/spool/uucp /usr/spool/uucppublic /etc ${cwd})
		pushd $x > /dev/null
		end
	unset x
	endif
#---------------------------------------------------------------#
#	Modify TERMCAP so he/she will see the result		#
#---------------------------------------------------------------#
switch ( "${TERM}" )
	case vt100:
	case vt102:
	case vt125:
	case vt220:
	case vt240:
	case wy75:
	    set noglob
	    eval `tset -Q -s`
	    unset noglob
	    set tc = ('jjkkllmmqqxx' '\E(B' '\E(0')
	    foreach te (ac ae as)
		echo "${TERMCAP}" | fgrep -s ":${te}"
		if ( ${status} == 1 ) then
			echo "...${te} added to TERMCAP..."
			setenv TERMCAP "${TERMCAP}${te}=${tc[1]}:"
			endif
		shift tc
		end
	    breaksw
	default:
	endsw
#---------------------------------------------------------------#
#		     Give a little hint				#
#---------------------------------------------------------------#
cat << cat_eof
...Now type 's' and move to the directory you want by pressing space bar....
cat_eof
goto end
\f


#---------------------------------------------------------------#
#		Final installation starts here			#
#---------------------------------------------------------------#
install:
cat << cat_eof
       **************** GENERAL INFORMATION ****************

This is the final installation procedure.  It will move all the
executables to proper directory and also modify your .login, and
.logout file so that directory stack will preserve across logins.
Your .cshrc will also be modified to define aliases.

The defualt place to store the executables is: /usr/local/bin so that
it can be shared among users.  Press return on to the question below
if you like to use the default.

cat_eof
echo -n "Where do you want to place executables in your system? "
set dir = "$<"
if ( "${dir}" == "" ) set dir = '/usr/local/bin'
if ( ! -d "${dir}" ) then
	mkdir "${dir}"
	if ( ! -d "${dir}" ) then
		echo "...${dir} is not a valid directory, aborted..."
		goto end
		endif
	endif
#---------------------------------------------------------------#
#	 Check if dir specified is in the search path		#
#---------------------------------------------------------------#
unset inpath
foreach cpath (${path})
	if ( "${cpath}" == "${dir}" ) then
		set inpath
		break
		endif
	end
if ( ! ${?inpath} ) then
	echo "...Warning: ${dir} not defined in your search path..."
	endif
unset inpath cpath
#---------------------------------------------------------------#
#	  Move script to the executables directory		#
#---------------------------------------------------------------#
foreach fname (restdir lsdir shdir useshdir)
	if ( -e "${dir}/${fname}" ) then
		echo "...${dir}/${fname} already exist..."
		continue
		endif
	if ( ! -e ${fname} ) then
		echo "...${fname} not in directory ${cwd}, aborted..."
		goto end
		endif
	if ( ${cwd} == "${dir}" ) continue
	if ( -e "${dir}/${fname}" ) then
		echo "...${dir}/${fname} already exist..."
	else
		/bin/mv ${fname} "${dir}"
		endif
	end
sed -e "s:source /usr/local/bin:source ${dir}:" < ${dir}/lsdir > /tmp/lsdir$$
/bin/mv -f /tmp/lsdir$$ ${dir}/lsdir
/bin/chmod a+rx "${dir}/useshdir"
/bin/chmod a+r-x "${dir}"/{restdir,lsdir}
#---------------------------------------------------------------#
#      Modify .cshrc, .logout to install for my account		#
#---------------------------------------------------------------#
${dir}/useshdir ${dir}
cat << cat_eof
--------------------------------------------------------------------
If anyone else in your system would like to use shdir, he/she only
need to execute script: useshdir.

If you like to have VT100 graphic characters to draw the box, add the
following to your termcap entry after you verify it does support these
features:

	:ac=jjkkllmmqqxx:	#alternate graphic characters
	:as=\E(0:		#alternate set start
	:ae=\E(B:		#alternate set end

   ******** The installation is now complete, have fun!! ********
cat_eof
#---------------------------------------------------------------#
#			  Exit here				#
#---------------------------------------------------------------#
unset added msg
end: